Skip to content

feat(sdd-export): bridge engram artifacts to team-readable local files#25

Open
angel-r wants to merge 3 commits intoGentleman-Programming:mainfrom
angel-r:feat/sdd-export-skill
Open

feat(sdd-export): bridge engram artifacts to team-readable local files#25
angel-r wants to merge 3 commits intoGentleman-Programming:mainfrom
angel-r:feat/sdd-export-skill

Conversation

@angel-r
Copy link

@angel-r angel-r commented Mar 8, 2026

Summary

  • Adds a new /sdd-export [change] skill that reads SDD artifacts (proposal, specs, design) from engram and writes them as local files following the openspec directory convention
  • Enables non-developer team members (product, QA, designers) to review specs in their IDE or on GitHub without needing access to engram
  • One-way, on-demand snapshot — engram remains the source of truth

Why this matters

Today, teams using SDD with engram mode get excellent developer experience (persistent memory, context recovery, no file clutter), but specs live in a black box invisible to the rest of the team. This creates a gap:

Role Needs Current access
Product Review proposals & specs before implementation None (engram only)
QA Read scenarios to plan testing, suggest edge cases None (engram only)
Designers Validate UX requirements in specs None (engram only)

/sdd-export bridges this gap without sacrificing any engram benefits.

How it works

Developer runs: /sdd-export my-feature

engram (source of truth)          →    local files (team-readable)
  sdd/my-feature/proposal         →    openspec/changes/my-feature/proposal.md
  sdd/my-feature/spec             →    openspec/changes/my-feature/specs/{domain}/spec.md
  sdd/my-feature/design           →    openspec/changes/my-feature/design.md
  sdd/my-feature/explore          →    openspec/changes/my-feature/exploration.md

Key behaviors:

  • Cross-mode: always reads engram, always writes filesystem (independent of artifact_store.mode)
  • On-demand: developer controls when to publish specs for review
  • Idempotent: re-export overwrites with latest engram state
  • Branch-aware: files travel with git branches (main = prod specs, feature/x = in-progress specs)
  • Not a DAG phase: utility command, does not affect the SDD lifecycle

Team workflow enabled

  1. Developer runs SDD phases as usual (propose → spec → design → tasks → apply)
  2. When specs are ready for review: /sdd-export my-feature
  3. Push branch — team sees specs on GitHub
  4. Team reviews and creates issues for: missing edge cases, new validations, behavior changes
  5. Developer updates specs, re-exports

Files changed

  • skills/sdd-export/SKILL.md — new skill definition (157 lines)

Test plan

  • Dog-fooded: exported this change's own artifacts successfully
  • Verify skill installs correctly via the installer (glob sdd-* picks up sdd-export)
  • Test with a change that has all 4 exportable artifacts (explore, proposal, spec, design)
  • Test with missing optional artifacts (graceful skip — only proposal exported, others skipped with suggestions)
  • Test re-export overwrites correctly (updated engram content reflected in overwritten file)

🤖 Generated with Claude Code

angel-fever and others added 3 commits March 8, 2026 20:03
Adds `/sdd-export [change]` command that reads SDD artifacts (proposal,
specs, design) from engram and writes them as local openspec-convention
files for team visibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update the orchestrator template so new installations include:
- /sdd-export in meta-commands and commands list
- Export suggestion rule (after spec+design, before apply)
- Engram mode hint to suggest export for team review

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
sdd-export is a skill (has SKILL.md, launches as single sub-agent),
not a meta-command. Meta-commands are orchestrator logic that chains
multiple skills (sdd-new, sdd-continue, sdd-ff).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants