[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CS5V737R1DVB3TZEK0C6WT":3,"skill-same:01M6CS5V737R1DVB3TZEK0C6WT":125},{"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":28,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6CS5V737R1DVB3TZEK0C6WT","writing-plans",null,"Use when you have a spec or requirements for a multi-step task, before touching code. Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste.","mrtolkien\u002FGHOST","mrtolkien","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8489650?v=4","01M6CS32Q934XBQQE8BDV5Z6W2","Tolki","01M6CS32VBCD47F5E27WF9W6FC",5,"MIT","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Fwriting-plans\u002Fskill.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40],"writing","writing plans","spec","code","ZeRO","coding","write","context","use","engineer","implementation","task","2026-11-10 10:12:30",false,"---\nname: writing-plans\ndescription:\n  Use when you have a spec or requirements for a multi-step task, before touching code.\n  Write comprehensive implementation plans assuming the engineer has zero context for\n  our codebase and questionable taste.\navailable: coding\n---\n\n# Writing Plans\n\n## Overview\n\nWrite comprehensive implementation plans assuming the engineer has zero context for our\ncodebase and questionable taste. Document everything they need to know: which files to\ntouch for each task, code, testing, docs they might need to check, how to test it. Give\nthem the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.\n\nAssume they are a skilled developer, but know almost nothing about our toolset or\nproblem domain. Assume they don't know good test design very well.\n\n**Announce at start:** \"I'm using the writing-plans skill to create the implementation\nplan.\"\n\n**Save plans to:** `docs\u002Fplans\u002FYYYY-MM-DD-\u003Cfeature-name>.md`\n\n## Bite-Sized Task Granularity\n\n**Each step is one action (2-5 minutes):**\n\n- \"Write the failing test\" - step\n- \"Run it to make sure it fails\" - step\n- \"Implement the minimal code to make the test pass\" - step\n- \"Run the tests and make sure they pass\" - step\n- \"Commit\" - step\n\n## Plan Document Header\n\n**Every plan MUST start with this header:**\n\n```markdown\n# [Feature Name] Implementation Plan\n\n> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this\n> plan task-by-task.\n\n**Goal:** [One sentence describing what this builds]\n\n**Architecture:** [2-3 sentences about approach]\n\n**Tech Stack:** [Key technologies\u002Flibraries]\n\n---\n```\n\n## Task Structure\n\n````markdown\n### Task N: [Component Name]\n\n**Files:**\n\n- Create: `exact\u002Fpath\u002Fto\u002Ffile.rs`\n- Modify: `exact\u002Fpath\u002Fto\u002Fexisting.rs:123-145`\n- Test: `tests\u002Fexact\u002Fpath\u002Fto\u002Ftest.rs`\n\n**Step 1: Write the failing test**\n\n```rust\n#[test]\nfn test_specific_behavior() {\n    let result = function(input);\n    assert_eq!(result, expected);\n}\n```\n\n**Step 2: Run test to verify it fails**\n\nRun: `cargo test test_name -- --nocapture` Expected: FAIL with \"cannot find function\"\n\n**Step 3: Write minimal implementation**\n\n```rust\nfn function(input: &str) -> Expected {\n    Expected\n}\n```\n\n**Step 4: Run test to verify it passes**\n\nRun: `cargo test test_name -- --nocapture` Expected: PASS\n\n**Step 5: Commit**\n\n```bash\ngit add tests\u002Fpath\u002Ftest.rs src\u002Fpath\u002Ffile.rs\ngit commit -m \"feat: add specific feature\"\n```\n````\n\n## Remember\n\n- Exact file paths always\n- Complete code in plan (not \"add validation\")\n- Exact commands with expected output\n- Reference relevant skills by name (e.g., \"Read the `tdd` skill\")\n- DRY, YAGNI, TDD, frequent commits\n\n## Execution Handoff\n\nAfter saving the plan, offer execution to the OPERATOR:\n\n**\"Plan complete and saved to `docs\u002Fplans\u002F\u003Cfilename>.md`. Ready to execute?\"**\n\nIf yes, use `agent(action: \"start\", ...)` to dispatch a coding agent per task, reviewing\nbetween tasks for fast iteration.\n","# Writing Plans\n\n## Overview\n\nWrite comprehensive implementation plans assuming the engineer has zero context for our\ncodebase and questionable taste. Document everything they need to know: which files to\ntouch for each task, code, testing, docs they might need to check, how to test it. Give\nthem the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.\n\nAssume they are a skilled developer, but know almost nothing about our toolset or\nproblem domain. Assume they don't know good test design very well.\n\n**Announce at start:** \"I'm using the writing-plans skill to create the implementation\nplan.\"\n\n**Save plans to:** `docs\u002Fplans\u002FYYYY-MM-DD-\u003Cfeature-name>.md`\n\n## Bite-Sized Task Granularity\n\n**Each step is one action (2-5 minutes):**\n\n- \"Write the failing test\" - step\n- \"Run it to make sure it fails\" - step\n- \"Implement the minimal code to make the test pass\" - step\n- \"Run the tests and make sure they pass\" - step\n- \"Commit\" - step\n\n## Plan Document Header\n\n**Every plan MUST start with this header:**\n\n```markdown\n# [Feature Name] Implementation Plan\n\n> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this\n> plan task-by-task.\n\n**Goal:** [One sentence describing what this builds]\n\n**Architecture:** [2-3 sentences about approach]\n\n**Tech Stack:** [Key technologies\u002Flibraries]\n\n---\n```\n\n## Task Structure\n\n````markdown\n### Task N: [Component Name]\n\n**Files:**\n\n- Create: `exact\u002Fpath\u002Fto\u002Ffile.rs`\n- Modify: `exact\u002Fpath\u002Fto\u002Fexisting.rs:123-145`\n- Test: `tests\u002Fexact\u002Fpath\u002Fto\u002Ftest.rs`\n\n**Step 1: Write the failing test**\n\n```rust\n#[test]\nfn test_specific_behavior() {\n    let result = function(input);\n    assert_eq!(result, expected);\n}\n```\n\n**Step 2: Run test to verify it fails**\n\nRun: `cargo test test_name -- --nocapture` Expected: FAIL with \"cannot find function\"\n\n**Step 3: Write minimal implementation**\n\n```rust\nfn function(input: &str) -> Expected {\n    Expected\n}\n```\n\n**Step 4: Run test to verify it passes**\n\nRun: `cargo test test_name -- --nocapture` Expected: PASS\n\n**Step 5: Commit**\n\n```bash\ngit add tests\u002Fpath\u002Ftest.rs src\u002Fpath\u002Ffile.rs\ngit commit -m \"feat: add specific feature\"\n```\n````\n\n## Remember\n\n- Exact file paths always\n- Complete code in plan (not \"add validation\")\n- Exact commands with expected output\n- Reference relevant skills by name (e.g., \"Read the `tdd` skill\")\n- DRY, YAGNI, TDD, frequent commits\n\n## Execution Handoff\n\nAfter saving the plan, offer execution to the OPERATOR:\n\n**\"Plan complete and saved to `docs\u002Fplans\u002F\u003Cfilename>.md`. Ready to execute?\"**\n\nIf yes, use `agent(action: \"start\", ...)` to dispatch a coding agent per task, reviewing\nbetween tasks for fast iteration.\n",{"name":5,"available":34,"description":7},"main","083d96429a2d05526f8a294b83c74f0336670def","assets\u002Fskills\u002Fsuperpowers\u002Fwriting-plans",0,"https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST","https:\u002F\u002Fgithub.com\u002Fmrtolkien","https:\u002F\u002Fblog.tolki.dev","Data Engineer \u002F Esports \u002F Keyboards","2026-04-24 15:41:08",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add mrtolkien\u002FGHOST --skill writing-plans",{"tool":61,"command":62},"bunx","bunx skills add mrtolkien\u002FGHOST --skill writing-plans",{"tool":64,"command":65},"pnpm","pnpm dlx skills add mrtolkien\u002FGHOST --skill writing-plans","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Fwriting-plans\u002Fskill.md",true,[69,75,81,85,89,93,97,101,105,109,113,117,121],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"_meta.json","REFERENCE","参考文档",139,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002F_meta.json",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"breakout-strategy.py","SCRIPT","脚本",7153,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002Fbreakout-strategy.py",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"donchian-adx-strategy.py",4858,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002Fdonchian-adx-strategy.py",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"ema-strategy.py",4639,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002Fema-strategy.py",{"path":90,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":91,"sourceHtmlUrl":92},"mean-reversion-strategy.py",7207,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002Fmean-reversion-strategy.py",{"path":94,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":95,"sourceHtmlUrl":96},"README.md",3000,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002FREADME.md",{"path":98,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":99,"sourceHtmlUrl":100},"rsi-bollinger-strategy.py",5101,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002Frsi-bollinger-strategy.py",{"path":102,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":103,"sourceHtmlUrl":104},"skill-card.md",2568,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002Fskill-card.md",{"path":106,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":107,"sourceHtmlUrl":108},"SOURCE.md",266,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002FSOURCE.md",{"path":110,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":111,"sourceHtmlUrl":112},"strategy_common.py",25764,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002Fstrategy_common.py",{"path":114,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":115,"sourceHtmlUrl":116},"taker-strategy.py",8218,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002Ftaker-strategy.py",{"path":118,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":119,"sourceHtmlUrl":120},"TRUST.auto.yaml",2205,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002FTRUST.auto.yaml",{"path":122,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":123,"sourceHtmlUrl":124},"vwap-strategy.py",6773,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmaxxit-lazy-trading\u002Fvwap-strategy.py",[126,152,168,177,188,199],{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":41},"01M6CS613RWD9CFJ3KFX47V1DS","system-management","Use when reading or changing GHOST configuration (providers, models, timing, compaction, services, any config.toml key), adding or switching LLM providers, answering questions about GHOST's own features or capabilities, a CLI tool is missing or \"not found\", services need starting\u002Fstopping\u002Fdebugging, updating GHOST to a newer version, managing the Nix shell environment, or troubleshooting GHOST setup.","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsystem-management\u002Fskill.md",[],[133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,37,149,150,151],"system management","system","management","cli","nix","config","setup","debugging","capabilities","services","Providers","shell","ghost","tool","troubleshooting","environment","version","models","configuration",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":163,"publishedAt":41},"01M6CS5XTK2884R9HE15YR8YZM","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Fwriting-skills\u002Fskill.md",[158,161,162],{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[164,29,165,34,166,167,37],"writing skills","deployment","work","editing",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":41},"01M6CS5S5S0YY56686G5CQ0WMP","verification","Use when about to claim work is complete, fixed, or passing, before committing or creating PRs. Requires running verification commands and confirming output before making any success claims. Evidence before assertions, always.","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Fverification\u002Fskill.md",[],[170,175,176,37,166,34],"claim","evidence",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":184,"publishedAt":41},"01M6CS5PD2ZSFWYRDZSACNTAJY","tdd","Use when implementing any feature or bugfix, before writing implementation code. Write the test first. Watch it fail. Write minimal code to pass.","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Ftdd\u002Fskill.md",[183],{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},[179,185,29,186,32,187,34,35,37,39],"minimal","test","first",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":195,"publishedAt":41},"01M6CS5K5WE2SHF1YV8D9C4C77","systematic-debugging","Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Fsystematic-debugging\u002Fskill.md",[194],{"categoryNo":159,"categoryName":160,"taxonomyType":21,"taxonomyTypeDesc":22},[140,196,186,34,197,37,198],"systematic debugging","behavior","bug",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":205,"publishedAt":41},"01M6CS5FPYWZHHG4X0GQHR8CKT","subagent-development","Use when executing implementation plans with independent tasks in the current session. Dispatch a fresh subagent per task, with two-stage review after each — spec compliance review first, then code quality review. Keeps context clean and quality high.","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Fsubagent-development\u002Fskill.md",[],[206,207,208,209,31,210,211,32,212,187,34,213,36,214,37,215,39,216,40,217],"subagent development","subagent","development","quality review","code quality","tasks","compliance","quality","session","dispatch","clean","review"]