cc-os/plugins/os-doc-hygiene/commands/CONTEXT.md

1.7 KiB

commands/

Slash-command entry points for the doc-hygiene plugin. Thin dispatchers — they parse $ARGUMENTS, route to a skill or run a read-only state read, and surface the result. They own no analysis logic of their own (invariant #6 lives in the scripts/skills they call).

Contents

File Purpose
hygiene.md /hygiene — the single user entry point. Parses the first token of $ARGUMENTS as the subcommand and passes the rest through. Subcommands: check [--scope <glob-or-path>] [--category <class|subtype>] invokes the hygiene-check skill verbatim (the skill owns the full scan → classify → finalize → validate → write → stamp last_check workflow; the command does NOT scan or classify); status is read-only (no skill, no model, no scan) — calls state_store.py via python3 -c and prints the three lifecycle timestamps (last_check/last_clean/last_reminded) plus report presence; clean / sweep are reserved and respond "not yet implemented (Phase 4)". No args or an unrecognized subcommand prints usage then runs the status read. Scripts resolve under ${CLAUDE_PLUGIN_ROOT}/scripts/ (mirrors hooks/hooks.json).

Arg semantics (pass-through to hygiene-check)

  • --scope <glob-or-path> — narrows the scan. A glob (contains *) maps to the scanner's --globs; a bare path is handled by the skill as a post-scan prefix filter (the scanner's glob matcher is unreliable for mid-pattern **).
  • --category <class|subtype> — filters which entries are produced, applied by the skill after classification (the scanner is category-agnostic). class ∈ { stale, bloat }; subtype is one of the closed enum values.