[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6D99BAXQM78MHZVMZ41YSTG":3,"skill-same:01M6D99BAXQM78MHZVMZ41YSTG":73},{"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":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6D99BAXQM78MHZVMZ41YSTG","hygiene",null,"Audit project structure for convention violations, missing files, template drift, and cross-platform sync gaps — optionally auto-fix","GeorgeQLe\u002Fagentic-skills","GeorgeQLe","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F21134126?v=4","01M6D2JP418S0VGJGF8M93EC3H","George Le","01M6D2JPBAKYD82TA5FS6HKQ3D",1,"MIT","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fdocs-health\u002Fclaude\u002Fhygiene\u002Farchive\u002Fv0.0\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"v0","platform","project","cross-platform","structure","drift","files","auto","docs","fix","template","analysis","audit","tasks","sync","project structure","codex","2026-11-10 10:12:30",false,"---\nname: hygiene\ndescription: Audit project structure for convention violations, missing files, template drift, and cross-platform sync gaps — optionally auto-fix\ntype: analysis\nversion: v0.0\nargument-hint: \"[audit|fix] [skills|tasks|docs|codex|all]\"\n---\n\n# Hygiene — Project Structure Audit\n\nChecks that project files follow established conventions, flags gaps and drift, and optionally fixes mechanical issues. Think of it as a linter for project structure rather than code.\n\n## Process\n\n### 1. Determine Mode and Scope\n\nParse `$ARGUMENTS`:\n\n- **Mode**: `audit` (default, read-only) or `fix` (apply mechanical fixes)\n- **Scope**: `skills`, `tasks`, `docs`, `codex`, or `all` (default)\n\nRead `CLAUDE.md` for project conventions. Read `docs\u002Fskills-reference.md` for the canonical skill list. For `docs` scope, also read `references\u002Fdocumentation-templates.md` from this skill directory.\n\n### 2. Audit Skills (`skills` scope)\n\nFor each skill directory in `base\u002Fclaude\u002F*\u002FSKILL.md`, `base\u002Fcodex\u002F*\u002FSKILL.md`, `packs\u002F*\u002Fclaude\u002F*\u002FSKILL.md`, and `packs\u002F*\u002Fcodex\u002F*\u002FSKILL.md`:\n\n**Frontmatter check:**\n- Has `name` field — matches directory name\n- Has `description` field — non-empty, under 120 characters\n- Has `version` field — valid semver (X.Y.Z)\n- Has `argument-hint` field (can be empty)\n\n**Section check:**\n- Has a top-level `# Heading` that matches the skill's purpose\n- Has `## Process` section with numbered steps\n- Has `## Output Format` section (or explicit \"no files written\" note)\n- Has `## Constraints` section\n\n**Naming check:**\n- Directory name uses kebab-case\n- Directory name matches frontmatter `name`\n\nFlag each violation with the file path and what's wrong.\n\n### 3. Audit Tasks (`tasks` scope)\n\nCheck expected project files exist based on project phase:\n\n**Always expected:**\n- `tasks\u002Froadmap.md` — has content, not just a placeholder\n- `tasks\u002Ftodo.md` — has content with checkable items (`- [ ]` or `- [x]`)\n- `tasks\u002Fmanual-todo.md` — if it exists, has content with checkable human-only external items (`- [ ]` or `- [x]`) and `_(blocks: ...)_` or `_(after: ...)_` annotations\n- `tasks\u002Frecord-todo.md` — if it exists, contains non-blocking condition-gated records with source, condition, non-blocking reason, evidence, and promotion rule fields\n- `tasks\u002Frecurring-todo.md` — if it exists, contains cadence-based tasks with cadence, owner\u002Fagent, last run, next due, evidence\u002Foutput path, and escalation fields\n- `tasks\u002Fhistory.md` — exists\n\n**Expected if specs exist:**\n- `tasks\u002Fideas.md` — exists if `specs\u002F*.md` has 2+ files\n\n**Phase archives:**\n- If `tasks\u002Froadmap.md` has completed phases (checked-off milestones), `tasks\u002Fphases\u002F` should exist with corresponding `phase-N.md` files\n\n**Staleness (informational, not violations):**\n- `tasks\u002Ftodo.md` has all items checked but phase isn't marked complete in `tasks\u002Froadmap.md`\n- `tasks\u002Fmanual-todo.md` has unchecked items that block completed steps in `tasks\u002Ftodo.md`\n- `tasks\u002Frecord-todo.md` has eligible items that may need promotion into `tasks\u002Ftodo.md`\n- `tasks\u002Frecurring-todo.md` has due items that may need promotion into `tasks\u002Ftodo.md`\n- `tasks\u002Froadmap.md` references phases that have no corresponding detail\n\n### 4. Audit Docs (`docs` scope)\n\n**Skills reference sync:**\n- Every base core directory has a corresponding entry in `docs\u002Fskills-reference.md`\n- Every pack directory is listed under its pack in `docs\u002Fskills-reference.md`\n- The base core table and pack skill lists are complete (no missing, no extras)\n\n**Required docs:**\n- `CLAUDE.md` exists at project root\n- If `AGENTS.md` exists, it should not contradict the workflow\u002Fpipeline conventions in `CLAUDE.md`\n\n**Documentation template audit:**\n- Classify generated Markdown files by path pattern and validate them against `references\u002Fdocumentation-templates.md`\n- Check canonical roots:\n  - `tasks\u002F` for roadmap, todo, history, manual tasks, record tasks, recurring tasks, phase archives, handoff, deployment ledgers, and lessons\n  - `specs\u002F` for implementation specifications and interview logs\n  - `research\u002F` for research docs, interview logs, search logs, experiments, and reconciliation reports\n  - `docs\u002Fspecifications\u002F` only as a fallback spec location\n  - `alignment\u002F*.html` for generated browser-review alignment artifacts from planning and prototype workflows\n- Check canonical root directories exist:\n  - `tasks\u002F` — Warning if absent\n  - `research\u002F` — Info if absent; Warning if absent AND research-pattern files (`icp-*.md`, `gtm-*.md`, `competitive-*.md`, `journey-*.md`, `metrics.md`, `monetization.md`, `customer-feedback*.md`) exist elsewhere (e.g., `docs\u002F`)\n  - `specs\u002F` — Info if absent; Warning if absent AND spec-pattern files exist elsewhere\n  - `alignment\u002F` — Info if present; generated HTML review pages are allowed here and should not be treated as misplaced documentation\n- Flag legacy or drifted planning locations such as new `docs\u002Fplan.md` or new `docs\u002Fphases\u002F` phase archives; current workflows write plans under `tasks\u002F`\n- Exempt archived snapshots under `docs\u002Fhistory\u002Farchive\u002F**` from template checks\n- Treat unknown hand-written docs as Info unless they are clearly generated workflow artifacts\n\n**Universal generated-doc checks:**\n- First non-empty Markdown heading is exactly one `#` H1\n- Required sections for the file family are present once and in the expected order\n- Non-ledger research\u002Fspec\u002Ftask artifacts include a metadata quote block when the template requires it\n- Checkable workflow docs use `- [ ]` \u002F `- [x]` items where later skills need task state\n- Main research\u002Fspec docs end with `## Next Steps`, or explicitly state why no next step exists\n\n**Family-specific checks:**\n- `tasks\u002Froadmap.md` has a summary, phase overview, repeated `## Phase N:` sections, phase milestones or acceptance criteria, and cross-phase concerns when multi-phase\n- `tasks\u002Ftodo.md` has checkable work, a priority task queue, or a priority documentation todo, and does not contain the full multi-phase roadmap except during legacy migration\n- `tasks\u002Fmanual-todo.md` has checkable human-only external items, every unchecked item includes `_(blocks: Step N.X)_` or `_(after: Step N.X)_`, and no item is repo\u002Fcode\u002Fconfig\u002Ftest\u002Faudit\u002FCLI\u002FAPI work the agent can execute\n- `tasks\u002Frecord-todo.md` has checkable non-blocking record items with source, condition, non-blocking reason, required data\u002Faccess, measurement\u002Fquery, target note, revisit cadence\u002Fdate, completion evidence, and promotion rule\n- `tasks\u002Frecurring-todo.md` has cadence-based items with task, cadence, owner\u002Fagent, scope, trigger, last run, next due, command\u002Fskill, evidence\u002Foutput path, and escalation conditions\n- `tasks\u002Fhistory.md` is append-only with dated entries\n- `tasks\u002Fphases\u002Fphase-N.md` has completed steps, milestone or acceptance criteria, and an `## On Completion` or equivalent completion summary\n- `specs\u002F*.md`, `specs\u002F{app}\u002F*.md`, and fallback `docs\u002Fspecifications\u002F*.md` have spec sections for overview, goals, non-goals, detailed design, edge cases, test plan, acceptance criteria, and open questions or explicit `None`\n- `*-interview.md` logs include questions, options when presented, responses or decisions, and final deviations or coverage summary\n- `research\u002F*.md` and `research\u002F{app}\u002F*.md` have metadata, summary, source\u002Fevidence orientation, assumptions or risks when relevant, and next steps\n- `research\u002F*-search-log.md` files are clearly marked as supporting context and include queries, findings, and source attribution\n- `research\u002Fexperiments\u002F*.md` has hypothesis, method, success criteria, timeline, budget, decision rules, results, and next steps\n- `sync.md` uses `## Dependencies`, `## Conflict Resolution`, `## Custom`, and `## Notifications`\n- `tasks\u002Fdeploys.md` has environment headings with dated deployment ledger entries including branch, commit range, commit count, and status\n- `.agents\u002Fproject.json`, when present, is valid JSON and includes project designation fields used by pack-aware skills\n\n### 5. Audit Codex Mirror (`codex` scope)\n\nCompare Claude and Codex directories within each root:\n\n- Every skill in `base\u002Fclaude\u002F` should have a corresponding `base\u002Fcodex\u002F\u003Cname>\u002FSKILL.md`\n- Every skill in `packs\u002F\u003Cpack>\u002Fclaude\u002F` should have a corresponding `packs\u002F\u003Cpack>\u002Fcodex\u002F\u003Cname>\u002FSKILL.md`\n- Flag skills that exist in one but not the other\n- For skills that exist in both, check that the codex version has:\n  - Matching frontmatter `name` and `description`\n  - An `agents\u002Fopenai.yaml` manifest (if the skill is execution-oriented, not display-only)\n\n**Known exceptions** (skills that intentionally only exist in one platform):\n- Check for a `# codex-skip` comment in the claude skill's frontmatter — if present, don't flag the missing codex mirror\n\n### 6. Generate Report\n\nCategorize all findings:\n\n| Severity | Meaning |\n|----------|---------|\n| **Error** | Convention violation that should be fixed (missing required field, naming mismatch) |\n| **Warning** | Drift or gap that may be intentional (missing codex mirror, incomplete sections) |\n| **Info** | Suggestions for improvement (long descriptions, missing optional sections) |\n\nFor documentation templates, use:\n\n- **Error** for automation-breaking structure: missing checkboxes in `tasks\u002Ftodo.md`, missing manual blocker annotations, executable work misfiled in `tasks\u002Fmanual-todo.md`, `tasks\u002Frecord-todo.md`, or `tasks\u002Frecurring-todo.md`, malformed phase numbering, multiple H1 headings, invalid `.agents\u002Fproject.json`, or missing required task\u002Fspec sections that downstream skills parse.\n- **Warning** for template drift: missing metadata, missing `## Next Steps`, missing spec acceptance criteria, research docs without source\u002Fevidence orientation, or legacy roots that should move to canonical locations.\n- **Info** for uncertain classifications, old hand-written docs, optional sections, or cleanup suggestions that do not block automation.\n\n### 7. Auto-Fix (if `fix` mode)\n\nOnly fix mechanical, unambiguous issues:\n\n- Add missing `argument-hint:` field (empty) to frontmatter\n- Fix `name` field to match directory name\n- Create missing Codex mirror in the matching root from the Claude version (copy frontmatter + intro, add TODO for Codex-specific content)\n- Add missing skill entries to the appropriate base core table or pack list in `docs\u002Fskills-reference.md`\n- Add missing empty metadata scaffold only when the target generated-doc template explicitly requires metadata and the values can be left blank\n- Normalize duplicate blank lines around headings in generated docs when it is purely mechanical\n\n**Never auto-fix:**\n- Missing Process\u002FOutput\u002FConstraints sections (these need human judgment)\n- Content mismatches between claude and codex versions\n- Roadmap or todo content\n- Summaries, sources, acceptance criteria, research claims, history entries, task status, or next-step recommendations\n- Spec\u002Fresearch document rewrites that should use the archive-first replacement policy from the generating skill\n\nAfter fixing, re-run the audit to show remaining issues.\n\n## Output\n\nDisplay directly to the user (no files written in audit mode):\n\n```\n## Hygiene Report — [scope]\n\n### Errors (X)\n- **base\u002Fclaude\u002Ffoo\u002FSKILL.md** — missing `version` field in frontmatter\n- **packs\u002Fbusiness-discovery\u002Fclaude\u002Fbar\u002FSKILL.md** — directory name `bar` doesn't match frontmatter name `baz`\n\n### Warnings (X)\n- **packs\u002Fexample-pack\u002Fcodex\u002Fexample-skill\u002F** — missing Codex mirror (exists in Claude only)\n- **docs\u002Fskills-reference.md** — `\u002Fhygiene` not listed in the base core table\n- **research\u002Ficp.md** — missing `## Next Steps` section required by the research doc template\n\n### Info (X)\n- **base\u002Fclaude\u002Fship\u002FSKILL.md** — no `## Constraints` section (consider adding)\n- **docs\u002Farchitecture.md** — unknown hand-written doc; skipped strict generated-doc template checks\n\n### Summary\n- Skills: 48 checked, 2 errors, 1 warning\n- Tasks: 4 checked, 0 errors\n- Docs: 3 checked, 1 warning\n- Codex: 46 checked, 2 warnings\n```\n\nIn `fix` mode, prepend each fixed item with a checkmark:\n\n```\n### Fixed\n- [x] Added missing `argument-hint:` to base\u002Fclaude\u002Ffoo\u002FSKILL.md\n- [x] Created mirror base\u002Fcodex\u002Fhygiene\u002FSKILL.md\n\n### Remaining Errors (X)\n...\n```\n\n## Constraints\n\n- **Read-only by default.** Only modify files when explicitly invoked with `fix` mode.\n- **No content generation.** Auto-fix only adds structural scaffolding, never writes substantive content.\n- **Structural docs only.** Template checks validate shape, parseability, and canonical placement; use `$reconcile-dev-docs`, `$reconcile-research`, `$research-roadmap`, or `$spec-drift` for truth, freshness, and contradictions.\n- **Show evidence.** Every finding must include the specific file path and what's wrong.\n- **No false positives.** If uncertain whether something is a violation, classify it as Info, not Error.\n- **Respect exceptions.** Check for `# codex-skip` and similar markers before flagging intentional gaps.\n- **Use subagents** to parallelize scanning across skills, tasks, docs, and codex scopes when running `all`.\n\n\n## Default Shipping Contract\n\nFollow the shared shipping contract convention in CLAUDE.md.\n","# Hygiene — Project Structure Audit\n\nChecks that project files follow established conventions, flags gaps and drift, and optionally fixes mechanical issues. Think of it as a linter for project structure rather than code.\n\n## Process\n\n### 1. Determine Mode and Scope\n\nParse `$ARGUMENTS`:\n\n- **Mode**: `audit` (default, read-only) or `fix` (apply mechanical fixes)\n- **Scope**: `skills`, `tasks`, `docs`, `codex`, or `all` (default)\n\nRead `CLAUDE.md` for project conventions. Read `docs\u002Fskills-reference.md` for the canonical skill list. For `docs` scope, also read `references\u002Fdocumentation-templates.md` from this skill directory.\n\n### 2. Audit Skills (`skills` scope)\n\nFor each skill directory in `base\u002Fclaude\u002F*\u002FSKILL.md`, `base\u002Fcodex\u002F*\u002FSKILL.md`, `packs\u002F*\u002Fclaude\u002F*\u002FSKILL.md`, and `packs\u002F*\u002Fcodex\u002F*\u002FSKILL.md`:\n\n**Frontmatter check:**\n- Has `name` field — matches directory name\n- Has `description` field — non-empty, under 120 characters\n- Has `version` field — valid semver (X.Y.Z)\n- Has `argument-hint` field (can be empty)\n\n**Section check:**\n- Has a top-level `# Heading` that matches the skill's purpose\n- Has `## Process` section with numbered steps\n- Has `## Output Format` section (or explicit \"no files written\" note)\n- Has `## Constraints` section\n\n**Naming check:**\n- Directory name uses kebab-case\n- Directory name matches frontmatter `name`\n\nFlag each violation with the file path and what's wrong.\n\n### 3. Audit Tasks (`tasks` scope)\n\nCheck expected project files exist based on project phase:\n\n**Always expected:**\n- `tasks\u002Froadmap.md` — has content, not just a placeholder\n- `tasks\u002Ftodo.md` — has content with checkable items (`- [ ]` or `- [x]`)\n- `tasks\u002Fmanual-todo.md` — if it exists, has content with checkable human-only external items (`- [ ]` or `- [x]`) and `_(blocks: ...)_` or `_(after: ...)_` annotations\n- `tasks\u002Frecord-todo.md` — if it exists, contains non-blocking condition-gated records with source, condition, non-blocking reason, evidence, and promotion rule fields\n- `tasks\u002Frecurring-todo.md` — if it exists, contains cadence-based tasks with cadence, owner\u002Fagent, last run, next due, evidence\u002Foutput path, and escalation fields\n- `tasks\u002Fhistory.md` — exists\n\n**Expected if specs exist:**\n- `tasks\u002Fideas.md` — exists if `specs\u002F*.md` has 2+ files\n\n**Phase archives:**\n- If `tasks\u002Froadmap.md` has completed phases (checked-off milestones), `tasks\u002Fphases\u002F` should exist with corresponding `phase-N.md` files\n\n**Staleness (informational, not violations):**\n- `tasks\u002Ftodo.md` has all items checked but phase isn't marked complete in `tasks\u002Froadmap.md`\n- `tasks\u002Fmanual-todo.md` has unchecked items that block completed steps in `tasks\u002Ftodo.md`\n- `tasks\u002Frecord-todo.md` has eligible items that may need promotion into `tasks\u002Ftodo.md`\n- `tasks\u002Frecurring-todo.md` has due items that may need promotion into `tasks\u002Ftodo.md`\n- `tasks\u002Froadmap.md` references phases that have no corresponding detail\n\n### 4. Audit Docs (`docs` scope)\n\n**Skills reference sync:**\n- Every base core directory has a corresponding entry in `docs\u002Fskills-reference.md`\n- Every pack directory is listed under its pack in `docs\u002Fskills-reference.md`\n- The base core table and pack skill lists are complete (no missing, no extras)\n\n**Required docs:**\n- `CLAUDE.md` exists at project root\n- If `AGENTS.md` exists, it should not contradict the workflow\u002Fpipeline conventions in `CLAUDE.md`\n\n**Documentation template audit:**\n- Classify generated Markdown files by path pattern and validate them against `references\u002Fdocumentation-templates.md`\n- Check canonical roots:\n  - `tasks\u002F` for roadmap, todo, history, manual tasks, record tasks, recurring tasks, phase archives, handoff, deployment ledgers, and lessons\n  - `specs\u002F` for implementation specifications and interview logs\n  - `research\u002F` for research docs, interview logs, search logs, experiments, and reconciliation reports\n  - `docs\u002Fspecifications\u002F` only as a fallback spec location\n  - `alignment\u002F*.html` for generated browser-review alignment artifacts from planning and prototype workflows\n- Check canonical root directories exist:\n  - `tasks\u002F` — Warning if absent\n  - `research\u002F` — Info if absent; Warning if absent AND research-pattern files (`icp-*.md`, `gtm-*.md`, `competitive-*.md`, `journey-*.md`, `metrics.md`, `monetization.md`, `customer-feedback*.md`) exist elsewhere (e.g., `docs\u002F`)\n  - `specs\u002F` — Info if absent; Warning if absent AND spec-pattern files exist elsewhere\n  - `alignment\u002F` — Info if present; generated HTML review pages are allowed here and should not be treated as misplaced documentation\n- Flag legacy or drifted planning locations such as new `docs\u002Fplan.md` or new `docs\u002Fphases\u002F` phase archives; current workflows write plans under `tasks\u002F`\n- Exempt archived snapshots under `docs\u002Fhistory\u002Farchive\u002F**` from template checks\n- Treat unknown hand-written docs as Info unless they are clearly generated workflow artifacts\n\n**Universal generated-doc checks:**\n- First non-empty Markdown heading is exactly one `#` H1\n- Required sections for the file family are present once and in the expected order\n- Non-ledger research\u002Fspec\u002Ftask artifacts include a metadata quote block when the template requires it\n- Checkable workflow docs use `- [ ]` \u002F `- [x]` items where later skills need task state\n- Main research\u002Fspec docs end with `## Next Steps`, or explicitly state why no next step exists\n\n**Family-specific checks:**\n- `tasks\u002Froadmap.md` has a summary, phase overview, repeated `## Phase N:` sections, phase milestones or acceptance criteria, and cross-phase concerns when multi-phase\n- `tasks\u002Ftodo.md` has checkable work, a priority task queue, or a priority documentation todo, and does not contain the full multi-phase roadmap except during legacy migration\n- `tasks\u002Fmanual-todo.md` has checkable human-only external items, every unchecked item includes `_(blocks: Step N.X)_` or `_(after: Step N.X)_`, and no item is repo\u002Fcode\u002Fconfig\u002Ftest\u002Faudit\u002FCLI\u002FAPI work the agent can execute\n- `tasks\u002Frecord-todo.md` has checkable non-blocking record items with source, condition, non-blocking reason, required data\u002Faccess, measurement\u002Fquery, target note, revisit cadence\u002Fdate, completion evidence, and promotion rule\n- `tasks\u002Frecurring-todo.md` has cadence-based items with task, cadence, owner\u002Fagent, scope, trigger, last run, next due, command\u002Fskill, evidence\u002Foutput path, and escalation conditions\n- `tasks\u002Fhistory.md` is append-only with dated entries\n- `tasks\u002Fphases\u002Fphase-N.md` has completed steps, milestone or acceptance criteria, and an `## On Completion` or equivalent completion summary\n- `specs\u002F*.md`, `specs\u002F{app}\u002F*.md`, and fallback `docs\u002Fspecifications\u002F*.md` have spec sections for overview, goals, non-goals, detailed design, edge cases, test plan, acceptance criteria, and open questions or explicit `None`\n- `*-interview.md` logs include questions, options when presented, responses or decisions, and final deviations or coverage summary\n- `research\u002F*.md` and `research\u002F{app}\u002F*.md` have metadata, summary, source\u002Fevidence orientation, assumptions or risks when relevant, and next steps\n- `research\u002F*-search-log.md` files are clearly marked as supporting context and include queries, findings, and source attribution\n- `research\u002Fexperiments\u002F*.md` has hypothesis, method, success criteria, timeline, budget, decision rules, results, and next steps\n- `sync.md` uses `## Dependencies`, `## Conflict Resolution`, `## Custom`, and `## Notifications`\n- `tasks\u002Fdeploys.md` has environment headings with dated deployment ledger entries including branch, commit range, commit count, and status\n- `.agents\u002Fproject.json`, when present, is valid JSON and includes project designation fields used by pack-aware skills\n\n### 5. Audit Codex Mirror (`codex` scope)\n\nCompare Claude and Codex directories within each root:\n\n- Every skill in `base\u002Fclaude\u002F` should have a corresponding `base\u002Fcodex\u002F\u003Cname>\u002FSKILL.md`\n- Every skill in `packs\u002F\u003Cpack>\u002Fclaude\u002F` should have a corresponding `packs\u002F\u003Cpack>\u002Fcodex\u002F\u003Cname>\u002FSKILL.md`\n- Flag skills that exist in one but not the other\n- For skills that exist in both, check that the codex version has:\n  - Matching frontmatter `name` and `description`\n  - An `agents\u002Fopenai.yaml` manifest (if the skill is execution-oriented, not display-only)\n\n**Known exceptions** (skills that intentionally only exist in one platform):\n- Check for a `# codex-skip` comment in the claude skill's frontmatter — if present, don't flag the missing codex mirror\n\n### 6. Generate Report\n\nCategorize all findings:\n\n| Severity | Meaning |\n|----------|---------|\n| **Error** | Convention violation that should be fixed (missing required field, naming mismatch) |\n| **Warning** | Drift or gap that may be intentional (missing codex mirror, incomplete sections) |\n| **Info** | Suggestions for improvement (long descriptions, missing optional sections) |\n\nFor documentation templates, use:\n\n- **Error** for automation-breaking structure: missing checkboxes in `tasks\u002Ftodo.md`, missing manual blocker annotations, executable work misfiled in `tasks\u002Fmanual-todo.md`, `tasks\u002Frecord-todo.md`, or `tasks\u002Frecurring-todo.md`, malformed phase numbering, multiple H1 headings, invalid `.agents\u002Fproject.json`, or missing required task\u002Fspec sections that downstream skills parse.\n- **Warning** for template drift: missing metadata, missing `## Next Steps`, missing spec acceptance criteria, research docs without source\u002Fevidence orientation, or legacy roots that should move to canonical locations.\n- **Info** for uncertain classifications, old hand-written docs, optional sections, or cleanup suggestions that do not block automation.\n\n### 7. Auto-Fix (if `fix` mode)\n\nOnly fix mechanical, unambiguous issues:\n\n- Add missing `argument-hint:` field (empty) to frontmatter\n- Fix `name` field to match directory name\n- Create missing Codex mirror in the matching root from the Claude version (copy frontmatter + intro, add TODO for Codex-specific content)\n- Add missing skill entries to the appropriate base core table or pack list in `docs\u002Fskills-reference.md`\n- Add missing empty metadata scaffold only when the target generated-doc template explicitly requires metadata and the values can be left blank\n- Normalize duplicate blank lines around headings in generated docs when it is purely mechanical\n\n**Never auto-fix:**\n- Missing Process\u002FOutput\u002FConstraints sections (these need human judgment)\n- Content mismatches between claude and codex versions\n- Roadmap or todo content\n- Summaries, sources, acceptance criteria, research claims, history entries, task status, or next-step recommendations\n- Spec\u002Fresearch document rewrites that should use the archive-first replacement policy from the generating skill\n\nAfter fixing, re-run the audit to show remaining issues.\n\n## Output\n\nDisplay directly to the user (no files written in audit mode):\n\n```\n## Hygiene Report — [scope]\n\n### Errors (X)\n- **base\u002Fclaude\u002Ffoo\u002FSKILL.md** — missing `version` field in frontmatter\n- **packs\u002Fbusiness-discovery\u002Fclaude\u002Fbar\u002FSKILL.md** — directory name `bar` doesn't match frontmatter name `baz`\n\n### Warnings (X)\n- **packs\u002Fexample-pack\u002Fcodex\u002Fexample-skill\u002F** — missing Codex mirror (exists in Claude only)\n- **docs\u002Fskills-reference.md** — `\u002Fhygiene` not listed in the base core table\n- **research\u002Ficp.md** — missing `## Next Steps` section required by the research doc template\n\n### Info (X)\n- **base\u002Fclaude\u002Fship\u002FSKILL.md** — no `## Constraints` section (consider adding)\n- **docs\u002Farchitecture.md** — unknown hand-written doc; skipped strict generated-doc template checks\n\n### Summary\n- Skills: 48 checked, 2 errors, 1 warning\n- Tasks: 4 checked, 0 errors\n- Docs: 3 checked, 1 warning\n- Codex: 46 checked, 2 warnings\n```\n\nIn `fix` mode, prepend each fixed item with a checkmark:\n\n```\n### Fixed\n- [x] Added missing `argument-hint:` to base\u002Fclaude\u002Ffoo\u002FSKILL.md\n- [x] Created mirror base\u002Fcodex\u002Fhygiene\u002FSKILL.md\n\n### Remaining Errors (X)\n...\n```\n\n## Constraints\n\n- **Read-only by default.** Only modify files when explicitly invoked with `fix` mode.\n- **No content generation.** Auto-fix only adds structural scaffolding, never writes substantive content.\n- **Structural docs only.** Template checks validate shape, parseability, and canonical placement; use `$reconcile-dev-docs`, `$reconcile-research`, `$research-roadmap`, or `$spec-drift` for truth, freshness, and contradictions.\n- **Show evidence.** Every finding must include the specific file path and what's wrong.\n- **No false positives.** If uncertain whether something is a violation, classify it as Info, not Error.\n- **Respect exceptions.** Check for `# codex-skip` and similar markers before flagging intentional gaps.\n- **Use subagents** to parallelize scanning across skills, tasks, docs, and codex scopes when running `all`.\n\n\n## Default Shipping Contract\n\nFollow the shared shipping contract convention in CLAUDE.md.\n",{"name":5,"type":30,"version":41,"description":7,"argument-hint":42},"v0.0","[audit|fix] [skills|tasks|docs|codex|all]","master","96e2912af886dd1606b1b97df707715aef062b02","packs\u002Fdocs-health\u002Fclaude\u002Fhygiene\u002Farchive\u002Fv0.0",0,"https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills","https:\u002F\u002Fagentic-skills-blush.vercel.app","https:\u002F\u002Fgithub.com\u002FGeorgeQLe","georgeqle.com","George Le is a futurist and serial tech entrepreneur who wants to work toward a world where humanity is free from robotic tasks.","2026-11-10 04:07:24",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add GeorgeQLe\u002Fagentic-skills --skill hygiene",{"tool":59,"command":60},"bunx","bunx skills add GeorgeQLe\u002Fagentic-skills --skill hygiene",{"tool":62,"command":63},"pnpm","pnpm dlx skills add GeorgeQLe\u002Fagentic-skills --skill hygiene","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Fpacks\u002Fdocs-health\u002Fclaude\u002Fhygiene\u002Farchive\u002Fv0.0\u002FSKILL.md",true,[67],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"routing-eval.jsonl","OTHER","其他",232,"https:\u002F\u002Fgithub.com\u002FMerchantlee99\u002FVibebuilder\u002Fblob\u002Fmain\u002Fvb-pack-codex-harness-v6\u002F.agents\u002Fskills\u002Fproduct-planning\u002Frouting-eval.jsonl",[74,86,96,107,122,133],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":36},"01M6G0NJES15RJKZE6YZ0TSYGF","source-checkout-allowed","Valid source-checkout-only fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fsource-checkout-allowed\u002FSKILL.md",[],[81,82,83,84,19,85],"source checkout allowed","checkout","fixture","only","valid",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":36},"01M6G0NFZ3R1MNB1E3DVTM0WB7","deck-install-valid","Valid deck install fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fdeck-install\u002FSKILL.md",[],[93,94,95,85,83,19],"deck install valid","deck","install",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":36},"01M6G0ND3QZQC4MDZ9NVB97PT2","codex-pack-guard-valid","Valid Codex Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-pack-guard\u002FSKILL.md",[],[103,104,105,85,35,106,83,19],"codex pack guard valid","pack","guard","availability",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":118,"publishedAt":36},"01M6G0NA9YB3NKGZKD3S96JMNB","codex-missing-skill-valid","Valid Codex missing skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-missing-skill-fallback\u002FSKILL.md",[113],{"categoryNo":114,"categoryName":115,"taxonomyType":116,"taxonomyTypeDesc":117},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[119,120,85,35,19,121,83],"codex missing skill valid","missing","fallback",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":129,"publishedAt":36},"01M6G0N7PC0EKFD40ZWQAXSAQ9","codex-base-skill-fallback-valid","Valid Codex base skill fallback fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fcodex-base-skill-fallback\u002FSKILL.md",[128],{"categoryNo":114,"categoryName":115,"taxonomyType":116,"taxonomyTypeDesc":117},[85,35,121,130,131,132,19,83],"base skill","codex base skill fallback valid","base",{"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":36},"01M6G0N4VRR2YKZQ6N3Y6S2BQA","claude-pack-guard-valid","Valid Claude Pack Availability Guard fixture.","https:\u002F\u002Fgithub.com\u002FGeorgeQLe\u002Fagentic-skills\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Fskill-install-routing\u002Fvalid\u002Fclaude-pack-guard\u002FSKILL.md",[],[85,105,104,140,106,19,83],"claude pack guard valid"]