[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GSMX751X05PDY6N2QSQSE0":3,"skill-same:01M6GSMX751X05PDY6N2QSQSE0":72},{"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":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":14,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M6GSMX751X05PDY6N2QSQSE0","brain",null,"Read\u002Fwrite brain files at brain\u002F. Use when modifying any file in brain\u002F. Use for any task that persists knowledge - reflection, planning, or direct edits. Use after debugging sessions, mistakes, corrections, architectural decisions, or any insight worth preserving across sessions. Use when the user says 'add to brain', 'remember this', or 'write a note'.","japurcell\u002Fskills","japurcell","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10947458?v=4","01M6GSJK1YAG95R6VHF47V30KY","Adam Purcell","01M6GSJK6817NVR5FVDMFFNJ6H",0,"MIT","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Fbrain-install\u002Fassets\u002Fskills\u002Fbrain\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"task","when","mistakes","indexing","only","python","hooks","manual","for","at","across","file","decisions","debugging","use","files","knowledge","reflection","sessions","planning","remember","2026-11-10 10:12:30",false,"---\nname: brain\ndescription: Read\u002Fwrite brain files at brain\u002F. Use when modifying any file in brain\u002F. Use for any task that persists knowledge - reflection, planning, or direct edits. Use after debugging sessions, mistakes, corrections, architectural decisions, or any insight worth preserving across sessions. Use when the user says 'add to brain', 'remember this', or 'write a note'.\ncompatibility: Requires Python 3.12+ only for manual indexing when hooks are unavailable.\n---\n\n# Brain\n\nPersistent memory across sessions at `brain\u002F`.\n\nThe brain is the foundation of the entire workflow - every agent, skill, and session reads it. Low-quality or speculative content degrades everything downstream. Before adding anything, ask: \"Does this genuinely improve how the system operates?\" If the answer isn't a clear yes, don't write it.\n\n## Before Writing\n\nRead `brain\u002Findex.md` first. Then read the relevant entrypoint for your topic:\n\n- `brain\u002Fprinciples.md` for principle updates\n- `brain\u002Fplans\u002Findex.md` for plan-related notes\n\nFor other topics, read the dedicated index when present. Otherwise scan nearby files directly and edit an existing note when possible.\n\n## Structure\n\n```\nbrain\u002F\n├── index.md              ← root entry point, links to everything\n├── principles.md         ← index for principles\u002F\n├── todos.md              ← product backlog\n├── vision.md             ← elevator pitch + link to architecture\n├── architecture.md       ← full technical reference\n├── principles\u002F           ← engineering and design principles\n├── codebase\u002F             ← project-specific knowledge and gotchas\n├── plans\u002F                ← numbered feature plans (02-arrow-bindings\u002F, etc.)\n└── audits\u002F               ← design and quality audits (date-prefixed filenames, e.g. 2026-02-20-quality-audit.md)\n```\n\n**Rules:**\n\n- One topic per file. `brain\u002Fcodebase\u002Fnoodle-spawn-gotchas.md`, not a mega-file.\n- Maintain existing index entrypoints: `brain\u002Findex.md`, `brain\u002Fprinciples.md`, `brain\u002Fplans\u002Findex.md`.\n- If you introduce a new top-level category, add an index-style entrypoint for it (links only, no inlined content).\n- `brain\u002Findex.md` is the root. Every brain file must be reachable from it.\n- File names: lowercase, hyphenated. `worktree-gotchas.md`.\n- Plan directories: prefixed with the todo ID from `brain\u002Ftodos.md`. `02-arrow-bindings\u002F` with `overview.md` and `phase-N-*.md` inside.\n\n## Links\n\nUse standard Markdown links with destinations relative to the file containing the link, including the file extension: `[Topic](relative\u002Ftopic.md)`. Use `..\u002F` for parent directories, preserve heading fragments such as `#section-heading`, and percent-encode spaces or special destination characters. Keep explicit link labels when converting existing references. Do not use Obsidian note-link syntax.\n\n## Writing Style\n\n- Bullets over prose. No preamble.\n- Plain markdown with `# Title`. No Obsidian frontmatter.\n- Keep notes under ~50 lines. Split if longer.\n\n## After Writing\n\nFirst update the relevant curated entrypoint for every indexed category affected by additions, moves, or removals: `brain\u002Fprinciples.md`, `brain\u002Fplans\u002Findex.md`, `brain\u002Faudits\u002Findex.md`, `brain\u002Farchive\u002Findex.md`, or any other category's index. Maintain links through nested curated indexes to each affected note. Keep curated indexes link-only and scannable, with human prose in topic notes.\n\nThen let the brain hooks reconcile the machine-owned `brain\u002Findex.md`. The indexer normally links a category's existing `index.md` without traversing its contents; `brain\u002Fcodebase\u002F` is the exception. It does not repair curated links. If hooks are unavailable, run the bundled indexer manually with Python 3.12+. From the target repository root, run this Python snippet, replacing `\u003Cbrain-skill-path>` with this skill's directory:\n\n```python\nimport json\nfrom pathlib import Path\nimport subprocess\nimport sys\n\nresult = subprocess.run(\n    [sys.executable, \"-I\", \"-S\", \"-B\",\n     \"\u003Cbrain-skill-path>\u002Fscripts\u002Fauto-index-brain.py\", \"--provider\", \"codex\"],\n    input=json.dumps({\"cwd\": str(Path.cwd()), \"hook_event_name\": \"PostToolUse\"}),\n    text=True, capture_output=True,\n)\nprint(result.stderr, end=\"\")\n```\n\nThe `codex` payload is a manual invocation format; Codex need not be installed. Check diagnostics and the expected generated root links: hooks can exit zero after reporting a nonblocking error. Verify every added or moved note is reachable from `brain\u002Findex.md` by following its Markdown links through any curated indexes; a root link to the category alone is insufficient. After removals, check affected curated indexes for broken links. Correct navigation before treating the write as complete.\n\n## Durability Test\n\nAsk: \"Would I include this in a prompt for a _different_ task?\"\n\n- **Yes** → write to `brain\u002F`. It's durable knowledge.\n- **No, it's plan-specific** → update the plan's phase doc instead.\n- **No, it's a skill issue** → update the skill file directly.\n- **No, it needs follow-up work** → file a todo with the `todo` skill.\n\n## Maintenance\n\n- Delete outdated or subsumed notes.\n- Delete random-named files in `brain\u002Fplans\u002F` - stale plan-mode artifacts.\n- Merge overlapping notes before adding new ones.\n","# Brain\n\nPersistent memory across sessions at `brain\u002F`.\n\nThe brain is the foundation of the entire workflow - every agent, skill, and session reads it. Low-quality or speculative content degrades everything downstream. Before adding anything, ask: \"Does this genuinely improve how the system operates?\" If the answer isn't a clear yes, don't write it.\n\n## Before Writing\n\nRead `brain\u002Findex.md` first. Then read the relevant entrypoint for your topic:\n\n- `brain\u002Fprinciples.md` for principle updates\n- `brain\u002Fplans\u002Findex.md` for plan-related notes\n\nFor other topics, read the dedicated index when present. Otherwise scan nearby files directly and edit an existing note when possible.\n\n## Structure\n\n```\nbrain\u002F\n├── index.md              ← root entry point, links to everything\n├── principles.md         ← index for principles\u002F\n├── todos.md              ← product backlog\n├── vision.md             ← elevator pitch + link to architecture\n├── architecture.md       ← full technical reference\n├── principles\u002F           ← engineering and design principles\n├── codebase\u002F             ← project-specific knowledge and gotchas\n├── plans\u002F                ← numbered feature plans (02-arrow-bindings\u002F, etc.)\n└── audits\u002F               ← design and quality audits (date-prefixed filenames, e.g. 2026-02-20-quality-audit.md)\n```\n\n**Rules:**\n\n- One topic per file. `brain\u002Fcodebase\u002Fnoodle-spawn-gotchas.md`, not a mega-file.\n- Maintain existing index entrypoints: `brain\u002Findex.md`, `brain\u002Fprinciples.md`, `brain\u002Fplans\u002Findex.md`.\n- If you introduce a new top-level category, add an index-style entrypoint for it (links only, no inlined content).\n- `brain\u002Findex.md` is the root. Every brain file must be reachable from it.\n- File names: lowercase, hyphenated. `worktree-gotchas.md`.\n- Plan directories: prefixed with the todo ID from `brain\u002Ftodos.md`. `02-arrow-bindings\u002F` with `overview.md` and `phase-N-*.md` inside.\n\n## Links\n\nUse standard Markdown links with destinations relative to the file containing the link, including the file extension: `[Topic](relative\u002Ftopic.md)`. Use `..\u002F` for parent directories, preserve heading fragments such as `#section-heading`, and percent-encode spaces or special destination characters. Keep explicit link labels when converting existing references. Do not use Obsidian note-link syntax.\n\n## Writing Style\n\n- Bullets over prose. No preamble.\n- Plain markdown with `# Title`. No Obsidian frontmatter.\n- Keep notes under ~50 lines. Split if longer.\n\n## After Writing\n\nFirst update the relevant curated entrypoint for every indexed category affected by additions, moves, or removals: `brain\u002Fprinciples.md`, `brain\u002Fplans\u002Findex.md`, `brain\u002Faudits\u002Findex.md`, `brain\u002Farchive\u002Findex.md`, or any other category's index. Maintain links through nested curated indexes to each affected note. Keep curated indexes link-only and scannable, with human prose in topic notes.\n\nThen let the brain hooks reconcile the machine-owned `brain\u002Findex.md`. The indexer normally links a category's existing `index.md` without traversing its contents; `brain\u002Fcodebase\u002F` is the exception. It does not repair curated links. If hooks are unavailable, run the bundled indexer manually with Python 3.12+. From the target repository root, run this Python snippet, replacing `\u003Cbrain-skill-path>` with this skill's directory:\n\n```python\nimport json\nfrom pathlib import Path\nimport subprocess\nimport sys\n\nresult = subprocess.run(\n    [sys.executable, \"-I\", \"-S\", \"-B\",\n     \"\u003Cbrain-skill-path>\u002Fscripts\u002Fauto-index-brain.py\", \"--provider\", \"codex\"],\n    input=json.dumps({\"cwd\": str(Path.cwd()), \"hook_event_name\": \"PostToolUse\"}),\n    text=True, capture_output=True,\n)\nprint(result.stderr, end=\"\")\n```\n\nThe `codex` payload is a manual invocation format; Codex need not be installed. Check diagnostics and the expected generated root links: hooks can exit zero after reporting a nonblocking error. Verify every added or moved note is reachable from `brain\u002Findex.md` by following its Markdown links through any curated indexes; a root link to the category alone is insufficient. After removals, check affected curated indexes for broken links. Correct navigation before treating the write as complete.\n\n## Durability Test\n\nAsk: \"Would I include this in a prompt for a _different_ task?\"\n\n- **Yes** → write to `brain\u002F`. It's durable knowledge.\n- **No, it's plan-specific** → update the plan's phase doc instead.\n- **No, it's a skill issue** → update the skill file directly.\n- **No, it needs follow-up work** → file a todo with the `todo` skill.\n\n## Maintenance\n\n- Delete outdated or subsumed notes.\n- Delete random-named files in `brain\u002Fplans\u002F` - stale plan-mode artifacts.\n- Merge overlapping notes before adding new ones.\n",{"name":5,"description":7,"compatibility":45},"Requires Python 3.12+ only for manual indexing when hooks are unavailable.","main","2ce71d590264b43342c52d3011b0097c5ece7e21","skills\u002Fdefault\u002Fbrain-install\u002Fassets\u002Fskills\u002Fbrain","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills","https:\u002F\u002Fgithub.com\u002Fjapurcell","2026-11-11 08:59:34",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add japurcell\u002Fskills --skill brain",{"tool":58,"command":59},"bunx","bunx skills add japurcell\u002Fskills --skill brain",{"tool":61,"command":62},"pnpm","pnpm dlx skills add japurcell\u002Fskills --skill brain","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Fbrain-install\u002Fassets\u002Fskills\u002Fbrain\u002FSKILL.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"scripts\u002Fauto-index-brain.py","SCRIPT","脚本",27430,"https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Fbrain-install\u002Fassets\u002Fskills\u002Fbrain\u002Fscripts\u002Fauto-index-brain.py",[73,100,120,149,171,191],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":84,"publishedAt":40},"01M6PT0ZTYCN4DHK3SXWS79WSY","spec-create","Create or revise a portable behavioral SPEC for a feature or whole product. Use when specifying a new idea, documenting an existing system for reimplementation, or defining a change while preserving compatibility. Implementation planning is a separate task.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Fspec-create\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[85,86,87,88,38,27,89,33,90,19,91,92,93,94,95,96,97,98,99],"create","spec","spec create","feature","system","Existing","output","change","product","implementation","revise","compatibility","behavioral","idea","path",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":107,"publishedAt":40},"01M6GSVHQ4MY4R4SMS8RY6324Q","prd-ralph","Complete at most one eligible unfinished PRD task, verify it, log progress, and optionally create one scoped commit.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Fprd-ralph\u002FSKILL.md",[106],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},[108,109,110,85,111,112,28,113,114,115,19,116,117,118,30,119,99],"prd ralph","ralph","prd","progress","verify","complete","commit","it","log","scoped","false","id",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":129,"publishedAt":40},"01M6GSYMGHE2FEGEFKD926EJH8","fsdp-style-guide","Mandatory for all UI\u002FUX design, implementation, review, audit, or visual regression tasks. Always use for any work that affects user-facing appearance, behavior, accessibility, branding, layout, navigation, forms, dialogs, alerts, tables, or visual design.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fforest-service\u002Ffsdp-style-guide\u002FSKILL.md",[126],{"categoryNo":127,"categoryName":128,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000032","设计师",[130,131,132,133,134,135,136,137,33,138,139,140,141,142,143,144,145,146,147,148,27],"fsdp style guide","style guide","FSDP","style","guide","visual regression","regression","design","visual","tasks","review","visual design","alerts","work","branding","layout","audit","ux","behavior",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":40},"01M6GSYHEQARNM7WN0RJA7K7T2","agency-priorities","Provide self-contained USDA strategic goals and Forest Service priorities for agency briefings, proposals, and work-plan alignment. Use when explaining agency direction or evaluating how a project contributes to USDA and Forest Service priorities.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fforest-service\u002Fagency-priorities\u002FSKILL.md",[],[156,157,158,159,160,143,161,162,163,164,165,166,167,168,33,27,20,169,170],"agency priorities","priorities","agency","self","alignment","plan","goals","proposals","direction","how","project","strategic","service","briefings","self-contained",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":180,"publishedAt":40},"01M6GSY9VVN8RSJ5QYM540ZJ1D","accomplishment-report","Create a concise Forest Service executive accomplishment report when all work in an ExecPlan is completed, or update its existing report. Use at ExecPlan closeout and when asked to report completed work, agency alignment, and estimated AI-assisted versus human-only time and cost savings.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fforest-service\u002Faccomplishment-report\u002FSKILL.md",[177],{"categoryNo":178,"categoryName":179,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000034","行政与办公人员",[181,182,160,183,85,143,184,185,186,187,28,158,23,168,33,188,189,190,90,20],"report","accomplishment report","cost","concise","human","time","update","closeout","savings","execplan",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":205,"publishedAt":40},"01M6GSY7J8ZMCE319P8Y6JZ432","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fjapurcell\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdefault\u002Fwriting-for-agents\u002FSKILL.md",[197,202],{"categoryNo":198,"categoryName":199,"taxonomyType":200,"taxonomyTypeDesc":201},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":203,"categoryName":204,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000036","内容创作者",[206,207,27,33,208,209,20],"writing","writing for agents","documents","editing"]