sdd-init
Initialize Spec-Driven Development context in any project.
Skill by gentleman-programming
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ntimpano-sdd-init
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/sdd-init
What's inside
- Skill name
sdd-init- Description
- Initialize Spec-Driven Development context in any project. Detects stack, conventions, testing capabilities, and bootstraps flint persistence. Trigger: When user wants to initialize SDD in a project, or says "sdd init" or "iniciar sdd".
- License
- MIT
- Metadata
- author: gentleman-programming · version: 3.0
- Instructions
- 193 lines in SKILL.md · view on GitHub
Before installing
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Files (1)
- SKILL.md
SKILL.md (first lines)
## Purpose
You are a sub-agent responsible for initializing the Spec-Driven Development (SDD) context in a project. You detect the project stack, conventions, and testing capabilities, then bootstrap the active persistence backend.
You are an EXECUTOR for this phase, not the orchestrator. Do the initialization work yourself. Do NOT launch sub-agents, do NOT call `delegate` or `task`, and do NOT hand execution back unless you hit a real blocker that must be reported upstream.
## Execution and Persistence Contract
Persistence: this skill saves its artifacts to flint via `flint_local_save` (see `_shared/persistence-contract.md` and `_shared/flint-convention.md`). Engram is NOT used.
## What to Do
### Step 1: Detect Project Context
Read the project to understand:
- Tech stack (check package.json, go.mod, pyproject.toml, etc.)
- Existing conventions (linters, test frameworks, CI)
- Architecture patterns in use
### Step 2: Detect Testing Capabilities
Scan the project for ALL testing infrastructure. This determines what testing modes are available.
```
Detect testing capabilities:
├── Test Runner
│ ├── package.json → devDependencies: vitest, jest, mocha, ava
│ ├── package.json → scripts.test (what command it runs)
│ ├── pyproject.toml / pytest.ini / setup.cfg → pytest
│ ├── go.mod → go test (built-in)
│ ├── Cargo.toml → cargo test (built-in)
│ ├── Makefile → make test
│ └── Result: {framework name, command} or NOT FOUND
│
├── Test Layers
│ ├── Unit: test runner exists → AVAILABLE
│ ├── Integration:
│ │ ├── JS/TS: @testing-library/* in dependencies
│ │ ├── Python: pytest + httpx/requests-mock/factory-boy
│ │ ├── Go: net/http/httptest (built-in)
│ │ ├── .NET: xUnit/NUnit + WebApplicationFactory
│ │ └── Result: AVAILABLE or NOT INSTALLED
│ ├── E2E:
│ │ ├── playwright, cypress, selenium in dependencies
│ │ ├── Python: playwright, selenium
│ │ ├── Go: chromedp
│ │ └── Result: AVAILABLE or NOT INSTALLED
│ └── Each layer → record tool name
│
├── Coverage Tool
│ ├── JS/TS: vitest --coverage, jest --coverage, c8, istanbul/nyc
│ ├── Python: coverage.py, pytest-cov
│ ├── Go: go test -cover (built-in)
│ ├── .NET: coverlet
│ └── Result: {command} or NOT AVAILABLE
│
└── Quality Tools
├── Linter: eslint, pylint, ruff, golangci-lint, clippy
├── Type checker: tsc --noEmit, mypy, pyright, go vet
├── Formatter: prettier, black, gofmt, rustfmt
└── Each: {command} or NOT AVAILABLE
```
### Step 3: Resolve STRICT TDD MODE
Determine whether Strict TDD Mode should be enabled. The resolution follows a priority chain — first match wins:
```
1. Read from system prompt / agent config (highest priority):
├── Search for "strict-tdd-mode" marker in the agent's system prompt file
│ (e.g., CLAUDE.md, GEMINI.md, .cursorrules, etc.)
├── If found and says "enabled" → strict_tdd: true
├── If found and says "disabled" → strict_tdd: false
└── This is the preference set by the user in the nt-cli runtime profile
2. If nothing found AND test runner was detected in Step 2:
├── Default: strict_tdd: true (enable if the project CAN do TDD)
└── This ensures TDD is active even without nt-cli runtime profile setup
3. If no test runner detected:
├── strict_tdd: false (cannot enable without test runner)
└── Include NOTE in summary: "Strict TDD Mode unavailable — no test runner detected"
```
**Do NOT ask the user interactively.** The preference is resolved from existing config. If the user wants to change it, they run `nt-cli profile init / profile update` with the TUI.
### Step 4: Initialize Persistence Backend
Initialize persistence by preparing flint artifacts for this project context.
### Step 5: Persist Testing Capabilities
**This step is MANDATORY — do NOT skip it.**
Persist detected testing capabilities as a separate flint observation. This cache prevents re-detection on every `sdd-apply` and `sdd-verify` run.
```
flint_local_save(
title: "sdd/{project-name}/testing-capabilities",
topic_key: "sdd/{project-name}/testing-capabilities",
type: "config",
scope: "{project-name}",
content: "{testing capabilities markdown — see format below}"
)
```
**Testing Capabilities format**:
```markdown
## Testing Capabilities
**Strict TDD Mode**: {enabled/disabled}
**Detected**: {date}
### Test Runner
- Command: `{command}`
- Framework: {name}
### Test LayersFrom ntimpano/guild, MIT.
More from ntimpano/guild
- 0.474score
doc-writer
nt-cli
Write clear, maintainable technical documentation for code, APIs, modules, and decisions across full-stack projects.
SkillCFreshness: CClaude Code +9 - 0.474score
bug-fix
nt-cli
Structured workflow for diagnosing, fixing, and verifying bugs across full-stack codebases.
SkillCFreshness: CClaude Code +9 - 0.406score
judgment-day
gentleman-programming
Parallel adversarial review protocol that launches two independent blind judge sub-agents simultaneously to review the same target, synthesizes their…
SkillCFreshness: CClaude Code +9 - 0.403score
comment-writer
gentleman-programming
Write warm, direct, human comments for PRs, issues, reviews, chats, and async collaboration.
SkillCFreshness: CClaude Code +9 - 0.403score
repo-workflow-ops
gentleman-programming
Prácticas operativas para git/repo y promoción dev->prd.
SkillCFreshness: CClaude Code +9 - 0.403score
sdd-apply
gentleman-programming
Implement tasks from the change, writing actual code following the specs and design.
SkillCFreshness: CClaude Code +9 - 0.403score
sdd-archive
gentleman-programming
Sync delta specs to main specs and archive a completed change.
SkillCFreshness: CClaude Code +9 - 0.403score
sdd-explore
gentleman-programming
Explore and investigate ideas before committing to a change.
SkillCFreshness: CClaude Code +9 - 0.403score
sdd-onboard
gentleman-programming
Guided end-to-end walkthrough of the SDD workflow using the real codebase.
SkillCFreshness: CClaude Code +9 - 0.403score
python-testing-tdd
gentleman-programming
Patrón estricto de testing Python con TDD aplicado a runtime e infraestructura.
SkillCFreshness: CClaude Code +9 - 0.403score
azure-pr-workflow
gentleman-programming
Flujo operativo para crear y actualizar pull requests en Azure DevOps.
SkillCFreshness: CClaude Code +9 - 0.403score
sdd-design
gentleman-programming
Create technical design document with architecture decisions and approach.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 19, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 3.0
- License
- MIT
- Repository
- github.com/ntimpano/guild
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from gentleman-programming
- 0.724score
gentleman-bubbletea
gentleman-programming
Bubbletea TUI patterns for Gentleman.Dots installer.
SkillAFreshness: A★ 7.6KClaude Code +9 - 0.723score
engram-backlog-triage
gentleman-programming
Backlog triage protocol for Engram: audit open issues and PRs, classify each item, infer maintainer ideology from comments, and produce an actionable…
SkillAFreshness: A★ 7.6KClaude Code +9 - 0.720score
engram-branch-pr
gentleman-programming
PR creation workflow for Engram following the issue-first enforcement system.
SkillAFreshness: A★ 7.6KClaude Code +9 - 0.720score
engram-business-rules
gentleman-programming
Product and business-rule guardrails for Engram.
SkillAFreshness: A★ 7.6KClaude Code +9 - 0.720score
engram-architecture-guardrails
gentleman-programming
Architecture guardrails for Engram across local store, cloud sync, dashboard, and plugins.
SkillAFreshness: A★ 7.6KClaude Code +9 - 0.720score
engram-commit-hygiene
gentleman-programming
Commit and branch naming standards for Engram contributors, enforced by GitHub rulesets.
SkillAFreshness: A★ 7.6KClaude Code +9
Cite this page
sdd-init skill. Agent Mart. https://agentmart.dev/skills/ntimpano-sdd-init (last updated 2026-10-24)