continuous-learning
Continuous Learning
Overview
This skill provides a systematic framework for extracting and preserving valuable patterns discovered during work sessions. Rather than letting hard-won insights disappear when a session ends, it captures solutions, techniques, and project-specific knowledge as reusable learned skills.
Design Philosophy
Learning from Experience
The most valuable knowledge often emerges through struggle - debugging sessions that reveal non-obvious solutions, user corrections that expose better approaches, and workarounds that navigate framework limitations. This tacit knowledge typically evaporates between sessions, forcing repeated rediscovery.
This skill operationalizes experience by:
- Pattern Recognition - Identifying moments of insight during sessions
- Knowledge Extraction - Distilling insights into reusable formats
- Persistent Storage - Saving patterns for future session retrieval
- Progressive Refinement - Improving patterns as they're reused and validated
The Learning Loop
Session Work
|
v
Pattern Detection -----> Threshold Check (skip if too generic)
|
v
Extraction & Structuring
|
v
Deduplication Check -----> Merge if similar pattern exists
|
v
Storage in ~/.claude/skills/learned/
|
v
Future Session Retrieval
|
v
Pattern Validation & Refinement
Core Principles
| Principle | Description |
|---|---|
| Specificity over Generality | A pattern that solves a specific problem well beats a vague principle |
| Context Preservation | Include enough context to understand when the pattern applies |
| Actionable Format | Patterns should be immediately usable, not just informative |
| Progressive Confidence | Patterns gain confidence through repeated successful use |
| Graceful Degradation | Patterns include fallback approaches when primary fails |
When to Use
Automatic Triggers
- Stop Hook: Configured to run automatically when a session ends
- Session Timeout: When a session is about to expire
- Explicit Invocation: User says "save learnings", "extract patterns"
Manual Triggers
- After solving a particularly difficult bug
- When user corrects an approach (indicating a learning opportunity)
- After discovering an undocumented workaround
- When a debugging technique proves especially effective
- After understanding project-specific conventions
Signal Phrases
- "Save what we learned"
- "Remember this for next time"
- "This should be a pattern"
- "Extract learnings from this session"
- "What patterns did we discover?"
Pattern Types
1. Error Resolution Patterns
Definition: Solutions to errors, exceptions, or unexpected behaviors that required non-obvious fixes.
Extraction Criteria:
- Error was not immediately obvious from the error message
- Solution required investigation or research
- Fix involved understanding underlying cause, not just symptom
- Solution would be useful if the same error recurs
Structure:
type: error_resolution
trigger: "[Exact error message or pattern]"
symptoms:
- "[Observable symptom 1]"
- "[Observable symptom 2]"
root_cause: "[Underlying cause]"
solution:
steps:
- "[Step 1]"
- "[Step 2]"
code_example: |
// Before (problematic)
problematic_code_here
// After (fixed)
fixed_code_here
context:
framework: "[Framework/library name]"
version: "[Version if relevant]"
environment: "[Environment factors]"
confidence: [0.0-1.0]
times_applied: 0
Quality Threshold:
- Must have specific error trigger (not generic "it didn't work")
- Must explain root cause, not just provide fix
- Must include context for when pattern applies
2. User Correction Patterns
Definition: Insights gained when the user corrects Claude's approach, revealing better methods or project-specific preferences.
Extraction Criteria:
- User explicitly corrected an approach or suggestion
- Correction revealed a preference not evident from code/docs
- Learning is transferable to similar situations
- Correction wasn't due to simple misunderstanding
Structure:
type: user_correction
original_approach: "[What Claude initially did/suggested]"
corrected_approach: "[What the user preferred]"
reasoning: "[Why the corrected approach is better]"
applies_when:
- "[Situation 1]"
- "[Situation 2]"
project_specific: [true/false]
project_identifier: "[Project name/path if specific]"
confidence: [0.0-1.0]
times_validated: 0
Quality Threshold:
- Must capture the "why" behind the correction
- Must be generalizable (not one-off preference)
- Must include clear applicability criteria
3. Workaround Patterns
Definition: Clever solutions to limitations in tools, frameworks, or environments.
Extraction Criteria:
- Standard approach was blocked by a limitation
- Workaround achieved the goal despite the limitation
- Workaround is reliable and maintainable
- Limitation is likely to be encountered again
Structure:
type: workaround
limitation: "[What was blocked/unavailable]"
goal: "[What we were trying to achieve]"
workaround:
approach: "[Description of the workaround]"
steps:
- "[Step 1]"
- "[Step 2]"
code_example: |
// Workaround implementation
code_here
caveats:
- "[Caveat 1]"
- "[Caveat 2]"
better_alternative: "[What to use when limitation is removed]"
context:
tool: "[Tool/framework name]"
version: "[Version with limitation]"
confidence: [0.0-1.0]
Quality Threshold:
- Must clearly describe the limitation being worked around
- Must include caveats and risks
- Should note when the workaround becomes unnecessary
4. Debugging Technique Patterns
Definition: Effective debugging approaches that proved particularly useful for specific types of problems.
Extraction Criteria:
- Technique successfully identified a non-obvious issue
- Approach is systematic and repeatable
- Would accelerate debugging similar issues
- Goes beyond basic debugging (not just "add console.log")
Structure:
type: debugging_technique
problem_class: "[Type of problem this technique addresses]"
indicators:
- "[Sign that this technique might help]"
- "[Another indicator]"
technique:
name: "[Descriptive name]"
description: "[How it works]"
steps:
- "[Step 1]"
- "[Step 2]"
- "[Step 3]"
tools_used:
- "[Tool 1]"
- "[Tool 2]"
example_application: |
[Concrete example of using this technique]
effectiveness:
typical_time_saved: "[Estimate]"
success_rate: "[Estimate]"
confidence: [0.0-1.0]
Quality Threshold:
- Must be specific to a problem class (not generic "debugging")
- Must include clear indicators for when to apply
- Must be actionable with concrete steps
5. Project-Specific Patterns
Definition: Patterns unique to a particular project's conventions, architecture, or domain.
Extraction Criteria:
- Pattern is specific to current project's codebase
- Reflects architectural decisions or conventions
- Would help future work in same project
- Not obvious from reading documentation
Structure:
type: project_specific
project:
identifier: "[Unique project identifier]"
path: "[Project root path]"
description: "[Brief project description]"
pattern:
name: "[Pattern name]"
category: "[e.g., naming, architecture, testing, deployment]"
description: "[What the pattern is]"
rationale: "[Why this project uses this pattern]"
examples:
- file: "[file path]"
line_range: "[start-end]"
description: "[What this example shows]"
applies_to:
- "[Situation 1]"
- "[Situation 2]"
anti_patterns:
- "[What not to do]"
confidence: [0.0-1.0]
discovered_date: "[ISO date]"
Quality Threshold:
- Must be truly project-specific (not general best practice)
- Must include concrete examples from codebase
- Must explain rationale, not just prescription
Pattern Extraction Process
Step 1: Session Analysis
Scan the session for learning signals:
1. Error/Exception Events
- Search for error messages, stack traces, failed commands
- Note which required multiple attempts to resolve
- Flag solutions that weren't immediately obvious
2. User Corrections
- Identify messages where user redirected approach
- Note phrases like "actually", "instead", "don't do that"
- Capture the before/after of corrections
3. Workarounds Discovered
- Look for "can't do X, so we'll do Y"
- Note framework/tool limitations encountered
- Capture creative solutions to obstacles
4. Debugging Journeys
- Identify investigation sequences
- Note hypotheses tested and results
- Capture successful diagnostic approaches
5. Project Conventions Learned
- Note corrections about "how we do things here"
- Capture architectural patterns discovered
- Record naming conventions and preferences
Step 2: Threshold Evaluation
Apply the extraction threshold to filter noise:
Include if:
- Pattern would save significant time if encountered again
- Solution wasn't immediately obvious from error/docs
- Pattern is specific enough to be actionable
- Context is clear enough for future matching
Exclude if:
- Solution was first result in documentation
- Pattern is too generic to be useful
- Context is too narrow (one-time unique situation)
- Better patterns already exist for this case
Configurable Threshold: The extraction sensitivity can be adjusted:
# ~/.claude/config/learning.yaml
extraction:
threshold: 0.7 # 0.0-1.0, higher = more selective
min_investigation_steps: 3 # Minimum complexity for extraction
require_root_cause: true # Must understand why, not just what
max_patterns_per_session: 10 # Prevent noise
Step 3: Pattern Structuring
For each pattern that passes threshold:
- Identify Type - Classify into one of the five pattern types
- Extract Context - Capture framework, version, environment details
- Formulate Trigger - Define when this pattern should be recalled
- Structure Solution - Format according to type-specific template
- Assign Confidence - Initial confidence based on validation level
Step 4: Deduplication Check
Before saving, check for existing similar patterns:
1. Load existing patterns from ~/.claude/skills/learned/
2. For each candidate pattern:
a. Search for patterns with similar triggers
b. Search for patterns in same category/context
c. Calculate similarity score
3. If similarity > 0.8:
a. Merge: Combine insights, increment times_applied
b. Update: If new pattern is more complete, replace
4. If similarity < 0.8:
a. Save as new pattern
Similarity Calculation:
- Error patterns: Compare error message patterns
- User corrections: Compare original/corrected approaches
- Workarounds: Compare limitations and solutions
- Debugging: Compare problem classes
- Project-specific: Compare project + pattern category
Step 5: Storage
Write patterns to the learned skills directory:
~/.claude/skills/learned/
├── index.yaml # Pattern index for quick lookup
├── error_resolution/
│ ├── typescript-null-check.yaml
│ └── react-hook-deps.yaml
├── user_corrections/
│ └── test-naming-convention.yaml
├── workarounds/
│ └── jest-esm-modules.yaml
├── debugging_techniques/
│ └── async-race-condition.yaml
└── project_specific/
└── myproject-123/
├── api-naming.yaml
└── state-management.yaml
Learned Skills Output Format
Storage Location
All learned patterns are stored in: ~/.claude/skills/learned/
This location is:
- Persistent across sessions
- Backed up with user's home directory
- Searchable during future sessions
File Naming Convention
{type}/{slug}.yaml
Where:
- type: One of [error_resolution, user_corrections, workarounds,
debugging_techniques, project_specific]
- slug: Kebab-case descriptive name derived from pattern content
Examples:
- error_resolution/typescript-circular-dependency.yaml
- workarounds/prisma-connection-pooling.yaml
- project_specific/acme-corp/api-versioning.yaml
Skill File Structure
Each learned skill file contains:
# Metadata
id: "[UUID]"
type: "[pattern_type]"
created: "[ISO timestamp]"
updated: "[ISO timestamp]"
version: 1
# Pattern Content (type-specific structure from above)
pattern:
# ... type-specific fields ...
# Usage Tracking
usage:
times_applied: 0
times_successful: 0
times_failed: 0
last_applied: null
# Confidence Tracking
confidence:
initial: 0.7
current: 0.7
adjustments:
- date: "[ISO timestamp]"
reason: "[Why confidence changed]"
delta: 0.0
# Relationships
related_patterns:
- id: "[Related pattern UUID]"
relationship: "[supersedes|supplements|conflicts]"
# Tags for Retrieval
tags:
- "[tag1]"
- "[tag2]"
Index File Structure
The index.yaml file enables fast pattern lookup:
# ~/.claude/skills/learned/index.yaml
version: 1
last_updated: "[ISO timestamp]"
pattern_count: 42
patterns:
- id: "[UUID]"
type: "[type]"
file: "[relative path]"
triggers:
- "[trigger phrase 1]"
- "[trigger phrase 2]"
tags:
- "[tag1]"
confidence: 0.85
project: null # or project identifier
# ... more patterns ...
# Inverted index for fast lookup
trigger_index:
"TypeError: Cannot read":
- "[pattern-id-1]"
- "[pattern-id-2]"
"ECONNREFUSED":
- "[pattern-id-3]"
tag_index:
typescript:
- "[pattern-id-1]"
- "[pattern-id-4]"
react:
- "[pattern-id-2]"
Stop Hook Configuration
Overview
The continuous-learning skill can be automatically triggered when a Claude Code session ends, ensuring no valuable patterns are lost.
Hook Configuration
Create or update the hooks configuration file:
// ~/.claude/hooks.json
{
"hooks": {
"stop": [
{
"name": "continuous-learning",
"enabled": true,
"command": "skill:continuous-learning",
"config": {
"threshold": 0.7,
"interactive": false,
"summary": true
}
}
],
"pre-commit": [],
"post-error": []
}
}
Hook Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
enabled |
boolean | true | Whether the hook is active |
threshold |
float | 0.7 | Extraction threshold (0.0-1.0) |
interactive |
boolean | false | Ask for confirmation before saving |
summary |
boolean | true | Display summary of extracted patterns |
max_patterns |
int | 10 | Maximum patterns to extract per session |
auto_merge |
boolean | true | Automatically merge similar patterns |
Integration with Claude Code
The hook integrates with Claude Code's lifecycle events:
Session Start
|
v
Load learned patterns from ~/.claude/skills/learned/
|
v
Pattern retrieval during session (automatic matching)
|
v
Session End (Stop command or timeout)
|
v
Stop hook triggers continuous-learning skill
|
v
Extract and save new patterns
|
v
Display summary (if configured)
Manual Hook Testing
Test the hook configuration:
# Validate hooks.json syntax
claude hook validate
# Run the stop hook manually
claude hook run stop
# Check hook execution logs
claude hook logs --hook stop
Pattern Quality Criteria
What Makes a Pattern Worth Saving
High-Value Indicators:
| Indicator | Description | Weight |
|---|---|---|
| Non-Obvious Solution | Answer wasn't in first search result | High |
| Time Investment | Took significant debugging time | High |
| Root Cause Depth | Understanding goes beyond symptoms | High |
| Recurrence Likelihood | Likely to encounter again | High |
| Transferability | Applies beyond immediate context | Medium |
| Specificity | Clear trigger conditions | Medium |
| Actionability | Concrete steps, not abstract advice | Medium |
Scoring Model:
quality_score = (
non_obvious * 0.20 +
time_investment * 0.15 +
root_cause_depth * 0.20 +
recurrence * 0.20 +
transferability * 0.10 +
specificity * 0.10 +
actionability * 0.05
)
# Save if quality_score >= threshold (default 0.7)
Exclusion Criteria
Do NOT extract patterns that:
- Are documented in official docs (first page of results)
- Are common knowledge for the technology stack
- Have insufficient context for future matching
- Are too narrow (unique one-time situation)
- Are too broad (generic advice without specifics)
- Lack root cause understanding
- Would be outdated quickly (version-specific hacks)
- Duplicate existing patterns without adding value
Pattern Maintenance
Patterns should be reviewed periodically:
# Pattern lifecycle states
lifecycle:
active: true # Currently in use
deprecated: false # Superseded but kept for reference
archived: false # No longer relevant
# Automatic deprecation triggers
deprecate_if:
- confidence_below: 0.3
- months_unused: 12
- failed_applications: 5
Example Patterns
Example 1: Error Resolution
# ~/.claude/skills/learned/error_resolution/prisma-client-not-generated.yaml
id: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
type: error_resolution
created: "2025-01-15T10:30:00Z"
updated: "2025-01-15T10:30:00Z"
version: 1
pattern:
trigger: "PrismaClientInitializationError: Unable to require"
symptoms:
- "Error occurs on first Prisma query"
- "Usually after schema changes"
- "Works locally but fails in CI/Docker"
root_cause: |
The Prisma Client was not regenerated after schema changes.
In Docker/CI environments, the generated client in node_modules
may be stale or missing because it's not committed to git.
solution:
steps:
- "Run 'npx prisma generate' to regenerate the client"
- "In Docker, add 'prisma generate' to build steps"
- "In CI, run generate before tests"
code_example: |
# Dockerfile
RUN npx prisma generate
# package.json
"scripts": {
"postinstall": "prisma generate"
}
context:
framework: "Prisma"
version: ">=4.0.0"
environment: "Docker, CI/CD"
usage:
times_applied: 3
times_successful: 3
times_failed: 0
last_applied: "2025-01-20T14:00:00Z"
confidence:
initial: 0.8
current: 0.95
adjustments:
- date: "2025-01-20T14:00:00Z"
reason: "Successfully resolved issue for third user"
delta: 0.05
tags:
- prisma
- docker
- ci-cd
- database
Example 2: User Correction
# ~/.claude/skills/learned/user_corrections/test-file-colocation.yaml
id: "b2c3d4e5-f6g7-8901-bcde-f12345678901"
type: user_correction
created: "2025-01-18T09:15:00Z"
updated: "2025-01-18T09:15:00Z"
version: 1
pattern:
original_approach: |
Created test files in a separate __tests__ directory at project root,
mirroring the source directory structure.
corrected_approach: |
Place test files adjacent to the source files they test,
using .test.ts or .spec.ts suffix.
reasoning: |
The project follows test colocation pattern for several reasons:
1. Easier to find tests for a given file
2. Tests move with source files during refactoring
3. Encourages writing tests (visible reminder)
4. Reduces directory navigation
applies_when:
- "Creating new test files in this project"
- "Moving or renaming source files"
- "Setting up test configuration"
project_specific: true
project_identifier: "acme-frontend"
usage:
times_applied: 2
times_successful: 2
times_failed: 0
last_applied: "2025-01-20T11:00:00Z"
confidence:
initial: 0.9
current: 0.95
adjustments: []
tags:
- testing
- project-conventions
- file-organization
Example 3: Workaround
# ~/.claude/skills/learned/workarounds/jest-esm-import-assertions.yaml
id: "c3d4e5f6-g7h8-9012-cdef-123456789012"
type: workaround
created: "2025-01-19T16:45:00Z"
updated: "2025-01-19T16:45:00Z"
version: 1
pattern:
limitation: |
Jest doesn't support import assertions syntax (import ... with { type: 'json' })
even with experimental ESM support enabled.
goal: "Import JSON files in ESM modules being tested with Jest"
workaround:
approach: |
Use createRequire to import JSON files instead of import assertions.
This works because require() still supports JSON natively.
steps:
- "Import createRequire from 'node:module'"
- "Create a require function scoped to the current module"
- "Use require() for JSON imports"
code_example: |
// Instead of:
// import config from './config.json' with { type: 'json' };
// Use:
import { createRequire } from 'node:module';
const require = createRequire(import.meta.url);
const config = require('./config.json');
caveats:
- "Slightly more verbose than import assertions"
- "May need to update when Jest adds proper support"
- "The require is synchronous, which is fine for JSON"
better_alternative: |
When Jest supports import assertions natively, revert to:
import config from './config.json' with { type: 'json' };
context:
tool: "Jest"
version: "<30.0.0"
usage:
times_applied: 1
times_successful: 1
times_failed: 0
last_applied: "2025-01-19T16:45:00Z"
confidence:
initial: 0.85
current: 0.85
adjustments: []
tags:
- jest
- esm
- json
- import-assertions
- nodejs
Example 4: Debugging Technique
# ~/.claude/skills/learned/debugging_techniques/react-stale-closure.yaml
id: "d4e5f6g7-h8i9-0123-defg-234567890123"
type: debugging_technique
created: "2025-01-20T08:00:00Z"
updated: "2025-01-20T08:00:00Z"
version: 1
pattern:
problem_class: "React hook state appears to have stale values"
indicators:
- "State value is always the initial value in callbacks"
- "Console.log shows correct state, but callback uses old value"
- "Adding state to useEffect deps causes infinite loop"
- "Problem appears in setTimeout, setInterval, or event listeners"
technique:
name: "Stale Closure Debugger"
description: |
Systematically identify which closure is capturing stale values
and determine the appropriate fix (ref, functional update, or effect cleanup).
steps:
- "Add console.log inside the problematic callback showing the state value"
- "Add console.log in the component body showing current state"
- "Compare values - if callback shows old value, it's a stale closure"
- "Check how the callback is created - is it recreated when state changes?"
- "If callback is memoized (useCallback), check its dependency array"
- "Determine fix: useRef for value, functional update for setState, or proper deps"
tools_used:
- "React DevTools"
- "Console logging"
- "ESLint react-hooks plugin"
example_application: |
Problem: onClick handler always logs initial count (0)
// Problematic code
const [count, setCount] = useState(0);
const handleClick = useCallback(() => {
console.log(count); // Always 0!
}, []); // Missing count in deps
// Fix options:
// 1. Add count to deps: useCallback(() => {...}, [count])
// 2. Use ref: countRef.current
// 3. Use functional update: setCount(prev => prev + 1)
effectiveness:
typical_time_saved: "30-60 minutes"
success_rate: "~90%"
usage:
times_applied: 2
times_successful: 2
times_failed: 0
last_applied: "2025-01-20T08:00:00Z"
confidence:
initial: 0.9
current: 0.9
adjustments: []
tags:
- react
- hooks
- closures
- debugging
- state-management
Example 5: Project-Specific Pattern
# ~/.claude/skills/learned/project_specific/acme-api/error-response-format.yaml
id: "e5f6g7h8-i9j0-1234-efgh-345678901234"
type: project_specific
created: "2025-01-17T14:20:00Z"
updated: "2025-01-17T14:20:00Z"
version: 1
pattern:
project:
identifier: "acme-api"
path: "/home/user/projects/acme-api"
description: "Backend API service for Acme Corp"
pattern:
name: "Standardized Error Response Format"
category: "api-design"
description: |
All API endpoints must return errors in a standardized format
with specific fields for client consumption and logging.
rationale: |
Enables consistent error handling in frontend clients and
structured logging in the observability platform.
examples:
- file: "src/controllers/users.controller.ts"
line_range: "45-62"
description: "Validation error response"
- file: "src/middleware/error-handler.ts"
line_range: "12-38"
description: "Global error handler implementation"
applies_to:
- "Creating new API endpoints"
- "Adding error handling to existing endpoints"
- "Implementing new error types"
anti_patterns:
- "Throwing raw Error objects without transformation"
- "Returning error strings instead of structured objects"
- "Using HTTP status codes inconsistently"
response_format: |
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Human readable message",
"details": [...],
"requestId": "uuid",
"timestamp": "ISO8601"
}
}
usage:
times_applied: 4
times_successful: 4
times_failed: 0
last_applied: "2025-01-21T10:00:00Z"
confidence:
initial: 0.95
current: 0.95
adjustments: []
tags:
- api
- error-handling
- project-conventions
- acme-api
Workflow Summary
On Session End (Stop Hook)
1. Analyze session for learning signals
|
v
2. Apply extraction threshold
|
v
3. Structure identified patterns by type
|
v
4. Check for duplicates in existing patterns
|
v
5. Merge or create new pattern files
|
v
6. Update index.yaml
|
v
7. Display summary to user (if configured)
Summary Output Format
When the stop hook completes, display:
=== Continuous Learning Summary ===
Session analyzed: 2.5 hours, 47 tool calls
Patterns Extracted: 3
- [error_resolution] TypeScript strict null check fix
- [user_correction] Prefer named exports in this project
- [debugging_technique] Async stack trace reconstruction
Patterns Updated: 1
- [workaround] Jest ESM handling (confidence: 0.85 -> 0.90)
Patterns Skipped: 2
- Below threshold: Generic TypeScript error (0.45)
- Duplicate: React hook dependency warning (exists)
Total learned patterns: 47 (across all sessions)
Patterns saved to: ~/.claude/skills/learned/
Best Practices
Effective Pattern Capture
- Be specific: "React useState stale closure in event handler" > "React bug"
- Include context: Framework, version, environment conditions
- Explain why: Root cause matters more than surface fix
- Show examples: Concrete code beats abstract description
Avoiding Anti-Patterns
- Don't save obvious solutions: First Google result doesn't need saving
- Don't over-generalize: Keep patterns focused and actionable
- Don't skip validation: Patterns should be tested before high confidence
- Don't ignore updates: Revisit patterns as frameworks evolve
Pattern Hygiene
- Review patterns periodically (monthly suggested)
- Deprecate patterns for outdated framework versions
- Merge similar patterns to reduce duplication
- Increase confidence only after successful reuse
Integration Points
With Context-Saver Skill
When context-saver runs, it can include a section on "Patterns Discovered":
## Patterns Discovered This Session
These patterns have been saved to ~/.claude/skills/learned/:
1. **[error_resolution]** TypeScript strict mode null handling
- Trigger: "Object is possibly 'undefined'"
- File: ~/.claude/skills/learned/error_resolution/ts-strict-null.yaml
With Brainstorm Skill
Learned patterns can inform brainstorming sessions:
- Surface relevant patterns when discussing technical approaches
- Reference past workarounds when evaluating options
- Include project-specific patterns in codebase context
Future Session Retrieval
At session start, patterns are loaded and available for:
- Automatic matching when similar errors occur
- Explicit recall: "What did we learn about X?"
- Pattern suggestions during debugging
More from mhylle/claude-skills-collection
verification-loop
Comprehensive 6-check verification framework for validating implementation quality across build, types, lint, tests, security, and diff review. This skill ensures code meets all quality gates before phase completion. Triggers on "verify implementation", "run verification", "/verification-loop", or automatically as part of implement-phase Step 2.
8context-saver
Save session context to disk for seamless continuation in new chat sessions. This skill should be used when the user asks to save context, preserve work state, checkpoint progress, or prepare for session handoff. Triggers on "save context", "checkpoint", "save progress", "preserve state", or when explicitly asked to create a context file for later resumption. Optimizes for correctness, completeness, minimal size, and trajectory preservation.
8strategic-compact
Strategic compaction suggestion framework that monitors session complexity and suggests context compaction at optimal logical boundaries rather than arbitrary thresholds.
8implement-plan
Orchestrate the execution of complete implementation plans, delegating each phase to implement-phase skill. This skill manages the full plan lifecycle including phase sequencing, user confirmation between phases, and overall progress tracking. Triggers on "implement the plan", "execute the implementation plan", or when given a path to a plan file.
8create-plan
Create detailed implementation plans through interactive research and iteration. This skill should be used when creating new implementation plans, designing feature specifications, planning technical work, or when the user asks to plan an implementation. Triggers on requests like "create a plan", "plan the implementation", "design how to implement", or when given a feature/task that needs structured planning before implementation.
7security-review
Comprehensive security audit for code changes. Use this skill when implementing authentication, authorization, user input handling, API endpoints, secrets/credentials, payment features, or file uploads. Provides security checklists, vulnerability patterns, and remediation guidance. Integrates with implement-phase as a security quality gate.
7