Agent skill
skill-system
Load when you struggled with something docs would have helped, when you're about to move on from a complex area you now understand, or when managing skills
Install this agent skill to your Project
npx add-skill https://github.com/StefanIliev545/kapan/tree/main/.opencode/skill/skill-system
SKILL.md
Philosophy
Skills are crystallized knowledge - patterns, gotchas, and how-tos that would help future sessions work faster. They emerge organically from actual work, not from planning.
You have full agency to evolve this system:
- Create skills when you discover patterns worth preserving
- Update skills when they become stale or incomplete
- Remove skills that are no longer useful
- Merge overlapping skills, split overgrown ones
- Improve this very skill when you find better approaches
Proactive Triggers
Load this skill when you notice:
- "I wish I had known this before starting" - document it for next time
- "A future session would need to figure this out again" - capture it now
- "This pattern isn't obvious from the code" - write it down
- You're about to move on from a complex area you just understood deeply
Domain signals for this codebase:
- After understanding flash loan flows, UTXO tracking, or instruction encoding
- After debugging a tricky protocol integration (Aave, Morpho, Compound, Venus)
- After learning Starknet-specific patterns vs EVM patterns
- After discovering why something was built a certain way
When to Create a Skill
Ask yourself:
- Did I struggle with something that documentation would have helped?
- Is this pattern recurring and non-obvious from code alone?
- Would a future session benefit from this knowledge?
- Am I about to context-switch away from hard-won understanding?
If yes to any, pause and create a skill before moving on.
Don't create skills for:
- One-off tasks
- Things obvious from reading the code
- External library docs (just link to them)
When to Update a Skill
- You changed code that a skill documents
- A skill's file paths or examples are wrong
- You discovered better patterns in a covered area
- A skill gave you outdated or incorrect advice
When to Remove a Skill
- The skill's content is now obvious from the code itself
- The skill hasn't been useful (loaded but not helpful)
- The area it covers no longer exists
Skill Registry
The skill index lives at .opencode/skill/INDEX.md. Always update it when creating or removing skills.
To see current skills:
cat .opencode/skill/INDEX.md
How to Create a Skill
-
Create the directory and file:
bashmkdir -p .opencode/skill/<name> -
Create
SKILL.mdwith frontmatter:yaml--- name: <name> description: Load when <trigger conditions> --- -
Write the content:
- Focus on "how to", not just "what is"
- Include real code examples from the codebase
- Keep it under 1500 words
- Use file paths like
path/to/file.ts:123for navigation
-
Update the index:
- Add entry to
.opencode/skill/INDEX.md
- Add entry to
Naming Convention
- Lowercase, hyphenated:
ui-patterns,flash-loans - Be specific:
morpho-bluenotlending - Action-oriented when possible:
debugging-evmnotevm-errors
Description Format
Start with "Load when..." to make triggers clear:
- "Load when implementing flash loan operations or debugging flash loan failures"
- "Load when adding a new lending protocol to the dashboard"
How to Update a Skill
- Read the current skill content
- Compare with current implementation
- Edit to reflect the actual state
- Keep under 1500 words
- Update INDEX.md if description changed
How to Remove a Skill
- Delete the directory:
rm -rf .opencode/skill/<name> - Remove from
.opencode/skill/INDEX.md
Quality Guide
Good skills have:
- Clear trigger conditions in the description
- Actionable content (how to do X, not just what X is)
- Real code examples from this codebase
- Current file paths
- Focused scope (one area, not everything)
Self-Evolution
This skill should improve over time. If you find:
- The creation process is clunky -> simplify it
- Skills keep going stale -> add freshness heuristics
- Categories naturally emerge -> document them
- Better patterns for skill content -> update the guide
The meta-goal: make knowledge capture effortless and valuable.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
lending-instructions
Load when working with KapanRouter instructions, UTXO tracking, flash loan flows, or debugging transaction failures
cow-order-debugging
Load when debugging CoW Protocol limit orders that aren't filling, investigating flash loan settlement failures, or troubleshooting EIP-1271 signature issues
session-docs
Load when closing beads tasks, ending significant sessions, or when planning discussions need to be captured
obsidian-vault
Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
Didn't find tool you were looking for?