[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6WYG2RM2DGEVXFANN6RQHB9":3,"skill-same:01M6WYG2RM2DGEVXFANN6RQHB9":86},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":66,"commitSha":67,"skillDirectory":68,"forksCount":14,"repositoryHtmlUrl":69,"repositoryHomepageUrl":70,"ownerHtmlUrl":71,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":72,"install":73,"resources":85},"01M6WYG2RM2DGEVXFANN6RQHB9","skill-gate",null,"Session-start meta-skill that enforces the 1% rule: before any action\non a processkit entity or context\u002F file, if there is even a 1% chance\na processkit skill applies, you MUST check skill-finder first. Load\nthis skill at the start of every session that may involve processkit\nwork. Use when beginning a new task, when unsure which skill applies,\nor when you are about to edit context\u002F, create an entity, or run an\nMCP tool.","projectious-work\u002Fprocesskit","projectious-work","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F263889726?v=4","01M6N97TJJ118WQ35CHRV8RD0E","projectious.work","01M6N97TPWJPF0BMKYQ4PBY5W8",0,"MIT","https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Farchive\u002Fprocesskit-install-20261101\u002Fcontext\u002Ftemplates\u002Fprocesskit\u002Fv0.13.0\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fskill-gate\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"skill gate","gate","domain","when","for","v1","load","which","true","you","new task","MCP","meta-skill","task","use","session","check","tool","Meta","file","2026-11-10 10:12:30",false,"---\nname: skill-gate\ndescription: |\n  Session-start meta-skill that enforces the 1% rule: before any action\n  on a processkit entity or context\u002F file, if there is even a 1% chance\n  a processkit skill applies, you MUST check skill-finder first. Load\n  this skill at the start of every session that may involve processkit\n  work. Use when beginning a new task, when unsure which skill applies,\n  or when you are about to edit context\u002F, create an entity, or run an\n  MCP tool.\nmetadata:\n  processkit:\n    apiVersion: processkit.projectious.work\u002Fv1\n    id: SKILL-skill-gate\n    version: \"1.0.0\"\n    created: 2026-04-11T08:00:00Z\n    category: processkit\n    core: true\n    layer: null\n    uses:\n      - skill: skill-finder\n        purpose: >\n          The mandatory first stop for any processkit domain task —\n          skill-gate enforces that skill-finder is consulted before\n          acting, not after.\n    provides:\n      primitives: []\n      mcp_tools: []\n      assets: []\n---\n\n# Skill Gate\n\n## Intro\n\nskill-gate is the enforcement layer that ensures agents consult the\nprocesskit skill catalog before acting on processkit entities or\n`context\u002F` files. It implements the **1% rule**: if there is even a 1%\nchance a processkit skill covers the current task, you must check\n`skill-finder` before doing anything else. It does not perform work\nitself — it ensures work is performed via the right skill.\n\n## Overview\n\n### The 1% rule\n\nBefore any of the following actions, pause and apply the decision graph:\n\n- Editing or creating any file under `context\u002F`\n- Calling any processkit MCP tool (`create_*`, `transition_*`, `link_*`,\n  `record_*`, `open_*`)\n- Writing a WorkItem, Decision, Note, Artifact, or any other entity\n- Running a process the user described as a processkit task\n\n**The rule:** If there is even a **1% chance** a processkit skill\napplies to this task, you MUST check `skill-finder` before proceeding.\n\nThe threshold is deliberately near-zero. Do not rationalize past it.\n\n### Decision graph\n\n```\nIs this task related to processkit entities, context\u002F files,\nor any process the user described as a project-management task?\n│\n├─ YES (or unsure) ──→ Read skill-finder and identify the matching skill.\n│                       Load that skill. Work from it.\n│\n└─ NO ──────────────→ Proceed without skill-gate involvement.\n                       (Pure code edits, data analysis, etc. that have\n                       no processkit component do not need skill-gate.)\n```\n\n### What \"check skill-finder\" means\n\n1. Read `context\u002Fskills\u002Fprocesskit\u002Fskill-finder\u002FSKILL.md` — find the\n   trigger phrase that matches the current task.\n2. Load the identified skill's `SKILL.md`.\n3. Confirm from its **Intro** (3 sentences) that it is the right match.\n4. Work from that skill's **Overview** — not from general knowledge.\n\nIf `skill-finder` has an MCP server available (`find_skill` tool), call\nit instead of reading the file — it is faster and more reliable.\n\n### Pre-empting common rationalisations\n\nThese are the rationalizations agents use to skip skill-gate. Each one\nis wrong:\n\n| Rationalisation | Reality |\n|---|---|\n| \"I already know how to do this.\" | The skill may have processkit-specific entity paths, ID formats, MCP tools, and log conventions that general knowledge does not cover. Knowing the domain is not the same as knowing the processkit conventions for it. |\n| \"It's a simple edit — one line.\" | The state machine enforces valid transitions. A hand edit that bypasses the MCP server can put an entity in an invalid state, break the index, and skip the auto-log side effect. |\n| \"skill-finder won't have a match for this.\" | The catalog has 128+ skills. Check before assuming. If there genuinely is no match, `skill-builder` is the next step — not acting from general knowledge. |\n| \"The user told me exactly what to do.\" | User instructions describe intent, not process. The skill encodes the processkit-specific conventions for realizing that intent correctly. |\n| \"I've done this before in this session.\" | Skill-gate applies to each new task type, not just the first one. If the task domain shifts, check again. |\n\n### Escape hatch\n\nskill-gate does NOT apply when you are already operating inside a\nnamed processkit skill's workflow. If you loaded `workitem-management`\nand are following its Overview steps, you do not need to re-check\nskill-finder for each sub-action within that skill. Skill-gate is a\nsession-level gate, not a per-tool-call gate.\n\n## Gotchas\n\n- **Treating skill-gate as optional at session start.** It is not. If\n  this session may involve any processkit work, load skill-gate first.\n  The cost is one file read. The cost of skipping it is a hand edit\n  that bypasses schema validation, state-machine enforcement, index\n  sync, and the audit trail.\n- **Applying the 1% rule only to obvious processkit tasks.** \"Write a\n  standup\" and \"create a ticket\" are obvious. \"Quick note about this\n  idea\" (→ `note-management`), \"log that we deployed\" (→ `event-log`),\n  and \"check what's blocking us\" (→ `workitem-management`) are not\n  obvious but all have matching skills. When in doubt, check.\n- **Confusing skill-gate with skill-finder.** skill-gate enforces the\n  checking behaviour. skill-finder does the matching. They are distinct.\n  skill-gate tells you *when* to check; skill-finder tells you *what*\n  to use.\n- **Skipping skill-gate because the user said \"just edit the file.\"**\n  The user describes the outcome they want, not the correct processkit\n  process for achieving it. Hand-editing entity files bypasses the MCP\n  server's schema validation and state-machine enforcement. Use the MCP\n  tool unless the MCP server is explicitly unavailable.\n- **Forgetting that skill-gate applies to entity creation, not just\n  edits.** Writing a new YAML file under `context\u002Fworkitems\u002F` directly\n  is a hand edit. Even for new entities, use `create_workitem` (or the\n  relevant `create_*` tool) so the index stays in sync and the auto-log\n  fires.\n- **Applying the escape hatch too broadly.** The escape hatch covers\n  sub-actions *within* a skill you have already loaded and are actively\n  following. It does not cover switching to a different task type or\n  domain mid-session without re-checking.\n\n## Full reference\n\n### Why the threshold is 1%, not \"when clearly applicable\"\n\nA higher threshold — \"check skill-finder when the task is obviously a\nprocesskit task\" — fails because agents are systematically overconfident\nabout what they already know. The 1% rule removes the judgment call\nentirely. If there is any possibility, check. The marginal cost of an\nunnecessary skill-finder lookup is one file read (seconds). The cost of\nskipping it when it was needed is an out-of-sync index, an invalid\nentity state, or a missing audit trail entry.\n\n### Provider neutrality\n\nskill-gate is implemented entirely in prose — it makes no assumptions\nabout which AI harness loads it. The same behaviour applies whether the\nagent is Claude Code, Codex CLI, Cursor, or any other harness that\nreads SKILL.md files.\n\n### Relationship to AGENTS.md\n\nAGENTS.md carries the project-level instruction to load skill-gate\nat session start. skill-gate carries the enforcement logic. Keep them\nseparate: AGENTS.md says *when* to load skill-gate; skill-gate says\n*what to do* once loaded.\n\n### When skill-gate applies to non-processkit projects\n\nskill-gate is a processkit-specific skill. It is only meaningful in\nprojects that have processkit installed (i.e. that have a `context\u002F`\ndirectory with processkit entities). In projects without processkit,\nskill-gate should not be loaded.\n","# Skill Gate\n\n## Intro\n\nskill-gate is the enforcement layer that ensures agents consult the\nprocesskit skill catalog before acting on processkit entities or\n`context\u002F` files. It implements the **1% rule**: if there is even a 1%\nchance a processkit skill covers the current task, you must check\n`skill-finder` before doing anything else. It does not perform work\nitself — it ensures work is performed via the right skill.\n\n## Overview\n\n### The 1% rule\n\nBefore any of the following actions, pause and apply the decision graph:\n\n- Editing or creating any file under `context\u002F`\n- Calling any processkit MCP tool (`create_*`, `transition_*`, `link_*`,\n  `record_*`, `open_*`)\n- Writing a WorkItem, Decision, Note, Artifact, or any other entity\n- Running a process the user described as a processkit task\n\n**The rule:** If there is even a **1% chance** a processkit skill\napplies to this task, you MUST check `skill-finder` before proceeding.\n\nThe threshold is deliberately near-zero. Do not rationalize past it.\n\n### Decision graph\n\n```\nIs this task related to processkit entities, context\u002F files,\nor any process the user described as a project-management task?\n│\n├─ YES (or unsure) ──→ Read skill-finder and identify the matching skill.\n│                       Load that skill. Work from it.\n│\n└─ NO ──────────────→ Proceed without skill-gate involvement.\n                       (Pure code edits, data analysis, etc. that have\n                       no processkit component do not need skill-gate.)\n```\n\n### What \"check skill-finder\" means\n\n1. Read `context\u002Fskills\u002Fprocesskit\u002Fskill-finder\u002FSKILL.md` — find the\n   trigger phrase that matches the current task.\n2. Load the identified skill's `SKILL.md`.\n3. Confirm from its **Intro** (3 sentences) that it is the right match.\n4. Work from that skill's **Overview** — not from general knowledge.\n\nIf `skill-finder` has an MCP server available (`find_skill` tool), call\nit instead of reading the file — it is faster and more reliable.\n\n### Pre-empting common rationalisations\n\nThese are the rationalizations agents use to skip skill-gate. Each one\nis wrong:\n\n| Rationalisation | Reality |\n|---|---|\n| \"I already know how to do this.\" | The skill may have processkit-specific entity paths, ID formats, MCP tools, and log conventions that general knowledge does not cover. Knowing the domain is not the same as knowing the processkit conventions for it. |\n| \"It's a simple edit — one line.\" | The state machine enforces valid transitions. A hand edit that bypasses the MCP server can put an entity in an invalid state, break the index, and skip the auto-log side effect. |\n| \"skill-finder won't have a match for this.\" | The catalog has 128+ skills. Check before assuming. If there genuinely is no match, `skill-builder` is the next step — not acting from general knowledge. |\n| \"The user told me exactly what to do.\" | User instructions describe intent, not process. The skill encodes the processkit-specific conventions for realizing that intent correctly. |\n| \"I've done this before in this session.\" | Skill-gate applies to each new task type, not just the first one. If the task domain shifts, check again. |\n\n### Escape hatch\n\nskill-gate does NOT apply when you are already operating inside a\nnamed processkit skill's workflow. If you loaded `workitem-management`\nand are following its Overview steps, you do not need to re-check\nskill-finder for each sub-action within that skill. Skill-gate is a\nsession-level gate, not a per-tool-call gate.\n\n## Gotchas\n\n- **Treating skill-gate as optional at session start.** It is not. If\n  this session may involve any processkit work, load skill-gate first.\n  The cost is one file read. The cost of skipping it is a hand edit\n  that bypasses schema validation, state-machine enforcement, index\n  sync, and the audit trail.\n- **Applying the 1% rule only to obvious processkit tasks.** \"Write a\n  standup\" and \"create a ticket\" are obvious. \"Quick note about this\n  idea\" (→ `note-management`), \"log that we deployed\" (→ `event-log`),\n  and \"check what's blocking us\" (→ `workitem-management`) are not\n  obvious but all have matching skills. When in doubt, check.\n- **Confusing skill-gate with skill-finder.** skill-gate enforces the\n  checking behaviour. skill-finder does the matching. They are distinct.\n  skill-gate tells you *when* to check; skill-finder tells you *what*\n  to use.\n- **Skipping skill-gate because the user said \"just edit the file.\"**\n  The user describes the outcome they want, not the correct processkit\n  process for achieving it. Hand-editing entity files bypasses the MCP\n  server's schema validation and state-machine enforcement. Use the MCP\n  tool unless the MCP server is explicitly unavailable.\n- **Forgetting that skill-gate applies to entity creation, not just\n  edits.** Writing a new YAML file under `context\u002Fworkitems\u002F` directly\n  is a hand edit. Even for new entities, use `create_workitem` (or the\n  relevant `create_*` tool) so the index stays in sync and the auto-log\n  fires.\n- **Applying the escape hatch too broadly.** The escape hatch covers\n  sub-actions *within* a skill you have already loaded and are actively\n  following. It does not cover switching to a different task type or\n  domain mid-session without re-checking.\n\n## Full reference\n\n### Why the threshold is 1%, not \"when clearly applicable\"\n\nA higher threshold — \"check skill-finder when the task is obviously a\nprocesskit task\" — fails because agents are systematically overconfident\nabout what they already know. The 1% rule removes the judgment call\nentirely. If there is any possibility, check. The marginal cost of an\nunnecessary skill-finder lookup is one file read (seconds). The cost of\nskipping it when it was needed is an out-of-sync index, an invalid\nentity state, or a missing audit trail entry.\n\n### Provider neutrality\n\nskill-gate is implemented entirely in prose — it makes no assumptions\nabout which AI harness loads it. The same behaviour applies whether the\nagent is Claude Code, Codex CLI, Cursor, or any other harness that\nreads SKILL.md files.\n\n### Relationship to AGENTS.md\n\nAGENTS.md carries the project-level instruction to load skill-gate\nat session start. skill-gate carries the enforcement logic. Keep them\nseparate: AGENTS.md says *when* to load skill-gate; skill-gate says\n*what to do* once loaded.\n\n### When skill-gate applies to non-processkit projects\n\nskill-gate is a processkit-specific skill. It is only meaningful in\nprojects that have processkit installed (i.e. that have a `context\u002F`\ndirectory with processkit entities). In projects without processkit,\nskill-gate should not be loaded.\n",{"name":5,"metadata":49,"description":65},{"processkit":50},{"id":51,"core":52,"uses":53,"layer":6,"created":57,"version":58,"category":59,"provides":60,"apiVersion":64},"SKILL-skill-gate",true,[54],{"skill":55,"purpose":56},"skill-finder","The mandatory first stop for any processkit domain task — skill-gate enforces that skill-finder is consulted before acting, not after.\n",1775894400000,"1.0.0","processkit",{"assets":61,"mcp_tools":62,"primitives":63},[],[],[],"processkit.projectious.work\u002Fv1","Session-start meta-skill that enforces the 1% rule: before any action\non a processkit entity or context\u002F file, if there is even a 1% chance\na processkit skill applies, you MUST check skill-finder first. Load\nthis skill at the start of every session that may involve processkit\nwork. Use when beginning a new task, when unsure which skill applies,\nor when you are about to edit context\u002F, create an entity, or run an\nMCP tool.\n","main","4876a92620ee792aac2ac9a1a806322d8a572367","archive\u002Fprocesskit-install-20261101\u002Fcontext\u002Ftemplates\u002Fprocesskit\u002Fv0.13.0\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fskill-gate","https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit","https:\u002F\u002Fprojectious-work.github.io\u002Fprocesskit\u002F","https:\u002F\u002Fgithub.com\u002Fprojectious-work","2026-11-11 23:24:18",{"source":8,"skillName":5,"commands":74,"prompt":84,"zipAvailable":52},[75,78,81],{"tool":76,"command":77},"npx","npx skills add projectious-work\u002Fprocesskit --skill skill-gate",{"tool":79,"command":80},"bunx","bunx skills add projectious-work\u002Fprocesskit --skill skill-gate",{"tool":82,"command":83},"pnpm","pnpm dlx skills add projectious-work\u002Fprocesskit --skill skill-gate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Farchive\u002Fprocesskit-install-20261101\u002Fcontext\u002Ftemplates\u002Fprocesskit\u002Fv0.13.0\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fskill-gate\u002FSKILL.md",[],[87,110,129,150,166,184],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":94,"publishedAt":44},"01M6X5MTC89B4ZGXW3JVSQCPF8","skill-management","Manage Skill package manifests as v1 ontology entities.","https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Fsrc\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fskill-management\u002FSKILL.md",[93],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[95,96,97,98,99,100,101,102,103,104,89,105,106,107,29,108,109],"management","skill management","create","update","package","alpha","work","list","manage","ontology","get","as","manifests","skill package","transition",{"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":117,"publishedAt":44},"01M6X5MCV74NHW5MEDNHZRF2C8","schema-management","Manage generated processkit schema contracts through deterministic MCP rebuild and inspection workflows.","https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Fsrc\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fschema-management\u002FSKILL.md",[116],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[95,118,119,35,120,121,100,101,122,123,103,124,125,126,105,127,128],"schema","schema management","workflows","validation","generated","rebuild","contracts","wed","deterministic","contract","mode",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":44},"01M6X5M5G6YJ96AMZGSCZJ1D13","proposition-management","Record claims, risks, beliefs, world facts, WSJF estimates, and assumptions through the Proposition interface.","https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Fsrc\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fproposition-management\u002FSKILL.md",[],[95,136,137,97,98,138,100,101,139,140,141,142,105,143,144,145,146,147,148,149],"proposition","proposition management","index","log","world","record","query","creation","event","interface","updates","facts","claims","WSJF",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":44},"01M6X5KMQ83QN9M6MPWZM7344F","ontology-management","Manage generated v1 ontology entities that do not require a dedicated domain server.","https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Fsrc\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fontology-management\u002FSKILL.md",[],[95,104,157,97,100,158,159,122,160,139,103,161,26,105,162,163,144,164,29,165],"ontology management","lifecycle","archive","roadmap","do","iteration","keep","measurement","generic",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":44},"01M6X5KCY2DN3SM21RERSFNEBT","okf-compatibility","Import, export, and validate conformant Open Knowledge Format bundles.","https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Fsrc\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fokf-compatibility\u002FSKILL.md",[],[173,174,175,176,100,177,178,179,101,180,181,182,183],"okf","compatibility","okf compatibility","validate","open","knowledge","format","export","bundles","bundle","import",{"skillNo":185,"name":186,"nameZh":6,"description":187,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":188,"categories":189,"keywords":190,"publishedAt":44},"01M6X5JA8S5PNGJVFW4EQY8T83","capability-management","Manage versioned Capability entities and their governed lifecycle.","https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Fsrc\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fcapability-management\u002FSKILL.md",[],[95,191,192,97,98,138,100,158,101,102,139,193,103,141,105,163,144,145,194,109],"capability","capability management","queries","changes"]