[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71EV8TH0M62TMWZ1BZ4V303":3,"skill-same:01M71EV8TH0M62TMWZ1BZ4V303":62},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M71EV8TH0M62TMWZ1BZ4V303","learn",null,"Extract reusable patterns from recent work into instincts. Run after completing features, fixing bugs, or at session end to capture what the project learned.","shyamsridhar123\u002Fkevin-copilot","shyamsridhar123","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F117464342?v=4","01M71ESN8NA3Z6Z47CJS9WBT0B","Shyam Sridhar","01M71ESNA9HE4YA6ZZSCNYCGJR",8,"MIT","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Flearn\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"instincts","run","features","bugs","at","learned","end","project","patterns","what the","reusable","session end","session","extract","capture","work","2026-11-10 10:12:30",false,"---\nname: learn\ndescription: Extract reusable patterns from recent work into instincts. Run after completing features, fixing bugs, or at session end to capture what the project learned.\n---\n\n# \u002Flearn — Extract Patterns into Instincts\n\nAnalyze recent work (observations, git history, solutions) and extract reusable \"instincts\" — small learned behaviors with confidence scoring.\n\n## When to Use\n\n- After completing a feature or fixing a bug\n- At the end of a coding session\n- When you want to capture a pattern you noticed\n- Periodically to keep the project's knowledge current\n\n## Execution Flow\n\n### Step 1: Gather Evidence\n\nRun these in parallel to collect data:\n\n1. **Git history** — `git log --oneline -20` for recent commits\n2. **Recent diffs** — `git diff HEAD~5..HEAD --stat` for what changed\n3. **Observations** — Read `.atv\u002Fobservations.jsonl` for tool use patterns from hooks\n4. **Existing instincts** — Read `.atv\u002Finstincts\u002Fproject.yaml` (create if missing)\n5. **Solutions** — Read `docs\u002Fsolutions\u002F` for documented patterns\n\n### Step 2: Analyze Patterns\n\nLook for recurring patterns across the evidence:\n\n**Code style patterns:**\n- Error handling conventions (wrapping, custom types, sentinel errors)\n- Naming conventions (variable, function, file naming)\n- Import organization preferences\n- Comment style and documentation patterns\n\n**Workflow patterns:**\n- Test-first vs test-after behavior\n- Commit granularity preferences\n- Branch naming conventions\n- Review practices\n\n**Architecture patterns:**\n- Package\u002Fmodule organization\n- Dependency injection style\n- Interface usage patterns\n- Configuration management approach\n\n**Tool usage patterns** (from observations.jsonl):\n- Frequently used shell commands\n- Common file editing sequences\n- Preferred build\u002Ftest commands\n\n### Step 3: Create or Update Instincts\n\nFor each new pattern discovered, create an instinct entry.\nFor patterns that match existing instincts, increase confidence and observation count.\n\n**Instinct format** (YAML in `.atv\u002Finstincts\u002Fproject.yaml`):\n\n```yaml\ninstincts:\n  - id: kebab-case-unique-id\n    trigger: \"when [specific situation]\"\n    behavior: \"do [specific action]\"\n    confidence: 0.5\n    domain: code-style|testing|architecture|error-handling|workflow|tooling\n    observations: 1\n    first_seen: YYYY-MM-DD\n    last_seen: YYYY-MM-DD\n    evidence:\n      - \"commit abc123: wrapped all errors with fmt.Errorf\"\n      - \"observed 3 times in observations.jsonl\"\n```\n\n**Confidence rules:**\n- New instinct starts at 0.5\n- Each additional observation: +0.1 (capped at 0.95)\n- Contradictory evidence: -0.15\n- No observations for 30 days: -0.1\n- Minimum: 0.1 (below this, remove the instinct)\n\n**Important constraints:**\n- Maximum 50 active instincts per project\n- Each instinct must be atomic — one trigger, one behavior\n- Triggers must be specific (not \"when writing code\")\n- Behaviors must be actionable (not \"write good code\")\n- Evidence must cite specific commits or observations\n\n### Step 4: Write Results\n\n1. Write updated `.atv\u002Finstincts\u002Fproject.yaml`\n2. Ensure `.atv\u002Finstincts\u002F` directory exists\n\n### Step 5: Report\n\nShow a summary:\n\n```\nLearning complete!\n\nNew instincts:\n  + always-wrap-errors (0.5) — wrap errors with fmt.Errorf using %w\n  + table-driven-tests (0.5) — use table-driven test pattern for Go tests\n\nUpdated instincts:\n  ↑ prefer-early-returns (0.6 → 0.7) — 1 new observation\n  ↑ run-tests-before-commit (0.7 → 0.8) — 2 new observations\n\nReady to evolve (confidence > 0.8):\n  ★ run-tests-before-commit — consider \u002Fevolve to generate a skill\n\nTotal: X instincts (Y new, Z updated)\nInstinct file: .atv\u002Finstincts\u002Fproject.yaml\n```\n\n## Notes\n\n- Instincts are project-scoped and committed to the repo — the whole team benefits\n- Run `\u002Finstincts` to see all learned patterns\n- Run `\u002Fevolve` when instincts reach high confidence to generate full skills\n- The observer hooks in `.github\u002Fhooks\u002Fcopilot-hooks.json` automatically capture tool use data\n","# \u002Flearn — Extract Patterns into Instincts\n\nAnalyze recent work (observations, git history, solutions) and extract reusable \"instincts\" — small learned behaviors with confidence scoring.\n\n## When to Use\n\n- After completing a feature or fixing a bug\n- At the end of a coding session\n- When you want to capture a pattern you noticed\n- Periodically to keep the project's knowledge current\n\n## Execution Flow\n\n### Step 1: Gather Evidence\n\nRun these in parallel to collect data:\n\n1. **Git history** — `git log --oneline -20` for recent commits\n2. **Recent diffs** — `git diff HEAD~5..HEAD --stat` for what changed\n3. **Observations** — Read `.atv\u002Fobservations.jsonl` for tool use patterns from hooks\n4. **Existing instincts** — Read `.atv\u002Finstincts\u002Fproject.yaml` (create if missing)\n5. **Solutions** — Read `docs\u002Fsolutions\u002F` for documented patterns\n\n### Step 2: Analyze Patterns\n\nLook for recurring patterns across the evidence:\n\n**Code style patterns:**\n- Error handling conventions (wrapping, custom types, sentinel errors)\n- Naming conventions (variable, function, file naming)\n- Import organization preferences\n- Comment style and documentation patterns\n\n**Workflow patterns:**\n- Test-first vs test-after behavior\n- Commit granularity preferences\n- Branch naming conventions\n- Review practices\n\n**Architecture patterns:**\n- Package\u002Fmodule organization\n- Dependency injection style\n- Interface usage patterns\n- Configuration management approach\n\n**Tool usage patterns** (from observations.jsonl):\n- Frequently used shell commands\n- Common file editing sequences\n- Preferred build\u002Ftest commands\n\n### Step 3: Create or Update Instincts\n\nFor each new pattern discovered, create an instinct entry.\nFor patterns that match existing instincts, increase confidence and observation count.\n\n**Instinct format** (YAML in `.atv\u002Finstincts\u002Fproject.yaml`):\n\n```yaml\ninstincts:\n  - id: kebab-case-unique-id\n    trigger: \"when [specific situation]\"\n    behavior: \"do [specific action]\"\n    confidence: 0.5\n    domain: code-style|testing|architecture|error-handling|workflow|tooling\n    observations: 1\n    first_seen: YYYY-MM-DD\n    last_seen: YYYY-MM-DD\n    evidence:\n      - \"commit abc123: wrapped all errors with fmt.Errorf\"\n      - \"observed 3 times in observations.jsonl\"\n```\n\n**Confidence rules:**\n- New instinct starts at 0.5\n- Each additional observation: +0.1 (capped at 0.95)\n- Contradictory evidence: -0.15\n- No observations for 30 days: -0.1\n- Minimum: 0.1 (below this, remove the instinct)\n\n**Important constraints:**\n- Maximum 50 active instincts per project\n- Each instinct must be atomic — one trigger, one behavior\n- Triggers must be specific (not \"when writing code\")\n- Behaviors must be actionable (not \"write good code\")\n- Evidence must cite specific commits or observations\n\n### Step 4: Write Results\n\n1. Write updated `.atv\u002Finstincts\u002Fproject.yaml`\n2. Ensure `.atv\u002Finstincts\u002F` directory exists\n\n### Step 5: Report\n\nShow a summary:\n\n```\nLearning complete!\n\nNew instincts:\n  + always-wrap-errors (0.5) — wrap errors with fmt.Errorf using %w\n  + table-driven-tests (0.5) — use table-driven test pattern for Go tests\n\nUpdated instincts:\n  ↑ prefer-early-returns (0.6 → 0.7) — 1 new observation\n  ↑ run-tests-before-commit (0.7 → 0.8) — 2 new observations\n\nReady to evolve (confidence > 0.8):\n  ★ run-tests-before-commit — consider \u002Fevolve to generate a skill\n\nTotal: X instincts (Y new, Z updated)\nInstinct file: .atv\u002Finstincts\u002Fproject.yaml\n```\n\n## Notes\n\n- Instincts are project-scoped and committed to the repo — the whole team benefits\n- Run `\u002Finstincts` to see all learned patterns\n- Run `\u002Fevolve` when instincts reach high confidence to generate full skills\n- The observer hooks in `.github\u002Fhooks\u002Fcopilot-hooks.json` automatically capture tool use data\n",{"name":5,"description":7},"main","0256fccfa68825bb93a1b37467a7377bd34280af",".github\u002Fskills\u002Flearn",1,"https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123","Engineer, Printf Debugger, Vibe Coder, AI Enthusiast","2026-08-25 22:42:12",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add shyamsridhar123\u002Fkevin-copilot --skill learn",{"tool":54,"command":55},"bunx","bunx skills add shyamsridhar123\u002Fkevin-copilot --skill learn",{"tool":57,"command":58},"pnpm","pnpm dlx skills add shyamsridhar123\u002Fkevin-copilot --skill learn","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Flearn\u002FSKILL.md",true,[],[63,79,98,112,130,143],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":35},"01M71EW4N5RQ70SERKYZB2GBDM","kevin-review","Review a diff and emit concise, evidence-backed findings.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-review\u002FSKILL.md",[],[70,71,72,73,74,75,76,77,78],"kevin review","review","request","concise","evidence","diff","branch","pull","pull request",{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":35},"01M71EW36CP1KVDES6KGB8APZZ","kevin-merit","Audit a diff for over-engineering and report it as a corporate merit cycle. Satire; the subject is the code, never a person.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-merit\u002FSKILL.md",[],[86,75,78,87,88,77,89,90,76,91,92,93,94,95,96,97,72],"kevin merit","code","report","audit","engineering","never","cycle","as","it","corporate","for","person",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":35},"01M71EW0YHNR57136MENKW4YSD","kevin-help","Show Kevin modes, commands, and runtime controls.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-help\u002FSKILL.md",[],[105,106,107,108,109,110,111],"kevin help","help","commands","modes","show","runtime","controls",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":35},"01M71EVYYH5QASNZ1KB6C3GMDJ","kevin-enlighten","Explain a topic to someone with no background as a self-contained HTML picture explainer.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-enlighten\u002FSKILL.md",[],[119,120,121,122,123,124,125,93,126,127,128,129],"kevin enlighten","enlighten","repository","explainer","explain","html","self","with","path","self-contained","background",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":35},"01M71EVX29VAGHZJZKAKQ97M7X","kevin-compress","Compress an answer without losing required information or safety warnings.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-compress\u002FSKILL.md",[],[137,138,139,140,141,142],"kevin compress","compress","Safety","text","information","answer",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":35},"01M71EVVDWF888W10KA0D3N4W5","kevin-commit","Generate a terse Conventional Commits message from the staged diff.","https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002Fplugin\u002Fskills\u002Fkevin-commit\u002FSKILL.md",[],[150,151,152,153,75,154,155,156,157,158],"commit","kevin commit","generate","commits","conventional commits","message","focus","staged","terse"]