“python” is a ready-made rule for Python and data, built for Cursor. Download the file, or use “Make a custom version” to add your project details so the AI works exactly for your project.
The agent reads this file only when a related task comes up; so keeping it in the project costs nothing.
Keep configuration in config/ or as environment variables
Store requirements in requirements.txt or pyproject.toml
Place static files in static/ directory
Use templates/ for Jinja2 templates
Code Style
Follow Black code formatting
Use isort for import sorting
Follow PEP 8 naming conventions:
snake_case for functions and variables
PascalCase for classes
UPPER_CASE for constants
Maximum line length of 88 characters (Black default)
Use absolute imports over relative imports
Type Hints
Use type hints for all function parameters and returns
Import types from typing module
Use Optional[Type] instead of Type | None
Use TypeVar for generic types
Define custom types in types.py
Use Protocol for duck typing
Flask Structure
Use Flask factory pattern
Organize routes using Blueprints
Use Flask-SQLAlchemy for database
Implement proper error handlers
Use Flask-Login for authentication
Structure views with proper separation of concerns
Database
Use SQLAlchemy ORM
Implement database migrations with Alembic
Use proper connection pooling
Define models in separate modules
Implement proper relationships
Use proper indexing strategies
Authentication
Use Flask-Login for session management
Implement Google OAuth using Flask-OAuth
Hash passwords with bcrypt
Use proper session security
Implement CSRF protection
Use proper role-based access control
API Design
Use Flask-RESTful for REST APIs
Implement proper request validation
Use proper HTTP status codes
Handle errors consistently
Use proper response formats
Implement proper rate limiting
Testing
Use pytest for testing
Write tests for all routes
Use pytest-cov for coverage
Implement proper fixtures
Use proper mocking with pytest-mock
Test all error scenarios
Security
Use HTTPS in production
Implement proper CORS
Sanitize all user inputs
Use proper session configuration
Implement proper logging
Follow OWASP guidelines
Performance
Use proper caching with Flask-Caching
Implement database query optimization
Use proper connection pooling
Implement proper pagination
Use background tasks for heavy operations
Monitor application performance
Error Handling
Create custom exception classes
Use proper try-except blocks
Implement proper logging
Return proper error responses
Handle edge cases properly
Use proper error messages
Documentation
Use Google-style docstrings
Document all public APIs
Keep README.md updated
Use proper inline comments
Generate API documentation
Document environment setup
Development Workflow
Use virtual environments (venv)
Implement pre-commit hooks
Use proper Git workflow
Follow semantic versioning
Use proper CI/CD practices
Implement proper logging
Dependencies
Pin dependency versions
Use requirements.txt for production
Separate dev dependencies
Use proper package versions
Regularly update dependencies
Check for security vulnerabilities
Build a custom version for your project
Write your project details; to the end of Rule is added, and you get a file that is given to the AI without extra explanation. Everything is built in your browser and no data goes to the server.
Team projects: commit the file to the repository so every agent on the team follows the same rules. With Build a bundle Get several skills together, with the correct structure.
Frequently asked questions
Rule “python” — where do I put it?
for Claude Code in .claude/skills/python/SKILL.md, for Codex in .agents/skills, for Copilot in .github/skills and for Cursor in .cursor/skills or .cursor/rules. Use the “Build a bundle” button to get a zip with the correct structure.
Can I modify it for my own project?
Yes. The license CC0-1.0 allows modification and commercial use. With “Build a custom version” your project's details are added to the file, and you can edit the text afterward.
This Rule Which tools does it work with?
With Cursor. Standard Agent Skills are read by all modern coding agents.