engineer/skills/discuss/SKILL.md
Use when exploring a feature idea before committing, or revisiting a parked one. Triggers — "/engineer.discuss", "/engineer.discuss <slug>", "I have an idea about", "should we build", "let's think about".
npx skillsauth add swingerman/atdd discussInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The upstream funnel of DAE — a divergent brainstorm (forked from superpowers:brainstorming) that ends in one of three outcomes: drop, park, or promote. Most ideas die here; some park as features/NNN-slug/ with status: parked; survivors promote to status: ready.
/engineer.discuss, no argument. New exploration./engineer.discuss <slug>. Resume a parked feature.Not for: feature-work prep on an already-Ready feature (prime-context), or editing a committed feature (feature-edit).
${CLAUDE_PLUGIN_ROOT}/scripts/dae_resolve.py (see references/resolving.md). Load CHARTER.md and the last ~20 lines of .engineer/discussions.log. With a slug arg: also load that feature's feature.md + prior handoffs/*-discuss.md; reject if its status is ready/in-progress (→ feature-edit) or done..engineer/discussions.log: <ISO-timestamp> | <slug> | dropped | <one-line why>. Draft the "why" from context; user confirms/edits.feature-init with feature_intake { status: parked, autonomy_level: null, ... }.autonomy_level (low/medium/high, charter caps surfaced); if the user can't decide, fall back to park. Then invoke feature-init with status: ready.<timestamp>-discuss.md handoff into the new feature folder. For drop, the log line is the record — no handoff.Continuing a parked feature: each session appends a new discuss handoff; feature.md is refined in place. Promoting a continued feature flips status to ready directly — feature-init is not re-invoked.
For park/promote, emit per ${CLAUDE_PLUGIN_ROOT}/references/handoff-summary.md. checkpoint: null. Drop emits no handoff.
feature-init (invoked for park/promote).data-ai
Use immediately after a PR is merged to clean up the local feature branch and resync main. Triggers — "/engineer.post-merge", "did we merge", "did we push", "PR merged", "post-merge cleanup", or right after a `gh pr merge` succeeds in the same session.
data-ai
Use to drive a bug fix from first report through close, with a "why didn't we catch it?" loop at the end. Triggers — "/engineer.fix", "a bug came in", "this is broken", "a user reported X", "there's a defect", "we have a regression", "this needs a fix", "another report", "more issues", "still failing", "validation failed again", "another bug", "next defect", "more fixes".
testing
Use mid-task when the working thread is lost — after a context compaction, a long agent run, or coming back to a feature unsure of the role, the current checkpoint, or the next action. Triggers — "/engineer.reorient", "reorient", "re-anchor", "what should I be doing right now", "I lost track", "where was I".
development
Use to check a feature's code against the charter's architecture rules — dependency layering, cycles, forbidden patterns, file naming, file size. Triggers — "/engineer.arch-check", "architecture check", "check architecture fitness", "does this follow the charter", "check layering".