[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6X4F7SP67C0T28EGH1FTZVT":3,"skill-same:01M6X4F7SP67C0T28EGH1FTZVT":88},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":14,"repositoryHtmlUrl":64,"repositoryHomepageUrl":65,"ownerHtmlUrl":66,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":67,"install":68,"resources":81},"01M6X4F7SP67C0T28EGH1FTZVT","category-management",null,"Manage Category entities — taxonomies and classification schemes that group other entities by type, area, tier, etc. Use when defining a new classification axis (priority levels, bug severity, feature tier, product area) that other entities will be tagged with.","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.8.0\u002Fcontext\u002Fskills\u002Fcategory-management\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"category management","management","feature","when","audit trail","taxonomies","v1","with","event","keep","type","product","manage","log","use","process","work","classification","severity","audit","2026-11-10 10:12:30",false,"---\nname: category-management\ndescription: |\n  Manage Category entities — taxonomies and classification schemes that group other entities by type, area, tier, etc. Use when defining a new classification axis (priority levels, bug severity, feature tier, product area) that other entities will be tagged with.\nmetadata:\n  processkit:\n    apiVersion: processkit.projectious.work\u002Fv1\n    id: SKILL-category-management\n    version: \"1.0.0\"\n    created: 2026-04-06T00:00:00Z\n    category: process\n    layer: 2\n    uses:\n      - skill: event-log\n        purpose: Log events to keep the audit trail accurate after every write.\n    provides:\n      primitives: [Category]\n      templates: [category]\n---\n\n# Category Management\n\n## Intro\n\nA Category is a named classification — a list of possible values for a\nlabeling axis. Examples: priority (critical\u002Fhigh\u002Fmedium\u002Flow), bug severity\n(sev1\u002Fsev2\u002Fsev3), feature tier (core\u002Fenhancement\u002Fexperiment), product area\n(frontend\u002Fbackend\u002Finfra).\n\n## Overview\n\n### When to create a Category\n\nCreate a Category when:\n- A labeling axis is used across many entities\n- The values are constrained to a specific set\n- The set is worth documenting (meanings, SLAs per value)\n\nDon't create a Category for one-off tags or freeform labels.\n\n### Shape\n\n```yaml\n---\napiVersion: processkit.projectious.work\u002Fv1\nkind: Category\nmetadata:\n  id: CAT-priority\n  created: 2026-04-06T00:00:00Z\nspec:\n  name: priority\n  description: \"Business priority for work items.\"\n  axis: priority\n  values:\n    - name: critical\n      description: \"Drop everything. Affects production or blocks a release.\"\n    - name: high\n      description: \"Top of the queue. Assigned this sprint.\"\n    - name: medium\n      description: \"Important but schedulable.\"\n    - name: low\n      description: \"Nice to have. Pick up when capacity allows.\"\n  applies_to: [WorkItem]\n---\n```\n\n### Using a category\n\nEntities tag themselves via `metadata.labels.\u003Caxis>: \u003Cvalue>` or\n`spec.\u003Caxis>: \u003Cvalue>`. The index MCP server validates that the value is\none of the category's defined values.\n\n### Workflow\n\n1. Pick `CAT-\u003Caxis>` where axis is the labeling dimension.\n2. List `values` with clear, non-overlapping definitions.\n3. Declare which primitive `kinds` this category `applies_to`.\n4. Save to `context\u002Fcategories\u002F`.\n5. When you add a new value, write a `category.value_added` LogEntry so\n   the change is traceable.\n\n## Gotchas\n\nAgent-specific failure modes — provider-neutral pause-and-self-check items:\n\n- **Creating a Category when an enum field would suffice.** If the\n  values are fixed and known at design time (e.g., `priority:\n  low|medium|high|critical`), put them in the entity's schema\n  enum, not in a Category entity. Categories are for taxonomies\n  the project actively curates.\n- **Inventing a new Category when an existing one fits.** Always\n  list existing categories first via `list_categories`. Two\n  Categories with overlapping meaning (\"severity\" and \"priority\"\n  both used for bugs) is a maintenance trap.\n- **Categories with overlapping meaning.** If two Categories cover\n  the same axis from different angles, merge them or pick one as\n  canonical. Overlap silently splits the same data into different\n  buckets and breaks reports.\n- **Forgetting to mark a Category as deprecated when superseded.**\n  Don't just stop using a Category and leave it in the catalog —\n  set its state to deprecated so future queries don't surface it\n  as a current option.\n- **Adding categories without examples.** A Category like \"Tier 1\"\n  with no description of what qualifies is an empty bucket. Each\n  Category value should ship with at least one example so future\n  agents apply it consistently.\n- **Treating Category as a tag.** Categories are structured\n  taxonomies the project curates. Free-form tags belong in\n  `metadata.tags` on the consuming entity, not in a Category\n  entity.\n- **Creating a Category for one-off use.** If the Category will be\n  applied to a single entity and never reused, it's not a\n  Category — it's just metadata on that entity.\n\n## Full reference\n\n### Fields\n\n| Field         | Type           | Notes                                                  |\n|---------------|----------------|--------------------------------------------------------|\n| `name`        | string         | Category name                                          |\n| `description` | string         | What this axis categorizes                             |\n| `axis`        | string         | The label key used on entities (e.g. `priority`)       |\n| `values`      | list[object]   | `{name, description, optional metadata}`               |\n| `applies_to`  | list[string]   | Primitive kinds this category applies to               |\n| `default`     | string         | Optional. Default value if unspecified.                |\n| `multi`       | bool           | Can an entity have multiple values? Default false.     |\n\n### Hierarchical categories\n\nA category value may have its own `children` for nested taxonomies:\n\n```yaml\nvalues:\n  - name: backend\n    children:\n      - name: backend-api\n      - name: backend-db\n      - name: backend-queue\n  - name: frontend\n    children:\n      - name: frontend-web\n      - name: frontend-mobile\n```\n\nThe validator accepts any leaf or any intermediate name.\n\n### Retiring a value\n\nSet `deprecated: true` on a value rather than removing it — existing entities\nstill reference it, and removing it would invalidate them.\n\n### Categories vs Labels vs Roles\n\n- **Category**: defined set of values for a classification axis.\n- **Labels**: freeform key\u002Fvalue tags. No schema.\n- **Roles**: named sets of responsibilities actors fill.\n\nCategories are for closed sets. If the set is open and changes often, use\nlabels. If it's about who does things, it's a role.\n","# Category Management\n\n## Intro\n\nA Category is a named classification — a list of possible values for a\nlabeling axis. Examples: priority (critical\u002Fhigh\u002Fmedium\u002Flow), bug severity\n(sev1\u002Fsev2\u002Fsev3), feature tier (core\u002Fenhancement\u002Fexperiment), product area\n(frontend\u002Fbackend\u002Finfra).\n\n## Overview\n\n### When to create a Category\n\nCreate a Category when:\n- A labeling axis is used across many entities\n- The values are constrained to a specific set\n- The set is worth documenting (meanings, SLAs per value)\n\nDon't create a Category for one-off tags or freeform labels.\n\n### Shape\n\n```yaml\n---\napiVersion: processkit.projectious.work\u002Fv1\nkind: Category\nmetadata:\n  id: CAT-priority\n  created: 2026-04-06T00:00:00Z\nspec:\n  name: priority\n  description: \"Business priority for work items.\"\n  axis: priority\n  values:\n    - name: critical\n      description: \"Drop everything. Affects production or blocks a release.\"\n    - name: high\n      description: \"Top of the queue. Assigned this sprint.\"\n    - name: medium\n      description: \"Important but schedulable.\"\n    - name: low\n      description: \"Nice to have. Pick up when capacity allows.\"\n  applies_to: [WorkItem]\n---\n```\n\n### Using a category\n\nEntities tag themselves via `metadata.labels.\u003Caxis>: \u003Cvalue>` or\n`spec.\u003Caxis>: \u003Cvalue>`. The index MCP server validates that the value is\none of the category's defined values.\n\n### Workflow\n\n1. Pick `CAT-\u003Caxis>` where axis is the labeling dimension.\n2. List `values` with clear, non-overlapping definitions.\n3. Declare which primitive `kinds` this category `applies_to`.\n4. Save to `context\u002Fcategories\u002F`.\n5. When you add a new value, write a `category.value_added` LogEntry so\n   the change is traceable.\n\n## Gotchas\n\nAgent-specific failure modes — provider-neutral pause-and-self-check items:\n\n- **Creating a Category when an enum field would suffice.** If the\n  values are fixed and known at design time (e.g., `priority:\n  low|medium|high|critical`), put them in the entity's schema\n  enum, not in a Category entity. Categories are for taxonomies\n  the project actively curates.\n- **Inventing a new Category when an existing one fits.** Always\n  list existing categories first via `list_categories`. Two\n  Categories with overlapping meaning (\"severity\" and \"priority\"\n  both used for bugs) is a maintenance trap.\n- **Categories with overlapping meaning.** If two Categories cover\n  the same axis from different angles, merge them or pick one as\n  canonical. Overlap silently splits the same data into different\n  buckets and breaks reports.\n- **Forgetting to mark a Category as deprecated when superseded.**\n  Don't just stop using a Category and leave it in the catalog —\n  set its state to deprecated so future queries don't surface it\n  as a current option.\n- **Adding categories without examples.** A Category like \"Tier 1\"\n  with no description of what qualifies is an empty bucket. Each\n  Category value should ship with at least one example so future\n  agents apply it consistently.\n- **Treating Category as a tag.** Categories are structured\n  taxonomies the project curates. Free-form tags belong in\n  `metadata.tags` on the consuming entity, not in a Category\n  entity.\n- **Creating a Category for one-off use.** If the Category will be\n  applied to a single entity and never reused, it's not a\n  Category — it's just metadata on that entity.\n\n## Full reference\n\n### Fields\n\n| Field         | Type           | Notes                                                  |\n|---------------|----------------|--------------------------------------------------------|\n| `name`        | string         | Category name                                          |\n| `description` | string         | What this axis categorizes                             |\n| `axis`        | string         | The label key used on entities (e.g. `priority`)       |\n| `values`      | list[object]   | `{name, description, optional metadata}`               |\n| `applies_to`  | list[string]   | Primitive kinds this category applies to               |\n| `default`     | string         | Optional. Default value if unspecified.                |\n| `multi`       | bool           | Can an entity have multiple values? Default false.     |\n\n### Hierarchical categories\n\nA category value may have its own `children` for nested taxonomies:\n\n```yaml\nvalues:\n  - name: backend\n    children:\n      - name: backend-api\n      - name: backend-db\n      - name: backend-queue\n  - name: frontend\n    children:\n      - name: frontend-web\n      - name: frontend-mobile\n```\n\nThe validator accepts any leaf or any intermediate name.\n\n### Retiring a value\n\nSet `deprecated: true` on a value rather than removing it — existing entities\nstill reference it, and removing it would invalidate them.\n\n### Categories vs Labels vs Roles\n\n- **Category**: defined set of values for a classification axis.\n- **Labels**: freeform key\u002Fvalue tags. No schema.\n- **Roles**: named sets of responsibilities actors fill.\n\nCategories are for closed sets. If the set is open and changes often, use\nlabels. If it's about who does things, it's a role.\n",{"name":5,"metadata":44,"description":60},{"processkit":45},{"id":46,"uses":47,"layer":51,"created":52,"version":53,"category":34,"provides":54,"apiVersion":59},"SKILL-category-management",[48],{"skill":49,"purpose":50},"event-log","Log events to keep the audit trail accurate after every write.",2,1775433600000,"1.0.0",{"templates":55,"primitives":57},[56],"category",[58],"Category","processkit.projectious.work\u002Fv1","Manage Category entities — taxonomies and classification schemes that group other entities by type, area, tier, etc. Use when defining a new classification axis (priority levels, bug severity, feature tier, product area) that other entities will be tagged with.\n","main","4876a92620ee792aac2ac9a1a806322d8a572367","archive\u002Fprocesskit-install-20261101\u002Fcontext\u002Ftemplates\u002Fprocesskit\u002Fv0.8.0\u002Fcontext\u002Fskills\u002Fcategory-management","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":69,"prompt":79,"zipAvailable":80},[70,73,76],{"tool":71,"command":72},"npx","npx skills add projectious-work\u002Fprocesskit --skill category-management",{"tool":74,"command":75},"bunx","bunx skills add projectious-work\u002Fprocesskit --skill category-management",{"tool":77,"command":78},"pnpm","pnpm dlx skills add projectious-work\u002Fprocesskit --skill category-management","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Farchive\u002Fprocesskit-install-20261101\u002Fcontext\u002Ftemplates\u002Fprocesskit\u002Fv0.8.0\u002Fcontext\u002Fskills\u002Fcategory-management\u002FSKILL.md",true,[82],{"path":83,"resourceType":84,"resourceTypeDesc":85,"sizeBytes":86,"sourceHtmlUrl":87},"assets\u002Fcategory.yaml","ASSET","资产文件",258,"https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Farchive\u002Fprocesskit-install-20261101\u002Fcontext\u002Ftemplates\u002Fprocesskit\u002Fv0.8.0\u002Fcontext\u002Fskills\u002Fcategory-management\u002Fassets\u002Fcategory.yaml",[89,113,133,152,168,186],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":100,"publishedAt":39},"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",[95],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[20,101,102,103,104,105,35,106,31,107,91,108,109,110,25,111,112],"skill management","create","update","package","alpha","list","ontology","get","as","manifests","skill package","transition",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":120,"publishedAt":39},"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",[119],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[20,121,122,123,124,125,105,35,126,127,31,128,129,130,108,131,132],"schema","schema management","MCP","workflows","validation","generated","rebuild","contracts","wed","deterministic","contract","mode",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":39},"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",[],[20,140,141,102,103,142,105,35,32,143,144,145,108,146,27,147,148,149,150,151],"proposition","proposition management","index","world","record","query","creation","interface","updates","facts","claims","WSJF",{"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":158,"publishedAt":39},"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",[],[20,107,159,102,105,160,161,126,162,32,31,163,164,108,165,28,27,166,25,167],"ontology management","lifecycle","archive","roadmap","do","domain","iteration","measurement","generic",{"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":39},"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",[],[175,176,177,178,105,179,180,181,35,182,183,184,185],"okf","compatibility","okf compatibility","validate","open","knowledge","format","export","bundles","bundle","import",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":192,"publishedAt":39},"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",[],[20,193,194,102,103,142,105,160,35,106,32,195,31,144,108,28,27,147,196,112],"capability","capability management","queries","changes"]