Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/jorgeferrando/sdd-skills/llms.txt

Use this file to discover all available pages before exploring further.

/sdd-agent is the fully autonomous orchestrator for SDD. You hand it a task — as a plain description, a GitHub issue number, or a Jira ticket — and it works through the entire cycle: exploring the codebase, writing the proposal, spec, design, and tasks, implementing each task, verifying quality, creating a structured pull request, and then monitoring and responding to PR review comments until the PR is approved. It asks questions only when it genuinely needs a decision it cannot make itself. For everything covered by your conventions.md, project-rules.md, or existing code patterns, it proceeds silently and reports progress.
/sdd-agent is designed for supervised autonomy — it is not headless by default. It reports progress, surfaces decisions, and waits for approval at key gates (notably after proposing, before implementation begins). If running without a chat channel, it treats all MEDIUM-confidence situations as HIGH and skips questions.

Usage

/sdd-agent "add rate limiting to the public API"

/sdd-agent --issue 42          # From GitHub issue #42
/sdd-agent --ticket PROJ-123   # From Jira ticket

Prerequisites

  • openspec/ initialized. If it does not exist, the agent runs sdd-init --quick automatically to bootstrap with sensible defaults — no need to ask.
  • A Git repository with a clean working tree before the agent starts.

Confidence Model

Before each phase the agent assesses its confidence and decides whether to proceed or ask:
LevelCriteriaAction
HIGHScope < 5 files, existing pattern to follow, clear requirementsProceed silently
MEDIUMScope 5–10 files, some ambiguity but reasonable defaults existProceed, flag in PR description as “needs review”
LOWScope > 10 files, ambiguous requirements, no similar pattern, conflicting conventionsStop and ask via chat
When in doubt, the agent asks. A junior that asks is better than one that guesses wrong.

What It Does

1
Parse input
2
Reads the task from:
3
  • A direct description string
  • A GitHub issue (--issue N) — fetches title, body, and comments via gh issue view N
  • A Jira ticket (--ticket ID) — reads from the Jira API
  • 4
    Extracts the goal, constraints, and acceptance criteria. If the input is too vague to determine scope (e.g., “improve performance” with no further detail), the agent asks targeted clarifying questions before proceeding.
    5
    Bootstrap and load steering
    6
    Checks for openspec/steering/conventions.md. If openspec/ is missing entirely, runs sdd-init --quick automatically. Reads all steering files — conventions.md, project-rules.md, tech.md, and relevant specialists — once here and passes them as a shared prefix to all subsequent subagents. This ensures prompt-cache hits across the sequential phases.
    7
    Explore with recall
    8
    Runs the sdd-explore workflow:
    9
  • Searches archived specs and past decisions for related context
  • Scans the codebase for similar patterns and affected files
  • Identifies domains in scope
  • Writes findings to openspec/changes/{change-name}/notes.md
  • 10
    If recall finds a previous spec that explicitly excluded something the current task appears to include, the agent flags it and asks whether to respect the prior boundary.
    11
    Propose — waits for approval
    12
    Generates proposal.md following the full /sdd-propose skill. Shows a summary in chat and waits for explicit approval before continuing. This is the primary human checkpoint in the autonomous flow.
    13
    Spec — business edge cases only
    14
    Writes the behavior specification. Asks about business logic edge cases only; technical decisions that follow from conventions.md or existing patterns are decided automatically without asking.
    15
    Design and Tasks
    16
    Runs /sdd-design as a subagent (non-interactive, keeps context clean), then generates tasks.md inline. If the design scope exceeds 10 files, asks whether to proceed, split the change, or hand off.
    17
    Apply — reports per task
    18
    Implements each task from tasks.md using /sdd-apply --auto. Reports progress after each task. If a task fails after one retry, stops and asks with full context before attempting again.
    19
    Verify — as subagent
    20
    Runs /sdd-verify as a subagent (non-interactive). Does not create the PR — the orchestrator handles that in the next step.
    21
    Create PR
    22
    Pushes the branch and creates the pull request with a structured description:
    23
    git push -u origin {branch-name}
    gh pr create --title "{title}" --body "{body}"
    
    24
    The PR body follows this template:
    25
    ## Task
    {Original task description or issue link}
    
    ## What this PR does
    {1-3 sentences from proposal.md}
    
    ## Spec
    {Key behaviors from spec.md — Given/When/Then summary}
    
    ## Design decisions
    {Decision table from design.md}
    
    ## Changes
    {File list from tasks.md with one-line descriptions}
    
    ## Acceptance criteria
    {From proposal.md}
    
    ---
    Generated by SDD Agent | [View full artifacts](openspec/changes/{change}/)
    
    26
    Reports in chat:
    27
    ✅ PR created: {repo}#{number}
      {title}
      {N} commits, {N} files changed
      Tests: all passing
    
      Waiting for review.
    
    28
    PR review loop
    29
    Monitors the PR for review comments:
    30
    gh pr view {number} --json reviews,comments
    
    31
    For each comment:
    32
  • Change request → implement the fix, commit, push, reply to the comment
  • Question → answer from the spec/design context
  • Decision outside scope → escalate via chat
  • 33
    After addressing all comments, reports back and waits for re-review. Repeats until the PR is approved, the user stops the agent, or a configured timeout is reached.

    Escalation Protocol

    The agent asks when it needs to — and only then.
    SituationDoes the agent ask?
    Business logic is ambiguous✅ Yes
    Scope changes beyond the original proposal✅ Yes
    Tests fail after 2 attempts✅ Yes
    Review requests an architectural change✅ Yes
    Confidence is LOW✅ Yes
    Decision is covered by conventions.md❌ No — proceeds silently
    Code style follows project-rules.md❌ No — proceeds silently
    Pattern exists in the codebase❌ No — proceeds silently
    When asking, the agent is specific (“Should this endpoint return 404 or 204 when the resource is not found?”), offers options with trade-offs, and asks at most 3 questions at a time.

    Phase and Model Reference

    Each phase uses the model hint from the underlying skill’s frontmatter:
    PhaseSkillModeModel hint
    Proposesdd-proposeInlineopus
    Specsdd-specInlinesonnet
    Designsdd-designAgentopus
    Taskssdd-tasksInlinehaiku
    Applysdd-apply --autoInline (manages own agents)haiku (orchestrator), sonnet (subagents)
    Verifysdd-verifyAgentsonnet

    Skill Metadata

    FieldValue
    model_hintsonnet
    requiresopenspec/config.yaml
    producesproposal.md, specs/*/spec.md, design.md, tasks.md, code commits, pull request

    When to Use

    /sdd-agent is best suited for tasks that are:
    • Well-scoped with clear requirements (or at least a clear GitHub issue / Jira ticket)
    • Operating in a codebase where openspec/steering/ files are up to date
    • Intended for review at the PR level rather than at each intermediate phase
    If you prefer to review and approve each planning artifact before the next phase begins, use the standard workflow: /sdd-new/sdd-continue/sdd-continue → … or run the planning-only shortcut /sdd-ff followed by /sdd-apply and /sdd-verify.

    Next Steps

    Once /sdd-agent creates the PR, the human’s job is to review it. The agent handles follow-up comments automatically. When the PR is approved and merged, run /sdd-archive to close the cycle and merge the delta specs into the canonical specs.

    Build docs developers (and LLMs) love