Skip to main content

Overview

The /sdd-explore command launches an investigation sub-agent that researches your codebase and compares approaches. It’s designed for thinking through problems before committing to a change.
Exploration is read-only by default. No code modifications, no artifacts created unless tied to a named change.

Usage

string
required
What to investigate. Can be a feature name, technical question, or problem statement.

What It Does

1. Investigates the Codebase

The explorer sub-agent:
  • Reads entry points and key files
  • Searches for related functionality
  • Checks existing tests (if any)
  • Identifies patterns already in use
  • Maps dependencies and coupling

2. Analyzes Options

Compares multiple approaches with:
  • Pros - Benefits of each approach
  • Cons - Drawbacks and limitations
  • Complexity - Low/Medium/High effort estimate
  • Risks - Potential issues

3. Provides Recommendations

Returns a structured analysis with:
  • Current system state
  • Affected code areas
  • Comparison table of approaches
  • Recommended solution
  • Risk assessment

Example Usage

Exploring State Management

Output:

Exploring Architecture Patterns

Output:

When to Use

Before Committing

Research approaches before starting a change

Compare Options

Evaluate multiple solutions objectively

Risk Assessment

Identify potential issues early

Knowledge Sharing

Document analysis for team review

Standalone vs. Change-Linked

Standalone Exploration

  • Returns analysis only
  • No files created
  • Use for research and decision-making

Change-Linked Exploration

When exploration is part of /sdd-new, it creates exploration.md:

Output Format

All explorations return a structured envelope:
string
ok | warning | blocked | failed
string
Decision-grade summary (2-3 sentences)
markdown
Full exploration content with sections:
  • Current State
  • Affected Areas
  • Approaches (comparison table)
  • Recommendation
  • Risks
  • Ready for Proposal
array
List of created artifacts (usually empty for standalone exploration)
Suggested next steps (e.g., ["propose"] if ready, ["prototype"] if uncertain)
array
Identified risks from the analysis

Rules and Constraints

The explorer sub-agent operates in read-only mode:
  • ❌ Cannot modify existing code
  • ❌ Cannot create project files (except exploration.md when linked to a change)
  • ✅ Can read any file in the codebase
  • ✅ Can search for patterns and functionality

Tips for Effective Exploration

1

Be specific

Instead of “database”, ask “moving PostgreSQL indexes to improve query performance”
2

Frame as a problem

“How to handle concurrent writes” is better than “concurrency”
3

Include context

“Authentication with third-party OAuth providers” gives more direction
4

Review before proceeding

Read the analysis carefully before running /sdd-new

Real-World Examples

Example 1: Performance Investigation

Explorer identifies:
  • Current bundle: 2.3 MB
  • Largest dependencies: chart library (800kb), icon set (400kb)
  • Opportunities: code splitting, tree shaking, lazy loading
  • Recommendation: Route-based code splitting + switch icon library

Example 2: Architecture Decision

Explorer compares:
  • Monorepo (Turborepo): Easier dev, shared tooling, complex CI
  • Separate repos: Independent deploys, harder to sync, simpler CI
  • Recommendation: Monorepo for current team size (4 devs)

Example 3: Security Analysis

Explorer investigates:
  • Current state: No rate limiting
  • Options: Redis-based, in-memory, API gateway
  • Affected areas: All API routes, middleware stack
  • Recommendation: Redis with sliding window for accuracy
  • /sdd-new - Start a change after exploration
  • /sdd-init - Initialize SDD before exploring
  • /sdd-ff - Skip exploration and fast-forward planning