Auto-extract patterns from coding sessions, track corrections, and build reusable knowledge with confidence scoring
60
68%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/continuous-learning/SKILL.mdAfter every significant coding session, extract and categorize learnings into three buckets:
pattern:
id: "LEARN-2025-0042"
category: "error-handling"
type: "correction" # correction | success | anti-pattern
confidence: 0.85 # 0.0 to 1.0
language: "typescript"
context: "API error responses"
observation: "Returning raw error messages from database exceptions exposes internals"
lesson: "Always map database errors to application-level error codes before returning"
example:
before: "catch (e) { res.status(500).json({ error: e.message }) }"
after: "catch (e) { logger.error(e); res.status(500).json({ error: 'INTERNAL_ERROR' }) }"
frequency: 3 # times this pattern has been observed
last_seen: "2025-06-15"| Score | Meaning | Action |
|---|---|---|
| 0.95+ | Verified across multiple projects | Apply automatically |
| 0.80-0.94 | Confirmed in this codebase | Apply and mention |
| 0.60-0.79 | Observed but not fully validated | Suggest with caveat |
| 0.40-0.59 | Hypothesis based on limited data | Ask before applying |
| <0.40 | Speculative, needs validation | Document but do not apply |
Update confidence based on:
At the end of each session or before context compaction:
## Session Learnings (2025-06-15)
### Corrections Applied
- [0.85] TypeScript: Use `satisfies` instead of `as` for type narrowing with object literals
- [0.90] Next.js: Server Actions must be async functions, even for synchronous operations
### Successful Patterns
- [0.80] PostgreSQL: Partial indexes on status columns reduced query time by 60%
- [0.75] React: Extracting data fetching into Server Components eliminated 3 useEffect hooks
### Anti-Patterns Identified
- [0.70] Avoid: Nesting more than 2 levels of Suspense boundaries (causes waterfall)
- [0.65] Avoid: Using `any` to suppress TypeScript errors in catch blocks (use `unknown`)Structure the knowledge base by domain:
knowledge/
error-handling.md # Error patterns across languages
testing.md # Test patterns and anti-patterns
performance.md # Optimization learnings
api-design.md # API design decisions
deployment.md # Infrastructure learnings
project-specific.md # Current project conventionsEach file follows the same entry format. Deduplicate entries with matching observation fields by incrementing frequency and updating confidence.
When a user corrects code or approach:
### Correction Log
- **Original**: Used `useEffect` to fetch data on mount
- **Correction**: Moved data fetching to Server Component
- **Root cause**: Applied client-side SPA pattern in Server Component context
- **Generalization**: In Next.js App Router, prefer server-side data fetching for initial page data
- **Confidence**: 0.90 (confirmed across 4 components)Track how often patterns are applied and whether they hold:
Pattern: "Use zod for API input validation"
Applied: 12 times
Confirmed: 11 times
Corrected: 1 time (edge case with file uploads)
Confidence: 0.92
Status: ESTABLISHEDStatuses:
Store learnings in the project's memory file (CLAUDE.md or equivalent):
Review and prune the knowledge base monthly. Remove entries that have not been referenced in 90 days and have confidence below 0.70.
ebdf1d5
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.