Claude Code plugin for fetching transient spec and design documents from a private GitHub repo during implementation
npx claudepluginhub ward-software-defined-systems/spec-vaultFetch transient spec and design documents from a private GitHub repo during implementation — no local file clutter, no .gitignore juggling. Built for research-then-implement workflows.
A Claude Code plugin that fetches transient spec and design documents from a private GitHub repo during implementation — no local file clutter, no .gitignore juggling.
Built for research-then-implement workflows where design documents are produced in one phase and consumed in another, then archived when implementation is complete.
If you produce design specs, architecture docs, or implementation guides before coding (whether via Claude.ai, a design review, or any other process), you need those documents accessible to your coding tools. The typical approach — copying spec files into your working tree and adding them to .gitignore — creates manual overhead, clutter, and the risk of accidentally committing transient files.
spec-vault connects Claude Code to a private GitHub repo (your "spec vault") where design documents live. Claude Code reads specs on demand via the GitHub MCP Server — nothing is copied into your working tree.
ACTIVE/ specs are available for current workCOMPLETED/ specs are archived after implementation/spec-vault:specsCreate a private GitHub repo with this structure:
your-spec-vault/
├── ACTIVE/
│ ├── project-a/
│ │ ├── FEATURE-SPEC.md
│ │ └── API-DESIGN.md
│ └── project-b/
│ └── MIGRATION-PLAN.md
├── COMPLETED/
│ └── project-a/
│ └── INITIAL-SETUP.md
└── README.md
Create a fine-grained Personal Access Token with:
# Required
export SPEC_VAULT_GITHUB_TOKEN="github_pat_xxxxx"
# Optional (defaults shown)
export SPEC_VAULT_REPO="your-org/your-spec-vault" # owner/repo format
export SPEC_VAULT_BRANCH="main"
export SPEC_VAULT_ACTIVE_DIR="ACTIVE"
export SPEC_VAULT_COMPLETED_DIR="COMPLETED"
Add these to your shell profile (~/.zshrc, ~/.bashrc, etc.) for persistence.
(COMING SOON) From the marketplace:
/plugin install spec-vault@claude-plugin-directory
From GitHub (for development/testing):
git clone https://github.com/ward-software-defined-systems/spec-vault.git
claude --plugin-dir ./spec-vault
If you use Plan Mode — and you should for spec-driven work — add the spec-vault tools to your permissions allow list. Without this, MCP tools are auto-denied in Plan Mode.
Add to ~/.claude/settings.json (user-level) or .claude/settings.json (project-level):
{
"permissions": {
"allow": [
"mcp__spec-vault-github__get_file_contents",
"mcp__spec-vault-github__list_directory"
]
}
}
This is safe — these tools can only read from the GitHub API. They cannot modify your project or the spec vault.
/spec-vault:specs
Shows all files in the ACTIVE/ directory, organized by project.
/spec-vault:specs FEATURE-SPEC.md
Fetches and displays the spec. Claude Code summarizes what was loaded and waits for your direction.
/spec-vault:specs API-DESIGN.md MIGRATION-PLAN.md
Fetches both files with clear separators between them.
/spec-vault:specs project-a/FEATURE-SPEC.md
/spec-vault:specs completed
Shows archived specs for historical reference.
/spec-vault:specs to see what's available/spec-vault:specs SOME-SPEC.md to load what you needACTIVE/ to COMPLETED/ in your vault repo (via git or GitHub UI)The spec-loader skill also activates automatically when Claude Code detects implementation work that could benefit from spec context. It will suggest listing specs rather than fetching them proactively — you stay in control.
Override the default spec vault for specific projects via .claude/settings.json:
{
"env": {
"SPEC_VAULT_REPO": "your-org/project-specific-specs"
}
}
The default configuration uses the local stdio transport (npx). If you prefer the remote HTTP transport (no npx required), replace the .mcp.json contents with:
Development marketplace for Superpowers core skills library
Harness-native ECC skills, hooks, rules, MCP conventions, and operator workflows
Open Design — local-first design app exposed to coding agents over MCP. Install once with your agent's plugin command and projects/files/skills are reachable through stdio.