Content
73%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The body is a strong, highly actionable workflow document: concrete CLI commands, exact paths, explicit validation and confirmation checkpoints, and an error-recovery path around the destructive move. Its weaknesses are modest — a redundant Guardrails section that restates step content and a few spots (date generation, tasks file path, exists-check) where concrete commands are implied rather than given.
Suggestions
Trim the Guardrails section to rules not already stated in the steps (e.g. keep the .openspec.yaml note and the no-blocking rule; drop repeats of steps 1, 4, and 6) to cut token cost.
Make the date generation and exists-check concrete, e.g. `ARCHIVE="$(date +%F)-<name>"; [ -d "openspec/changes/archive/$ARCHIVE" ] && ...`, and state the full tasks-file path instead of "typically `tasks.md`".
State the exact path pattern for delta specs' main-spec counterparts once (it is currently embedded in step 4's prose) or fold repeated openspec path prefixes into a short "Paths" note.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is mostly efficient, but the Guardrails section repeats rules already stated in the steps ("Always prompt for change selection if not provided", "Show clear summary of what happened", "If delta specs exist, always run the sync assessment and show the combined summary before prompting"), and phrases like "Parse the JSON to understand" pad slightly. This matches anchor 3 ('mostly efficient but includes some unnecessary explanation or could be tightened') rather than anchor 4, where redundancy would be only minor. | 3 / 5 |
Actionability | Guidance is mostly executable: concrete commands (`openspec list --json`, `openspec status --change "<name>" --json`, `mkdir -p openspec/changes/archive`, `mv openspec/changes/<name> ...`), exact paths, JSON fields to parse, prompt option labels, and an output template. Minor gaps keep it from anchor 5: no concrete way to generate the date (e.g. `date +%F`), the tasks file is only "typically `tasks.md`" without its full path, and the exists-check lacks a concrete test command. | 4 / 5 |
Workflow Clarity | Six clearly sequenced steps with explicit validation checkpoints throughout: artifact status check, incomplete-task count check, and a pre-move exists-check with a defined error path ("If yes: Fail with error, suggest renaming existing archive or using different date"). User confirmations gate every warning, and the destructive `mv` is guarded by these checks, so the destructive-operation cap does not apply and the content matches anchor 5 (clear sequence, explicit validation, error-recovery paths). | 5 / 5 |
Progressive Disclosure | The skill has no bundle files (references/, scripts/, assets/ are absent) and is a single self-contained file, well-sectioned into Input, Steps, Output On Success, and Guardrails, with the one cross-skill delegation (openspec-sync-specs via the Task tool) clearly signaled. At ~115 lines it exceeds the under-50-lines threshold for a default 5, and the Guardrails section could be trimmed or moved, so anchor 4 ('good structure; most content appropriately placed; minor organization gaps') is the best fit. | 4 / 5 |
Total | 16 / 20 Passed |