agentsclimarketplace

Startup grill

Skill sorawit-w/agent-skills/skills/startup-grill

Adversarially grill a startup IDEA or PITCH with a 5-seat panel of domain-aware probers (plus up to 3 domain specialists from team-composer), and ship a structured kill report ranked on two axes: severity (lethal vs material) and fixability (fixable vs unfixable). Use when the user says "grill my startup", "stress-test my pitch", "kill my idea", "pre-mortem my startup", "is this fundable", or uploads a one-pager / canvas / RAT plan / pitch deck for adversarial review. Use THIS, not `team-composer`, whenever the user wants an adversarial review with a verdict on a belief artifact, even if they say "review". CARVE-OUT: if the input is a BUILT product (a CODEBASE or live URL) that is `startup-audit`, even though they say "grill" or "kill". This skill reads BELIEF artifacts only (Lean Canvas, pitch deck, one-pager), never a codebase. Do NOT use for collaborative brainstorming, canvas construction, assumption-test design, or pitch-deck building (those route to the named constructive skills).From its SKILL.md

Install
npx -y skills add sorawit-w/agent-skills --skill startup-grill

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

21.2 KB, as published. Nobody here has run it

Startup Grill

Adversarially probe a startup idea with a panel of domain-aware grillers. Ship a structured kill report. Optionally enter interactive defense mode.

This skill is not a collaborative thinking partner. The job is to surface what would kill this startup if unaddressed — not to shape the idea, not to brainstorm next moves, not to be encouraging. If you want collaborative work, use team-composer instead.


STOP — When NOT to use this skill

Hand off to a different skill — do not run the grill — if any of these apply:

  • The user is brainstorming an idea or shaping a problem space → use team-composer (or superpowers:brainstorming if installed).
  • The user wants to build a validation canvas, brand identity, or pitch deck → use validation-canvas, brand-workshop, or pitch-deck respectively. Grilling can run after those exist.
  • The user wants to design assumption tests → use riskiest-assumption-test. Grilling exposes weaknesses; RAT designs experiments to test them.
  • The user wants positioning review or brand voice review → use team-composer with @brand_strategist / @humorist / @senior_copywriter.
  • The user wants to review their plan with a multi-perspective team that includes constructive feedback → use team-composer with scope=review.
  • The user is mid-deal and wants investor diligence prep rather than adversarial idea review → use team-composer with @vc_partner + @finance_manager + @startup_strategist.

Bright-line rule: if the user wants help making the idea better, that's not this skill. Grilling produces a verdict, not improvements. Improvements come from the user acting on the kill report's Suggested attack lines, then optionally re-grilling.

Redirect discipline. When the STOP gate fires and you route to another skill, describe the kind of lens the user needs — don't invent role tags. team-composer's persona catalog lives in skills/team-composer/references/role-personas.md; defer naming specific roles to that skill rather than coining tags that don't exist there (e.g., do NOT write @market_researcher or @sustainability_expert — those aren't in the canonical catalog and will confuse the user when team-composer assembles its actual team).


Skill Boundaries

This skill overlaps with team-composer (@vc_partner, @startup_strategist, and @ux_researcher are all team-composer roles too) but the deliverable and the round structure are different.

RequestSkill
"Grill my startup idea"startup-grill (this skill)
"Tear apart my pitch"startup-grill
"Pre-mortem this startup"startup-grill
"Stress-test my business model"startup-grill
"Brainstorm my startup"team-composer
"Review my plan with a team"team-composer with scope=review
"Build my pitch deck"pitch-deck
"Build my validation canvas / lean canvas / VPC"validation-canvas
"Design tests for my assumptions"riskiest-assumption-test
"Workshop the brand for my startup"brand-workshop

If the user request mixes grilling with building ("grill my startup and help me fix it"), run the grill first to ship the kill report, then route the fix work to the appropriate builder skill (pitch-deck, validation-canvas, riskiest-assumption-test, or team-composer). Don't try to do both at once — that produces a soft kill report.


What this skill produces

Every one-shot run produces exactly one file inside the resolved grill root (see Phase 1 Step 0.0 for path resolution; default is docs/grill/ for solo runs, docs/startup-kit/grill/ when invoked via orchestrator):

  • kill-report.md — the structured kill report. Format spec in references/kill-report.md.

If the founder enters interactive defense mode, a second file is produced and updated on each defense round:

  • defense-log.md — append-only log of founder defenses, panel re-probes, and updated reads. Format spec in references/round-structure.md.

Both files go into the resolved grill folder. Existing files from prior sessions are appended-to, never overwritten.


Phase 1: Intake

Goal: assemble the brief the panel will grill.

Step 0.0 — Path resolution + manifest awareness (v2.2.0+)

Resolve the grill root once at invocation, in this precedence order (canonical chain):

  1. Explicit output_dir arg (passed by startup-launch-kit) → use as-is.
  2. STARTUP_KIT_DOCS_ROOT env var set → ${STARTUP_KIT_DOCS_ROOT}/grill/.
  3. Smart default — docs/startup-kit/ exists → docs/startup-kit/grill/. Surface the smart-default notice: "Writing to docs/startup-kit/grill/ (smart default). Set STARTUP_KIT_DOCS_ROOT=./docs to write standalone instead."
  4. Solo fallback → docs/grill/.

The same root resolution applies to sibling reads (<canvas-root>/, <rat-root>/, <pitch-root>/, <brand-root>/) — they're siblings of the grill root.

Manifest awareness. Look for kit-manifest.json at <resolved-kit-root>/kit-manifest.json first; fall back to the working-directory root for backward compat. Use it as a hint, never as a bypass:

  • If the manifest lists startup-grill as completed with a recent mtime, surface that fact: "Manifest says you ran the grill on [date]. New defense round (interactive mode), fresh grill (rebuild kill report from scratch), or skip and review the prior report?"
  • The manifest's gate_overrides[] array is direct grilling ammunition: every recorded override is a deliberate decision the founder made to bypass a gate, and is worth probing in Round 1. Surface them in the kill-report's ## Iteration Evidence section per the Phase 1 Step 1c iteration-evidence check.
  • The manifest's iterations counter on validation-canvas (incremented on each loop-back) directly informs the iteration-evidence read: zero iterations + populated RAT Results = pristine pipeline yellow flag.
  • The manifest's source_mode and the validation-canvas step's seeded flag feed the seed checks in Step 1c: source_mode: "existing-project" + seeded: true + iterations: 1 = rubber-stamped-seed yellow flag (the canvas was machine-inferred from the codebase and never revised). Combined with a still-present <!-- SEED:machine-inferred --> marker in the canvas file = unconfirmed-seed red-ish flag.
  • Manifest read failures (corrupt JSON, missing fields) are non-fatal — log the issue inline and proceed as if no manifest exists.

After this skill ships its kill report (Phase 3), if a manifest exists, append/update this skill's entry. Use atomic write (write .tmp, then rename). If the manifest doesn't exist, do NOT create it — that's the startup-launch-kit orchestrator's job. See startup-launch-kit/references/manifest-schema.md for the schema.

Step 1 — Read the working directory

Check for these files in order. For each, look at the new conventions path first; fall back to the legacy path for backward compat. If found at the legacy path, surface a one-line notice so the founder knows the artifact is at a v1 location (they may want to mv it under docs/): "Read upstream artifact from legacy v1 path."

FileNew pathLegacy fallback
Validation canvas<canvas-root>/validation-canvas.mdvalidation-canvas.md (cwd root)
Assumption test plan<rat-root>/assumption-test-plan.mdrat/assumption-test-plan.md
Pitch deck<pitch-root>/deck.htmlpitch/deck.html
Speaker notes<pitch-root>/speaker-notes.mdpitch/speaker-notes.md
Brand brief<brand-root>/brand-brief.mdbrand-kit/brand-brief.md

When present, parse each as input — the founder doesn't need to re-state what's already written down:

  1. Validation canvas (from validation-canvas) — read the ### Customer Segments, ### Unique Value Proposition, ### Revenue Streams, ### Customer Pains, ### Pain Relievers, and ## Stress Tests sections. The Stress Tests section is direct ammunition for grilling — surface those weaknesses unless the founder has explicitly retired them. Un-relieved Pains and un-created Gains in the VPC are also direct ammunition.
  2. Assumption test plan (from riskiest-assumption-test) — read ## Top 3 Hypotheses, ## Test Plan, and ## Results. Confirmed results are evidence the founder can defend with; invalidated results that haven't propagated to the canvas are red flags. Pristine plans (no Results yet) indicate the founder skipped validation — see Step 1c below.
  3. Pitch deck + speaker notes (from pitch-deck) — parse the slide content for Problem, Solution, Market, Product, Business Model, Traction, Team, Competition, Ask. Use pitch-deck's references/slide-contracts.md anti-patterns as a starting probe list.
  4. Brand brief (from brand-workshop) — read the Positioning section (used by Slot 5 brand-strategist if active).

If none exist: ask the founder to provide a one-pager (or paste the deck / canvas into the conversation). Refuse to grill on a single sentence — the kill report would be all guesses. Minimum input: one paragraph each on Problem, Solution, ICP, GTM motion, and Team.

Step 1c — Iteration evidence check

Compare timestamps and content across the pipeline artifacts to detect a pristine pipeline (one that ran end-to-end without the canvas being revised after testing). This is a yellow flag, not a hard stop — but the panel should probe accordingly:

  1. If the validation canvas exists AND the assumption-test plan exists AND ## Results in the RAT has populated rows: check whether the canvas's mtime is earlier than the latest Results entry in the RAT plan. Earlier mtime means the canvas was NOT updated after testing.
  2. If the canvas wasn't updated after RAT, surface as a yellow flag in the kill report's new ## Iteration Evidence section: "Canvas was not revised after assumption testing. Either the tests confirmed every belief (rare — be skeptical) or the founder is not closing the loop on what they learned. Probe accordingly."
  3. If the assumption-test plan is missing entirely while the pitch deck exists: large yellow flag. Pitch built without assumption testing is sales theater. Surface in ## Iteration Evidence: "This pipeline shipped a pitch without testing assumptions. Treat every Traction claim as belief, not evidence."
  4. If the validation canvas is missing while later artifacts exist: the founder may have compiled the pipeline manually. Surface as a flag that the kill-report can't cross-check beliefs against documented stress tests.
  5. Unconfirmed machine seed (red-ish flag). If validation-canvas.md still carries the <!-- SEED:machine-inferred --> marker (the seed sentinel startup-audit writes; confirming the seed in validation-canvas strips it), the founder never completed confirm-inferred-seed mode — the canvas is an unconfirmed machine read of the codebase, not founder belief. Surface in ## Iteration Evidence: "The canvas is an unconfirmed machine inference from the code — the founder never validated it. Treat every block as a code-derived guess, not a conviction; grill whether the founder actually holds the Problem / UVP / Unfair Advantage, or just shipped what the code implied." Probe the un-codeable blocks hardest.
  6. Rubber-stamped seed (yellow flag). If the manifest records source_mode: "existing-project" and the validation-canvas step has seeded: true with iterations: 1 (machine-seeded from code, never looped back after RAT), the founder may have confirmed the machine read without genuinely engaging. Surface in ## Iteration Evidence: "This canvas was machine-seeded from the codebase and never revised after testing. A built product proves the Solution exists — not that the Problem, UVP, or Unfair Advantage are true. Probe those un-codeable beliefs hardest; the code could not evidence them." Precedence (marker dominates): if validation-canvas.md also still carries the <!-- SEED:machine-inferred --> marker, classify as item 5 (State E, red), not item 6 — a present marker means confirm-inferred-seed mode never completed, so the seed was never actually rubber-stamped and the manifest's seeded: true is stale/desynced (manifest is a hint; the file wins). Absent a manifest, item 6 cannot fire (it needs source_mode + seeded). A marker-absent canvas with no manifest is treated as ordinary founder-authored — acceptable either way: the canvas was either never seeded (greenfield) or seeded-then-confirmed (the strip removed the marker), and both warrant founder-authored treatment.

The Iteration Evidence findings appear in a dedicated section in the kill-report — see references/kill-report.md Section 7 (added in v2.0.0).

Step 2 — Classify the variant

Ask exactly one question and wait for the answer:

"Variant: (a) idea / pre-seed (no traction yet), (b) seed (early traction), (c) Series A+ (scaling)? This sets the bar for what counts as evidence."

If the user refuses to pick, default to seed and state the assumption verbatim. Variant tunes evidence thresholds, not panel composition.

Step 3 — Detect signals and resolve panel

Apply references/panel-resolution.md end-to-end:

  1. Detect signals (Phase A)
  2. Lock the fixed core (Phase B — 4 roles)
  3. Resolve slot 5 (Phase C — technical DD or brand-strategist)
  4. Inject specialists from triggers (Phase D)
  5. Apply symmetry rules (Phase E — forced specialists)
  6. Apply cap and trim if > 3 specialists (Phase F)

Step 4 — Show the panel before grilling

Output the panel summary block per Phase G of panel-resolution.md. The user can challenge the panel ("drop X, add Y") before Round 1 starts. If the user redirects, accept and re-trim — don't re-debate.


Phase 2: Grilling

Read references/round-structure.md and run one-shot mode end-to-end:

  1. Round 1 — Probe. Each panelist contributes one probe per startup-axis they own. Per-probe shape and 60–100 word cap defined in round-structure.md.
  2. Round 2 — Forced steelman defense. The skill itself responds as the founder would using only evidence in the brief. Lethal probes that the brief credibly answers get downgraded; probes that survive stand.
  3. Round 3 — Synthesis. @startup_strategist assembles the kill-report sections; @vc_partner writes the verdict.

Apply persona overlays from references/grill-overlay.md for every panelist, including the universal grill posture (probes for failure, demands evidence, states severity declaratively, names failure modes specifically, closes with falsifiers).

Hard rule — Round 1 must surface at least one lethal-fixable or lethal-unfixable read. If every probe is material or pass, the panel was too soft. Re-run Round 1 with sharper posture, or — if the idea genuinely has no lethal weakness — note it explicitly: "Round 1 surfaced no lethal weaknesses. Re-running Round 1 with sharpened posture confirmed the read."


Phase 3: Ship the kill report

Write <grill-root>/kill-report.md per references/kill-report.md (where <grill-root> is resolved per Phase 1 Step 0.0; create the folder if absent). All seven sections required, in order: Verdict / Lethal & Fixable / Lethal & Unfixable / Material & Fixable / Diligence Asks / Panel / Iteration Evidence.

Run the file's verifier checklist before presenting:

  • All seven sections present in order
  • Verdict label is one of the four canonical labels
  • Lethal & Fixable has 2–3 items (no more, no fewer if verdict ≠ Pass)
  • Each lethal item has all five fields filled
  • Suggested attacks are specific (named artifact / signal)
  • Diligence Asks are evidence requests, not change-the-business actions
  • No weakness appears in two severity sections
  • Panel table lists every role that contributed in Round 1
  • Iteration Evidence section reflects actual pipeline state (working dir + manifest): full / pristine / no-RAT / no-canvas / unconfirmed-seed / rubber-stamped-seed

If any box fails, fix before shipping. Then present the file with present_files.


Phase 4: Offer interactive defense

The response after Phase 3 must end with the interactive-mode invitation verbatim (or close variant — the prose can soften, the rule cannot drop). See references/round-structure.md for the exact block.

If the founder picks a weakness and defends, run a defense round per round-structure.md:

  1. Identify relevant panelists (1–2)
  2. Quote / summarize founder's defense
  3. Re-probe with new-evidence rule (vibes-only defenses rejected)
  4. Update the affected line item in <grill-root>/kill-report.md only — frozen items stay frozen
  5. Append the round to <grill-root>/defense-log.md

A single weakness gets defended at most 3 times per session. After 3, the verdict stands.


Quality bars (skill-wide)

The skill must refuse to ship if any of these are true:

  • No lethal section but verdict is Pass or Pivot signal
  • More than 3 lethal-fixable items — re-rank, the bar drifted
  • A weakness appears in two severity sections — pick one
  • A probe in Round 1 has no falsifier — that's rhetoric, not grilling
  • A steelman defense in Round 2 invents favorable facts not in the brief
  • The interactive invitation is missing from the response after the report ships
  • Theatrical hostility ("why would anyone fund this?") — name failure modes specifically or stay silent

Cross-Skill Integration

SkillWhen to use
team-composerInstead of this skill when the user wants brainstorming, planning, or constructive review. After this skill when the kill report's Suggested attack lines need a multi-role workshop to scope.
validation-canvas (our own)Upstream input. If the validation canvas exists (<canvas-root>/validation-canvas.md or legacy validation-canvas.md), this skill reads its Stress Tests section + un-relieved Pains + un-created Gains as direct grilling ammunition. After this skill when a Pivot signal verdict makes the founder rebuild their canvas.
riskiest-assumption-test (our own)Upstream input. If the assumption-test plan exists (<rat-root>/assumption-test-plan.md or legacy rat/assumption-test-plan.md), this skill reads ## Top 3 Hypotheses and ## Results. The iteration-evidence check (Phase 1 Step 1c) yellow-flags pristine pipelines. After this skill when the kill report names assumptions the founder hasn't tested yet.
pitch-deck (our own)Upstream input. If the pitch deck exists (<pitch-root>/deck.html or legacy pitch/deck.html), this skill probes the deck's required-slot answers. After this skill when the kill report demands a re-cut deck.
brand-workshop (our own)Upstream input when slot 5 = @brand_strategist and the panel needs the brand brief's Positioning section as a reference.
skill-evaluator (our own)When you want to audit this skill's rules end-to-end. Good targets: the verdict-vs-body consistency rule, the no-lethal-skip rule, the interactive-invitation rule.
superpowers:brainstorming (if installed)Use before this skill when the user is still shaping the idea. Grilling a half-formed idea produces a kill report full of "not enough information" findings, which is worse than no kill report.

Principle: this skill owns adversarial probing of a startup idea with a fixed-shape kill report as the deliverable. It does not build artifacts, does not improve ideas, does not assemble teams for general work. Hand off to the appropriate builder or thinker skill for everything else.

Graceful degradation: if no upstream artifact exists, this skill still runs from a one-pager. Quality of the kill report scales with the quality and specificity of the brief — garbage in, generic kill report out.

Keep looking

Skills are one crate of 628,971. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.