general-best-practices — Claude Code skill: dev rules for your agent
A skill that hands your coding agent a set of rules on code quality, testing, security and architecture. Useful when you want consistent code across a project.
npx skills add Mindrally/skills --skill general-best-practices -a claude-codeWhat general-best-practices does
The skill covers practices that apply to most stacks. It has sections on readability and error handling, layered architecture, unit and integration tests, input validation, secret storage, caching, logging, metrics and tracing. Documentation, commits and CI get their own blocks.
It ships as a single SKILL.md file the agent picks up and keeps in context. No scripts, no external dependencies. It advises keeping functions under 30 lines, using parameterized queries and never committing secrets — those are guidelines, not limits anything enforces automatically.
The rules stay generic, so you will need to sharpen them for your language or framework. If your project already has its own conventions, the two will compete for the agent's attention, and keeping just one is the cleaner call.
What it helps with
- set one coding style for the agent across a project
- explain how to split logic into layers
- flag what to check when handling user input
- remind about parameterized queries and secret storage
- spell out expectations for tests and logging
Example prompts for the agent
- Check this new module against the general-best-practices skill and list what breaks the rules
- Split this service into layers the way general-best-practices suggests
- Scan this code for leaked secrets and unsafe input using general-best-practices
How to install general-best-practices
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill general-best-practices -a claude-code2Manually: put the files in place
~/.claude/skills/general-best-practices/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/general-best-practices/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill general-best-practices -a codex2Manually: put the files in place
.agents/skills/general-best-practices/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill general-best-practices -a cursor2Manually: put the files in place
.cursor/skills/general-best-practices/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills general-best-practices2Manually: put the files in place
.github/skills/general-best-practices/SKILL.md1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill general-best-practices -a gemini-cli2Platform CLI
gemini skills install https://github.com/Mindrally/skills --path general-best-practicesManually: put the files in place
.devin/skills/general-best-practices/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Mindrally/skills --skill general-best-practices -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about general-best-practices
How do I install general-best-practices in Claude?
Run npx skills add Mindrally/skills --skill general-best-practices -a claude-code. The skill file then lands at ~/.claude/skills/general-best-practices/SKILL.md.
What does general-best-practices do?
It gives the agent a rulebook on code quality, architecture, testing, security, performance and observability, which it follows while writing or reviewing code.
Is the skill tied to one language or framework?
No, the rules are generic across stacks. You will need to extend them for your own language and framework.
Source text
SKILL.md · Apache-2.0
--- name: general-best-practices description: General software development best practices covering code quality, testing, security, performance, and maintainability across technology stacks metadata: maintainer: Mindrally source: https://github.com/Mindrally/skills --- # General Best Practices A comprehensive collection of software development best practices applicable across various technology stacks and project types. ## Code Quality ### Readability and Maintainability Write short, focused functions with a single responsibility. Use clear, descriptive names for variables, functions, and classes. Avoid deep nesting; prefer early returns and guard clauses. Keep functions and methods to a reasonable length (typically under 30 lines). ### Error Handling Always handle errors explicitly rather than silently ignoring them. Use wrapped errors for traceability and context. Provide meaningful error messages that help with debugging. Fail fast and fail loudly during development. ### Code Organization Organize code into logical modules and packages. Separate concerns: keep business logic separate from infrastructure code. Use consistent file and folder naming conventions. Follow the principle of least surprise in API design. ## Architecture ### Clean Architecture Principles Structure code into distinct layers: - **Presentation/Handlers**: Handle external requests and responses - **Application/Services**: Orchestrate business operations - **Domain**: Core business logic and entities - **Infrastructure**: External systems, databases, and frameworks ### Design Principles Prefer composition over inheritance. Program to interfaces, not implementations. Use dependency injection for testability and flexibility. Design for change: isolate business logic and minimize framework lock-in. Apply SOLID principles where appropriate. ## Testing ### Unit Testing Write tests that are fast, isolated, and repeatable. Use table-driven tests for testing multiple scenarios. Mock external dependencies cleanly. Aim for high test coverage of business-critical code. ### Integration Testing Test interactions between components and external systems. Use separate test configurations and databases. Clean up test data after each test run. ### Test Organization Separate fast unit tests from slower integration tests. Run fast tests frequently during development. Include tests in CI/CD pipelines. ## Security ### Input Validation Validate all inputs at service boundaries. Never trust user input; sanitize and validate everything. Use parameterized queries to prevent SQL injection. ### Authentication and Authorization Use secure defaults for tokens and sessions. Implement proper access control at every layer. Store secrets securely; never commit them to version control. ### Network Security Use HTTPS for all communications. Implement rate limiting to prevent abuse. Use circuit breakers for external service calls. ## Performance ### Optimization Principles Profile before optimizing; avoid premature optimization. Measure and benchmark regularly. Focus on hot paths and frequently executed code. ### Resource Management Minimize memory allocations in critical paths. Use connection pooling for database and network connections. Implement proper resource cleanup and disposal. ### Caching Cache expensive computations and frequently accessed data. Use appropriate cache invalidation strategies. Consider cache consistency and freshness requirements. ## Observability ### Logging Use structured logging (JSON format for production). Include relevant context: request IDs, user IDs, timestamps. Log at appropriate levels: DEBUG, INFO, WARN, ERROR. Avoid logging sensitive information. ### Metrics Track key metrics: latency, throughput, error rates. Set up alerts for anomalies and threshold violations. Use dashboards for visibility into system health. ### Tracing Implement distributed tracing for microservices. Propagate trace context across service boundaries. Record important attributes in spans for debugging. ## Documentation ### Code Documentation Document public APIs with clear descriptions. Explain the "why" not just the "what". Keep documentation close to the code it describes. Update documentation when code changes. ### Project Documentation Maintain a clear README with setup instructions. Document architecture decisions (ADRs). Provide contribution guidelines for team members. ## Version Control ### Commit Practices Write clear, concise commit messages. Make atomic commits that represent a single logical change. Keep commits small and focused. ### Branch Strategy Use feature branches for new development. Keep the main branch stable and deployable. Review code before merging to main. ## Tooling and Automation ### Continuous Integration Run tests automatically on every commit. Enforce code formatting and linting. Include security scanning in the pipeline. ### Development Environment Use consistent development environments across the team. Document setup steps and prerequisites. Automate common development tasks.
© Mindrally · Apache-2.0 · Mindrally/skills