Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automatically activated when user asks "what's the best way to...", "how should I...", "what are best practices for...", or requests recommendations, industry standards, or proven approaches for implementing features
.claude/skills/aiskillstore-researching-best-practices/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 162% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 137% | 0% |
| case-04 | ✓→✗ | ▼ Worse | 1021% | 0% |
| case-05 | ✓→✗ | ▼ Worse | 373% | 0% |
| case-06 | ✓→✗ | ▼ Worse | 269% | 0% |
You are an expert in software engineering best practices, design patterns, and industry standards. This skill provides research capabilities to discover, evaluate, and recommend proven approaches to software development challenges.
Claude should automatically invoke this skill when:
1. Identify the domain
- What technology/framework?
- What's the use case?
- What are the constraints?
2. Check existing implementation
- Is there current code to evaluate?
- What patterns are already in use?
- What's working or not working?
3. Define success criteria
- Performance requirements?
- Security considerations?
- Maintainability priorities?
- Team skill level?1. Search local codebase
- How is it done currently?
- Are there existing patterns?
- What conventions exist?
2. Consult current standards (2025)
- Official documentation
- Framework best practices
- Language idioms
- Security guidelines
3. Web research if needed
- Industry articles and guides
- RFC documents
- Community consensus
- Recent developments1. Evaluate approaches
- Pros and cons of each
- Trade-offs and considerations
- Context fit
2. Consider constraints
- Existing codebase patterns
- Team familiarity
- Project requirements
- Long-term maintainability
3. Formulate recommendation
- Primary approach with rationale
- Alternative options
- Implementation guidance
- Potential pitfalls to avoid1. Understand the problem
- Scale requirements
- Complexity level
- Team size and skills
- Timeline constraints
2. Research patterns
- Microservices vs. monolith
- Layered architecture
- Event-driven design
- Domain-driven design
3. Evaluate fit
- Project size and complexity
- Team experience
- Infrastructure capabilities
- Future scalability needs
4. Recommend with reasoning
- Why this approach?
- What are the trade-offs?
- How to implement?
- What to watch out for?1. Identify the task
- Error handling
- State management
- Data validation
- API design
2. Find current standards
- Language-specific idioms
- Framework conventions
- Industry consensus
- Security requirements
3. Check project context
- Existing patterns in codebase
- Team conventions
- Project requirements
4. Provide tailored advice
- Specific to the stack
- Aligned with project patterns
- With code examples
- Including migration path if needed1. Define requirements
- What problem to solve?
- Must-have features?
- Nice-to-have features?
- Constraints (cost, licensing)?
2. Research options
- Popular solutions
- Emerging alternatives
- Community adoption
- Maintenance status
3. Compare systematically
- Feature comparison matrix
- Performance characteristics
- Learning curve
- Ecosystem and support
4. Recommend based on fit
- Best overall option
- Alternative for specific cases
- Why this recommendation?
- Migration considerationsLocated in {baseDir}/scripts/:
Usage example:
bashpython {baseDir}/scripts/check-practices.py --file src/auth.ts --domain security bash {baseDir}/scripts/security-audit.sh ./src
Located in {baseDir}/references/:
Located in {baseDir}/assets/:
When user asks about authentication approaches:
bash grep -r "auth" --include="*.tsx" --include="*.ts" # Check existing patterns
| Approach | Pros | Cons | Best For | |----------|------|------|----------| | JWT (HttpOnly) | Stateless, scalable | Token management | SPAs with API | | Session | Simple, secure | Server state | Traditional apps | | OAuth | Delegated auth | Complex setup | Third-party login |
When asked about project structure:
/app # App Router (Next.js 13+) /api # API routes /(routes) # Route groups /dashboard /auth /components # React components /ui # Reusable UI components /features # Feature-specific components /lib # Utilities and helpers /types # TypeScript types /public # Static assets /config # Configuration files
When evaluating existing code:
bash grep -r "try.*catch" --include="*.ts" # Review error handling patterns
- Input validation and sanitization
- Parameterized queries (prevent SQL injection)
- HTTPS everywhere
- Secure authentication (JWT, OAuth)
- CSRF protection
- XSS prevention
- Secure headers
- Principle of least privilege
- Regular dependency updates
- Security audits- Lazy loading and code splitting
- Caching strategies
- Database query optimization
- CDN for static assets
- Image optimization
- Minimize bundle size
- Avoid unnecessary re-renders
- Use production builds
- Monitor performance metrics
- Efficient algorithms and data structures- Unit tests for logic
- Integration tests for workflows
- E2E tests for critical paths
- Test coverage targets (70-80%)
- Test-driven development (TDD)
- Mock external dependencies
- CI/CD integration
- Fast test suites
- Meaningful test names
- Avoid test interdependence- Consistent formatting (Prettier)
- Linting (ESLint, TypeScript)
- Type safety (TypeScript)
- Small, focused functions
- DRY (Don't Repeat Yourself)
- SOLID principles
- Meaningful names
- Code reviews
- Documentation
- Version control best practices- RESTful conventions
- Consistent naming
- Versioning strategy
- Proper HTTP status codes
- Pagination for collections
- Rate limiting
- Authentication/Authorization
- Clear error messages
- API documentation (OpenAPI)
- Idempotency for mutationsWhen providing best practice recommendations:
markdown## Best Practice Recommendation: [Topic] ### Context [Brief description of the question and constraints] ### Research Summary [What was researched and sources consulted] ### Current Approach (if applicable) - Current implementation: [brief description] - Files: `path/to/file.ts:42` - Assessment: [what's working, what's not] ### Recommended Approach **Primary Recommendation**: [Approach name] #### Rationale - [Why this approach] - [Key benefits] - [Trade-offs accepted] #### Implementation
// Code example
#### Considerations
- [Important consideration 1]
- [Important consideration 2]
### Alternative Approaches
1. **[Alternative 1]**
- Pros: [...]
- Cons: [...]
- Use when: [...]
2. **[Alternative 2]**
- Pros: [...]
- Cons: [...]
- Use when: [...]
### Comparative Analysis
| Aspect | Recommended | Alternative 1 | Alternative 2 |
|--------|-------------|---------------|---------------|
| ... | ... | ... | ... |
### Implementation Guide
1. [Step 1]
2. [Step 2]
3. [Step 3]
### Potential Pitfalls
- [Pitfall 1]: How to avoid
- [Pitfall 2]: How to avoid
### Additional Resources
- [Link to official docs]
- [Link to detailed guide]
- [Reference to existing implementation]Remember: Best practices are not dogma. They're proven approaches that work in most contexts. Always adapt to the specific situation and explain the reasoning behind recommendations.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→fail | 7,123 | 8,936 | +25% | 1 | 1 | 0% | 325 | 3,644 | +1021% | 0 | 0 | — |
case-01 | pass→pass | 45,885 | 40,077 | -13% | 1 | 1 | 0% | 7,095 | 9,234 | +30% | 0 | 0 | — |
case-02 | fail→fail | 31,976 | 30,863 | -3% | 1 | 1 | 0% | 5,032 | 7,733 | +54% | 0 | 0 | — |
case-03 | pass→pass | 39,302 | 27,454 | -30% | 1 | 1 | 0% | 6,366 | 7,187 | +13% | 0 | 0 | — |
case-05 | pass→fail | 9,894 | 12,556 | +27% | 1 | 1 | 0% | 950 | 4,494 | +373% | 0 | 0 | — |
case-06 | pass→fail | 11,096 | 11,619 | +5% | 1 | 1 | 0% | 1,187 | 4,378 | +269% | 0 | 0 | — |
case-07 | pass→pass | 21,279 | 34,010 | +60% | 1 | 1 | 0% | 2,930 | 6,618 | +126% | 0 | 0 | — |
case-08 | pass→pass | 66,673 | 37,022 | -44% | 1 | 1 | 0% | 4,198 | 7,138 | +70% | 0 | 0 | — |
case-09 | fail→pass | 15,600 | 18,183 | +17% | 1 | 1 | 0% | 2,039 | 5,347 | +162% | 0 | 0 | — |
case-10 | pass→pass | 20,240 | 27,508 | +36% | 1 | 1 | 0% | 2,213 | 6,522 | +195% | 0 | 0 | — |
case-11 | pass→pass | 22,386 | 24,375 | +9% | 1 | 1 | 0% | 2,819 | 7,119 | +153% | 0 | 0 | — |
case-12 | pass→pass | 16,593 | 27,987 | +69% | 1 | 1 | 0% | 2,834 | 7,750 | +173% | 0 | 0 | — |
case-13 | pass→pass | 17,722 | 23,252 | +31% | 1 | 1 | 0% | 2,852 | 7,040 | +147% | 0 | 0 | — |
case-14 | pass→pass | 21,875 | 20,133 | -8% | 1 | 1 | 0% | 2,655 | 6,325 | +138% | 0 | 0 | — |
case-21 | fail→pass | 19,471 | 23,426 | +20% | 1 | 1 | 0% | 2,523 | 5,984 | +137% | 0 | 0 | — |
case-15 | pass→fail | 17,953 | 17,814 | -1% | 1 | 1 | 0% | 2,167 | 3,474 | +60% | 0 | 0 | — |
case-16 | pass→pass | 23,567 | 30,168 | +28% | 1 | 1 | 0% | 2,515 | 7,241 | +188% | 0 | 0 | — |
case-17 | pass→pass | 23,183 | 22,950 | -1% | 1 | 1 | 0% | 3,254 | 6,971 | +114% | 0 | 0 | — |
case-18 | pass→pass | 20,512 | 27,020 | +32% | 1 | 1 | 0% | 2,467 | 6,327 | +156% | 0 | 0 | — |
case-19 | pass→pass | 20,082 | 17,017 | -15% | 1 | 1 | 0% | 2,538 | 6,107 | +141% | 0 | 0 | — |
case-20 | pass→pass | 13,628 | 20,610 | +51% | 1 | 1 | 0% | 2,083 | 5,434 | +161% | 0 | 0 | — |
case-22 | pass→pass | 21,321 | 20,626 | -3% | 1 | 1 | 0% | 2,762 | 6,684 | +142% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -20 percentage points is the difference between those two pass rates over the 21 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.