The Claude Code SPECLAN Plugin
If you prefer the speed of your terminal over point-and-click editors, the SPECLAN Plugin for Claude Code is built for you.
It brings the full power of SPECLAN into your Claude Code session -- create goals, draft features, write requirements, navigate the hierarchy, transition statuses, search across your specification tree, and ask questions about any entity in context. All through natural language. No window switching. No context breaks.
You stay in the flow. Claude does the heavy lifting.
What You Get
The plugin gives Claude Code deep knowledge of SPECLAN's specification model and the skills to operate on it:
- Create goals, features, requirements, scenarios, acceptance criteria, and tests by describing what you need
- Read any entity by ID, by name, or by browsing the tree
- Update titles, descriptions, statuses, owners, and acceptance criteria
- Navigate the full hierarchy -- parent chains, child trees, sibling features
- Search across your entire spec repository by keyword, status, type, or owner
- Transition entities through the lifecycle: draft, review, approved, in-development, under-test, released, deprecated
- Manage change requests for locked entities that are already in development or beyond
- Ask questions about any entity, status, relationship, or project health -- get contextual answers with hierarchy, siblings, change requests, and actionable next steps
- Assign features to goals and manage templates
Every operation produces the same Markdown files with YAML frontmatter that the VS Code Extension reads. There is no format difference -- the plugin and the extension work on the same files. Switch between them freely.
Installation
The plugin is distributed through the cc-marketplace. Installation takes two commands.
Quick Install (Two Commands)
/plugin marketplace add thlandgraf/cc-marketplace
/plugin install speclan@digital-dividend-marketplace
That is it. The plugin's skills and agents are available immediately -- no restart needed.
Interactive Install (Plugin Manager UI)
If you prefer browsing the plugin manager:
- Run
/pluginin Claude Code - Go to the Marketplaces tab (use arrow keys or Tab to cycle)
- Select + Add Marketplace
- When prompted for the marketplace source, enter:
thlandgraf/cc-marketplace - Go to the Discover tab
- Find speclan in the list
- Select it and choose your installation scope (User, Project, or Local)
Adding the marketplace is a one-time setup. After that, you can always find and manage the plugin from the Discover and Installed tabs.
See Discover and install plugins for details on how marketplaces work.
Choosing a Scope
When installing, you pick where the plugin lives:
| Scope | What It Means |
|---|---|
| User (default) | Available in every project you open. Good for personal use. |
| Project | Shared with everyone who works on this repository. Stored in .claude/settings.json. Good for teams. |
| Local | Available only to you, only in this repository. Good for trying things out. |
For most users, the default User scope is the right choice -- you want SPECLAN available wherever you work.
Working With the Plugin
Once installed, you interact with SPECLAN the way you interact with everything in Claude Code: by asking.
Creating Specifications
Describe what you want, and Claude creates the spec:
Create a new feature under F-1234 called "User Notification Preferences"
with a description about letting users choose how they receive notifications.
Claude creates the Markdown file in the right directory, generates a collision-free ID, and fills in the frontmatter. You can review the result and refine it in the same conversation.
This works for every entity type. Ask for a goal, a feature, a requirement -- Claude knows the hierarchy and places things correctly.
Navigating the Hierarchy
Ask Claude to show you the shape of your project:
Show me the feature tree under G-001
What requirements belong to F-5678?
Trace the ancestry of R-2345 back to its goal
Claude reads the specification files and presents the hierarchy in a clear, readable format.
Transitioning Statuses
Move specifications through their lifecycle:
Transition F-5678 to review
Move all draft requirements under F-1234 to review status
The plugin enforces the same lifecycle rules as the VS Code Extension. You cannot skip statuses, and locked entities (in-development and beyond) require change requests.
Searching
Find things fast:
Show me all features in approved status
Find requirements that mention "authentication"
List all entities owned by alice@example.com
Managing Change Requests
When a specification is locked (in-development, under-test, or released), direct edits are not allowed. Create a change request instead:
Create a change request for R-2345 to add a new acceptance criterion
about handling timeout errors
The plugin respects the same business rules as the rest of SPECLAN -- no shortcuts, no workarounds.
Asking Questions
The other commands manage specs -- the ask command helps you understand them. Instead of reading files and piecing together context yourself, ask a question and get a contextual answer that situates the entity in its full hierarchy.
/speclan:ask F-0471
This does not just dump the file. It shows F-0471's identity and status, its parent features up to the top-level, the goal it contributes to, its child requirements and sub-features with their statuses, sibling features at the same level, any active change requests, and what the status means for next steps. One question, full picture.
You can also ask without the slash command. Claude recognizes SPECLAN questions conversationally:
What does F-0471 do?
Tell me about the notification feature
What You Can Ask
By entity ID -- look up any entity directly:
/speclan:ask R-0311
/speclan:ask CR-0012
By status -- find entities in a specific lifecycle stage:
/speclan:ask what's approved
/speclan:ask show in-development features
By relationship -- explore the hierarchy:
/speclan:ask children of G-001
/speclan:ask what contributes to G-001
Freehand questions -- ask anything about your spec repository:
/speclan:ask which features don't have acceptance criteria yet?
/speclan:ask are there any requirements that reference authentication?
/speclan:ask summarize goal G-001 and how far along its contributing features are
What the Answer Looks Like
For a single entity question, the answer is a context card:
## R-0311 Lateral March Edge Reversal [approved]
Type: Requirement | Owner: tl@example.com | Updated: 2026-02-19
Hierarchy:
G-001 Core Game Experience
→ F-0471 Core Gameplay
→ F-0492 Alien Grid Movement
→ R-0311 Lateral March Edge Reversal ← you are here
Description: [concise summary]
Siblings (other requirements under F-0492):
- R-0312 Descent After Reversal [in-development]
- R-0315 Speed Increase Per Wave [approved]
Change Requests: None active
Status Notes: Approved and ready for implementation.
For status queries, the answer is a table grouped by parent feature. For relationship queries, the answer is an indented tree with status badges:
G-001 Core Game Experience [released]
F-0471 Core Gameplay [in-development]
R-0311 Lateral March Edge Reversal [approved]
R-0312 Descent After Reversal [in-development]
F-0089 VS Code Extension [released]
F-0792 Tree Views [released]
F-1380 View Panels [in-dev]
Read-Only Guarantee
The ask command never creates, modifies, deletes, or transitions any entities. It only reads. If the answer reveals something you want to act on -- a stale status, a missing acceptance criterion, an orphan feature with no goal -- it points you to the right command to fix it.
Why Use the Plugin Instead of the VS Code Extension?
You do not have to choose. The plugin and the extension work on the same files. Many users use both.
But if your workflow already lives in Claude Code -- if you are writing code, running tests, committing changes, and reviewing diffs in the terminal -- switching to a WYSIWYG editor just to update a spec breaks your rhythm.
With the plugin, specification work becomes part of your conversation. You can draft a requirement, implement it, and transition its status to in-development without ever leaving Claude Code. The round-trip from spec to code to status update happens in one place.
This is especially powerful when you are in the middle of implementation. You are reading a spec, writing code, and you notice the acceptance criteria are missing a case. Instead of opening a different tool, you say:
Create a change request for R-2345 to add an acceptance criterion:
"The system returns a 429 status when the rate limit is exceeded"
Done. Back to coding.
Keeping the Plugin Updated
The cc-marketplace supports auto-updates. When enabled, Claude Code checks for new plugin versions at startup and updates automatically.
To toggle auto-updates:
- Run
/pluginin Claude Code - Go to the Marketplaces tab
- Select digital-dividend-marketplace
- Choose Enable auto-update or Disable auto-update
You can also manually update at any time:
/plugin marketplace update digital-dividend-marketplace
Troubleshooting
Plugin skills not appearing after install: Clear the plugin cache and restart Claude Code:
rm -rf ~/.claude/plugins/cache
Then reinstall the plugin.
/plugin command not recognized:
Make sure you are running Claude Code version 1.0.33 or later. Run claude --version to check.
Plugin not finding your specifications:
The plugin operates on the speclan/ directory in your current project. Make sure you are in a project directory that has been initialized with SPECLAN.
Related Topics
- Getting Started: New Project -- Set up SPECLAN from scratch
- Getting Started: Existing Project -- Adopt SPECLAN in a project that already has code
- Status Lifecycle -- The full entity status progression
- Change Requests -- How to modify locked specifications
- Development Workflow -- Implementation phase and the Implementation Assistant
- BMAD Support -- Bidirectional conversion between BMAD-METHOD and SPECLAN