omk-self-reflect
GitHubAgent自我学习系统,将重复错误升级为规则或捕获复杂修正。通过关键词、Emoji及用户指令触发,提炼DO/DON'T规则并写入知识库或受保护文件,实现经验沉淀与自动化纠错。
Trigger Scenarios
Install
npx skills add KaimingWan/oh-my-kiro --skill omk-self-reflect -g -y
SKILL.md
Frontmatter
{
"name": "omk-self-reflect",
"description": "Agent self-learning: promote recurring episodes to rules, capture complex corrections. Trigger when hook outputs 🔥 or ⬆️ (promotion needed), 🚨 (complex correction), or when user says 'reflect', 'learn from this', 'remember this', 'always do X', 'never do Y', '@reflect'. Also trigger when same mistake pattern appears ≥3 times in episodes."
}
Trigger Examples
- "记住,以后都要这样做"
- "always use jq for JSON, never sed"
- "@reflect 把这个教训沉淀一下"
- "I told you this before, capture it"
- "这个错误犯了好几次了,升级成规则"
Self-Reflect — Agent Self-Learning System
Scope (v3)
-
Promotion execution: When hook outputs 🔥 or ⬆️, read episodes.md, distill into 1-2 line rule, propose to user, write to rules.md if approved. Mark source episodes as
promoted. -
Complex insight capture: When hook outputs 🚨 (complex) and the correction is too complex for auto-capture (no simple DO/DON'T pattern), help user articulate and write to episodes.md via the same format.
NOT responsible for: daily capture (hook does it), dedup (hook does it), quality reporting (hook does it).
Sync Targets
| Scenario | Target |
|---|---|
| Top-level principle (user approved) | AGENTS.md / CLAUDE.md (Principles section) |
| Promotion (≥3 same pattern) | knowledge/rules.md (matching keyword section) |
| Complex insight | knowledge/episodes.md |
| Code-enforceable rule | .kiro/rules/enforcement.md |
Writing to Protected Files (AGENTS.md / CLAUDE.md / .claude/rules/)
When user explicitly approves writing to a protected instruction file, agent MUST autonomously execute the full three-step flow — do NOT wait for the human to do it manually:
touch .skip-instruction-guard- Write the change
rm -f .skip-instruction-guard
This bypasses the pre-write hook temporarily. Only do this when user has clearly approved the content in the current conversation.
Episode Format
DATE | STATUS | KEYWORDS | SUMMARY
- DATE: YYYY-MM-DD
- STATUS: active / resolved / promoted
- KEYWORDS: 1-3 english technical terms, ≥4 chars, comma-separated
- SUMMARY: ≤80 chars, no
|character, actionable DO/DON'T
Promotion Process
- Read episodes.md, find keywords appearing ≥3 times in active episodes
- Distill into 1-2 line rule with DO/DON'T + trigger scenario
- Read knowledge/rules.md section headers (
## [keywords]) - Clustering — choose target section by semantic match:
- Compare episode keywords with each section's keyword list
- Pick the section with most keyword overlap + semantic relevance
- If no section matches → create new
## [episode-keywords]section at end of file - If placing in existing section → append new keywords to section header if they add value
- Propose to user for approval (show target section)
- If approved: append rule to chosen section, change source episodes status to
promoted - Output: ⬆️ Promoted to rules.md [section]: 'RULE'
Note: promoted episodes are auto-cleaned by context-enrichment on next session start.
Trigger Patterns
High confidence (90%):
remember:/always:don't ... unlessI told you
Medium confidence (80%):
no, use X/not X, use Yyou missed/why didn't you
Exclusion Patterns (Don't capture)
- Questions ending with
? - Requests starting with
please/help me - Messages over 300 characters without clear DO/DON'T pattern
On Detection
- Confirm:
📝 Learning captured: '[preview]' - Write to target file immediately (no queue)
- Continue answering the user's question
Version History
- ba228be Current 2026-07-24 21:07


