Chapter 6: Installing OpenSpec
Learning Objectives
Enable OpenSpec's specification capabilities in your project directory.
Installation
npm install -g @fission-ai/openspec
openspec --version
# 1.3.1 or newer
Initializing in Your Project
cd ~/work/learn-claude
openspec init
After completion, the directory structure will be:
flowchart TB
Root["~/work/learn-claude/"] --> Specs["openspec/specs/
(empty, awaiting accumulation)"]
Root --> Changes["openspec/changes/"]
Changes --> Archive["archive/
(empty, completed changes)"]
Root --> CC[".claude/
(may already exist)"]
style Specs fill:#e8f5e9
style Changes fill:#fff3e0
style Archive fill:#f3e5f5Role of each directory:
| Path | Meaning | Who writes/reads |
|---|---|---|
openspec/specs/ |
System's current committed capabilities | Accumulated and merged from archive |
openspec/changes/<name>/ |
A work-in-progress change | Created by propose |
openspec/changes/archive/ |
History of completed changes | Moved here by archive |
4 Core Skills
OpenSpec exists as skills within Claude Code. After installation, you can use:
| Skill | Purpose | When to use |
|---|---|---|
/opsx:explore |
Explore ideas, thinking phase | Ideas are still vague |
/opsx:propose |
Formalize ideas into a change artifact | Ideas are clear |
/opsx:apply |
Implement according to tasks.md | Ready to start implementation |
/opsx:archive |
Archive upon completion, update specs | Implementation is complete |
Full lifecycle:
flowchart LR
Idea["💡 Idea"] -->|opsx:explore| Clear["Clear Requirements"]
Clear -->|opsx:propose| Change["change folder"]
Change -->|opsx:apply| Code["Code + Checkmarks"]
Code -->|opsx:archive| Specs["specs/ accumulation"]
style Specs fill:#c8e6c9Verifying Successful Installation
Run:
openspec list --json
The output should be:
{
"changes": []
}
→ No changes yet, which is expected.
Adding to Git Control
All OpenSpec files should be committed to Git (this is its core value—versionable requirements):
cd ~/work/learn-claude
git init
echo ".env" > .gitignore
git add openspec/ .gitignore
git commit -m "init: openspec scaffold"
What You Can Do Now
- Initialize a blank OpenSpec project
- Explain the roles of the
specs/,changes/, andarchive/directories - Know when to use each of the 4 skills
The next chapter delves into OpenSpec's worldview—why this structure inherently solves the "requirement drift" problem.