Discord Username / User ID
interferon0
What does this improvement do?
agent install writes the verification-loop skill files into user projects, but the written artifacts carry no version or content marker (wrapSkill/wrapMdc at src/lib/agent-targets.ts:115-121; the managed-section sentinels are versionless at :200-202) and no command can report staleness (agent registers only install and list, src/commands/agent.ts:821-869; doctor and the skill-nudge check presence only). So when a CLI update changes a skill body, every already-onboarded project keeps steering its coding agent with the OLD contract forever — and the drift is already real: the shipped verify skill still tells agents to run auth whoami, which the CLI has deprecated in favor of auth status. Add (1) a one-line marker in every written artifact (, an HTML comment valid in all five target formats), and (2) an agent status subcommand reporting ok / stale / modified / unmarked / absent / corrupt per target and skill, with --output json and a non-zero exit on stale/modified so it can gate CI or an agent preflight.
Details / implementation notes
Staleness compares the BODY hash, not the CLI version, so a release that does not change a body does not churn user files (keeps the codex byte-identity unchanged path intact, agent.ts:268-271). VERSION already exists (src/version.ts); hash via node:crypto. agent status reuses the existing TARGETS/pathFor/classifySection machinery; the corrupt state is already classified (agent.ts:211-227). Overlap disclosed plainly: the filed doctor issue #73 checks skill PRESENCE only; making doctor's row version-aware is a natural one-line extension once markers exist and can be folded there — the marker and the status command are outside #73's reach. No new dependency. PR to follow once assigned.
Confirmations
Discord Username / User ID
interferon0
What does this improvement do?
agent install writes the verification-loop skill files into user projects, but the written artifacts carry no version or content marker (wrapSkill/wrapMdc at src/lib/agent-targets.ts:115-121; the managed-section sentinels are versionless at :200-202) and no command can report staleness (agent registers only install and list, src/commands/agent.ts:821-869; doctor and the skill-nudge check presence only). So when a CLI update changes a skill body, every already-onboarded project keeps steering its coding agent with the OLD contract forever — and the drift is already real: the shipped verify skill still tells agents to run auth whoami, which the CLI has deprecated in favor of auth status. Add (1) a one-line marker in every written artifact (, an HTML comment valid in all five target formats), and (2) an agent status subcommand reporting ok / stale / modified / unmarked / absent / corrupt per target and skill, with --output json and a non-zero exit on stale/modified so it can gate CI or an agent preflight.
Details / implementation notes
Staleness compares the BODY hash, not the CLI version, so a release that does not change a body does not churn user files (keeps the codex byte-identity unchanged path intact, agent.ts:268-271). VERSION already exists (src/version.ts); hash via node:crypto. agent status reuses the existing TARGETS/pathFor/classifySection machinery; the corrupt state is already classified (agent.ts:211-227). Overlap disclosed plainly: the filed doctor issue #73 checks skill PRESENCE only; making doctor's row version-aware is a natural one-line extension once markers exist and can be folded there — the marker and the status command are outside #73's reach. No new dependency. PR to follow once assigned.
Confirmations