By a3lem
Spec-driven development workflow: explore, propose, refine, apply, archive. Skills and subagents that turn specs into the source of truth.
Reviews and challenges specifications and implementation. Acts as senior engineer stand-in. Engages in multi-turn dialogue until satisfied.
Merges spec deltas into reference specs during the archive phase. Handles ADDED, MODIFIED, REMOVED, and RENAMED operations across all capabilities in a change.
Implement a proposed spec change -- write the code and the tests that satisfy every requirement and scenario. Use when the user asks to "apply", "implement", "build the feature", "start coding the spec", "make it real", or references an active change that is ready for implementation. Never claim "done" without passing tests. Use `/spexl-archive` next to merge deltas into reference specs once the change is complete.
Archive a completed spexl change by merging its deltas into reference specs and moving the change to the archive directory. Use when the user asks to "archive", "merge deltas", "finalize", "complete a change", "wrap up", or references a change that has been applied and verified. Only archive when implementation is done and tests pass -- archiving a half-finished change leaves the reference specs inconsistent.
Explore an idea, investigate a problem, or clarify requirements before committing to a formal spec change. Use when the user asks to "explore", "investigate", "think through", "research", "brainstorm", "understand the codebase", or wants a thinking partner before writing a proposal. Produces no artifacts by default -- this is discussion, diagrams, and code reading, not implementation. Transition to `/spexl-propose` when a decision crystallizes.
Foundational knowledge for spec-driven development with spexl. Load when the user asks "what is spec-driven development", "how do I use spexl", "what is a spec delta", "explain SDD", or any question about the workflow, concepts, rules, or artifacts. Action skills (spexl-propose, spexl-explore, spexl-refine, spexl-apply, spexl-archive) also tell the caller to load this skill -- it holds the concepts and references they defer to.
Propose a new change in a spexl project. Use when the user asks to "propose a change", "create a spec", "start a new feature", "define requirements", "add a capability", "write a proposal", or describes new functionality that should be specified before implementation. Produces a change directory with proposal.md, per-capability spec deltas, and optionally design.md and tasks.md. Do not proceed to implementation from this skill -- that's the spexl-apply skill's job.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Spec-driven development for evolving codebases.
spexl manages behavioral specifications alongside your code. Specs describe what the system does using requirements and scenarios. When something needs to change, you propose a spec delta -- a structured diff against the current spec -- then implement against it, then merge the delta back into the reference. The spec stays the source of truth throughout.
The approach draws heavily from openspec. Where spexl differs: it supports monorepos (multiple spec roots in one project), provides runtime steering for AI agents during implementation, and generates self-contained skill files so agents can work the full propose-apply-archive lifecycle without external context.
uv tool install git+https://github.com/a3lem/spexl
Initialize a project:
cd your-project
spexl init
This creates .spexl.toml and the specs/ directory structure:
specs/
├── reference/ # Source of truth -- how the system behaves now
│ └── <capability>/spec.md
└── changes/
├── archive/ # Completed changes
└── <slug>/ # Active changes
├── proposal.md
├── deltas/<capability>/spec.md
├── design.md
├── tasks.md
└── notes/
usage: spexl [-h] [--version] [--cwd PROJECT_DIR] command
These commands handle the filesystem operations around specs and changes.
| Command | What it does |
|---|---|
new <slug> | Scaffold a new change directory |
changes | List active changes (grouped by spec root in monorepos) |
info <slug> | Show change overview -- artifacts, deltas, task progress, links |
archive <slug> | Merge deltas into reference specs, move change to archive |
validate | Check all changes for structural problems |
refs | List reference specs |
link <a> <b> | Link two changes across spec roots |
unlink <a> <b> | Remove a link |
These commands print content to stdout. They exist so AI agents (and humans) can pull methodology guidance on demand without bundling everything into the system prompt.
| Command | What it does |
|---|---|
prime | Print foundational spexl knowledge for system prompt injection |
explain <topic> | Deep guidance on a specific technique |
template <type> | Print an artifact scaffold |
Available topics (spexl explain --list):
critique Spec-critic checklists and modes
design Guidance for writing design documents
spec-notation Notation and structure for spec deltas
spexl Full SDD methodology overview
tasks Guidance for writing task breakdowns
verification Test strategies and annotation conventions
Available templates (spexl template --list):
design Design document (context, decisions, risks)
proposal Proposal (why, what changes, capabilities, impact)
reference-spec Reference spec (overview, requirements, scenarios)
spec-delta Spec delta (ADDED/MODIFIED/REMOVED requirements)
tasks Task breakdown (checkboxes, phases)
| Command | What it does |
|---|---|
init claude | Install or refresh Claude Code integration files |
init --remove | Remove all spexl-managed files |
Running init again after an spexl upgrade refreshes all generated files. It's idempotent -- files are only written when content has changed.
spexl is designed for AI agents as first-class users. All errors exit 1 with an explanation the agent can reason about.
Currently supported: Claude Code.
spexl init claude
This installs into .claude/:
.claude/
├── rules/
│ └── spexl.md # Foundational knowledge (always loaded)
├── agents/
│ ├── spec-critic.md # Adversarial spec reviewer
│ └── spec-sync.md # Delta-to-reference merger
└── skills/
├── spexl-explore/SKILL.md # /explore -- investigate before proposing
├── spexl-propose/SKILL.md # /propose -- create a change with all artifacts
├── spexl-refine/SKILL.md # /refine -- update any existing artifact
├── spexl-apply/SKILL.md # /apply -- implement and verify against spec
└── spexl-archive/SKILL.md # /archive -- merge deltas, move to archive
Each skill is self-contained -- all methodology knowledge is composed into the file at generation time. No runtime dependencies beyond the spexl CLI itself.
The five skills map to the spec-driven lifecycle:
npx claudepluginhub a3lem/spexl --plugin spexlMinimal file-based ticket system with dependency tracking for humans and AI agents
Skills for using shablon, a CLI that renders Jinja2 templates from a .shablon/ directory into a project tree.
File-based inter-agent messaging for parallel Claude Code sessions
Spec-driven development system with structured directories for requirements, design, tasks, and notes
Automatically prompt execution of Session Setup steps from CLAUDE.md on session start
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Develop, test, build, and deploy Godot 4.x games with Claude Code. Includes GdUnit4 testing, web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Access thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.