brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
promoter-testGenerate an evals file for a drafted skill and measure whether its trigger description fires on the right requests: five to eight phrases that should trigger it, five that should not, three golden input and output pairs, then precision and recall against the description, with a rewrite loop when precision is below 0.8. Use when asked to test this skill's tr…
Independent GitHub snapshot · Automated classification · Original documentation governs
A skill that fires on the wrong requests is worse than no skill, and one that never fires is invisible. The trigger is the description, so the description is what gets tested. This skill writes the labelled phrases, runs them against the description with the same keyword matching the library's suggestion hook uses, reports precision and recall, and rewrites the description until precision clears 0.8.
Third step of the promote loop. Follows promoter-draft; feeds promoter-publish.
skills/<name>/evals.json: should_fire (5 to 8 phrases), should_not_fire (5 phrases, including near misses), golden (3 input and expected-output pairs)evals/cases.json for the library's coverage ratchet and the judged leaderboardAsk for these if not provided:
python3 skills/promoter-test/scripts/promoter_test.py skills/<name>/SKILL.md skills/<name>/evals.json
python3 skills/promoter-test/scripts/promoter_test.py skills/<name>/SKILL.md skills/<name>/evals.json --rewrite
Exit code 0 when precision is 0.8 or above, 2 otherwise. --rewrite prints a proposed description that adds the missed trigger terms and lists terms that only appear in negatives.
<name>| Run | Precision | Recall | Missed | False alarms |
|---|---|---|---|---|
| 1 | 0.67 | 0.83 | ... | ... |
| 2 (rewritten) | 0.86 | 0.83 | ... | ... |
Final description: "..."
Files written: skills/<name>/evals.json, evals/cases.json (+1 case)