From agentic-development-workflow
Guides interactive feature design on the integration branch: explores problem, proposes solution, reviews design, commits artifacts using OpenSpec.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agentic-development-workflow:designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Interactive feature design on the **integration branch** (`$BASE` — `main` in single-branch mode, `develop` in two-branch mode; see [git-ref](../git-ref/SKILL.md) → "Integration Branch"). Explore the problem, propose a solution, review the design, and commit artifacts — all in conversation with the user.
Interactive feature design on the integration branch ($BASE — main in single-branch mode, develop in two-branch mode; see git-ref → "Integration Branch"). Explore the problem, propose a solution, review the design, and commit artifacts — all in conversation with the user.
Where this fits:
/aep-onboard → /aep-scaffold → [ /aep-design → /aep-launch → /aep-build → /aep-wrap ]
▲ you are here
Session: Main session, interactive with user Input: Feature idea or user request (optionally informed by product context) Output: OpenSpec change committed to the integration branch (proposal, design, specs, tasks)
This skill works in two modes, auto-detected at startup:
ls product-context.yaml 2>/dev/null
Standalone mode (no product-context.yaml) — Feature lifecycle runs independently. Proceed directly to prerequisites and design phases.
Product-cycle mode (has product-context.yaml) — Feature is part of a larger product lifecycle (/aep-envision → /aep-map → /aep-dispatch → /aep-design):
product-context.yaml for project-wide contextopenspec_change set in the YAML), load that story's acceptance criteria, interface obligations, and relevant architecture module/aep-dispatch, the OpenSpec change already exists — /opsx:propose refines it rather than starting from scratchBefore starting, verify dependencies are available.
Run this check:
for cmd in git openspec; do
printf "%-15s" "$cmd:"
which $cmd >/dev/null 2>&1 && echo "OK ($(which $cmd))" || echo "MISSING"
done
# PR/MR tool (need at least one):
printf "%-15s" "gh or glab:"
(which gh >/dev/null 2>&1 || which glab >/dev/null 2>&1) && echo "OK" || echo "MISSING"
If any required tool is missing, run /aep-onboard first.
Check that OpenSpec skills exist:
for skill in openspec-explore openspec-propose openspec-apply-change openspec-archive-change; do
printf "%-35s" "$skill:"
[ -f ".claude/skills/$skill/SKILL.md" ] && echo "OK" || echo "MISSING"
done
If OpenSpec skills are missing, run /aep-scaffold first.
Before starting design, decide on the workflow mode. This choice carries through to /aep-launch and /aep-build.
All phases + separate evaluator agent. Use for:
Simplified flow, no evaluator. Use for:
"Every component in a harness encodes an assumption about what the model can't do on its own. Those assumptions deserve stress-testing." — Anthropic, "Harness Design for Long-Running Application Development"
With each model upgrade, re-evaluate which phases provide value.
Invoke the explore skill to think through the feature:
/opsx:explore
Use this phase to:
docs/ if the feature warrants itInvoke the propose skill to generate a full proposal:
/opsx:propose
This creates the OpenSpec change with all artifacts:
proposal.md — what and whydesign.md — how, key decisions, risksspecs/**/*.md — detailed requirements and scenariostasks.md — implementation checklistBefore implementation, review the proposal from non-functional angles:
What NOT to review: Business logic (decided in Phase 1), cosmetic preferences.
If adjustments are needed, update the OpenSpec change files directly.
Light mode: Skip Phase 3 entirely.
After design is complete, commit all artifacts to the integration branch ($BASE):
# Resolve $BASE — see git-ref "Integration Branch" (override → develop → main)
BASE=$(git config --get aep.integration-branch 2>/dev/null || true)
[ -z "$BASE" ] && { git show-ref --verify --quiet refs/heads/develop \
|| git show-ref --verify --quiet refs/remotes/origin/develop; } && BASE=develop
BASE=${BASE:-main}
git pull --ff-only origin "$BASE"
git add openspec/changes/<change-name>/ docs/
git commit -m "feat: add <change-name> architecture doc and OpenSpec change"
git push origin "$BASE"
This ensures the workspace will have all artifacts when it's created from $BASE. The --ff-only pull avoids overwriting concurrent pushes.
Design is complete. Proceed to:
/aep-launch
This spawns an autonomous workspace session to implement the feature.
npx claudepluginhub memorysaver/agentic-engineering-patterns --plugin agentic-development-workflowProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.