Skip to content
Video & Audio
Command

/archive

Archive a completed change in the experimental workflow

From plugin
gtrk
9694 skills4 commands
> /plugin marketplace add Gitruck/cli
> /plugin install gtrk@gitruck

Command definition

archive.md
name: "OPSX: Archive"
description: Archive a completed change in the experimental workflow
category: Workflow
tags: [workflow, archive, experimental]

Archive a completed change in the experimental workflow.

**Input**: Optionally specify a change name after `/opsx:archive` (e.g., `/opsx:archive add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.

**Steps**

1. **If no change name provided, prompt for selection**

Run `openspec list --json` to get available changes. Use the **AskUserQuestion tool** to let the user select.

Show only active changes (not already archived). Include the schema used for each change if available.

**IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.

2. **Check artifact completion status**

Run `openspec status --change "<name>" --json` to check artifact completion.

Parse the JSON to understand:

  • `schemaName`: The workflow being used
  • `artifacts`: List of artifacts with their status (`done` or other)

**If any artifacts are not `done`:**

  • Display warning listing incomplete artifacts
  • Prompt user for confirmation to continue
  • Proceed if user confirms

3. **Check task completion status**

Read the tasks file (typically `tasks.md`) to check for incomplete tasks.

Count tasks marked with `- [ ]` (incomplete) vs `- [x]` (complete).

**If incomplete tasks found:**

  • Display warning showing count of incomplete tasks
  • Prompt user for confirmation to continue
  • Proceed if user confirms

**If no tasks file exists:** Proceed without task-related warning.

4. **Assess delta spec sync state**

Check for delta specs at `openspec/changes/<name>/specs/`. If none exist, proceed without sync prompt.

**If delta specs exist:**

  • Compare each delta spec with its corresponding main spec at `openspec/specs/<capability>/spec.md`
  • Determine what changes would be applied (adds, modifications, removals, renames)
  • Show a combined summary before prompting

**Prompt options:**

  • If changes needed: "Sync now (recommended)", "Archive without syncing"
  • If already synced: "Archive now", "Sync anyway", "Cancel"

If user chooses sync, use Task tool (subagent_type: "general-purpose", prompt: "Use Skill tool to invoke openspec-sync-specs for change '<name>'. Delta spec analysis: <include the analyzed delta spec summary>"). Proceed to archive regardless of choice.

5. **Perform the archive**

Create the archive directory if it doesn't exist:

   mkdir -p openspec/changes/archive

Generate target name using current date: `YYYY-MM-DD-<change-name>`

**Check if target already exists:**

  • If yes: Fail with error, suggest renaming existing archive or using different date
  • If no: Move the change directory to archive
   mv openspec/changes/<name> openspec/changes/archive/YYYY-MM-DD-<name>

6. **Display summary**

Show archive completion summary including:

  • Change name
  • Schema that was used
  • Archive location
  • Spec sync status (synced / sync skipped / no delta specs)
  • Note about any warnings (incomplete artifacts/tasks)

**Output On Success**

## Archive Complete

**Change:** <change-name>
**Schema:** <schema-name>
**Archived to:** openspec/changes/archive/YYYY-MM-DD-<name>/
**Specs:** ✓ Synced to main specs

All artifacts complete. All tasks complete.

**Output On Success (No Delta Specs)**

## Archive Complete

**Change:** <change-name>
**Schema:** <schema-name>
**Archived to:** openspec/changes/archive/YYYY-MM-DD-<name>/
**Specs:** No delta specs

All artifacts complete. All tasks complete.

**Output On Success With Warnings**

## Archive Complete (with warnings)

**Change:** <change-name>
**Schema:** <schema-name>
**Archived to:** openspec/changes/archive/YYYY-MM-DD-<name>/
**Specs:** Sync skipped (user chose to skip)

**Warnings:**
- Archived with 2 incomplete artifacts
- Archived with 3 incomplete tasks
- Delta spec sync was skipped (user chose to skip)

Review the archive if this was not intentional.

**Output On Error (Archive Exists)**

## Archive Failed

**Change:** <change-name>
**Target:** openspec/changes/archive/YYYY-MM-DD-<name>/

Target archive directory already exists.

**Options:**
1. Rename the existing archive
2. Delete the existing archive if it's a duplicate
3. Wait until a different date to archive

**Guardrails**

  • Always prompt for change selection if not provided
  • Use artifact graph (openspec status --json) for completion checking
  • Don't block archive on warnings - just inform and confirm
  • Preserve .openspec.yaml when moving to archive (it moves with the directory)
  • Show clear summary of what happened
  • If sync is requested, use the Skill tool to invoke `openspec-sync-specs` (agent-driven)
  • If delta specs exist, always run the sync assessment and show the combined summary before prompting
Read more
@gitruck
Ships withgtrk

一条命令,把口播毛片变成可二次精修的剪辑工程。

Stars on GitHub

Momentum

stars in total
969
Star history of Gitruck/cli on GitHub, a chart by star-history.com

Other commands on gtrk.

apply

apply

Command

Implement tasks from an OpenSpec change (Experimental)

@gitruck@gitruckInstall Command
explore

explore

Command

Enter explore mode - think through ideas, investigate problems, clarify requirements

@gitruck@gitruckInstall Command
propose

propose

Command

Propose a new change - create it and generate all artifacts in one step

@gitruck@gitruckInstall Command

More commands from other plugins.

animated-drawing

animated-drawing

Command

Animate a SUPPLIED drawing/photo of a character with real motion capture (Meta AnimatedDrawings) → raster GIF/MP4 of that drawing…

@calesthio@calesthioInstall Command
setup-watch-skill

setup-watch-skill

Command

One-shot setup for Watch Skill — installs the engine, bootstraps ffmpeg/yt-dlp, registers the MCP server in every detected AI…

@oxbshw@oxbshwInstall Command
avatar-insta-reel

avatar-insta-reel

Command

Build a 9:16 split-screen avatar reel — article-scroll (or screen-recording) b-roll on top, AI avatar talking head on bottom,…

openvideo3mo343
@bomx@bomxInstall Command