[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DHPTPWS99KDX86CDNBVMPC":3,"skill-same:01M6DHPTPWS99KDX86CDNBVMPC":76},{"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":23,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":54,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M6DHPTPWS99KDX86CDNBVMPC","craft",null,"Authoring standard and quality gate for agent-facing instruction text and workflow templates. Use when writing, reviewing, or revising SKILL.md bodies, frontmatter descriptions, agent definitions, subagent prompts, tool descriptions, or workflow templates. Exclude for human-facing prose (specs, reports).","nicsuzor\u002FacademicOps","nicsuzor","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4496978?v=4","01M6DGWCFNDYP03M4DQAHA6DN1","Nicolas Suzor","01M6DGWCPXG37BMXRZZKXR0A1Z",5,"MIT","https:\u002F\u002Fgithub.com\u002Fnicsuzor\u002FacademicOps\u002Fblob\u002Fmain\u002Fplugins\u002Fida\u002Fskills\u002Fcraft\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"write","authoring","human","prose","gate","reports","prompts","use","edit","writing","read","quality","text","tool","subagent","templates","quality gate","workflow","2026-11-10 10:12:30",false,"---\nname: craft\ndescription: Authoring standard and quality gate for agent-facing instruction text and workflow templates. Use when writing, reviewing, or revising SKILL.md bodies, frontmatter descriptions, agent definitions, subagent prompts, tool descriptions, or workflow templates. Exclude for human-facing prose (specs, reports).\nallowed-tools: Read, Write, Edit\n---\n\n# Instruction Craftsmanship\n\nAuthor and review agent-facing instructions and workflow templates for operational clarity, contract separation, and token efficiency. Consult `references\u002Fevidence.md` for empirical findings.\n\n## First Principles\n\n1. **Trust the harness, not today's quirks**: Write for durable capabilities. Avoid hard-coding workarounds for transient model behaviors.\n2. **Specify process, not keystrokes**: State when to invoke a capability and what outcome proves it worked. Omit basic sub-steps or flags the agent already knows.\n3. **One component, one job**: Keep instructions and templates focused on their singular purpose. Dispatch to peer skills rather than summarizing their internals. Leave another agent's domain to that agent: name the hand-off, never how it does its work.\n4. **State the contract, not the neighbour**: Specify what a component needs as input and delivers as output. Never couple to specific neighbour names or slugs; composing agents decide what fills each slot.\n5. **Write for a headless worker**: Assume unattended, asynchronous execution with no interactive human in the loop. A step never pauses or waits for human input; explicit approval boundaries terminate the task and wire dependent tasks as blocked.\n6. **Promise only what the executor delivers**: Output contracts list only artifacts and state the executing agent itself produces. Another party's subsequent act (human sign-off, reviewer verdict) is never an executor deliverable.\n7. **Verification must be real**: Demand direct inspection of live artifacts (outputs, logs, diffs) rather than relying on compliance checklists.\n8. **Every line earns its place**: Relocate historical narratives, incident stories, and philosophical justifications to change records.\n\n## The Deletion Test\n\nDelete or relocate any line whose removal leaves the median task unaffected. Confine rare paths to progressive reference files.\n\n## The Description Is the Router\n\nFrontmatter descriptions are the primary routing surface (\u003C1024 chars):\n\n- **Front-load intent**: State the exact trigger conditions in the opening clause.\n- **Define exclusions**: Explicitly state when not to invoke to prevent crossover.\n- **Consolidate routing**: Place all triggering logic in the description field.\n\n## The Body Is a Budget\n\nHold operational content strictly under 200 lines (target 30-80 lines):\n\n- **Segment clearly**: Place critical constraints first or last; use markdown headers for navigation anchors.\n- **Progressive disclosure**: Place dense reference materials or schemas one level deep in `references\u002F`.\n- **Provide shape, not logic**: Provide structural skeletons rather than full worked logic examples that induce overfitting.\n\n## Voice\n\n- Use positive imperatives paired with functional reasoning (\"Use X because Y\").\n- Pair prohibitions with mandatory alternatives and legitimate escape hatches.\n- Rely on document structure rather than capitalized absolutes (\"ALWAYS\", \"NEVER\").\n\n## Workflow Templates\n\nWorkflow templates (`type: template`) govern repeatable multi-stage execution and task composition (\u003C100 lines target).\n\n- **Schema**:\n  ```yaml\n  ---\n  title: \u003Chuman name>\n  type: template\n  description: \u003Cone line: what class of work this covers, so a composer can select it>\n  tags: [...]\n  ---\n  ```\n- **Contract over neighbour**: Define input and output contracts per stage. Never name another template slug in frontmatter or body. A composite lists stages as contract expectations in order (\"an independent review verdict on the spec\"), never as slugs.\n- **Headless execution & approval boundaries**: A step never pauses, waits, or prompts a human mid-task. Where approval is required, the step ends there: the worker files the complete artifact on the record and structures the boundary so downstream work remains strictly blocked until approval is recorded (e.g. releasing as `partial` with an explicit decision task or dependency-wired review task). Cut the composition chain at that boundary; work following the decision belongs in a separate dependent task.\n- **Promise only executor deliverables**: Output contracts specify only artifacts and state generated by the executing agent. Future external decisions or approvals are not executor deliverables.\n- **`wf-` prefix**: Templates stating an obligation that blocks acceptance rather than a process that proceeds conventionally carry a `wf-` prefix.\n\n## Quality Gates\n\nEvery agent instruction, skill, persona definition, and subagent prompt must pass these four gates before merging:\n\n1. **Categorical generality (Categorical Imperative)**: Express rules in general terms covering the full class of situations. Prohibit hyper-specific quotas, rigid interaction numbers, or one-off compromises.\n2. **Entity abstraction (Name the process, not the actor)**: Refer to the principal as \"the user\", never by a personal proper noun or name (\"Nic\"). Refer to collaborators by role or capability.\n3. **No PKB leakage (Data Boundaries)**: Never include private PKB note or task IDs (`aops_...`, `task_...`, `mem_...`, `kb_...`) or Obsidian wikilinks (`[[...]]`) in distributed framework instruction files. Use standard relative markdown links for file references.\n4. **Zero historical provenance**: Strictly eliminate incident stories, post-mortem recaps (\"after an incident on...\"), or PR\u002Fcommit changelog citations. Instructions define what is true now, never how it came to be true.\n\n## Agent Definitions\n\nLimit agent definition bodies to:\n\n1. **Identity\u002Frole**: 1-3 sentences defining the persona.\n2. **Behavioral rules**: Terse operational constraints.\n3. **Output schema**: Expected report structure and verdict states.\n4. **Routing table**: Clean table without per-route narrative.\n\nName a skill the agent uses; leave its modes, arguments, and when each applies to the skill. A change to a skill's modes or arguments owes the agent definitions that use it no edit.\n\n## Schemas and Construction\n\n- Define strict schemas with `required` fields and `additionalProperties: false`.\n- **Static prefix, variable tail**: Emit invariant template text first and append variable content at the end to maximize prompt caching.\n","# Instruction Craftsmanship\n\nAuthor and review agent-facing instructions and workflow templates for operational clarity, contract separation, and token efficiency. Consult `references\u002Fevidence.md` for empirical findings.\n\n## First Principles\n\n1. **Trust the harness, not today's quirks**: Write for durable capabilities. Avoid hard-coding workarounds for transient model behaviors.\n2. **Specify process, not keystrokes**: State when to invoke a capability and what outcome proves it worked. Omit basic sub-steps or flags the agent already knows.\n3. **One component, one job**: Keep instructions and templates focused on their singular purpose. Dispatch to peer skills rather than summarizing their internals. Leave another agent's domain to that agent: name the hand-off, never how it does its work.\n4. **State the contract, not the neighbour**: Specify what a component needs as input and delivers as output. Never couple to specific neighbour names or slugs; composing agents decide what fills each slot.\n5. **Write for a headless worker**: Assume unattended, asynchronous execution with no interactive human in the loop. A step never pauses or waits for human input; explicit approval boundaries terminate the task and wire dependent tasks as blocked.\n6. **Promise only what the executor delivers**: Output contracts list only artifacts and state the executing agent itself produces. Another party's subsequent act (human sign-off, reviewer verdict) is never an executor deliverable.\n7. **Verification must be real**: Demand direct inspection of live artifacts (outputs, logs, diffs) rather than relying on compliance checklists.\n8. **Every line earns its place**: Relocate historical narratives, incident stories, and philosophical justifications to change records.\n\n## The Deletion Test\n\nDelete or relocate any line whose removal leaves the median task unaffected. Confine rare paths to progressive reference files.\n\n## The Description Is the Router\n\nFrontmatter descriptions are the primary routing surface (\u003C1024 chars):\n\n- **Front-load intent**: State the exact trigger conditions in the opening clause.\n- **Define exclusions**: Explicitly state when not to invoke to prevent crossover.\n- **Consolidate routing**: Place all triggering logic in the description field.\n\n## The Body Is a Budget\n\nHold operational content strictly under 200 lines (target 30-80 lines):\n\n- **Segment clearly**: Place critical constraints first or last; use markdown headers for navigation anchors.\n- **Progressive disclosure**: Place dense reference materials or schemas one level deep in `references\u002F`.\n- **Provide shape, not logic**: Provide structural skeletons rather than full worked logic examples that induce overfitting.\n\n## Voice\n\n- Use positive imperatives paired with functional reasoning (\"Use X because Y\").\n- Pair prohibitions with mandatory alternatives and legitimate escape hatches.\n- Rely on document structure rather than capitalized absolutes (\"ALWAYS\", \"NEVER\").\n\n## Workflow Templates\n\nWorkflow templates (`type: template`) govern repeatable multi-stage execution and task composition (\u003C100 lines target).\n\n- **Schema**:\n  ```yaml\n  ---\n  title: \u003Chuman name>\n  type: template\n  description: \u003Cone line: what class of work this covers, so a composer can select it>\n  tags: [...]\n  ---\n  ```\n- **Contract over neighbour**: Define input and output contracts per stage. Never name another template slug in frontmatter or body. A composite lists stages as contract expectations in order (\"an independent review verdict on the spec\"), never as slugs.\n- **Headless execution & approval boundaries**: A step never pauses, waits, or prompts a human mid-task. Where approval is required, the step ends there: the worker files the complete artifact on the record and structures the boundary so downstream work remains strictly blocked until approval is recorded (e.g. releasing as `partial` with an explicit decision task or dependency-wired review task). Cut the composition chain at that boundary; work following the decision belongs in a separate dependent task.\n- **Promise only executor deliverables**: Output contracts specify only artifacts and state generated by the executing agent. Future external decisions or approvals are not executor deliverables.\n- **`wf-` prefix**: Templates stating an obligation that blocks acceptance rather than a process that proceeds conventionally carry a `wf-` prefix.\n\n## Quality Gates\n\nEvery agent instruction, skill, persona definition, and subagent prompt must pass these four gates before merging:\n\n1. **Categorical generality (Categorical Imperative)**: Express rules in general terms covering the full class of situations. Prohibit hyper-specific quotas, rigid interaction numbers, or one-off compromises.\n2. **Entity abstraction (Name the process, not the actor)**: Refer to the principal as \"the user\", never by a personal proper noun or name (\"Nic\"). Refer to collaborators by role or capability.\n3. **No PKB leakage (Data Boundaries)**: Never include private PKB note or task IDs (`aops_...`, `task_...`, `mem_...`, `kb_...`) or Obsidian wikilinks (`[[...]]`) in distributed framework instruction files. Use standard relative markdown links for file references.\n4. **Zero historical provenance**: Strictly eliminate incident stories, post-mortem recaps (\"after an incident on...\"), or PR\u002Fcommit changelog citations. Instructions define what is true now, never how it came to be true.\n\n## Agent Definitions\n\nLimit agent definition bodies to:\n\n1. **Identity\u002Frole**: 1-3 sentences defining the persona.\n2. **Behavioral rules**: Terse operational constraints.\n3. **Output schema**: Expected report structure and verdict states.\n4. **Routing table**: Clean table without per-route narrative.\n\nName a skill the agent uses; leave its modes, arguments, and when each applies to the skill. A change to a skill's modes or arguments owes the agent definitions that use it no edit.\n\n## Schemas and Construction\n\n- Define strict schemas with `required` fields and `additionalProperties: false`.\n- **Static prefix, variable tail**: Emit invariant template text first and append variable content at the end to maximize prompt caching.\n",{"name":5,"description":7,"allowed-tools":47},"Read, Write, Edit","main","22a4e466ac352d09f636273685845a312ee07a15","plugins\u002Fida\u002Fskills\u002Fcraft",3,"https:\u002F\u002Fgithub.com\u002Fnicsuzor\u002FacademicOps","https:\u002F\u002Fgithub.com\u002Fnicsuzor","https:\u002F\u002Fnic.suzor.net\u002F","2026-11-10 16:57:47",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add nicsuzor\u002FacademicOps --skill craft",{"tool":62,"command":63},"bunx","bunx skills add nicsuzor\u002FacademicOps --skill craft",{"tool":65,"command":66},"pnpm","pnpm dlx skills add nicsuzor\u002FacademicOps --skill craft","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fnicsuzor\u002FacademicOps\u002Fblob\u002Fmain\u002Fplugins\u002Fida\u002Fskills\u002Fcraft\u002FSKILL.md",true,[70],{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"references\u002Fevidence.md","REFERENCE","参考文档",2394,"https:\u002F\u002Fgithub.com\u002Fnicsuzor\u002FacademicOps\u002Fblob\u002Fmain\u002Fplugins\u002Fida\u002Fskills\u002Fcraft\u002Freferences\u002Fevidence.md",[77,103,108,113,118,141],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":42},"01M6M6JR6VXPDA3MDPVS36DSSP","refresh-questions","Sweep and refresh open questions in the Telegram Mini App by closing questions that are answered elsewhere, superseded, or asking for completed actions, and ensuring active open questions carry recommendations and context. Use when asked to refresh questions, sweep stale questions, or keep the Mini App decision queue current. Exclude for asking new questions or routine chat replies.","https:\u002F\u002Fgithub.com\u002Fnicsuzor\u002FacademicOps\u002Fblob\u002Fmain\u002Fopenclaw\u002Fida-telegram\u002Fskills\u002Frefresh-questions\u002FSKILL.md",[],[84,85,86,87,88,89,90,91,31,92,93,94,95,96,97,98,99,100,101,102],"refresh","refresh questions","questions","actions","telegram mini app","open","decision","context","queue","telegram","stale","chat","active","recommendations","app","keep","replies","closing","for",{"skillNo":104,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":42},"01M6M6JGW7Q0SC5B28TQ7PKE8E","https:\u002F\u002Fgithub.com\u002Fnicsuzor\u002FacademicOps\u002Fblob\u002Fmain\u002Fida-telegram-openclaw\u002Fskills\u002Frefresh-questions\u002FSKILL.md",[],[84,85,86,87,88,89,90,91,31,92,93,94,95,96,97,98,99,100,101,102],{"skillNo":109,"name":79,"nameZh":6,"description":80,"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":42},"01M6M6J7D0ZTQ4VSS5ADRSA12E","https:\u002F\u002Fgithub.com\u002Fnicsuzor\u002FacademicOps\u002Fblob\u002Fmain\u002Fida-telegram-claude\u002Fskills\u002Frefresh-questions\u002FSKILL.md",[],[84,85,86,87,88,89,90,91,31,92,93,94,95,96,97,98,99,100,101,102],{"skillNo":114,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":42},"01M6M6EP6BK1DDN2212S7Y95G0","https:\u002F\u002Fgithub.com\u002Fnicsuzor\u002FacademicOps\u002Fblob\u002Fmain\u002Fcowork\u002Fida-telegram\u002Fskills\u002Frefresh-questions\u002FSKILL.md",[],[84,85,86,87,88,89,90,91,31,92,93,94,95,96,97,98,99,100,101,102],{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":42},"01M6G9Q8538NENA2TE2V4HPRSF","dispatch-queue","Show the user the tasks ready to dispatch, ranked with a recommendation on each, and start workers on the ones the user approves -- redirects to universal workflow template wf-dispatch-queue. Use for \"what's ready\", \"what should we dispatch\", or \"dispatch the queue\". Exclude for starting workers on named tasks without the user's choice (use dispatch) or graph truth maintenance (use reconcile).","https:\u002F\u002Fgithub.com\u002Fnicsuzor\u002FacademicOps\u002Fblob\u002Fmain\u002Fopenclaw\u002Fida\u002Fskills\u002Fdispatch-queue\u002FSKILL.md",[],[125,92,126,41,127,128,129,130,131,132,31,133,134,135,136,137,138,139,140],"dispatch","dispatch queue","tasks","graph","start","template","choice","user","reconcile","ready","maintenance","workers","show","wf","recommendation","with",{"skillNo":142,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":42},"01M6G9P9M3PQXPX3647RA5E4D0","https:\u002F\u002Fgithub.com\u002Fnicsuzor\u002FacademicOps\u002Fblob\u002Fmain\u002Fida-openclaw\u002Fskills\u002Fdispatch-queue\u002FSKILL.md",[],[125,92,126,41,127,128,129,130,131,132,31,133,134,135,136,137,138,139,140]]