一键导入
continuous-learning
// Automatically extract reusable patterns from OpenCode sessions and save them as learned skills for future use.
// Automatically extract reusable patterns from OpenCode sessions and save them as learned skills for future use.
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.
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.
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.
evidence-first decision-gating for planning, design, architecture, and refactor requests with unresolved requirements, scope, constraints, facts, or tradeoffs. use when the next safe step is to ask exactly one dependency-safe question before proposing a plan or implementation, especially when critical decisions are not yet closed.
When adding values to any union type in a domains/models/ file
Use when you are adding or updating a codemap generator for a frontend Angular repo.
| name | continuous-learning |
| description | Automatically extract reusable patterns from OpenCode sessions and save them as learned skills for future use. |
| version | 1.0.0 |
| scope | opencode |
| hooks | ["Stop"] |
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/.