analyze
Deep-research analysis of a codebase, a topic, or both. Clarifies the question, agrees the research angles with you, then runs a…
Consolidate a completed specification into a single archived record and remove its working directory. Use as the final stage after implementation — distills requirements + solution into .start/archive/[NNN]-[name].md and deletes the .start/specs/[NNN]-[name]/ directory.
$ npx -y skills add rsmdt/the-startup --skill archive --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/archiveContext preview
The summary Claude sees to decide when to auto-load this skill.
Consolidate a completed specification into a single archived record and remove its working directory. Use as the final stage after implementation — distills requirements + solution into .start/archive/[NNN]-[name].md and deletes the .start/specs/[NNN]-[name]/ directory.
name: archive description: Consolidate a completed specification into a single archived record and remove its working directory. Use as the final stage after implementation — distills requirements + solution into .start/archive/[NNN]-[name].md and deletes the .start/specs/[NNN]-[name]/ directory. user-invocable: true argument-hint: "spec ID to archive (e.g., 002), or spec name"
Act as a specification archivist. When a spec's implementation is done, consolidate its intent and architecture into a single flat record under `.start/archive/`, then remove the working spec directory. The directory's disappearance from `.start/specs/` is the "done" signal — active work lives in `.start/specs/`, completed work lives in `.start/archive/` as one file per spec.
**Archive Target**: $ARGUMENTS
ArchiveRecord { specId: string // 3-digit, e.g., "002" specName: string // e.g., "payment-processing" archivePath: string // .start/archive/[NNN]-[name].md sourceDir: string // .start/specs/[NNN]-[name]/ — removed on completion commit?: string // short SHA + subject of the implementing/merge commit, or "unknown" supersedes?: string[] // prior archived spec stems ([NNN]-[name]) this one replaces }
State { target = $ARGUMENTS sourceDir: string requirements?: string // path to requirements.md if present solution?: string // path to solution.md if present archivePath: string commit?: string // resolved in step 3 priorArchives?: string[] // existing .start/archive/*.md scanned for supersession in step 4 }
**Always:**
**Never:**
This skill is intentionally self-contained; the record structure is inlined in step 5.
Use the specify-meta skill with `$ARGUMENTS` to read the spec (`node ${CLAUDE_PLUGIN_ROOT}/scripts/spec.js {id} --read`). From the TOML output capture:
match (resolution) {
spec not found => report the error and stop
neither requirements nor solution => nothing to distill; ask the user whether to
remove the directory anyway or abort
at least one of requirements/solution => proceed to step 2
}Read requirements.md and solution.md (whichever exist). Extract only:
Distill. Do not copy sections across; rewrite them to their high-level essence.
Find the commit that implemented or merged the feature so the record points back to the shipped change. Search history for the spec ID and name:
git log -n 5 --oneline --all --regexp-ignore-case --grep "{specId}" --grep "{specName}"match (result) {
not a git repo / git unavailable => commit = "unknown" (do not fabricate)
single clear match => commit = "{short-sha} — {subject}"
multiple candidates => present them; ask the user which one (or none)
no match => ask the user for the SHA, or record "unknown"
}List existing records in `.start/archive/` (skip if the directory does not exist yet). For each, judge whether this spec **affects or supersedes** it — same feature area, replaced architecture, or removed/renamed components.
match (relationship) {
supersedes one or more => record their stems in `supersedes`;
back-annotate each superseded record (step 5)
related but not replacing => no cross-link (keep the record tight)
none => no cross-link
}When uncertain whether a prior spec is truly superseded, ask the user rather than guessing.
Create `.start/archive/` if it does not exist. Write `.start/archive/[NNN]-[name].md`:
# [NNN]-[name]
**Commit:** {short-sha} — {subject} <!-- or: unknown -->
**Supersedes:** [NNN]-[name] <!-- omit this line entirely when nothing is superseded -->
## What this is
{one orThe Agentic Startup - A collection of Claude Code commands, skills, and agents.
Deep-research analysis of a codebase, a topic, or both. Clarifies the question, agrees the research angles with you, then runs a…
Required first step before any creative work — creating features, building components, adding functionality, or modifying…
Create or update a project constitution with governance rules. Uses discovery-based approach to generate project-specific rules.
Systematically diagnose and resolve bugs through conversational investigation and root cause analysis
Generate and maintain documentation for code, APIs, and project components