[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CS47E5Y5YSVSF6NFGGKRP8":3,"skill-same:01M6CS47E5Y5YSVSF6NFGGKRP8":59},{"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":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M6CS47E5Y5YSVSF6NFGGKRP8","coding",null,"Manage coding sessions. Use when the OPERATOR asks to work on code, hack on a repo, implement features, fix bugs, or do any development work in a codebase.","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\u002Fcoding\u002Fskill.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30],"implement","sessions","development","code","operator","work on","work","repo","fix","use","manage","do","2026-11-10 10:12:30",false,"---\nname: coding\ndescription:\n  Manage coding sessions. Use when the OPERATOR asks to work on code, hack on a repo,\n  implement features, fix bugs, or do any development work in a codebase.\n---\n\n# Coding Session Manager\n\nUse this skill when the OPERATOR asks for coding work on a repository.\n\n## What This Does\n\nYou spawn a **coding agent** that takes over the Discord channel. The coding agent has\nfull access to the repo, can read\u002Fedit files, run commands, and commit changes. The\nOPERATOR talks directly to the coding agent until they send `\u002Fkill` to end the session.\n\n**Don't create a project** for single-session coding tasks. Only suggest a project if\nthe work will span multiple sessions or has 3+ distinct tasks to track.\n\n## Workflow\n\n### 1. Identify the Repo\n\nCheck if the OPERATOR has a project with a `repo.md` reference note:\n\n```\nknowledge_search query=\"repo.md \u003Cproject-name>\" scope=\"references\"\n```\n\nIf found, the `repo.md` will contain the repo URL and local path.\n\n### 2. Set Up the Code Directory\n\nRepos live under `code\u002F` in the workspace. Use the project slug as the directory name.\n\n**If not cloned yet:**\n\n```\nshell command=\"git clone \u003Crepo-url> code\u002F\u003Cslug>\"\n```\n\n**If already cloned:**\n\n```\nshell command=\"cd code\u002F\u003Cslug> && git fetch && git status\"\n```\n\n### 3. Start the Coding Session\n\n```\nshell command=\"ghost hack start code\u002F\u003Cslug> --prompt '\u003Ctask description>'\"\n```\n\nThe command outputs:\n\n```\ncoding_session_id=\u003Cid>\nsession_id=\u003Cid>\nworking_dir=\u003Cpath>\n```\n\n### 4. Explain to the OPERATOR\n\nAfter starting, tell the OPERATOR:\n\n> \"I've started a coding session on `\u003Crepo>`. You're now talking to the coding agent —\n> it has full access to the repo. Send `\u002Fkill` when you're done.\"\n\n### 5. After `\u002Fkill`\n\nWhen the OPERATOR ends the session, you'll receive a system message with a git summary\n(branch, commits, changed files). Use this to:\n\n- Update the project's task status if applicable\n- Write a diary entry about what was accomplished\n- Note any follow-up items the OPERATOR mentioned\n\n### 6. Resume a Previous Session\n\nIf the OPERATOR wants to continue previous work:\n\n```\nshell command=\"ghost hack list\"\n```\n\nThen resume with:\n\n```\nshell command=\"ghost hack resume \u003Ccoding_session_id>\"\n```\n\n## Creating `repo.md` References\n\nWhen setting up a new repo for the first time, create a reference note:\n\n```\nnote_write title=\"repo.md\" project=\"\u003Cslug>\" content=\"...\"\n```\n\nInclude: repo URL, local path (`code\u002F\u003Cslug>`), branch conventions, build\u002Ftest commands,\nand any setup notes.\n\n## Important\n\n- Always check for an existing `repo.md` before cloning\n- The channel ID is passed automatically — no need to specify it manually\n- The coding agent has its own session — your conversation history is separate\n- After `\u002Fkill`, the coding agent's session is preserved for future `resume`\n","# Coding Session Manager\n\nUse this skill when the OPERATOR asks for coding work on a repository.\n\n## What This Does\n\nYou spawn a **coding agent** that takes over the Discord channel. The coding agent has\nfull access to the repo, can read\u002Fedit files, run commands, and commit changes. The\nOPERATOR talks directly to the coding agent until they send `\u002Fkill` to end the session.\n\n**Don't create a project** for single-session coding tasks. Only suggest a project if\nthe work will span multiple sessions or has 3+ distinct tasks to track.\n\n## Workflow\n\n### 1. Identify the Repo\n\nCheck if the OPERATOR has a project with a `repo.md` reference note:\n\n```\nknowledge_search query=\"repo.md \u003Cproject-name>\" scope=\"references\"\n```\n\nIf found, the `repo.md` will contain the repo URL and local path.\n\n### 2. Set Up the Code Directory\n\nRepos live under `code\u002F` in the workspace. Use the project slug as the directory name.\n\n**If not cloned yet:**\n\n```\nshell command=\"git clone \u003Crepo-url> code\u002F\u003Cslug>\"\n```\n\n**If already cloned:**\n\n```\nshell command=\"cd code\u002F\u003Cslug> && git fetch && git status\"\n```\n\n### 3. Start the Coding Session\n\n```\nshell command=\"ghost hack start code\u002F\u003Cslug> --prompt '\u003Ctask description>'\"\n```\n\nThe command outputs:\n\n```\ncoding_session_id=\u003Cid>\nsession_id=\u003Cid>\nworking_dir=\u003Cpath>\n```\n\n### 4. Explain to the OPERATOR\n\nAfter starting, tell the OPERATOR:\n\n> \"I've started a coding session on `\u003Crepo>`. You're now talking to the coding agent —\n> it has full access to the repo. Send `\u002Fkill` when you're done.\"\n\n### 5. After `\u002Fkill`\n\nWhen the OPERATOR ends the session, you'll receive a system message with a git summary\n(branch, commits, changed files). Use this to:\n\n- Update the project's task status if applicable\n- Write a diary entry about what was accomplished\n- Note any follow-up items the OPERATOR mentioned\n\n### 6. Resume a Previous Session\n\nIf the OPERATOR wants to continue previous work:\n\n```\nshell command=\"ghost hack list\"\n```\n\nThen resume with:\n\n```\nshell command=\"ghost hack resume \u003Ccoding_session_id>\"\n```\n\n## Creating `repo.md` References\n\nWhen setting up a new repo for the first time, create a reference note:\n\n```\nnote_write title=\"repo.md\" project=\"\u003Cslug>\" content=\"...\"\n```\n\nInclude: repo URL, local path (`code\u002F\u003Cslug>`), branch conventions, build\u002Ftest commands,\nand any setup notes.\n\n## Important\n\n- Always check for an existing `repo.md` before cloning\n- The channel ID is passed automatically — no need to specify it manually\n- The coding agent has its own session — your conversation history is separate\n- After `\u002Fkill`, the coding agent's session is preserved for future `resume`\n",{"name":5,"description":7},"main","083d96429a2d05526f8a294b83c74f0336670def","assets\u002Fskills\u002Fcoding",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":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add mrtolkien\u002FGHOST --skill coding",{"tool":51,"command":52},"bunx","bunx skills add mrtolkien\u002FGHOST --skill coding",{"tool":54,"command":55},"pnpm","pnpm dlx skills add mrtolkien\u002FGHOST --skill coding","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fcoding\u002Fskill.md",true,[],[60,86,110,127,136,147],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":31},"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",[],[67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,28,83,84,85],"system management","management","system","shell","cli","nix","config","setup","debugging","capabilities","services","Providers","ghost","tool","troubleshooting","environment","version","models","configuration",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":105,"publishedAt":31},"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",[92,97,100],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":98,"categoryName":99,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":101,"categoryName":102,"taxonomyType":103,"taxonomyTypeDesc":104},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[106,107,5,25,108,28,109],"writing skills","writing","editing","deployment",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":118,"publishedAt":31},"01M6CS5V737R1DVB3TZEK0C6WT","writing-plans","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.","https:\u002F\u002Fgithub.com\u002Fmrtolkien\u002FGHOST\u002Fblob\u002Fmain\u002Fassets\u002Fskills\u002Fsuperpowers\u002Fwriting-plans\u002Fskill.md",[116,117],{"categoryNo":98,"categoryName":99,"taxonomyType":95,"taxonomyTypeDesc":96},{"categoryNo":101,"categoryName":102,"taxonomyType":103,"taxonomyTypeDesc":104},[119,107,120,22,121,5,122,123,28,124,125,126],"writing plans","spec","ZeRO","write","context","engineer","implementation","task",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":31},"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",[],[129,5,25,28,134,135],"evidence","claim",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":143,"publishedAt":31},"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",[142],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},[138,107,22,144,5,122,28,145,125,146],"first","minimal","test",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":154,"publishedAt":31},"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",[153],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},[155,75,156,28,5,146,157],"systematic debugging","behavior","bug"]