skills/continuous-learning/SKILL.md
Automatically extract reusable patterns from OpenCode sessions and save them as learned skills for future use.
npx skillsauth add fmflurry/settings-opencode continuous-learningInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automatically evaluates OpenCode sessions at session end and extracts reusable patterns into new “learned skills” for future reuse.
Use this skill when you want:
~/.config/opencode/skills/<learned-skill>/SKILL.md~/.config/opencode/skills/learned/.continuous-learning-index.jsonThis skill runs as a Stop hook at the end of each OpenCode session:
10+ messages)~/.config/opencode/skills/<descriptive-slug>/SKILL.md~/.config/opencode/skills/learned/.continuous-learning-index.jsonLearned skills are written with meaningful, descriptive names derived from the session content rather than generic pattern categories:
<descriptive-slug>/SKILL.md (e.g., angular-facade-debugging/SKILL.md)<descriptive-slug>-2/SKILL.md (counter suffix for collisions)The slug is built from the most distinctive terms found in the session transcript.
The content also includes a signature: in frontmatter for deduplication.
Recommended structure:
~/.config/opencode/skills/continuous-learning/
skill.md (this file)config.jsonhooks/stop.shbin/evaluate-session.js (or evaluate-session.py)Learned output:
~/.config/opencode/skills/<descriptive-slug>/SKILL.md~/.config/opencode/skills/learned/.continuous-learning-index.jsonEdit config.json:
{
"min_session_length": 10,
"extraction_threshold": "medium",
"auto_approve": false,
"skills_root_path": "~/.config/opencode/skills/",
"learned_metadata_path": "~/.config/opencode/skills/learned/",
"patterns_to_detect": [
"error_resolution",
"user_corrections",
"workarounds",
"debugging_techniques",
"project_specific"
],
"ignore_patterns": ["simple_typos", "one_time_fixes", "external_api_issues"],
"max_skills_per_session": 3,
"dedupe_window_sessions": 20
}
Legacy note: learned_skills_path is still supported for backward compatibility.
If it points to .../skills/learned/, the generator will still write skills to
.../skills/<slug>/SKILL.md and keep metadata in the learned directory.
Shared setup note: if you want learned skills shared between OpenCode and
ClaudeCode, point skills_root_path to ~/.claude/skills/ and
learned_metadata_path to ~/.claude/skills/learned/.
development
Scaffolds and extends Angular 18+ standalone features using Clean Architecture with DDD layering (presentation/application/domain/infrastructure), custom signal-based stores, facade pattern, and ports/adapters dependency inversion. Use when creating new Angular features/domains, adding use cases/facades/stores/ports/adapters, refactoring legacy NgModule/NgRx code toward clean architecture, or working with cross-domain communication via context registry.
development
Pre-merge code review for Angular + TypeScript pull requests. Diffs current branch against a target branch, applies Angular-specific checklists (signals, RxJS, clean architecture, flurryx, TS strict), runs lint + tsc, and emits a tiered report (verbose for juniors, terse for seniors). Auto-loads project AGENTS.md rules. Use when user runs /cop-review, says "pre-merge review", "review before merging", "check my PR against <branch>", or invokes the merge-cop agent.
testing
Use this skill for any git work such as creating branches, staging changes, writing commit messages, pushing branches, or preparing pull requests. Delegates git execution to the git-specialist agent.
development
Signal-first reactive state management for Angular. Bridge RxJS streams into cache-aware stores, keyed resources, mirrored state, and replayable history. Use when generating or modifying Angular code that uses flurryx for state management, or when scaffolding new feature modules that follow the flurryx facade pattern.