Skip to content
Testing
Skill

/discuss

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".

From plugin
atdd
16328 skills8 agents4 commands2 hooks

Claude Code

$ npx -y skills add swingerman/engineer --skill discuss --agent claude-code

SKILL.md

discuss.SKILL.md
name: discuss
description: 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".

discuss

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`.

When to use

  • **Fresh** — `/engineer.discuss`, no argument. New exploration.
  • **Continue** — `/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`).

Workflow

1. **Resolve + load** — resolve the methodology root + manifest via `${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`. 2. **Open** — **if handed an `intent.md`** (an originator-authored intent, see `${CLAUDE_PLUGIN_ROOT}/references/intent.md`), read it as the opening context instead of a cold prompt, reflect the synthesis back, and continue from there — the async front door for originators who don't want an interactive session. Otherwise, fresh: "What are you thinking about?" After the first prompt, soft-match the topic against parked feature titles/areas **and against roadmap items** (driver per `references/roadmap.md`; `local` = `${CLAUDE_PLUGIN_ROOT}/scripts/dae_roadmap.py list`); if it matches a planned roadmap item, say so and offer to promote *that* item (carry its `id` as `roadmap_ref`) rather than starting a disconnected idea. Continue mode: echo prior state in one line, then resume. 3. **Brainstorm (divergent)** — explore intent, scope, alternatives; one question per turn. Surface charter signals (e.g. payment paths cap autonomy), ADR connections, and "too big — decompose?" flags as they arise. 4. **Surface the outcome** — at a natural inflection, recommend an outcome (build / park / drop); the user confirms. Never auto-execute. If the user says "drop" but there's a concrete reason it's worth parking, ask once. **Present it as a choice point** (`${CLAUDE_PLUGIN_ROOT}/references/choice-points.md`): recommend one option marked "(Recommended)" with a one-line rationale, alternatives listed, `autonomy_level`-dialed default — not an open question. When the outcome is **build**, the recommendation carries the two funnel decisions, both projected from the conversation (size + clarity, per `choice-points.md`):

  • **A — front half:** shape known → **spec-first**; fuzzy / UX-heavy / "I'll know it when I see it" → **prototype-first** (`${CLAUDE_PLUGIN_ROOT}/references/two-paths.md`) — iterate a rough artifact, convert to spec later.
  • **B — weight:** projected ~1-PR / low-risk → **express (XS)** (`${CLAUDE_PLUGIN_ROOT}/references/express-lane.md`, one pass); non-trivial → **full DAE**. Charter-flagged path is never recommended express (safety wins). Prototype-first defers B to convergence (its `prototype_disposition`).

Carry the projected `size` into the promote/prototype handoff so `feature-init` need not re-ask. 5. **Execute the outcome:**

  • **Drop** — append one line to `.engineer/discussions.log`: `<ISO-timestamp> | <slug> | dropped | <one-line why>`. Draft the "why" from context; user confirms/edits.
  • **Prototype** — the idea is better built than specced: hand to the `prototype` skill (`/engineer.prototype "<idea>"`) instead of `feature-init`. It iterates fast, then *converts to spec* (promote) into the pipeline later — the prototype-first entry (`${CLAUDE_PLUGIN_ROOT}/references/two-paths.md`). Do not create a feature here; `prototype`'s promote does that on convergence.
  • **Park** — invoke `feature-init` with `feature_intake { status: parked, autonomy_level: null, ... }`.
  • **Promote** — first resolve `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`. **If the idea came from a roadmap item**, pass its `roadmap_ref` so `feature-init` back-links and marks it in-progress (see `references/roadmap.md`).
  • **Keep the roadmap alive** — when an idea is too big and decomposes into several future features, or you park something strategically worth tracking at the feature-list altitude, offer once to add it as a **roadmap item** (driver `upsert`, `status: planned`, a horizon) so the strategic layer stays current beyond onboard-time. The user's call — never auto-add. Skip silently if `manifest.roadmap.type` is `none`/unreachable.

6. **Handoff** — for park/promote, write a `<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.

Handoff

For park/promote, emit per `${CLAUDE_PLUGIN_ROOT}/references/handoff-summary.md`. `checkpoint: null`. Drop emits no handoff.

References

  • [Discuss & Upstream Funnel](https://www.notion.so/35a5ecdee0e281eaa35fced0c4e23384) — funnel, drop-log format, park/promote paths
  • [Foundation Design](https://www.notion.so/3585ecdee0e2811bbc67ff4913c03207) — feature.md schema, autonomy levels
  • `references/roadmap.md` — the roadmap ↔ feature funnel (promote from / keep alive)
  • Sister skill: `feature-init` (invoked for park/promote).
Read more
@swingerman
Ships withatdd

A methodology kit for engineering-led AI development — spec-driven, test-driven, charter-bound. ATDD + mutation testing + deterministic guardrails. AI agents do the typing. Engineers stay in charge of architecture, behavior contracts, and verification.

16328 skills8 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
163
Star history of swingerman/disciplined-agentic-engineering on GitHub, a chart by star-history.com

Other skills on atdd.

crap-analyzer

crap-analyzer

Use to produce a risk-based refactor + test plan for recently-changed code on a diff/branch/PR by computing CRAP (complexity ×…

@swingerman@swingermanInstall Skill
arch-check

arch-check

Use to check a feature's code against the charter's architecture rules — dependency layering, cycles, forbidden patterns, file…

@swingerman@swingermanInstall Skill
atdd

atdd

Use to drive feature work through the Acceptance Test Driven Development workflow — Given/When/Then specs before code, a…

@swingerman@swingermanInstall Skill
clarify

clarify

Use when a single DAE artifact has ambiguities to resolve. Triggers — "/engineer.clarify", "clarify this spec", "resolve…

@swingerman@swingermanInstall Skill
consistency-check

consistency-check

Use to validate DAE artifacts for schema correctness and cross-artifact consistency. Triggers — "/engineer.consistency-check",…

@swingerman@swingermanInstall Skill
discover-acs

discover-acs

Use when a Ready feature needs its acceptance criteria discovered before specs are written. Triggers — "/engineer.discover-acs",…

@swingerman@swingermanInstall Skill

More skills from other plugins.

api-review

api-review

Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…

playwrighttoday100k
@microsoft@microsoftInstall Skill
add-e2e-selectors

add-e2e-selectors

Add reliable @grafana/e2e-selectors to interactive elements and key containers in the Grafana frontend. Use when adding e2e…

grafanatoday78k
@grafana@grafanaInstall Skill
promptfoo-evals

promptfoo-evals

Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…

@promptfoo@promptfooInstall Skill
deepeval

deepeval

DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…

@confident-ai@confident-aiInstall Skill

Questions about discuss.

Which coding agents can use discuss?
discuss installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.