Skip to content
Back to skills

Discuss

ASecurity

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

  • 150 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 26, 2026
businessexpress

Security analysis

A100/100

Scanned September 24, 2026

npx -y skills add swingerman/disciplined-agentic-engineering --skill discuss --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Discuss?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Discuss
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/swingerman-discuss/badge)](https://www.skillsdirectory.com/skills/swingerman-discuss)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.