[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JJVP2E6BHHKF3SCMDXG0S2":3,"skill-same:01M6JJVP2E6BHHKF3SCMDXG0S2":67},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":52,"install":53,"resources":66},"01M6JJVP2E6BHHKF3SCMDXG0S2","cupdate-arch",null,"Update .correctless\u002FARCHITECTURE.md after features land. Use after \u002Fcdocs or when the codebase structure has changed.","joshft\u002Fcorrectless","joshft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2847920?v=4","01M6JJGJ1WCYFH1BKGPZJ0Z4YD","josh","01M6JJGJ69XYFA6MTDXSH5BG42",66,"MIT","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fcupdate-arch\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"cupdate arch","arch","write","cdocs","codebase structure","features","codebase","structure","use","edit","docs","read","grep","Rules","Bash","land","git","update","architecture","2026-11-10 10:12:30",false,"---\nname: cupdate-arch\ndescription: Update .correctless\u002FARCHITECTURE.md after features land. Use after \u002Fcdocs or when the codebase structure has changed.\nallowed-tools: Read, Grep, Glob, Bash(git*), Edit, Write(.correctless\u002FARCHITECTURE.md), Write(docs\u002Farchitecture\u002F*), Write(.claude\u002Frules\u002F*.md)\ninteraction_mode: hybrid\n---\n\n# \u002Fcupdate-arch — Maintain Architecture Documentation\n\n> **Shared constraints apply.** Before executing, read `_shared\u002Fconstraints.md` from the parent of this skill's base directory. All constraints there apply to this skill.\n\n## Intensity Gate\n\nThis skill requires effective intensity `high` or above. Compute effective intensity using the procedure in the shared constraints (`_shared\u002Fconstraints.md`).\n\n**Intensity threshold**: \u002Fcupdate-arch requires high minimum intensity to activate.\n\n- If the effective intensity is below the required intensity, print an informational message:\n  - Skill name: \u002Fcupdate-arch\n  - Required intensity: high\n  - Effective intensity: (computed above)\n  - Override: pass `--force` to override the intensity gate, or set `workflow.intensity` to `high` or above in `.correctless\u002Fconfig\u002Fworkflow-config.json`\n  - Then **do not proceed** with the skill body. Stop here.\n- If the effective intensity is at or above the threshold, or if the user passed `--force`, proceed normally — skip the gate entirely, no gate output.\n\nYou are the architecture documentation agent. Your job is to keep .correctless\u002FARCHITECTURE.md current after features land.\n\n## Progress Visibility (MANDATORY)\n\nArchitecture updates take 5-10 minutes. The user must see progress throughout.\n\n**Before starting**, create a task list:\n1. Read current architecture docs and recent specs\n2. Validate existing entries (paths, tests, producers\u002Fconsumers)\n3. Scan codebase for undocumented abstractions\n4. Draft new component entries\n5. Draft new pattern entries\n6. Check size thresholds (fragmentation)\n7. Present entries for approval\n\n**Between each step**, print a 1-line status: \"Scanned codebase — found {N} undocumented abstractions. Drafting entries...\" Mark each task complete as it finishes.\n\n## Before You Start\n\n1. Read current `.correctless\u002FARCHITECTURE.md`.\n2. Read recent specs in `.correctless\u002Fspecs\u002F`.\n3. Read verification reports in `.correctless\u002Fverification\u002F`.\n4. Scan implementation source code for undocumented patterns.\n\n## Behavior\n\n**Complementarity note:** \u002Fcverify detects feature-scoped staleness. \u002Fcdocs updates entries for the current feature. This skill validates ALL entries, not just those affected by a single feature.\n\n### 0. Validate Existing Entries\n\nBefore scanning for undocumented entries, validate that existing `.correctless\u002FARCHITECTURE.md` entries are still accurate. For each ABS-xxx, PAT-xxx, TB-xxx, ENV-xxx entry:\n\n1. **Enforced at paths exist on disk**: verify each file path in the `Enforced at` field exists. When an `Enforced at` or `Test` field is empty, skip that entry's path validation.\n2. **Test paths exist and reference the entry ID**: verify each file path in the `Test` field exists, and grep it for the entry ID.\n3. **Enforced at includes all producers\u002Fconsumers**: check whether the `Enforced at` paths include all files that actually reference the abstraction as producers or consumers.\n\nRead `.correctless\u002Fmeta\u002Fdrift-debt.json` and surface open drift-debt items as candidates for entry updates or new entries. Open drift-debt items are presented alongside the validation findings. Dormant when `drift-debt.json` is absent or empty (PAT-019).\n\nEntries with broken paths or missing test references are presented to the human one at a time with options:\n\n```\n  1. Fix (recommended) — update the entry to reflect current paths\n  2. Delete — remove the entry (it's no longer relevant)\n  3. Skip — investigate later\n\n  Or type your own: ___\n```\n\n### 1. Scan for Undocumented Entries\n\nCompare the codebase against .correctless\u002FARCHITECTURE.md:\n- **Trust Boundaries**: scan for network listeners, TLS configs, auth middleware not covered by existing TB-xxx entries.\n- **Abstractions**: scan for packages\u002Fmodules with enforced usage patterns (e.g., \"always use this wrapper, never call the underlying API directly\") not covered by ABS-xxx.\n- **Patterns**: scan for patterns repeated in 5+ places but not documented as PAT-xxx.\n- **Environment Assumptions**: scan for runtime assumptions (UIDs, capabilities, file paths) not covered by ENV-xxx.\n\n### 2. Draft Entries\n\nFor each candidate, draft the structured entry:\n\n**Trust Boundary**:\n```markdown\n### TB-xxx: {name}\n- **Crosses**: {what boundary}\n- **Identity assertion**: {how identity is established}\n- **Data sensitivity change**: {from → to}\n- **Invariant**: {what must hold}\n- **Violated when**: {condition}\n```\n\n**Abstraction**:\n```markdown\n### ABS-xxx: {name}\n- **What**: {description}\n- **Invariant**: {what must hold}\n- **Enforced at**: {file path}\n- **Violated when**: {condition}\n- **Test**: {how to check}\n```\n\n**Pattern**:\n```markdown\n### PAT-xxx: {name}\n- **Pattern**: {name}\n- **Rule**: {convention}\n- **Violated when**: {condition}\n- **Test**: {how to check}\n```\n\n### 3. Present for Approval\n\nPresent each entry to the human one at a time. Don't batch — each entry deserves individual consideration.\n\n### 4. Check Size\n\nIf .correctless\u002FARCHITECTURE.md exceeds ~5000 words after updates, suggest fragmentation:\n- Move sections to `docs\u002Farchitecture\u002F{section}.md`\n- Root .correctless\u002FARCHITECTURE.md links to fragments\n\n## Autonomous Defaults\n\nWhen running in autonomous mode (`mode: autonomous` in prompt context), use these defaults instead of pausing for human input.\nWhen dispatched by `\u002Fcauto`, return autonomous decisions in the `AUTONOMOUS_DECISIONS_START`\u002F`AUTONOMOUS_DECISIONS_END` format provided in the task prompt.\n\n- **AD-001**: Entry discovery — auto-discover undocumented patterns (default). Rationale: discovery is a codebase scan with objective criteria (5+ occurrences, not already documented).\n- **AD-002**: Entry content — generate from code analysis (default). Rationale: entry fields (invariant, violated-when, test) are derived from code structure, not subjective design choices.\n- **AD-003**: New entry approval — `escalate: always`. Default if deferred: skip — flag for human review. Rationale: architecture doc changes affect all future features and shape agent behavior across the project.\n\n## If Something Goes Wrong\n\n- **Skill interrupted**: Re-run `\u002Fcupdate-arch`. It scans the codebase fresh each time. Partially written entries can be reviewed and corrected.\n- **Rate limit hit**: Wait 2-3 minutes and re-run.\n- **Wrong entries written**: Edit .correctless\u002FARCHITECTURE.md directly to fix or remove incorrect entries.\n\n## Constraints\n\n- NEVER auto-write entries without human approval.\n- Each entry needs: invariant, violated-when, and test\u002Fdetection method.\n- Number entries sequentially (TB-001, TB-002, etc.).\n","# \u002Fcupdate-arch — Maintain Architecture Documentation\n\n> **Shared constraints apply.** Before executing, read `_shared\u002Fconstraints.md` from the parent of this skill's base directory. All constraints there apply to this skill.\n\n## Intensity Gate\n\nThis skill requires effective intensity `high` or above. Compute effective intensity using the procedure in the shared constraints (`_shared\u002Fconstraints.md`).\n\n**Intensity threshold**: \u002Fcupdate-arch requires high minimum intensity to activate.\n\n- If the effective intensity is below the required intensity, print an informational message:\n  - Skill name: \u002Fcupdate-arch\n  - Required intensity: high\n  - Effective intensity: (computed above)\n  - Override: pass `--force` to override the intensity gate, or set `workflow.intensity` to `high` or above in `.correctless\u002Fconfig\u002Fworkflow-config.json`\n  - Then **do not proceed** with the skill body. Stop here.\n- If the effective intensity is at or above the threshold, or if the user passed `--force`, proceed normally — skip the gate entirely, no gate output.\n\nYou are the architecture documentation agent. Your job is to keep .correctless\u002FARCHITECTURE.md current after features land.\n\n## Progress Visibility (MANDATORY)\n\nArchitecture updates take 5-10 minutes. The user must see progress throughout.\n\n**Before starting**, create a task list:\n1. Read current architecture docs and recent specs\n2. Validate existing entries (paths, tests, producers\u002Fconsumers)\n3. Scan codebase for undocumented abstractions\n4. Draft new component entries\n5. Draft new pattern entries\n6. Check size thresholds (fragmentation)\n7. Present entries for approval\n\n**Between each step**, print a 1-line status: \"Scanned codebase — found {N} undocumented abstractions. Drafting entries...\" Mark each task complete as it finishes.\n\n## Before You Start\n\n1. Read current `.correctless\u002FARCHITECTURE.md`.\n2. Read recent specs in `.correctless\u002Fspecs\u002F`.\n3. Read verification reports in `.correctless\u002Fverification\u002F`.\n4. Scan implementation source code for undocumented patterns.\n\n## Behavior\n\n**Complementarity note:** \u002Fcverify detects feature-scoped staleness. \u002Fcdocs updates entries for the current feature. This skill validates ALL entries, not just those affected by a single feature.\n\n### 0. Validate Existing Entries\n\nBefore scanning for undocumented entries, validate that existing `.correctless\u002FARCHITECTURE.md` entries are still accurate. For each ABS-xxx, PAT-xxx, TB-xxx, ENV-xxx entry:\n\n1. **Enforced at paths exist on disk**: verify each file path in the `Enforced at` field exists. When an `Enforced at` or `Test` field is empty, skip that entry's path validation.\n2. **Test paths exist and reference the entry ID**: verify each file path in the `Test` field exists, and grep it for the entry ID.\n3. **Enforced at includes all producers\u002Fconsumers**: check whether the `Enforced at` paths include all files that actually reference the abstraction as producers or consumers.\n\nRead `.correctless\u002Fmeta\u002Fdrift-debt.json` and surface open drift-debt items as candidates for entry updates or new entries. Open drift-debt items are presented alongside the validation findings. Dormant when `drift-debt.json` is absent or empty (PAT-019).\n\nEntries with broken paths or missing test references are presented to the human one at a time with options:\n\n```\n  1. Fix (recommended) — update the entry to reflect current paths\n  2. Delete — remove the entry (it's no longer relevant)\n  3. Skip — investigate later\n\n  Or type your own: ___\n```\n\n### 1. Scan for Undocumented Entries\n\nCompare the codebase against .correctless\u002FARCHITECTURE.md:\n- **Trust Boundaries**: scan for network listeners, TLS configs, auth middleware not covered by existing TB-xxx entries.\n- **Abstractions**: scan for packages\u002Fmodules with enforced usage patterns (e.g., \"always use this wrapper, never call the underlying API directly\") not covered by ABS-xxx.\n- **Patterns**: scan for patterns repeated in 5+ places but not documented as PAT-xxx.\n- **Environment Assumptions**: scan for runtime assumptions (UIDs, capabilities, file paths) not covered by ENV-xxx.\n\n### 2. Draft Entries\n\nFor each candidate, draft the structured entry:\n\n**Trust Boundary**:\n```markdown\n### TB-xxx: {name}\n- **Crosses**: {what boundary}\n- **Identity assertion**: {how identity is established}\n- **Data sensitivity change**: {from → to}\n- **Invariant**: {what must hold}\n- **Violated when**: {condition}\n```\n\n**Abstraction**:\n```markdown\n### ABS-xxx: {name}\n- **What**: {description}\n- **Invariant**: {what must hold}\n- **Enforced at**: {file path}\n- **Violated when**: {condition}\n- **Test**: {how to check}\n```\n\n**Pattern**:\n```markdown\n### PAT-xxx: {name}\n- **Pattern**: {name}\n- **Rule**: {convention}\n- **Violated when**: {condition}\n- **Test**: {how to check}\n```\n\n### 3. Present for Approval\n\nPresent each entry to the human one at a time. Don't batch — each entry deserves individual consideration.\n\n### 4. Check Size\n\nIf .correctless\u002FARCHITECTURE.md exceeds ~5000 words after updates, suggest fragmentation:\n- Move sections to `docs\u002Farchitecture\u002F{section}.md`\n- Root .correctless\u002FARCHITECTURE.md links to fragments\n\n## Autonomous Defaults\n\nWhen running in autonomous mode (`mode: autonomous` in prompt context), use these defaults instead of pausing for human input.\nWhen dispatched by `\u002Fcauto`, return autonomous decisions in the `AUTONOMOUS_DECISIONS_START`\u002F`AUTONOMOUS_DECISIONS_END` format provided in the task prompt.\n\n- **AD-001**: Entry discovery — auto-discover undocumented patterns (default). Rationale: discovery is a codebase scan with objective criteria (5+ occurrences, not already documented).\n- **AD-002**: Entry content — generate from code analysis (default). Rationale: entry fields (invariant, violated-when, test) are derived from code structure, not subjective design choices.\n- **AD-003**: New entry approval — `escalate: always`. Default if deferred: skip — flag for human review. Rationale: architecture doc changes affect all future features and shape agent behavior across the project.\n\n## If Something Goes Wrong\n\n- **Skill interrupted**: Re-run `\u002Fcupdate-arch`. It scans the codebase fresh each time. Partially written entries can be reviewed and corrected.\n- **Rate limit hit**: Wait 2-3 minutes and re-run.\n- **Wrong entries written**: Edit .correctless\u002FARCHITECTURE.md directly to fix or remove incorrect entries.\n\n## Constraints\n\n- NEVER auto-write entries without human approval.\n- Each entry needs: invariant, violated-when, and test\u002Fdetection method.\n- Number entries sequentially (TB-001, TB-002, etc.).\n",{"name":5,"description":7,"allowed-tools":43,"interaction_mode":44},"Read, Grep, Glob, Bash(git*), Edit, Write(.correctless\u002FARCHITECTURE.md), Write(docs\u002Farchitecture\u002F*), Write(.claude\u002Frules\u002F*.md)","hybrid","main","74f9ef3f5acae9c857f6be6dd86cdc3b10830c90","skills\u002Fcupdate-arch",4,"https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless","https:\u002F\u002Fjoshft.github.io\u002Fcorrectless\u002F","https:\u002F\u002Fgithub.com\u002Fjoshft","2026-11-14 02:53:56",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add joshft\u002Fcorrectless --skill cupdate-arch",{"tool":59,"command":60},"bunx","bunx skills add joshft\u002Fcorrectless --skill cupdate-arch",{"tool":62,"command":63},"pnpm","pnpm dlx skills add joshft\u002Fcorrectless --skill cupdate-arch","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fcupdate-arch\u002FSKILL.md",true,[],[68,92,116,133,147,159],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":79,"publishedAt":38},"01M6JJW224Q40TCVMTKRZPDHDY","cwtf","Audit the workflow itself. Use when you suspect agents shortcut or after a bug escapes despite the workflow running. Checks phase execution, rule coverage, and agent thoroughness.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fcwtf\u002FSKILL.md",[74],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[70,80,35,81,82,83,33,31,84,85,30,21,28,86,87,27,88,89,90,91],"workflow","artifacts","audit","execution","find","jq","coverage","autonomous","wtf","bug","you","shortcut",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":104,"publishedAt":38},"01M6JJVT9M4KGWQ99V0CSF6WZ5","cverify","Verify implementation matches spec. Check rule coverage, undocumented dependencies, architecture compliance. Writes verification report and drift debt. Run after \u002Fctdd completes.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fcverify\u002FSKILL.md",[98,99],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[94,105,80,37,106,35,107,108,33,30,21,28,86,109,110,111,112,113,114,115],"go","run","verification","Meta","diff","ruff","drift","verify implementation","cargo","stryker","ctdd",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":38},"01M6JJVJVZ72KVWN1K3RWQK0YJ","ctriage","Bulk triage deferred findings backlog. Presents findings one at a time with disposition options.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fctriage\u002FSKILL.md",[],[118,123,108,33,124,31,85,125,30,21,28,126,127,128,129,130,131,132],"triage","json","one at a time","interactive","options","backlog","time","bulk","with","at",{"skillNo":134,"name":115,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":139,"publishedAt":38},"01M6JJVCYCNYD4GHK33DZE9DXA","Enforced TDD workflow. Write failing tests from spec rules, then implement. Use after \u002Fcreview approves a spec.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fctdd\u002FSKILL.md",[138],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[115,140,141,142,80,81,143,33,32,31,30,21,28,27,144,145,146],"spec","implement","tdd","tdd workflow","task","tests","creview",{"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":38},"01M6JJV7S3EQG3GHQ56DD8P1SA","csummary","Feature summary. Use after \u002Fcdocs to see what the workflow caught, or mid-feature to check progress.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fcsummary\u002FSKILL.md",[],[149,80,35,81,33,31,154,30,21,28,87,27,155,156,157,158,22],"check","what the","summary","feature","progress",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":38},"01M6JJV33HYJQCVPF8G192J896","cstatus","Show current Correctless workflow state, available commands, and suggested next steps. Run anytime to see where you are.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fcstatus\u002FSKILL.md",[],[161,80,106,166,33,31,30,21,28,87,167,168,169,170,90],"state","show","next","commands","next steps"]