setup-speckit
Use when setting up speckit (Specification-Driven Development) in a repo — copies slash commands, templates, and optionally creates a project constitution.
How do I install this agent skill?
npx skills add https://github.com/fellowship-dev/dogfooded-skills --skill setup-speckitIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill automates the installation of the Spec-Kit development workflow by cloning the author's official repository, setting up directory structures, and installing Bash scripts and slash commands. While it uses executable permissions on downloaded scripts and creates an ingestion surface for future external data, these actions are consistent with its purpose as a development setup tool.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
Setup Spec-Kit
Install Spec-Kit into a target repository, enabling the full Specification-Driven Development (SDD) pipeline: specify → clarify → plan → tasks → implement → analyze → checklist → constitution.
When to Use
- Bootstrapping a new repo for speckit workflows
- Adding SDD to an existing project
Source Forks
| Fork | Repo | Notes |
|---|---|---|
| fellowship-dev (default) | fellowship-dev/spec-kit | Leaner, fewer tokens, opinionated defaults |
| upstream | github/spec-kit | Original, more verbose, higher token cost |
Default to the fellowship-dev fork. If the user explicitly requests the upstream version, warn that it uses significantly more tokens per invocation due to longer templates and prompts.
Prerequisites
- Git available in the target repo
- Target repo has a
.claude/directory (runsetup-harnessfirst if not)
What Gets Installed
target-repo/
├── .specify/
│ ├── scripts/bash/ # create-new-feature.sh, setup-plan.sh, common.sh, etc.
│ ├── templates/ # spec, plan, tasks, checklist, constitution templates
│ └── memory/
│ └── constitution.md # Project principles (customized or default)
├── .claude/commands/
│ ├── speckit.specify.md # /speckit.specify <issue-number>
│ ├── speckit.plan.md # /speckit.plan
│ ├── speckit.tasks.md # /speckit.tasks
│ ├── speckit.implement.md # /speckit.implement
│ ├── speckit.clarify.md # /speckit.clarify
│ ├── speckit.checklist.md # /speckit.checklist
│ ├── speckit.analyze.md # /speckit.analyze
│ └── speckit.constitution.md
└── specs/ # Created per-feature by /speckit.specify
Installation Steps
1. Clone Spec-Kit to a temp directory
# Default: fellowship-dev fork (leaner, recommended)
SPECKIT_SRC=$(mktemp -d)
git clone --depth 1 https://github.com/fellowship-dev/spec-kit.git "$SPECKIT_SRC"
# Alternative: upstream (more verbose, higher token cost)
# git clone --depth 1 https://github.com/github/spec-kit.git "$SPECKIT_SRC"
2. Create target directories
mkdir -p .specify/scripts/bash .specify/templates .specify/memory
mkdir -p .claude/commands
mkdir -p specs
3. Copy scripts
cp "$SPECKIT_SRC"/scripts/bash/*.sh .specify/scripts/bash/
chmod +x .specify/scripts/bash/*.sh
4. Copy templates
cp "$SPECKIT_SRC"/templates/spec-template.md .specify/templates/
cp "$SPECKIT_SRC"/templates/plan-template.md .specify/templates/
cp "$SPECKIT_SRC"/templates/tasks-template.md .specify/templates/
cp "$SPECKIT_SRC"/templates/checklist-template.md .specify/templates/
cp "$SPECKIT_SRC"/templates/constitution-template.md .specify/templates/
5. Copy Claude Code slash commands
cp "$SPECKIT_SRC"/templates/commands/specify.md .claude/commands/speckit.specify.md
cp "$SPECKIT_SRC"/templates/commands/plan.md .claude/commands/speckit.plan.md
cp "$SPECKIT_SRC"/templates/commands/tasks.md .claude/commands/speckit.tasks.md
cp "$SPECKIT_SRC"/templates/commands/implement.md .claude/commands/speckit.implement.md
cp "$SPECKIT_SRC"/templates/commands/clarify.md .claude/commands/speckit.clarify.md
cp "$SPECKIT_SRC"/templates/commands/checklist.md .claude/commands/speckit.checklist.md
cp "$SPECKIT_SRC"/templates/commands/analyze.md .claude/commands/speckit.analyze.md
cp "$SPECKIT_SRC"/templates/commands/constitution.md .claude/commands/speckit.constitution.md
6. Initialize constitution
If the project doesn't have a constitution yet:
cp .specify/templates/constitution-template.md .specify/memory/constitution.md
Ask the user if they want to customize it now or use the default. Key decisions:
- Test-first vs test-after
- Library-first preference
- Max complexity per feature
- Framework-specific principles
7. Clean up
rm -rf "$SPECKIT_SRC"
8. Ensure required GitHub labels exist
REPO=$(gh repo view --json nameWithOwner -q '.nameWithOwner')
gh label create "in-progress" --repo "$REPO" --color "97f157" --description "Issue is actively being worked on" 2>/dev/null || true
gh label create "ready-to-work" --repo "$REPO" --color "f6a80a" --description "PRD complete, ready for implementation" 2>/dev/null || true
9. Verify installation
ls .specify/scripts/bash/*.sh # Scripts present and executable
ls .specify/templates/*.md # Templates present
ls .claude/commands/speckit.*.md # Slash commands present
cat .specify/memory/constitution.md # Constitution initialized
gh label list --repo "$REPO" | grep -E "in-progress|ready-to-work"
Post-Install
- Run
/speckit.constitutionto customize principles for this project - The repo is now ready for
/speckit.specify <issue-number>workflows
SDD Philosophy (Terse)
- Specs ≤50 lines, bullets only
- Plans ≤50 lines, table-driven decisions
- Tasks ≤40 lines, checkboxes, no prose
- Constitution enforces principles (test-first, library-first, simplicity)
- Branch naming:
<issue-number>-<short-name>
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/fellowship-dev/dogfooded-skills/setup-speckit">View setup-speckit on skillZs</a>