CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

openspec-archive-change

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.

58

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/openspec-archive-change/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

73%Weight 40%Scale 1-5

Reviews 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.

DimensionReasoningScore

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

Description

58%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description follows the correct structure with an explicit "Use when..." clause in third-person imperative voice, covering both what and when. Its main weaknesses are thin coverage of the skill's concrete capabilities and limited natural trigger-term variation, which reduce its ability to fire reliably and distinguish itself from sibling lifecycle skills.

Suggestions

Enumerate the concrete actions in the description, e.g. "Check artifact and task completion, sync delta specs to main specs, and move the change directory to archive" so users and the model know the full capability set.

Add natural trigger variations such as "when the user says a change is done, finished, or should be moved to the archive" to improve firing on real user phrasing.

Mention the openspec context (e.g. "in the openspec change workflow") to reduce overlap with generic archive/cleanup skills.

DimensionReasoningScore

Specificity

The description names the domain and one concrete action ("Archive a completed change") but does not enumerate what the skill actually does (verify task/artifact completion, sync delta specs, move to archive). This matches anchor 3 ('names domain and 1-2 concrete actions, but not comprehensive') and falls short of anchor 4, which expects several specific listed actions.

3 / 5

Completeness

Both "what" ("Archive a completed change in the experimental workflow") and "when" ("Use when the user wants to finalize and archive a change after implementation is complete") are explicitly present. However, the "when" clause largely restates the "what" rather than adding distinct concrete trigger phrases, so it matches anchor 4 rather than anchor 5.

4 / 5

Trigger Term Quality

Relevant keywords are present ("archive", "finalize", "implementation is complete") but common natural variations a user would say are missing ("done", "move to archive", "wrap up the change", "completed change"). This fits anchor 3 ('some relevant keywords but missing common variations or synonyms') better than anchor 4's 'good keyword coverage'.

3 / 5

Distinctiveness Conflict Risk

"completed change" and "the experimental workflow" carve out a niche, but "archive a change" is generic enough to overlap with other archive/cleanup or openspec lifecycle skills (e.g., sync-specs, other finalize workflows). This is anchor 3 ('somewhat specific but could still overlap with similar skills'), not anchor 4's 'mostly distinct'.

3 / 5

Total

13

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

dwmkerr/openspec-flow

Path

.claude/skills/openspec-archive-change/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.