[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71EVCK6RT2KJ5DGN1GDTT22":3,"skill-same:01M71EVCK6RT2KJ5DGN1GDTT22":57},{"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":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":6,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":41,"updatedAt":42,"install":43,"resources":56},"01M71EVCK6RT2KJ5DGN1GDTT22","observe",null,"Start a focused observation session to analyze specific patterns in the codebase. Watches a domain or file pattern and records findings for future \u002Flearn runs.","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\u002Fobserve\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29],"learn","file","start","analyze","session","patterns","domain","pattern","records","for","codebase","2026-11-10 10:12:30",false,"---\nname: observe\ndescription: Start a focused observation session to analyze specific patterns in the codebase. Watches a domain or file pattern and records findings for future \u002Flearn runs.\n---\n\n# \u002Fobserve — Targeted Pattern Analysis\n\nRun a focused observation session on a specific domain, file pattern, or question. Unlike `\u002Flearn` which broadly scans recent work, `\u002Fobserve` lets you zoom in on a specific area.\n\n## When to Use\n\n- When you want to understand how a specific pattern is used across the codebase\n- When you suspect an inconsistency and want data\n- When onboarding to a new area of the code\n- When you want to document \"how we do X here\"\n\n## Execution Flow\n\n### Step 1: Determine Focus\n\nIf the user provides a focus topic, use it. Otherwise ask:\n```\nWhat should I observe? Examples:\n  - \"error handling\" — how errors are wrapped, propagated, and reported\n  - \"test patterns\" — how tests are structured and organized\n  - \"naming conventions\" — variable, function, and file naming\n  - \"src\u002Fapi\u002F**\" — patterns in a specific directory\n  - \"imports\" — how dependencies are organized\n```\n\n### Step 2: Gather Evidence\n\nBased on the focus, run targeted analysis:\n\n**For code pattern focus:**\n1. Search for relevant code patterns using grep\u002Fglob\n2. Sample 10-20 representative files\n3. Look for consistency and deviations\n4. Check git blame for when patterns were established\n\n**For directory focus:**\n1. List all files in the target path\n2. Analyze file organization and naming\n3. Read representative files for patterns\n4. Check for README or documentation\n\n**For workflow focus:**\n1. Read `.atv\u002Fobservations.jsonl` for relevant tool use\n2. Check git log for commit patterns\n3. Look at CI\u002FCD configuration\n4. Check for scripts or Makefiles\n\n### Step 3: Analyze Findings\n\nFor each observation, evaluate:\n\n| Question | Why |\n|----------|-----|\n| Is this pattern consistent? | Consistency = high confidence instinct |\n| How many files follow it? | Volume = evidence strength |\n| Are there deviations? | Deviations = either evolution or mistakes |\n| When was it established? | Age = stability indicator |\n| Is it documented anywhere? | Documentation = intentional choice |\n\n### Step 4: Record Results\n\nAppend findings to `.atv\u002Fobservations.jsonl` with a special observation type:\n\n```json\n{\n  \"ts\": \"2026-04-06T10:30:00Z\",\n  \"hook\": \"manual-observe\",\n  \"focus\": \"error handling\",\n  \"findings\": [\n    \"All errors wrapped with fmt.Errorf %w in 18\u002F20 files\",\n    \"Two files use bare error returns (legacy code from 2024)\",\n    \"Custom error types in pkg\u002Ferrors\u002F for domain errors\",\n    \"No panic() usage found — errors always returned\"\n  ],\n  \"suggested_instincts\": [\n    {\n      \"id\": \"always-wrap-errors\",\n      \"trigger\": \"when returning an error from a function\",\n      \"behavior\": \"wrap with fmt.Errorf using %w verb\"\n    }\n  ]\n}\n```\n\n### Step 5: Report\n\n```\nObservation: [focus topic]\n\nFindings:\n  1. [Pattern] — found in N\u002FM files examined (X% consistent)\n  2. [Pattern] — found in N\u002FM files examined (X% consistent)\n  3. [Deviation] — N files deviate from the dominant pattern\n\nSuggested instincts (run \u002Flearn to formalize):\n  + [instinct-id] — \"[behavior]\" (evidence: N files)\n  + [instinct-id] — \"[behavior]\" (evidence: N files)\n\nExisting instincts affected:\n  ↑ [instinct-id] — additional evidence found (+N observations)\n  ? [instinct-id] — contradictory evidence found (N deviations)\n\nNext steps:\n  - Run \u002Flearn to incorporate these findings into instincts\n  - Run \u002Fobserve \"[related topic]\" to dig deeper\n  - Review deviations — they may be intentional or need fixing\n```\n\n## Quick Observations\n\nFor rapid pattern checks without full analysis:\n\n```\n\u002Fobserve --quick \"how do we handle auth?\"\n```\n\nQuick mode:\n1. Searches for relevant files (auth, middleware, session, token)\n2. Reads the most relevant 3-5 files\n3. Summarizes the pattern in 3-5 bullet points\n4. Does NOT write to observations.jsonl\n\n## Notes\n\n- Observations are raw data — run `\u002Flearn` to turn them into instincts\n- Manual observations have higher signal than automatic hook observations\n- The `manual-observe` hook type in observations.jsonl lets `\u002Flearn` weight these higher\n- Observations are additive — run multiple times on different topics\n","# \u002Fobserve — Targeted Pattern Analysis\n\nRun a focused observation session on a specific domain, file pattern, or question. Unlike `\u002Flearn` which broadly scans recent work, `\u002Fobserve` lets you zoom in on a specific area.\n\n## When to Use\n\n- When you want to understand how a specific pattern is used across the codebase\n- When you suspect an inconsistency and want data\n- When onboarding to a new area of the code\n- When you want to document \"how we do X here\"\n\n## Execution Flow\n\n### Step 1: Determine Focus\n\nIf the user provides a focus topic, use it. Otherwise ask:\n```\nWhat should I observe? Examples:\n  - \"error handling\" — how errors are wrapped, propagated, and reported\n  - \"test patterns\" — how tests are structured and organized\n  - \"naming conventions\" — variable, function, and file naming\n  - \"src\u002Fapi\u002F**\" — patterns in a specific directory\n  - \"imports\" — how dependencies are organized\n```\n\n### Step 2: Gather Evidence\n\nBased on the focus, run targeted analysis:\n\n**For code pattern focus:**\n1. Search for relevant code patterns using grep\u002Fglob\n2. Sample 10-20 representative files\n3. Look for consistency and deviations\n4. Check git blame for when patterns were established\n\n**For directory focus:**\n1. List all files in the target path\n2. Analyze file organization and naming\n3. Read representative files for patterns\n4. Check for README or documentation\n\n**For workflow focus:**\n1. Read `.atv\u002Fobservations.jsonl` for relevant tool use\n2. Check git log for commit patterns\n3. Look at CI\u002FCD configuration\n4. Check for scripts or Makefiles\n\n### Step 3: Analyze Findings\n\nFor each observation, evaluate:\n\n| Question | Why |\n|----------|-----|\n| Is this pattern consistent? | Consistency = high confidence instinct |\n| How many files follow it? | Volume = evidence strength |\n| Are there deviations? | Deviations = either evolution or mistakes |\n| When was it established? | Age = stability indicator |\n| Is it documented anywhere? | Documentation = intentional choice |\n\n### Step 4: Record Results\n\nAppend findings to `.atv\u002Fobservations.jsonl` with a special observation type:\n\n```json\n{\n  \"ts\": \"2026-04-06T10:30:00Z\",\n  \"hook\": \"manual-observe\",\n  \"focus\": \"error handling\",\n  \"findings\": [\n    \"All errors wrapped with fmt.Errorf %w in 18\u002F20 files\",\n    \"Two files use bare error returns (legacy code from 2024)\",\n    \"Custom error types in pkg\u002Ferrors\u002F for domain errors\",\n    \"No panic() usage found — errors always returned\"\n  ],\n  \"suggested_instincts\": [\n    {\n      \"id\": \"always-wrap-errors\",\n      \"trigger\": \"when returning an error from a function\",\n      \"behavior\": \"wrap with fmt.Errorf using %w verb\"\n    }\n  ]\n}\n```\n\n### Step 5: Report\n\n```\nObservation: [focus topic]\n\nFindings:\n  1. [Pattern] — found in N\u002FM files examined (X% consistent)\n  2. [Pattern] — found in N\u002FM files examined (X% consistent)\n  3. [Deviation] — N files deviate from the dominant pattern\n\nSuggested instincts (run \u002Flearn to formalize):\n  + [instinct-id] — \"[behavior]\" (evidence: N files)\n  + [instinct-id] — \"[behavior]\" (evidence: N files)\n\nExisting instincts affected:\n  ↑ [instinct-id] — additional evidence found (+N observations)\n  ? [instinct-id] — contradictory evidence found (N deviations)\n\nNext steps:\n  - Run \u002Flearn to incorporate these findings into instincts\n  - Run \u002Fobserve \"[related topic]\" to dig deeper\n  - Review deviations — they may be intentional or need fixing\n```\n\n## Quick Observations\n\nFor rapid pattern checks without full analysis:\n\n```\n\u002Fobserve --quick \"how do we handle auth?\"\n```\n\nQuick mode:\n1. Searches for relevant files (auth, middleware, session, token)\n2. Reads the most relevant 3-5 files\n3. Summarizes the pattern in 3-5 bullet points\n4. Does NOT write to observations.jsonl\n\n## Notes\n\n- Observations are raw data — run `\u002Flearn` to turn them into instincts\n- Manual observations have higher signal than automatic hook observations\n- The `manual-observe` hook type in observations.jsonl lets `\u002Flearn` weight these higher\n- Observations are additive — run multiple times on different topics\n",{"name":5,"description":7},"main","0256fccfa68825bb93a1b37467a7377bd34280af",".github\u002Fskills\u002Fobserve",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":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add shyamsridhar123\u002Fkevin-copilot --skill observe",{"tool":49,"command":50},"bunx","bunx skills add shyamsridhar123\u002Fkevin-copilot --skill observe",{"tool":52,"command":53},"pnpm","pnpm dlx skills add shyamsridhar123\u002Fkevin-copilot --skill observe","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fshyamsridhar123\u002Fkevin-copilot\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fobserve\u002FSKILL.md",true,[],[58,74,92,106,124,137],{"skillNo":59,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":62,"categories":63,"keywords":64,"publishedAt":30},"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",[],[65,66,67,68,69,70,71,72,73],"kevin review","review","request","concise","evidence","diff","branch","pull","pull request",{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":30},"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",[],[81,70,73,82,83,72,84,85,71,86,87,88,89,90,28,91,67],"kevin merit","code","report","audit","engineering","never","cycle","as","it","corporate","person",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":30},"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",[],[99,100,101,102,103,104,105],"kevin help","help","commands","modes","show","runtime","controls",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":30},"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",[],[113,114,115,116,117,118,119,88,120,121,122,123],"kevin enlighten","enlighten","repository","explainer","explain","html","self","with","path","self-contained","background",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":30},"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",[],[131,132,133,134,135,136],"kevin compress","compress","Safety","text","information","answer",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":30},"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",[],[144,145,146,147,70,148,149,150,151,152],"commit","kevin commit","generate","commits","conventional commits","message","focus","staged","terse"]