sudokar/openspec-plus/openspec-plus-design
Claude Code and agent skill by sudokar/openspec-plus
- community
Checking that the SKILL.md file is still in the repository.
MANDATORY skill that activates whenever the OpenSpec design phase begins. Triggers: /opsx-new or /opsx-continue runs; openspec-new-change, openspec-continue-change, or openspec-explore is active; `openspec instructions design` is invoked; or the user wants to create, update, review, refine, or discuss an OpenSpec design document.
Install
npx vskill@latest install sudokar/openspec-plus/openspec-plus-designSKILL.md
OpenSpec Plus Design
Mission
Strengthen OpenSpec design with brainstorming patterns. Prevent premature architectural convergence — explore alternatives, compare tradeoffs, recommend, get user selection, build incrementally, validate vs proposal (and any existing spec) before writing design.md.
This skill is RIGID. Do NOT write any design file before all workflow phases complete through Phase 3 section approvals. After writing, reviewer subagent is MANDATORY — skipping review is a skill violation.
Red flags — STOP, you are about to violate this skill:
- "There's only one obvious approach"
- "I'll generate the full design and let the user review at the end"
- "The user is in a hurry, I'll skip selection"
- "I'll group all sections into one approval question"
- "I have approval for the direction, so I can write the whole document now"
- "The proposal (and spec, if it exists) is fresh, I don't need the reviewer subagent"
- "Spec doesn't exist yet, I can sneak some requirements into the design"
- "The design looks fine to me, I'll skip the reviewer subagent"
- "Reviewer flagged minor issues, I'll re-dispatch after fixing to confirm"
Inputs Available
OpenSpec allows either order after proposal:
proposal → spec → design(spec exists)proposal → design → spec(no spec yet)
When this skill runs:
- ALWAYS read approved proposal — authoritative for intent and capabilities
- If spec exists, ALWAYS read it — design MUST align with it
- If no spec yet, design works from proposal capabilities only — do NOT capture detailed requirements (that's spec phase, runs after design)
- Design MUST align with proposal AND any existing spec
Workflow
Five phases. NEVER skip, merge, or reorder.
Workflow Visibility (MANDATORY)
Display workflow phases via task tool at start; update as each phase completes.
Core Principles
- Explore Before Converging — never commit to first approach; always explore alternatives.
- User Owns The Final Direction — model recommends, user decides.
- Build Design Collaboratively — in
sequentialmode, NEVER generate full design at once; build incrementally, review each section with user (batchmode: generate all, one consolidated review — see Phase 3). - Design Before Documentation — validate design (including alignment with proposal and any existing spec) before writing design.md.
- YAGNI — Complexity Must Be Justified — every abstraction, layer, indirection MUST serve a real present need.
- Improve, Don't Refactor — targeted improvements to existing code only when they serve the change; never propose unrelated refactoring.
- Respect Project Standards — read project instruction files (
AGENTS.md,CLAUDE.md,GEMINI.md, equivalents) at Phase 1 start; design MUST respect project conventions; conflicts → surface to user, never silently override.
Use Stable Libraries Before Custom
Survey ecosystem before proposing custom code. For each significant component (parsing, validation, HTTP, retries, scheduling, queuing, auth, crypto, dates, money, observability, etc.):
- Identify 2-3 candidate libraries
- Evaluate by: maintenance, stability (semver, breaking changes), popularity, license, security (CVEs, audits), compatibility (runtime, version, existing deps)
- Library fits → propose with rationale; don't write custom for the same purpose
- Choosing custom → justify why no library fits (domain-specific, license, dep tree, no maintained option, perf constraints unmet)
Respect any approved-library list from project instruction files. Don't propose libraries the project rejected.
Human-In-The-Loop Approval: For ANY new library introduction or replacement, surface to user via question tool: 2-3 candidates evaluated, recommended choice + rationale, accepted tradeoffs, alternatives rejected + why. Do NOT commit a library in the design until user approves. Libraries already in use don't need re-approval.
- Stay At Architecture Level — design captures HOW (architecture, patterns, integration); NEVER capture WHAT (detailed requirements, scenarios, acceptance criteria) — that's spec phase.
Phase 0: Schema & Template Resolution
Run FIRST, before any exploration:
- Run:
``bash openspec instructions design --change <name> --json ` Extract: template (structural authority; sections you MUST fill), instruction (per-section guidance; what content each section needs), rules` (project constraints to honor). Parse template sections (H2/H3 headers + HTML comments) — these are your information requirements; Phase 3 design concerns MUST produce enough substance to fill every section. If the template has sections the hardcoded 5+1 concerns don't cover, add dynamic concerns during Phase 3.
- Read
openspec/.plus/config.yaml(missing/unreadable/unrecognized → defaults):settings.questionMode(sequentialdefault;batchgroups Phase 1/Library Resolution questions and collapses Phase 3 into one generate-all-then-review round — see Phase 1 and Phase 3 below).
Phase 1: Explore Design Approaches
Pre-existing answers: If recent conversation already covers architectural decisions, approaches discussed, constraints noted, or integration seams — via prior exploration, a detailed initial request, or any other source — incorporate those into your analysis and SKIP redundant clarification. Ask ONE question at a time only for genuinely unresolved areas (batch mode: present all unresolved areas together instead — same rule as proposal's Phase 1). NEVER re-ask questions already answered in recent conversation.
Project Context
Before generating approaches:
- Project-level instruction files first —
AGENTS.md,CLAUDE.md,GEMINI.md, equivalents at project root,.claude/,.opencode/,docs/. These capture standards (tech stack, patterns, testing, architecture, naming). Design MUST respect them unless user approves deviation. - Re-read approved proposal — always present (intent, capabilities, scope, non-goals).
- If spec exists, re-read it — design must align. If no spec yet, skip; spec phase runs after design and aligns with what we produce here.
- Read code referenced by those artifacts — design needs pattern-level knowledge.
- Note conventions, similar implementations, integration seams.
Proposal answered "why" + capabilities. Spec (if present) answered "what". Project files answer "how this project does things". Design needs "how does the existing code look". Reuse, don't duplicate.
If no spec exists and you find yourself defining detailed requirements, STOP — that's spec-phase work.
Identify: architectural decisions that must be made and areas where multiple solutions exist. If a fact can be determined from code, project files, or existing artifacts, look it up — do not ask the user for discoverable information. For decisions that genuinely require user input, use question tool — ONE question at a time in sequential mode (default), always with your recommended answer and rationale; in batch mode, present all genuinely-required decisions together, one combined reply. If the user's answer introduces a dependent decision or leaves a branch unresolved, follow it before advancing (batch: next batch round). Do not generate approaches until all pre-approach decisions are resolved.
Generate TWO OR THREE viable design approaches (two when only two meaningful directions exist; three when three materially different solutions exist; never invent a weak approach). Each approach MUST satisfy proposal capabilities and spec (if present). For each provide: Approach Name, Core Idea, Advantages, Disadvantages, Complexity Level, Key Assumptions. Approaches must be meaningfully different — no cosmetic variations.
Recommend ONE approach: explain why preferred, what tradeoffs accepted, why alternatives less suitable.
Mark Phase 1 complete. Update task status.
Phase 2: Select Design Direction
Use question tool. Present all approaches. Mark recommended.
Requirements:
- Present all approaches
- Mark recommended option
- Ask exactly one selection question
- Wait for user selection
- Don't continue until choice made
User may select any option. Two or three options.
Mark Phase 2 complete. Update task status.
Library Resolution (before Phase 3)
With the approach selected, identify every component that may require a new library (parsing, validation, HTTP, auth, crypto, queuing, scheduling, etc.). For each, apply Use Stable Libraries Before Custom: survey 2-3 candidates, evaluate, surface recommended choice + rationale via question tool, wait for approval — one library per question in sequential mode, all libraries together in one round in batch mode. Do NOT begin Phase 3 until all new library choices are approved. Already-installed libraries do not need re-approval. No new libraries → proceed immediately.
Phase 3: Build Design Sections
After direction selected, build incrementally. In sequential mode (default), NEVER generate full design at once — generate ONE section at a time. Scale each section to its complexity — simple concerns need a few sentences, complex ones several paragraphs; length serves clarity, never appearance of rigor.
After each section, ask via question tool: Does this section look correct? A. Continue (Recommended) | B. Revise Section | C. Revisit Design Direction — wait for response before proceeding.
In batch mode: generate ALL sections up front (same rigor, concerns 1-7 all still fully worked through), then ask ONE consolidated question: Continue (Recommended) | Revise section(s) — specify which | Revisit Design Direction. Revision regenerates only the flagged section(s), re-presented for one more consolidated approval.
Design Section Rules
Phase 3 "sections" are DESIGN CONCERNS, all worked through in substance regardless of mode — approval is per-concern in sequential, one consolidated approval in batch (see Phase 3) — NOT the same as template sections (Phase 0). Phase 4 maps concerns into template sections.
Concrete Design Concerns (Phase 3 walk-through)
Five + one conditional + one mandatory. Walk through each — approval per concern (sequential) or one consolidated approval (batch). Skip only if genuinely N/A.
- Architecture — shape, layers, boundaries, external integration points
- Component Structure — units, responsibilities, interfaces
- Data Flow — how data moves, where state lives, mutation ownership
- Error Handling / Failure Modes — what fails, propagation, retry, partial-failure, observability
- Testing Approach — design-level strategy: test pyramid (unit/integration/contract/e2e), environments, hard-to-test areas needing design accommodation, infrastructure, alignment with project standards from
AGENTS.md/CLAUDE.md - Migration / Rollout (when applicable) — rollout without breaking existing
- Additional Concerns (mandatory) — before Phase 4, run both checks:
- Template gaps: compare Phase 0 template sections against concerns 1-6; each section without substance becomes a concern.
- Change-nature gaps: given this specific change and design, are concerns like security, performance, observability, backwards compatibility, compliance, or resilience relevant but unaddressed by 1-6? Add those that apply.
Walk all additions through with the user the same way before proceeding to Phase 4.
NEVER skip Error Handling or Testing for non-trivial changes. "Testing Approach" is DESIGN-level (what/where/infrastructure) — NOT test cases (→ spec Gherkin) or TDD ordering (→ implementor).
Mapping Concerns To Template
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/openspec-plus-design/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sudokar/openspec-plus/openspec-plus-design)