Wow: demo-prompt generator with a memory
Kody fires "give me the coolest, most mind-blowing prompts" 20+ times a month, mostly in brainstem/RAPP repos, and the #1 failure mode is recycled or vague suggestions ("those are not that impressive"). This skill fixes that with a ledger and a concreteness bar.
The ledger: ~/.claude/wow-ledger.md
One table, append-only. Columns: date | project | prompt (one line) | status.
Status values: suggested, used, landed (Kody said it worked/demo went well), flopped (Kody said not impressive / it failed live).
- Read it FIRST, every invocation. If it doesn't exist, create it with the header row.
- Never suggest anything semantically close to a prior entry for the same project. Different wording ≠ new idea.
- If the user's message is a dissatisfaction reaction ("not that impressive", "more impressive than that"), mark the most recent
suggestedbatch for this project asfloppedbefore generating — flopped entries define the floor the new batch must clear. - After presenting, append the new batch as
suggested.
Generating the batch
- Ground in the actual product. Read enough of the current repo (README, agents/ directory, recent commits) to know what it can really do TODAY. Every prompt must exercise a real, currently-working capability — a demo prompt that errors in front of an audience is worse than a boring one (this has happened; see "you broke it in front of an exec").
- Concrete beats cosmic. "Autonomously evolve this product for 24 hours" is a category Kody already uses. The bar for a wow prompt:
- Runnable verbatim — a specific instruction, not a theme.
- Visible payoff in under ~3 minutes — something appears on screen (a page, an agent responding, a live URL, a twin answering).
- A "wait, it can do THAT?" mechanic — crosses a boundary the audience assumes is hard: touches their real data, produces a working artifact not a description, chains two systems (brainstem→Copilot Studio, transcript→deployed agent, vault→twin), or closes a loop live (build → ship → open the live URL).
- Escalate. Order the 10 from "safe opener" to "closer". The last 2 should be the risky spectacular ones, flagged as such.
- Audience knob. If context says exec/customer/VC, bias toward business-outcome framing (agent solves a named pain in their world); if peer/technical, bias toward architectural flex (P2P twin sync, self-modifying agents, RAR install-on-demand).
Output format
Numbered 1–10. Each entry: the prompt itself in a code block (copy-paste ready), then ONE sentence on what the audience sees happen. No preamble essays. End with a one-line note of which 2 are the high-risk closers.
Parameters
{
"type": "object",
"properties": {
"project": {
"type": "string",
"default": "$(basename $PWD)",
"description": "Ledger scope key. Collisions are checked within this project only."
},
"count": {
"type": "integer",
"default": 10,
"description": "Prompts to deliver. Deliver fewer rather than padding below the bar."
},
"audience": {
"type": "string",
"default": "peer",
"enum": [
"exec",
"customer",
"vc",
"peer",
"technical"
],
"description": "exec/customer/vc bias to business-outcome framing; peer/technical to architectural flex."
},
"ledger": {
"type": "string",
"default": "~/.claude/wow-ledger.md",
"description": "Append-only table: date | project | prompt | status."
},
"mark_flopped": {
"type": "boolean",
"default": false,
"description": "True when the invocation is a dissatisfaction reaction; demotes the prior suggested batch to flopped BEFORE generating so it sets the floor."
}
},
"required": []
}
Commands
Run in this order. Steps 1 and 5 are mandatory; skipping either is what makes the skill non-deterministic.
# 1. read the ledger first (create with the header row if absent)
test -f "$LEDGER" || printf '| date | project | prompt | status |\n|---|---|---|---|\n' > "$LEDGER"
grep -ci "$PROJECT" "$LEDGER" # 0 => fresh axis, no collision risk
# 2. if mark_flopped, demote the prior suggested batch for this project
# sed -i '' "s/| $PROJECT | \(.*\) | suggested |/| $PROJECT | \1 | flopped |/" "$LEDGER"
# 3. ground in the product: read README + recent commits, and probe that each
# capability a prompt names actually answers TODAY (a prompt that errors live
# is worse than a boring one)
# 4. generate, ordered safe opener -> risky closer
# 5. append the delivered batch as `suggested`
# cat >> "$LEDGER" <<'ROWS'
# | YYYY-MM-DD | <project> | <one-line prompt> | suggested |
# ROWS
Output contract
count numbered entries. Each: the prompt in a fenced code block, copy-paste
runnable verbatim, then exactly ONE sentence on what the audience sees. No
preamble. Final line names which 2 are the high-risk closers.
Don'ts
- Don't re-serve a flopped idea with new adjectives.
- Don't suggest prompts requiring services that can fail live (fresh auth flows, rate-limited APIs) without flagging the risk.
- Don't pad — if only 7 clear the bar, deliver 7 and say why.
Run this — do not improvise
This capability's deterministic implementation is a RAPP single-file agent, linked beside this file as wow_agent.py and embedded as the fenced Python below (sha256 c2320de5747b3be0…; a byte-exact copy is also vaulted in the capsule comment at the end of this file). On a host with sandbox execution, run the linked file directly — if it is missing, write the fence contents verbatim to wow_agent.py first:
python3 wow_agent.py '{"key": "value"}' # arguments as one JSON object
echo '{"key": "value"}' | python3 wow_agent.py # or on stdin
python3 wow_agent.py --tool # emit the JSON tool contract
Treat stdout as a tool result. If it reports missing or unresolved inputs, stop and collect them. If it returns steps, execute those steps in order exactly as returned; if it returns instructions, follow them with the supplied inputs. Otherwise use the result verbatim. Do not invent behavior beyond that output. On a host without code execution, treat the Parameters schema and the code below as the exact specification and never paraphrase a step. Never edit inside the generated markers; a converter-equipped host can instead restore the original file checksum-verified with the installed rapp-agent-converter/scripts/toast.py convert SKILL.md --to agent.
"""Wow -- Generate demo prompts that show off the current product's power — with a persistent ledger so suggestions never repeat and ambition ratchets up. Use whenever the user asks for "the coolest prompts", "mind-blowing prompts", "prompts that show off the power", "demo prompts", "give me 10", or is prepping a demo/pitch and wants material. Also use when the user reacts with "those are not that impressive" — that is ledger feedback, not a new request.
Generated by the rapp skill from wow. The RCI capsule at the bottom of this file carries the full original; `toast.py convert` restores it byte-exact."""
import json
import re
import sys
try:
from agents.basic_agent import BasicAgent
except ImportError: # running OUTSIDE a brainstem -- stay executable anyway.
class BasicAgent: # noqa: D101 - minimal stand-in, same contract
def __init__(self, name=None, metadata=None):
if name:
self.name = name
if metadata:
self.metadata = metadata
def perform(self, **kwargs):
return "Not implemented."
def system_context(self):
return None
def to_tool(self):
return {"type": "function", "function": {
"name": self.name,
"description": self.metadata.get("description", ""),
"parameters": self.metadata.get("parameters", {})}}
# The procedural layer, verbatim from the source capability.
INSTRUCTIONS = '# Wow: demo-prompt generator with a memory\n\nKody fires "give me the coolest, most mind-blowing prompts" 20+ times a month, mostly in brainstem/RAPP repos, and the #1 failure mode is recycled or vague suggestions ("those are not that impressive"). This skill fixes that with a ledger and a concreteness bar.\n\n## The ledger: `~/.claude/wow-ledger.md`\n\nOne table, append-only. Columns: `date | project | prompt (one line) | status`.\nStatus values: `suggested`, `used`, `landed` (Kody said it worked/demo went well), `flopped` (Kody said not impressive / it failed live).\n\n- **Read it FIRST, every invocation.** If it doesn't exist, create it with the header row.\n- **Never suggest anything semantically close to a prior entry for the same project.** Different wording ≠ new idea.\n- If the user's message is a dissatisfaction reaction ("not that impressive", "more impressive than that"), mark the most recent `suggested` batch for this project as `flopped` before generating — flopped entries define the floor the new batch must clear.\n- After presenting, append the new batch as `suggested`.\n\n## Generating the batch\n\n1. **Ground in the actual product.** Read enough of the current repo (README, agents/ directory, recent commits) to know what it can really do TODAY. Every prompt must exercise a real, currently-working capability — a demo prompt that errors in front of an audience is worse than a boring one (this has happened; see "you broke it in front of an exec").\n2. **Concrete beats cosmic.** "Autonomously evolve this product for 24 hours" is a category Kody already uses. The bar for a wow prompt:\n - Runnable verbatim — a specific instruction, not a theme.\n - Visible payoff in under ~3 minutes — something appears on screen (a page, an agent responding, a live URL, a twin answering).\n - A "wait, it can do THAT?" mechanic — crosses a boundary the audience assumes is hard: touches their real data, produces a working artifact not a description, chains two systems (brainstem→Copilot Studio, transcript→deployed agent, vault→twin), or closes a loop live (build → ship → open the live URL).\n3. **Escalate.** Order the 10 from "safe opener" to "closer". The last 2 should be the risky spectacular ones, flagged as such.\n4. **Audience knob.** If context says exec/customer/VC, bias toward business-outcome framing (agent solves a named pain in their world); if peer/technical, bias toward architectural flex (P2P twin sync, self-modifying agents, RAR install-on-demand).\n\n## Output format\n\nNumbered 1–10. Each entry: the prompt itself in a code block (copy-paste ready), then ONE sentence on what the audience sees happen. No preamble essays. End with a one-line note of which 2 are the high-risk closers.\n\n## Parameters\n\n```json\n{\n "type": "object",\n "properties": {\n "project": {\n "type": "string",\n "default": "$(basename $PWD)",\n "description": "Ledger scope key. Collisions are checked within this project only."\n },\n "count": {\n "type": "integer",\n "default": 10,\n "description": "Prompts to deliver. Deliver fewer rather than padding below the bar."\n },\n "audience": {\n "type": "string",\n "default": "peer",\n "enum": [\n "exec",\n "customer",\n "vc",\n "peer",\n "technical"\n ],\n "description": "exec/customer/vc bias to business-outcome framing; peer/technical to architectural flex."\n },\n "ledger": {\n "type": "string",\n "default": "~/.claude/wow-ledger.md",\n "description": "Append-only table: date | project | prompt | status."\n },\n "mark_flopped": {\n "type": "boolean",\n "default": false,\n "description": "True when the invocation is a dissatisfaction reaction; demotes the prior suggested batch to flopped BEFORE generating so it sets the floor."\n }\n },\n "required": []\n}\n```\n\n## Commands\n\nRun in this order. Steps 1 and 5 are mandatory; skipping either is what makes the\nskill non-deterministic.\n\n```bash\n# 1. read the ledger first (create with the header row if absent)\ntest -f "$LEDGER" || printf '| date | project | prompt | status |\\n|---|---|---|---|\\n' > "$LEDGER"\ngrep -ci "$PROJECT" "$LEDGER" # 0 => fresh axis, no collision risk\n\n# 2. if mark_flopped, demote the prior suggested batch for this project\n# sed -i '' "s/| $PROJECT | \\(.*\\) | suggested |/| $PROJECT | \\1 | flopped |/" "$LEDGER"\n\n# 3. ground in the product: read README + recent commits, and probe that each\n# capability a prompt names actually answers TODAY (a prompt that errors live\n# is worse than a boring one)\n\n# 4. generate, ordered safe opener -> risky closer\n\n# 5. append the delivered batch as `suggested`\n# cat >> "$LEDGER" <<'ROWS'\n# | YYYY-MM-DD | <project> | <one-line prompt> | suggested |\n# ROWS\n```\n\n## Output contract\n\n`count` numbered entries. Each: the prompt in a fenced code block, copy-paste\nrunnable verbatim, then exactly ONE sentence on what the audience sees. No\npreamble. Final line names which 2 are the high-risk closers.\n\n## Don'ts\n\n- Don't re-serve a flopped idea with new adjectives.\n- Don't suggest prompts requiring services that can fail live (fresh auth flows, rate-limited APIs) without flagging the risk.\n- Don't pad — if only 7 clear the bar, deliver 7 and say why.'
# Ordered commands lifted verbatim from the capability's own documentation.
STEPS = []
class WowAgent(BasicAgent):
def __init__(self):
self.name = 'Wow'
self.metadata = {
"name": "Wow",
"description": "Generate demo prompts that show off the current product's power \u2014 with a persistent ledger so suggestions never repeat and ambition ratchets up. Use whenever the user asks for \"the coolest prompts\", \"mind-blowing prompts\", \"prompts that show off the power\", \"demo prompts\", \"give me 10\", or is prepping a demo/pitch and wants material. Also use when the user reacts with \"those are not that impressive\" \u2014 that is ledger feedback, not a new request.",
"parameters": {
"type": "object",
"properties": {
"project": {
"type": "string",
"default": "$(basename $PWD)",
"description": "Ledger scope key. Collisions are checked within this project only."
},
"count": {
"type": "integer",
"default": 10,
"description": "Prompts to deliver. Deliver fewer rather than padding below the bar."
},
"audience": {
"type": "string",
"default": "peer",
"enum": [
"exec",
"customer",
"vc",
"peer",
"technical"
],
"description": "exec/customer/vc bias to business-outcome framing; peer/technical to architectural flex."
},
"ledger": {
"type": "string",
"default": "~/.claude/wow-ledger.md",
"description": "Append-only table: date | project | prompt | status."
},
"mark_flopped": {
"type": "boolean",
"default": False,
"description": "True when the invocation is a dissatisfaction reaction; demotes the prior suggested batch to flopped BEFORE generating so it sets the floor."
}
},
"required": []
}
}
super().__init__(name=self.name, metadata=self.metadata)
def perform(self, **kwargs): # toaster:generated-perform
return json.dumps({"status": "ok", "instructions": INSTRUCTIONS,
"inputs": kwargs,
"note": "Prose-only capability: follow INSTRUCTIONS "
"with the given inputs."}, indent=2)
if __name__ == "__main__":
# echo '{"arg": "value"}' | python3 wow_agent.py
# python3 wow_agent.py '{"arg": "value"}'
# python3 wow_agent.py --tool # emit the JSON tool contract
_a = sys.argv[1:]
if _a and _a[0] == "--tool":
print(json.dumps(WowAgent().to_tool(), indent=2))
else:
_raw = _a[0] if _a else (sys.stdin.read().strip() or "{}")
print(WowAgent().perform(**json.loads(_raw)))
# rci-capsule:v1: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