/ Annuaire / Playground / Spec Workflow
● Communauté Pimzino ⚡ Instantané

Spec Workflow

par Pimzino · Pimzino/spec-workflow-mcp

Structured Requirements → Design → Tasks workflow with a live dashboard and human approval gates — stop Claude YOLO-coding features.

Spec Workflow turns feature development into a three-stage pipeline: Requirements doc, Design doc, Task list. Each stage requires approval (via web dashboard or VSCode sidebar) before moving on. Claude can't skip ahead, writes implementation logs, and tracks progress bar state on every task. Feels like Jira-for-Claude.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

spec-workflow-mcp.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "spec-workflow-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@pimzino/spec-workflow-mcp@latest",
        "/path/to/project"
      ]
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "spec-workflow-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@pimzino/spec-workflow-mcp@latest",
        "/path/to/project"
      ]
    }
  }
}

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "spec-workflow-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@pimzino/spec-workflow-mcp@latest",
        "/path/to/project"
      ]
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "spec-workflow-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@pimzino/spec-workflow-mcp@latest",
        "/path/to/project"
      ]
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "spec-workflow-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@pimzino/spec-workflow-mcp@latest",
        "/path/to/project"
      ]
    }
  ]
}

Continue utilise un tableau d'objets serveur plutôt qu'une map.

~/.config/zed/settings.json
{
  "context_servers": {
    "spec-workflow-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@pimzino/spec-workflow-mcp@latest",
          "/path/to/project"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

claude mcp add spec-workflow-mcp -- npx -y @pimzino/spec-workflow-mcp@latest /path/to/project

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : Spec Workflow

Build a feature with a spec, not a vibe prompt

👤 Devs shipping medium-complexity features ⏱ ~90 min intermediate

Quand l'utiliser : You're about to ask Claude to "add OAuth" and dread the 500-line diff that will land in one go.

Prérequis
  • Project path known — MCP is launched with /path/to/project as arg
Déroulement
  1. Requirements
    Use spec-workflow. Create a spec named oauth-login. Start with requirements — what are we adding, who is it for, what are the non-goals?✓ Copié
    → Requirements doc drafted, link to dashboard for approval
  2. Approve + Design
    I approved in the dashboard. Now write the design: components, data model, sequence diagram, error cases.✓ Copié
    → Design doc with concrete architecture
  3. Tasks + Execute
    I approved. Break into tasks. Then execute task 1.1 — just that one, stop after.✓ Copié
    → Task list created; only task 1.1 implemented with log entry

Résultat : A feature shipped with reviewable intermediate artifacts — not a mystery diff.

Pièges
  • Claude tries to skip straight to code — The MCP blocks it — but be explicit in prompts anyway: "do not implement yet"
Combiner avec : github · filesystem

Get a non-engineer stakeholder to approve a spec before code happens

👤 Teams with PM/design sign-off loops ⏱ ~60 min intermediate

Quand l'utiliser : You need PM approval before implementation and the PM doesn't read GitHub PRs.

Prérequis
  • Dashboard URL shareable — Port-forward or expose localhost:5000 via ngrok for remote PMs
Déroulement
  1. Spec
    Draft the requirements doc for checkout-v2 and share the dashboard URL.✓ Copié
    → Doc + shareable link
  2. Iterate via feedback
    PM left 3 revision comments in the dashboard. Fetch them and revise the doc.✓ Copié
    → Doc updated with revision history visible
  3. Execute post-approval
    Approval just went through — proceed to design.✓ Copié
    → Next stage starts; approval timestamp logged

Résultat : Traceable approval chain from non-engineer stakeholders.

Pièges
  • Dashboard not reachable for remote users — Use Tailscale or ngrok with auth
Combiner avec : github

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

spec-workflow-mcp + github

Open a PR per approved task

After executing task 2.1, open a GitHub PR titled "feat(oauth): task 2.1" with the diff.✓ Copié
spec-workflow-mcp + filesystem

Store specs in-repo alongside code

Save the approved spec to /docs/specs/oauth-login.md and commit.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
create_spec name: str Start a new feature free
write_requirements spec_id, content: markdown First phase of any spec free
write_design spec_id, content: markdown After requirements approved free
create_tasks spec_id, tasks: [] After design approved free
execute_task spec_id, task_id Implement one task at a time free
get_approval_status spec_id, stage Gate next stage free

Coût et limites

Coût d'exécution

Quota d'API
Local
Tokens par appel
Proportional to doc/task size
Monétaire
Free
Astuce
Keep requirements concise — the approval cost is human time, not tokens

Sécurité

Permissions, secrets, portée

Portées minimales : filesystem-write (for spec docs)
Stockage des identifiants : None
Sortie de données : None — localhost dashboard

Dépannage

Erreurs courantes et correctifs

Dashboard won't load

Start it explicitly: npx -y @pimzino/spec-workflow-mcp@latest --dashboard

Vérifier : Visit localhost:5000
Port 5000 already in use (macOS AirPlay)

Pass --port 5050 or disable AirPlay Receiver in System Settings

Vérifier : Check with `lsof -i :5000`
Tasks stay in pending after approval

MCP client may be caching old tool results — restart the client

Alternatives

Spec Workflow vs autres

AlternativeQuand l'utiliserCompromis
Plain Markdown in /docsSolo dev with no approval loop neededNo structure enforcement, no dashboard
Linear MCPYou already use Linear for tasks and want Claude to touch issues directlyNo spec-doc layer

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills