claude-speckit-template
Health Uyari
- No license — Repository has no license file
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Basarisiz
- rm -rf — Recursive force deletion command in .claude/settings.local.json
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Reusable template for Claude Code + Spec Kit spec-driven development
Claude Code Template
A reusable project template for Claude Code with GitHub Spec Kit for spec-driven development and multi-model plan review.
What's Included
| Component | Source | Purpose |
|---|---|---|
CLAUDE.md |
Template | Project instructions for Claude (fill in placeholders) |
AGENTS.md |
Template | Agent workflow guide and read order |
.specify/ |
Spec Kit (dependency) | Scripts, templates, and memory for spec-driven development |
.claude/skills/speckit-* |
Spec Kit (dependency) | Spec-driven development commands |
.claude/skills/feature/ |
Custom | Full workflow orchestrator (orient, research, specify, plan, review, implement, ship) |
.claude/skills/review-plan/ |
Custom | Multi-model peer review gate |
scripts/review-plan.sh |
Custom | Sends plans to OpenAI gpt-5.3-codex, Gemini 2.5 Pro for peer review |
scripts/install_office_skills.sh |
Custom | Installs Anthropic's official docx / pptx / xlsx skills so Claude Code can generate Word, PowerPoint, and Excel artifacts directly. Re-fetches from upstream (skills are non-redistributable per their LICENSE.txt). |
scripts/newproject.zsh-function |
Custom | Sourceable shell function for creating new repos from this template. Wraps gh repo create --template + runs setup.sh automatically. Source from your ~/.zshrc to get a newproject my-project command. |
setup.sh |
Template | Bootstrap script — installs/upgrades spec-kit dependency, runs Office skills install, updates .gitignore |
Quick Start
Create your project — pick the path that fits your workflow:
(a) One-off, no setup required:
curl -sL https://raw.githubusercontent.com/jabelk/claude-speckit-template/main/scripts/new-project.sh | bash -s my-projectClones the template, strips git history, inits a fresh repo, runs
setup.sh. Good for trying once.(b) Daily-driver shell command (recommended if you create projects often):
# One-time setup — clone the template locally and source the helper from zshrc: git clone https://github.com/jabelk/claude-speckit-template.git ~/dev/projects/claude-speckit-template echo '[ -f "$HOME/dev/projects/claude-speckit-template/scripts/newproject.zsh-function" ] && source "$HOME/dev/projects/claude-speckit-template/scripts/newproject.zsh-function"' >> ~/.zshrc source ~/.zshrc # Then any time: newproject my-project # private GitHub repo via gh, clone, runs setup.sh, cds in newproject my-project --public # or override visibility newproject my-project --no-setup # skip setup.shThis uses
gh repo create --template, so the new repo lands on your GitHub account immediately (private by default).Edit
CLAUDE.md— replace{{PLACEHOLDERS}}with your project details:{{PROJECT_NAME}} → Your project name {{PROJECT_DESCRIPTION}} → One-line description {{LANGUAGE}} → e.g., Python, TypeScript, Go {{PACKAGE_MANAGER}} → e.g., uv, npm, cargo {{INSTALL_COMMAND}} → e.g., uv sync, npm install {{TEST_COMMAND}} → e.g., uv run pytest, npm test {{LINT_COMMAND}} → e.g., uv run ruff check, npm run lint {{BUILD_COMMAND}} → e.g., npm run build, cargo build {{DEV_COMMAND}} → e.g., npm run dev, cargo runSet up API keys for multi-model review (optional):
cp .env.example .env # Add your API keysStart Claude Code and run:
/speckit-constitution # Establish project principles (once) /feature # Start your first feature
Prerequisites
Required for the spec-kit workflow
- Claude Code CLI (or Claude Code desktop/web)
- Git
- GitHub CLI (
gh) — needed bynewproject - uv (Python package manager, for the spec-kit CLI)
Required additionally for the Office skills (setup.sh checks for these)
- Node.js + npm — used by the
docx-jsandpptxgenjslibraries the skills run - Python 3.13 — NOT 3.14 (see Gotchas)
- pandoc — used by the
docxskill to read Word docs
Optional (enables the visual QA loop on slides + Word docs)
- LibreOffice (
brew install --cask libreoffice) — for rendering.pptx/.docx→ PDF - poppler (
brew install poppler) — providespdftoppmto convert the PDFs to JPEG thumbnails
Without LibreOffice + poppler, the skills still generate Office files correctly; you just lose the "render to images and visually QA" loop. Content-only QA (extract text, check fidelity) still works.
macOS one-shot install
brew install gh node pandoc [email protected] poppler
brew install --cask libreoffice
curl -LsSf https://astral.sh/uv/install.sh | sh
Workflow
The /feature skill orchestrates the full development lifecycle:
Phase 1: Orient → Read context, check backlog, recommend next work
Phase 2: Research → Online research before committing to an approach
Phase 3: Specify → /speckit-specify — write the feature spec
Phase 4: Plan → /speckit-plan + /speckit-tasks — architecture + task breakdown
Phase 4.5: Review → /review-plan — multi-model peer review (GREEN/YELLOW/RED)
Phase 5: Implement → /speckit-implement — TDD execution
Phase 6: Ship → Tests, PR, merge, deploy
Updating Spec Kit
Spec Kit is installed as a dependency via specify init, not vendored as frozen copies. To pull the latest version:
./setup.sh
This upgrades the specify CLI and re-runs specify init to update scripts, templates, and commands while preserving your custom skills and project files.
Work Tracking
This template uses GitHub Issues as the primary tracker — not parallel markdown files.
- Label issues with
feature,bug, orchore - Use milestones for release grouping
- Convert spec tasks to issues with
/speckit-taskstoissues - Close issues via PR references (
Closes #N)
Office Artifacts (Word / PowerPoint / Excel)
setup.sh installs Anthropic's official docx, pptx, and xlsx skills into .claude/skills/. After setup, Claude Code can generate Office files directly when asked — useful for status reports, mgmt decks, spreadsheets that summarize work.
How to use
You: "Generate a status report Word doc from the last 5 commits."
You: "Build me a 10-slide deck explaining this feature for non-technical stakeholders."
You: "Make an Excel workbook with the test-coverage numbers from the last 3 sprints."
The skills auto-invoke based on keywords (Word doc, .docx, slides, deck, presentation, spreadsheet, .xlsx, etc.).
What the install actually does
setup.sh calls scripts/install_office_skills.sh, which:
- Caches the upstream skills repo at
~/.cache/anthropic-skills(clones first time,git fetch+reset --hard origin/HEADon re-run). - Copies the requested skills (
docx,pptx,xlsxby default) from the cache into.claude/skills/in your project. - Verifies runtime tools —
node,npm,python3.13,pandocrequired;soffice+pdftoppmoptional (for the visual QA loop). - Installs npm globals
docx@^9andpptxgenjs@^4if missing — these are the libraries the skillsrequire()at runtime. - Updates
.gitignore— adds.claude/skills/{docx,pptx,xlsx}/(non-redistributable, see below) plus*.docx,*.pptx,*.xlsx,*.pdf,~$*(generated artifacts are hand-off only).
Run it standalone at any time to refresh: ./scripts/install_office_skills.sh. Re-runnable, idempotent.
Why the skills aren't vendored
Anthropic's LICENSE.txt for each skill (you can read it at .claude/skills/docx/LICENSE.txt after install) explicitly prohibits:
- Extracting or retaining copies outside Anthropic Services
- Reproducing, copying, or distributing the materials
- Creating derivative works
- Sublicensing or transferring to third parties
The compliant pattern is therefore: re-fetch from github.com/anthropics/skills at install time, never commit a copy. setup.sh does this; .gitignore makes sure you can't accidentally git add them. Same goes for any fork of this template — don't vendor the skills.
Gotchas (real ones we hit during validation)
- Python 3.14 has a broken
pyexpaton macOS Homebrew at the time of writing —python3.14 -c "import xml.etree.ElementTree"fails withSymbol not found: _XML_SetAllocTrackerActivationThreshold. This breakspython-pptx,python-docx,markitdown, etc. Usepython3.13explicitly (brew install [email protected]). The install script checks forpython3.13specifically. - Node 25 module resolution: globally-installed npm packages don't resolve from arbitrary
cwdwithoutNODE_PATH. If you write your own Node script that uses these libraries, setNODE_PATH=$(npm root -g)when running:
(The skills handle this internally when invoked via Claude — only matters for hand-written scripts.)NODE_PATH=$(npm root -g) node my-build-script.js gh repo create --template --internalrequires an org. Personal accounts only support--publicand--private. Thenewprojecthelper defaults to--private.- macOS PEP 668 /
--break-system-packages: if you trypip3 install python-pptxdirectly, macOS-Python refuses by design. Useuvorpipx, or pass--break-system-packagesknowingly. The Office skills mostly use the Node libraries, so this rarely bites unless you also wantmarkitdownfor content extraction. - LibreOffice is ~300MB. Install is via
brew install --cask libreofficeand takes 1–3 min on a fast connection. Worth it if you want the visual QA loop; skippable if you just want to generate files and look at them yourself in Word. - Skills appear mid-session: if you
./setup.shwhile Claude Code is already running, the new skills surface in the available-skills list immediately (no restart needed). But if anything looks off, restart Claude Code to be safe. sofficefirst-run opens a couple of dialogs on macOS (Java JRE prompt, etc.). Runsoffice --headless --convert-to pdf /tmp/throwaway.pptxonce interactively before relying on it in scripts.
Validation evidence
End-to-end validated in a real project (the Grace Church Reno teaching workspace at sister-repo ~/dev/projects/grace-church-reno-teaching):
- Installed both skills (
docx+pptx) into the project via this script. - Invoked the
pptxskill via Claude Code's Skill tool to build a 22-slide deck. - Skill auto-loaded
pptxgenjs, wrote abuild_slides.jsin the project's scratch space, ran it, produced a.pptx. - Ran the skill's full QA loop:
- Content QA via raw XML extraction (
unzipthe.pptx→ grep<a:t>text nodes — works on stdlib Python, no extra deps). - Visual QA via
soffice → PDF → pdftoppm → JPEG → general-purpose subagent inspection(the skill explicitly requires "USE SUBAGENTS — even for 2-3 slides"). - First pass found 5 layout bugs (closer lines colliding with footers on 4 slides + a mid-number wrap on a stat callout). Fix-and-verify cycle: regenerated, re-rendered, re-inspected. Second pass clean.
- Content QA via raw XML extraction (
- Output quality matched what claude.ai's web cowork produces — same libraries (
docx-js,pptxgenjs), same skill content. The platform difference is just skill auto-loading + sandbox iteration ergonomics, not capability.
Re-running
scripts/install_office_skills.sh is re-runnable; it refreshes the cached upstream clone and reinstalls. Worth running occasionally to pick up skill updates from Anthropic.
Customization
review-plan.sh
Edit the SYSTEM_PROMPT in scripts/review-plan.sh to add framework-specific review focus areas. For example:
6. FRAMEWORK GOTCHAS: SvelteKit/Svelte 5 specific issues ($derived tracking, rune file restrictions)
Adding Skills
Add new skills in .claude/skills/<skill-name>/SKILL.md. See existing skills for the frontmatter format.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi