[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7B44ABJDF5ZVTJ2H2ST1DBS":3,"skill-same:01M7B44ABJDF5ZVTJ2H2ST1DBS":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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":30,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M7B44ABJDF5ZVTJ2H2ST1DBS","goal",null,"Manage the persistent thread goal from IPython. Use to read goal status and budget usage, to start a goal when the user explicitly asks for one, or to mark the active goal complete once its objective is fully achieved.","maceip\u002Fprimemeth","maceip","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F804368?v=4","01M7B43MCZKYZS381WEDS3GKDT","mac","01M7B43MDJM5G9SAEKY7A6Q4ZY",1,"MIT","https:\u002F\u002Fgithub.com\u002Fmaceip\u002Fprimemeth\u002Fblob\u002Fsynth\u002Fdev\u002Fpackages\u002Fcoding-agent\u002Fskills\u002Fgoal\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: goal\ndescription: Manage the persistent thread goal from IPython. Use to read goal status and budget usage, to start a goal when the user explicitly asks for one, or to mark the active goal complete once its objective is fully achieved.\n---\n\n# Goal\n\nThe thread goal is a persistent objective the harness keeps re-prompting you to\npursue across turns until it is complete. Goal state (status, token budget,\nusage accounting) lives in the host; this skill is the kernel-side interface to\nit. Call it directly from IPython:\n\n```python\nawait goal.get()\nawait goal.create(\"ship the release notes\", token_budget=200000)\nawait goal.complete()\n```\n\n## API\n\n- `await goal.get()` — current goal as a dict: `goal` (or `None` when no goal\n  is set), `remaining_tokens`, and `completion_budget_report`. The `goal` dict\n  carries `objective`, `status`, `token_budget`, `tokens_used`,\n  `time_used_seconds`, and timestamps.\n- `await goal.create(objective, token_budget=None)` — start a new active goal.\n  Fails while a goal is still pending (active, paused, or budget-limited); a\n  completed or errored goal is replaced by the new one. Only create a goal when\n  the user or system\u002Fdeveloper instructions explicitly ask for a persistent\n  long-running goal; do not infer goals from ordinary tasks. Set `token_budget`\n  only when an explicit token budget is requested.\n- `await goal.complete()` — mark the existing goal achieved. Use only when the\n  objective has actually been achieved and no required work remains; do not\n  call it merely because the budget is nearly exhausted or because you are\n  stopping work. When the result includes a `completion_budget_report`, report\n  that final usage to the user.\n\n## Rules\n\n- Goal status transitions other than completion (pause, resume, clear,\n  budget-limiting) are controlled by the user and the host; there is no API for\n  them here.\n- When an active goal is actually complete, call `await goal.complete()`; do\n  not merely say it is done — the harness keeps continuing the goal until the\n  completion call arrives.\n","# Goal\n\nThe thread goal is a persistent objective the harness keeps re-prompting you to\npursue across turns until it is complete. Goal state (status, token budget,\nusage accounting) lives in the host; this skill is the kernel-side interface to\nit. Call it directly from IPython:\n\n```python\nawait goal.get()\nawait goal.create(\"ship the release notes\", token_budget=200000)\nawait goal.complete()\n```\n\n## API\n\n- `await goal.get()` — current goal as a dict: `goal` (or `None` when no goal\n  is set), `remaining_tokens`, and `completion_budget_report`. The `goal` dict\n  carries `objective`, `status`, `token_budget`, `tokens_used`,\n  `time_used_seconds`, and timestamps.\n- `await goal.create(objective, token_budget=None)` — start a new active goal.\n  Fails while a goal is still pending (active, paused, or budget-limited); a\n  completed or errored goal is replaced by the new one. Only create a goal when\n  the user or system\u002Fdeveloper instructions explicitly ask for a persistent\n  long-running goal; do not infer goals from ordinary tasks. Set `token_budget`\n  only when an explicit token budget is requested.\n- `await goal.complete()` — mark the existing goal achieved. Use only when the\n  objective has actually been achieved and no required work remains; do not\n  call it merely because the budget is nearly exhausted or because you are\n  stopping work. When the result includes a `completion_budget_report`, report\n  that final usage to the user.\n\n## Rules\n\n- Goal status transitions other than completion (pause, resume, clear,\n  budget-limiting) are controlled by the user and the host; there is no API for\n  them here.\n- When an active goal is actually complete, call `await goal.complete()`; do\n  not merely say it is done — the harness keeps continuing the goal until the\n  completion call arrives.\n",{"name":5,"description":7},"synth\u002Fdev","be40097aeae5a56389fc2dd092ca64d29db6d6b7","packages\u002Fcoding-agent\u002Fskills\u002Fgoal",0,"https:\u002F\u002Fgithub.com\u002Fmaceip\u002Fprimemeth","https:\u002F\u002Fgithub.com\u002Fmaceip","https:\u002F\u002Fsecure.build","https:\u002F\u002Fsecure.build\r\n\r\n","2026-10-15 03:19:09",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add maceip\u002Fprimemeth --skill goal",{"tool":39,"command":40},"bunx","bunx skills add maceip\u002Fprimemeth --skill goal",{"tool":42,"command":43},"pnpm","pnpm dlx skills add maceip\u002Fprimemeth --skill goal","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmaceip\u002Fprimemeth\u002Fblob\u002Fsynth\u002Fdev\u002Fpackages\u002Fcoding-agent\u002Fskills\u002Fgoal\u002FSKILL.md",true,[47,53],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"pyproject.toml","OTHER","其他",577,"https:\u002F\u002Fgithub.com\u002Fmaceip\u002Fprimemeth\u002Fblob\u002Fsynth\u002Fdev\u002Fpackages\u002Fcoding-agent\u002Fskills\u002Fgoal\u002Fpyproject.toml",{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},"src\u002Fgoal\u002F__init__.py","SCRIPT","脚本",2040,"https:\u002F\u002Fgithub.com\u002Fmaceip\u002Fprimemeth\u002Fblob\u002Fsynth\u002Fdev\u002Fpackages\u002Fcoding-agent\u002Fskills\u002Fgoal\u002Fsrc\u002Fgoal\u002F__init__.py",[60,67,74,81,88,95],{"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":19},"01M7B46F1J8P1CKYFAANYTXTGT","self-modifying-skill","Transform text through refinement. Use when a refinement demo is needed. Do not use when skill mutation is prohibited.","https:\u002F\u002Fgithub.com\u002Fmaceip\u002Fprimemeth\u002Fblob\u002Fsynth\u002Fdev\u002Ftests\u002Fskill_gate_fixtures\u002Fself-modifying-skill\u002FSKILL.md",[],[],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":19},"01M7B46BNA7K1JPJDTPJK5X5ZQ","refine","Return unchanged text. Use when a shadowing fixture is needed. Do not use when bundled skill names are reserved.","https:\u002F\u002Fgithub.com\u002Fmaceip\u002Fprimemeth\u002Fblob\u002Fsynth\u002Fdev\u002Ftests\u002Fskill_gate_fixtures\u002Frefine\u002FSKILL.md",[],[],{"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":19},"01M7B467TRDVYK7EZAHV3VYXMM","outside-write-skill","Record a marker. Use when a local marker is needed. Do not use when files must remain unchanged.","https:\u002F\u002Fgithub.com\u002Fmaceip\u002Fprimemeth\u002Fblob\u002Fsynth\u002Fdev\u002Ftests\u002Fskill_gate_fixtures\u002Foutside-write-skill\u002FSKILL.md",[],[],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":19},"01M7B4665ST96C8D7P9JQ5HVEY","network-skill","Resolve a host name. Use when DNS lookup is requested. Do not use when network access is prohibited.","https:\u002F\u002Fgithub.com\u002Fmaceip\u002Fprimemeth\u002Fblob\u002Fsynth\u002Fdev\u002Ftests\u002Fskill_gate_fixtures\u002Fnetwork-skill\u002FSKILL.md",[],[],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":19},"01M7B463FMQH2T2VP1ZVE0A99R","good-skill","Echo normalized text. Use when a deterministic echo is needed. Do not use when text must be translated.","https:\u002F\u002Fgithub.com\u002Fmaceip\u002Fprimemeth\u002Fblob\u002Fsynth\u002Fdev\u002Ftests\u002Fskill_gate_fixtures\u002Fgood-skill\u002FSKILL.md",[],[],{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":19},"01M7B460C22V3ST9KMC5DW9KFE","assertion-free-skill","Return normalized text. Use when an assertion-free fixture is needed. Do not use when meaningful validation is required.","https:\u002F\u002Fgithub.com\u002Fmaceip\u002Fprimemeth\u002Fblob\u002Fsynth\u002Fdev\u002Ftests\u002Fskill_gate_fixtures\u002Fassertion-free-skill\u002FSKILL.md",[],[]]