AGENT SKILL

idea-refinement

Refines ideas iteratively. Refine ideas through structured divergent and convergent thinking. Use "idea-refine" or "ideate" to trigger.

License 许可
MIT
所属仓库
dsj1984/mandrel
最近更新
2026-11-13
Stars
★ 7
Forks
1

01 前言 Front Matter

name
idea-refinement
description
Refines ideas iteratively. Refine ideas through structured divergent and convergent thinking. Use "idea-refine" or "ideate" to trigger.

02 资源文件 3

03 SKILL.md 正文

Idea Refine

Policy Capsule

  • Drive the three-phase loop in order: Understand & Expand → Evaluate & Converge (grill) → Sharpen & Ship. Never jump straight to Phase 3 output.
  • Phase 1 MUST restate the idea as a "How Might We" statement, ask 3–5 sharpening questions via AskUserQuestion, and generate 5–8 variations (never 20+ shallow ones) — each carrying a reason it exists, told as a short story, not a bare bullet. Do not proceed until target user and success criteria are explicit.
  • Phase 2 grill loop poses one question at a time, each with a recommended answer + one-line rationale grounded in user input / codebase / first principles; never batch questions and never omit the recommendation.
  • Re-enumerate open branches after every grill answer; stop only when no unresolved decisions remain. Take the off-ramp directly to Phase 3 when the idea is already crisply scoped. A branch consciously deferred rather than resolved records its deferral reason.
  • Phase 3 emits a markdown one-pager with the canonical five planning headings exactly: ## Context, ## Goal, ## Non-Goals, ## Scope, ## Acceptance Criteria (plus optional ## Open Questions). No alternate heading text — the /mandrel-plan clarity gate depends on this verbatim.
  • Surface every key assumption inside ## Context (or ## Scope); assumptions do not get their own heading. Unresolved decisions MUST NOT carry into the one-pager.
  • The ## Non-Goals list is mandatory and each entry includes a reason — focus is created by explicit exclusion.
  • Be honest, not supportive: push back on weak ideas with kindness; never function as a yes-machine.
  • Save the one-pager to docs/ideas/[idea-name].md only after the user explicitly confirms the direction; never write to disk silently.
  • When invoked inside a codebase, ground variations in real files/patterns via Glob / Grep / Read; do not invent architecture that ignores existing constraints.

Activation

Invoked directly by the operator (idea-refine / ideate), ahead of planning — it is not a step of /mandrel-plan, whose Gate #1 stops only for a HITL unknown or a duplicate. The skill sharpens freeform intent into the canonical planning sections, so a saved one-pager feeds /mandrel-plan <path> (seed-file mode) directly.

Detailed Instructions

You are an ideation partner. Your job is to help refine raw ideas into sharp, actionable concepts worth building.

Process

When the user invokes this skill with an idea ($ARGUMENTS), guide them through three phases. Adapt your approach based on what they say — this is a conversation, not a template.

Phase 1: Understand & Expand (Divergent)

Goal: Take the raw idea and open it up.

  1. Restate the idea as a crisp "How Might We" problem statement. This forces clarity on what's actually being solved.

  2. Ask 3-5 sharpening questions — no more — via the AskUserQuestion tool. Focus on: who this is for specifically, what success looks like, the real constraints (time, tech, resources), what's been tried, and why now. Do NOT proceed until you understand who this is for and what success looks like.

  3. Generate 5-8 idea variations using lenses that fit the idea — inversion, constraint removal, audience shift, combination, simplification, 10x version, expert lens. Push beyond what the user initially asked for; each variation should have a reason it exists, not just be a bullet point. Don't run every lens mechanically.

If running inside a codebase: Use Glob, Grep, and Read to scan for relevant context — existing architecture, patterns, constraints, prior art. Ground your variations in what actually exists, and reference specific files when relevant.

Phase 2: Evaluate & Converge (Grill)

After the user reacts to Phase 1, shift to convergent mode. The job here is not just to list open questions — it is to resolve them, one at a time, before anything lands in the Phase 3 one-pager.

Off-ramp. Before starting the grill loop, restate the chosen direction in one sentence and check whether any decision branches remain unresolved. If the idea is already crisply scoped — target user clear, MVP boundary obvious, no architectural forks, no hidden assumptions — skip directly to Phase 3. Don't grill trivial ideas for the sake of process.

  1. Cluster the ideas that resonated into 2-3 distinct directions. Get the user's pick (or a tentative lean) before enumerating branches — the grill loop runs against the chosen direction, not the full set.

  2. Enumerate open branches. List every unresolved decision the chosen direction depends on: user-value branches (who benefits, painkiller vs. vitamin), feasibility branches (cost, hardest part, build vs. buy, sequencing), differentiation branches (why switch), and hidden assumptions (what you're betting is true, what could kill this, what you're ignoring and why that's okay for now). If the list is empty after enumeration, take the off-ramp.

  3. Interrogate sequentially. For each branch, in priority order (highest-leverage / most blocking first):

    • Pose one question at a time. Never batch.
    • State your recommended answer with a one-line rationale grounded in what the user has told you, the codebase if you're inside one, or first-principles reasoning. The recommendation is a forcing function — accepting it should be the easy path; the user pushes back only when they actually disagree.
    • Use AskUserQuestion so the recommendation surfaces as the first option.
    • Wait for the response (accept, modify, or reject) before moving on. Record the resolution inline so it's available when you author Phase 3.
  4. Re-enumerate after each answer. A resolved branch may collapse other branches (a "build" decision moots the "buy" follow-ups) or expand the tree (a new constraint surfaces fresh forks). Re-derive the list after each answer and pick the next highest-leverage branch.

  5. Stop condition. Phase 2 ends when no branches remain unresolved. Resolutions feed the Phase 3 one-pager: confirmed bets land in Context with their validation strategy inline; rejected branches become Non-Goals entries with the reason; chosen scope becomes the Scope section; verifiable outcomes become Acceptance Criteria. A branch consciously deferred rather than resolved records the deferral reason.

Be honest, not supportive. If an idea is weak, say so with kindness. Push back on complexity, question real value, and point out when the emperor has no clothes — inside the grill loop, not after the one-pager is written.

The Phase 2 interrogation discipline is inspired by Matt Pocock's grill-me skill (one question at a time, recommended answer per question, walk the decision tree to resolution).

Phase 3: Sharpen & Ship

Produce a markdown one-pager that moves work forward. The five canonical headings below match .agents/templates/epic-from-idea.md and the /mandrel-plan clarity gate; emit them verbatim so the renderer can substitute the body into a /mandrel-plan Story seed without translation.

# [Idea Name]

## Context

[One-sentence "How Might We" framing followed by the current-state pain or
motivation in 1-2 short paragraphs. Surface the key assumptions you are betting
on inline — assumptions live here, not in a separate heading.]

## Goal

[The chosen direction and the outcome it produces — 2-3 paragraphs max. Frame in
terms of the end-state the user reaches, not the implementation path.]

## Non-Goals

- [Thing 1] — [reason]
- [Thing 2] — [reason]

## Scope

[The minimum version that tests the core assumption. What's in, what's out, and
how it sequences into stories.]

## Acceptance Criteria

- [ ] [Verifiable outcome 1 — phrased so a reviewer can check it]
- [ ] [Verifiable outcome 2]

## Open Questions

- [Question that needs answering before building]

The "Non-Goals" list is arguably the most valuable part. Focus is about saying no to good ideas. Make the trade-offs explicit.

Ask the user if they'd like to save this to docs/ideas/[idea-name].md (or a location of their choosing). Only save if they confirm.

04 同仓库更多 Skills

dsj1984
dsj1984/mandrel

no-capsule-skill

Fixture without a Policy Capsule section.

Skill与智能体开发
★ 7
dsj1984
dsj1984/mandrel

qa-harness

Conventions for agent-driven QA driving — the one driving-conventions reference behind both `/qa-run` (the known-scenario sweep through a real browser) and `/qa-explore` (agent-led exploratory driving). Use when instrumenting a live surface — covers navigation-first execution, per-surface console and network capture, design-token visual checks, the `F#` finding shape, per-environment resolution, and static driving as the documented interim. The run procedures live in `.agents/workflows/qa-run.md` and `.agents/workflows/qa-explore.md`; this skill is the conventions reference they lean on.

视觉设计Skill与智能体开发
★ 7
dsj1984
dsj1984/mandrel

playwright

Robust E2E browser testing with Playwright. Use when writing browser-driven tests — leverage auto-waiting (no `waitForTimeout`), prefer user-visible locators (`getByRole`, `getByText`, `getByLabel`) over CSS/XPath, reuse `storageState` for auth, and enable trace-on-first-retry for CI debugging. Also carries the `data-testid` contract a UI change states in its acceptance criteria.

律师与法务测试与质量
★ 7
dsj1984
dsj1984/mandrel

playwright-bdd

Wires Gherkin `.feature` files to Playwright via the `playwright-bdd` library. Use when running BDD scenarios on a Playwright runtime — pairs with the `gherkin-authoring` skill (scenario prose) and the `playwright` skill (browser conventions). Drives execution by tag expression with trace-first debugging and Playwright-native sharding.

测试与质量
★ 7
dsj1984
dsj1984/mandrel

gherkin-authoring

Authors `.feature` files that stay business-readable, translate cleanly from PRD acceptance criteria, and reuse a shared step-definition library. Use when writing or editing scenarios — the SSOT enforcement rules live in `.agents/rules/gherkin-standards.md`; this skill shows authors how to apply them.

★ 7
dsj1984
dsj1984/mandrel

security-and-hardening

Hardens code against vulnerabilities. Use when handling user input, authentication, data storage, or external integrations. The non-negotiable security MUSTs live in `.agents/rules/security-baseline.md`; this skill shows how to apply them, with the project's surfacing and validation-response process.

★ 7