Get the FREE Ultimate OpenClaw Setup Guide →

external-spec-integration

npx machina-cli add skill LiorCohen/sdd/external-spec-integration --openclaw
Files (1)
SKILL.md
5.7 KB

External Spec Integration Skill

Processes external specification files into the SDD workflow structure. Transforms product specs into classified tech spec context - specs are created interactively one at a time.

Purpose

When a user provides an external specification via /sdd I want to import an external spec:

  • Archive the external spec to sdd/archive/external-specs/ (single copy, yyyymmdd-HHmm-filename format)
  • TRANSFORM the spec: classify information, identify gaps, ask clarifying questions
  • DISCOVER required components through targeted questions
  • DECOMPOSE into workflow items with classified context
  • Create workflow items with context in sdd/workflows/<id>-<name>/
  • DO NOT create SPEC.md or PLAN.md files - those are created interactively

CRITICAL: External specs are product specs (WHAT/WHY). This skill transforms them into tech spec context (HOW) before decomposition.

Key Insight: External Specs Are Inherently Incomplete

Always assume external specs are lacking:

  • Details not thought through by product people
  • Technical implications not considered by non-engineers
  • Missing edge cases, error handling, and non-functional requirements
  • Implicit assumptions never made explicit

Critical asymmetry:

AreaTypical Detail LevelAction Required
User-Facing InterfaceHighExtract and classify
UX/DesignHighExtract and classify
Integration ContractsLowMust be DERIVED from interface
Business LogicVery LowMust be extracted through questions
Persistence/DataVery LowMust be discovered from interface + actions
Non-FunctionalAbsentMust be explicitly asked

When to Use

  • During /sdd I want to import an external spec when external spec is provided

Input

Schema: schemas/input.schema.json

Accepts path to external spec file, target directory, workflow ID, and optional domain.

Output

Schema: schemas/output.schema.json

Returns archived spec path, workflow ID, hierarchical flag, and list of created workflow items.

Workflow Overview

  1. Archive external spec to sdd/archive/external-specs/ via system CLI
  2. Detect large specs (>15K tokens) and chunk if needed
  3. Transform product spec: classify information, identify gaps, ask clarifying questions
  4. Discover components via component-discovery skill (once for entire spec)
  5. Present outline to user with hierarchical decomposition if applicable
  6. Thinking step — domain analysis, specs impact, gap analysis, API-first ordering
  7. Display thinking output for user review
  8. Create workflow items via workflow-state skill
  9. Create context files (context.md) for each leaf item
  10. Return summary with transformation, components, items, and thinking output

Resource Files

For detailed guidance, read these on-demand:

Key Differences from Previous Version

BeforeAfter
Created SPEC.md + PLAN.md immediatelyCreates workflow items with context only
Archived to archive/Archives to sdd/archive/external-specs/
No domain analysisComprehensive thinking step with domain extraction
No transformationNEW: Transformation classifies and identifies gaps
No component discoveryNEW: Component discovery before decomposition
Order in session onlyOrder persisted in workflow.yaml
All specs created upfrontSpecs created one at a time through solicitation
Modal dialogs for questionsNEW: Non-blocking conversational questions

Dependencies

This skill orchestrates:

  • workflow-state - Creates workflow and items
  • component-discovery - Identifies needed components (NEW)
  • spec-decomposition - Analyzes spec structure with thinking step

Trigger: /sdd I want to import an external spec command.

Workflow Steps Summary

StepActionOutput
1Archive External Specsdd/archive/external-specs/...
2Detect Large SpecsSize estimation, chunking plan
3TransformationClassification, gaps, clarifications
4Component DiscoveryComponents list (not applied)
5Present OutlineUser reviews structure
6Thinking StepDomain analysis, dependencies
7Display ThinkingUser confirms analysis
8Create Workflow ItemsItems in workflow.yaml
9Create Context Filescontext.md for each item
10Return SummaryComplete output

Notes

  • External specs are product specs - they are transformed, not copied
  • Transformation happens BEFORE decomposition
  • Component discovery runs ONCE for entire spec (not per-item)
  • Questions are non-blocking and conversational (no modal dialogs)
  • All Q&A is preserved and flows into SPEC.md Requirements Discovery section
  • Context files contain classified content for use during solicitation
  • Items are processed one at a time - user reviews each spec before moving to next
  • Hierarchical decomposition is mandatory for specs meeting criteria (2+ H1 with H2+)
  • Numbers indicate implementation order based on API-first dependency sort
  • Large specs (>15K tokens) use chunked processing with per-section progress

Source

git clone https://github.com/LiorCohen/sdd/blob/main/plugin/core/skills/external-spec-integration/SKILL.mdView on GitHub

Overview

external-spec-integration processes external specification files into the SDD workflow structure by transforming product specs into classified tech-spec context, then decomposing them into actionable workflow items. It archives the original spec to sdd/archive/external-specs, performs classification and gap analysis, discovers required components, and creates context-rich leaf items without writing SPEC.md or PLAN.md.

How This Skill Works

The skill archives the external spec to sdd/archive/external-specs/, detects large specs and chunks them if needed, then transforms the product spec by classifying information, identifying gaps, and asking clarifying questions. It then discovers required components via the component-discovery skill, presents an outline (with hierarchical decomposition if applicable), performs a thinking step to analyze domain impact and API-first ordering, creates workflow items via the workflow-state skill, and writes a context.md for each leaf item under sdd/workflows/<id>-<name>/, returning a summary of transformation, components, items, and thinking output.

When to Use It

  • Import an external spec via /sdd I want to import an external spec
  • Process large external specs by chunking them to fit processing limits
  • Convert a product spec (WHAT/WHY) into tech-spec context (HOW) before decomposition
  • Discover required components through targeted questions before decomposition
  • Create and save the resulting workflow items under sdd/workflows/<id>-<name>/ and persist order in workflow.yaml

Quick Start

  1. Step 1: Provide the external spec path, target workflow directory, and a workflow ID via the import command
  2. Step 2: Run external-spec-integration to archive, transform, discover components, and decompose
  3. Step 3: Review and validate generated workflow items and context.md files under sdd/workflows/<id>-<name>/

Best Practices

  • Archive external specs to sdd/archive/external-specs/ using the yyyymmdd-HHmm-filename format
  • Treat external specs as inherently incomplete and rely on transformation and questions to fill gaps
  • Perform component discovery early to identify dependencies before decomposition
  • Review the thinking output and API-first implications before creating items
  • Ensure the workflow items and context.md files are stored under sdd/workflows/<id>-<name>/ and that SPEC.md/PLAN.md are not auto-created

Example Use Cases

  • Onboard an external partner's product spec and generate a set of workflow items with context
  • Transform a product spec into tech-context to drive API and service design
  • Chunk a very large spec to avoid token limits and still create actionable items
  • Run component discovery to identify required services, databases, and integrations
  • Archive the original spec and generate per-leaf context.md files for a new workflow

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers