[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6WWJ5SGP6GPC9HFZDDPB65N":3,"skill-same:01M6WWJ5SGP6GPC9HFZDDPB65N":104},{"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":73,"commitSha":74,"skillDirectory":75,"forksCount":14,"repositoryHtmlUrl":76,"repositoryHomepageUrl":77,"ownerHtmlUrl":78,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":79,"install":80,"resources":93},"01M6WWJ5SGP6GPC9HFZDDPB65N","context-archiving",null,"Plan and execute hot-to-cold processkit context archiving while keeping archived entity metadata queryable through the shared index.","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\u002Fskills\u002Fprocesskit\u002Fcontext-archiving\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],"context archiving","context","log","when","describe","plan and execute","event","cold","shared","query","record","policy","payload","write","work","archive","plan","execution","index","create","2026-11-10 10:12:30",false,"---\nname: context-archiving\ndescription: >\n  Plan and execute hot-to-cold processkit context archiving while keeping\n  archived entity metadata queryable through the shared index.\nmetadata:\n  processkit:\n    apiVersion: processkit.projectious.work\u002Fv2\n    id: SKILL-context-archiving\n    version: \"0.2.0\"\n    created: 2026-04-30T00:00:00Z\n    category: processkit\n    layer: 2\n    uses:\n      - skill: index-management\n        purpose: Query entity metadata before selecting archive candidates.\n      - skill: event-log\n        purpose: Record archive execution events when the write path exists.\n    provides:\n      primitives: []\n      mcp_tools:\n        - describe_archive_policy\n        - plan_archive\n        - create_archive\n        - extract_archive_payload\n      assets: []\n---\n\n# Context Archiving\n\n## Intro\n\n`context-archiving` manages the cold tier of processkit context. It identifies\nstable archive candidates, packages their Markdown payloads into cold storage,\nremoves the hot files, and leaves metadata discoverable through\n`index-management`.\n\n## Overview\n\nUse this skill when context size is becoming expensive, old completed work is\nrarely read, or log\u002Fevent payloads need to move from the hot tree into a cold\narchive while metadata remains queryable.\n\nThe cold-tier target shape is:\n\n1. Select stable entities by kind, state, and age.\n2. Package payload files into a content-addressed `tar.gz` archive.\n3. Keep index rows queryable with `storage_location` pointing at the archive.\n4. Extract full payloads on demand for historical queries.\n\nVersion `0.2.0` implements this shape with a dry-run-first archive writer and\nexplicit payload extraction tool.\n\n### MCP Tools\n\n| Tool | Purpose |\n|---|---|\n| `describe_archive_policy()` | Return the default hot\u002Fwarm\u002Fcold policy. |\n| `plan_archive(kind, state, older_than_days)` | Return candidate entities from the live index. |\n| `create_archive(kind, state, older_than_days, limit, dry_run)` | Write a `tar.gz` archive plus manifest, remove hot files, reindex, and log the archive event. Defaults to dry-run. |\n| `extract_archive_payload(entity_id)` | Resolve an archived entity and return its full Markdown payload from cold storage. |\n\n### Default Policy\n\n- WorkItems: archive terminal states after 30 days.\n- DecisionRecords: keep accepted\u002Fsuperseded decisions hot for 90 days.\n- LogEntries: shard by month; archive payload shards after 90 days.\n- Migrations: archive applied or rejected history after 30 days.\n- Never archive active, proposed, blocked, or in-progress entities.\n- Never archive files under `context\u002Ftemplates\u002F`.\n\n## Gotchas\n\n- **Do not move entity files by hand.** The index must keep metadata queryable\n  after archiving, so any write path has to update `storage_location`\n  transactionally.\n- **Do not archive active state.** Backlog, in-progress, blocked, proposed, and\n  active entities belong in the hot tier.\n- **Treat logs as append-only.** A cold log shard can be packaged, but its event\n  identity and timestamp metadata must remain queryable forever.\n- **Do not trust filesystem age alone.** Use entity metadata timestamps and state\n  from the index; git checkout times are not archival age.\n- **Keep extraction explicit.** A historical query may need full payload text,\n  but routine status and routing queries should stay metadata-only.\n\n## Full reference\n\n`create_archive()` writes two files under `context\u002Farchives\u002FYYYY\u002FMM\u002F`: a\ncompressed tar payload and a JSON manifest. The manifest keeps entity metadata,\nthe original hot-tree path, the tar member path, a SHA-256 digest of each\npayload, and the `storage_location` used by `index-management`.\n\nAfter writing the manifest, the tool removes the archived hot files, rebuilds\nthe index, and records a `context_archive.created` event. `dry_run=True` is the\ndefault and returns the exact candidate set without moving files.\n\nArchived entities remain visible through normal index lookups. Use\n`extract_archive_payload(entity_id)` only when the full historical Markdown is\nneeded.\n","# Context Archiving\n\n## Intro\n\n`context-archiving` manages the cold tier of processkit context. It identifies\nstable archive candidates, packages their Markdown payloads into cold storage,\nremoves the hot files, and leaves metadata discoverable through\n`index-management`.\n\n## Overview\n\nUse this skill when context size is becoming expensive, old completed work is\nrarely read, or log\u002Fevent payloads need to move from the hot tree into a cold\narchive while metadata remains queryable.\n\nThe cold-tier target shape is:\n\n1. Select stable entities by kind, state, and age.\n2. Package payload files into a content-addressed `tar.gz` archive.\n3. Keep index rows queryable with `storage_location` pointing at the archive.\n4. Extract full payloads on demand for historical queries.\n\nVersion `0.2.0` implements this shape with a dry-run-first archive writer and\nexplicit payload extraction tool.\n\n### MCP Tools\n\n| Tool | Purpose |\n|---|---|\n| `describe_archive_policy()` | Return the default hot\u002Fwarm\u002Fcold policy. |\n| `plan_archive(kind, state, older_than_days)` | Return candidate entities from the live index. |\n| `create_archive(kind, state, older_than_days, limit, dry_run)` | Write a `tar.gz` archive plus manifest, remove hot files, reindex, and log the archive event. Defaults to dry-run. |\n| `extract_archive_payload(entity_id)` | Resolve an archived entity and return its full Markdown payload from cold storage. |\n\n### Default Policy\n\n- WorkItems: archive terminal states after 30 days.\n- DecisionRecords: keep accepted\u002Fsuperseded decisions hot for 90 days.\n- LogEntries: shard by month; archive payload shards after 90 days.\n- Migrations: archive applied or rejected history after 30 days.\n- Never archive active, proposed, blocked, or in-progress entities.\n- Never archive files under `context\u002Ftemplates\u002F`.\n\n## Gotchas\n\n- **Do not move entity files by hand.** The index must keep metadata queryable\n  after archiving, so any write path has to update `storage_location`\n  transactionally.\n- **Do not archive active state.** Backlog, in-progress, blocked, proposed, and\n  active entities belong in the hot tier.\n- **Treat logs as append-only.** A cold log shard can be packaged, but its event\n  identity and timestamp metadata must remain queryable forever.\n- **Do not trust filesystem age alone.** Use entity metadata timestamps and state\n  from the index; git checkout times are not archival age.\n- **Keep extraction explicit.** A historical query may need full payload text,\n  but routine status and routing queries should stay metadata-only.\n\n## Full reference\n\n`create_archive()` writes two files under `context\u002Farchives\u002FYYYY\u002FMM\u002F`: a\ncompressed tar payload and a JSON manifest. The manifest keeps entity metadata,\nthe original hot-tree path, the tar member path, a SHA-256 digest of each\npayload, and the `storage_location` used by `index-management`.\n\nAfter writing the manifest, the tool removes the archived hot files, rebuilds\nthe index, and records a `context_archive.created` event. `dry_run=True` is the\ndefault and returns the exact candidate set without moving files.\n\nArchived entities remain visible through normal index lookups. Use\n`extract_archive_payload(entity_id)` only when the full historical Markdown is\nneeded.\n",{"name":5,"metadata":49,"description":72},{"processkit":50},{"id":51,"uses":52,"layer":59,"created":60,"version":61,"category":62,"provides":63,"apiVersion":71},"SKILL-context-archiving",[53,56],{"skill":54,"purpose":55},"index-management","Query entity metadata before selecting archive candidates.",{"skill":57,"purpose":58},"event-log","Record archive execution events when the write path exists.",2,1777507200000,"0.2.0","processkit",{"assets":64,"mcp_tools":65,"primitives":70},[],[66,67,68,69],"describe_archive_policy","plan_archive","create_archive","extract_archive_payload",[],"processkit.projectious.work\u002Fv2","Plan and execute hot-to-cold processkit context archiving while keeping archived entity metadata queryable through the shared index.\n","main","4876a92620ee792aac2ac9a1a806322d8a572367","archive\u002Fprocesskit-install-20261101\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fcontext-archiving","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":81,"prompt":91,"zipAvailable":92},[82,85,88],{"tool":83,"command":84},"npx","npx skills add projectious-work\u002Fprocesskit --skill context-archiving",{"tool":86,"command":87},"bunx","bunx skills add projectious-work\u002Fprocesskit --skill context-archiving",{"tool":89,"command":90},"pnpm","pnpm dlx skills add projectious-work\u002Fprocesskit --skill context-archiving","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Farchive\u002Fprocesskit-install-20261101\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fcontext-archiving\u002FSKILL.md",true,[94,100],{"path":95,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":98,"sourceHtmlUrl":99},"mcp\u002Fserver.py","SCRIPT","脚本",11856,"https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Farchive\u002Fprocesskit-install-20261101\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fcontext-archiving\u002Fmcp\u002Fserver.py",{"path":101,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":102,"sourceHtmlUrl":103},"scripts\u002Ftest_context_archiving.py",6033,"https:\u002F\u002Fgithub.com\u002Fprojectious-work\u002Fprocesskit\u002Fblob\u002Fmain\u002Farchive\u002Fprocesskit-install-20261101\u002Fcontext\u002Fskills\u002Fprocesskit\u002Fcontext-archiving\u002Fscripts\u002Ftest_context_archiving.py",[105,127,147,163,179,197],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":112,"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",[111],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[113,114,43,115,116,117,38,118,119,120,107,121,122,123,124,125,126],"management","skill management","update","package","alpha","list","manage","ontology","get","as","manifests","v1","skill package","transition",{"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":134,"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",[133],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[113,135,136,137,138,139,117,38,140,141,119,142,143,144,121,145,146],"schema","schema management","MCP","workflows","validation","generated","rebuild","contracts","wed","deterministic","contract","mode",{"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":153,"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",[],[113,154,155,43,115,42,117,38,26,156,34,33,121,157,30,158,159,160,161,162],"proposition","proposition management","world","creation","interface","updates","facts","claims","WSJF",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":169,"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",[],[113,120,170,43,117,171,39,140,172,26,119,173,174,121,175,176,30,177,124,178],"ontology management","lifecycle","roadmap","do","domain","iteration","keep","measurement","generic",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":185,"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",[],[186,187,188,189,117,190,191,192,38,193,194,195,196],"okf","compatibility","okf compatibility","validate","open","knowledge","format","export","bundles","bundle","import",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":203,"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",[],[113,204,205,43,115,42,117,171,38,118,26,206,119,34,121,176,30,158,207,126],"capability","capability management","queries","changes"]