Operational Steps
- 确认输入参数完整
- 执行核心操作(参考本目录下的 scripts/ 或 references/)
- 验证输出符合契约
- 保存结果并报告
Pitfalls
-
-
Verification
-
-
-
-
1. 2. 3. version: 1.0.0
IO_CONTRACT
- input:
request: str, context: dict— 用户请求描述、上下文信息 - output:
result: dict — 技能执行结果(结构因技能而异)
对应原则:P2(机械原子暴露输入输出规范)
Creative Ideation
When to use
Use when the user says 'I want to build something', 'give me a project idea', 'I'm bored', 'what should I make', 'inspire me', or any variant of 'I have tools but no direction'. Works for code, art, hardware, writing, tools, and anything that can be made.
Generate project ideas through creative constraints. Constraint + direction = creativity.
How It Works
- Pick a constraint from the library below — random, or matched to the user's domain/mood
- Interpret it broadly — a coding prompt can become a hardware project, an art prompt can become a CLI tool
- Generate 3 concrete project ideas that satisfy the constraint
- If they pick one, build it — create the project, write the code, ship it
The Rule
Every prompt is interpreted as broadly as possible. "Does this include X?" → Yes. The prompts provide direction and mild constraint. Without either, there is no creativity.
Constraint Library
For Developers
Solve your own itch: Build the tool you wished existed this week. Under 50 lines. Ship it today.
Automate the annoying thing: What's the most tedious part of your workflow? Script it away. Two hours to fix a problem that costs you five minutes a day.
The CLI tool that should exist:
Think of a command you've wished you could type. git undo-that-thing-i-just-did. docker why-is-this-broken. npm explain-yourself. Now build it.
Nothing new except glue: Make something entirely from existing APIs, libraries, and datasets. The only original contribution is how you connect them.
Frankenstein week: Take something that does X and make it do Y. A git repo that plays music. A Dockerfile that generates poetry. A cron job that sends compliments.
Subtract: How much can you remove from a codebase before it breaks? Strip a tool to its minimum viable function. Delete until only the essence remains.
High concept, low effort: A deep idea, lazily executed. The concept should be brilliant. The implementation should take an afternoon. If it takes longer, you're overthinking it.
For Makers & Artists
Blatantly copy something: Pick something you admire — a tool, an artwork, an interface. Recreate it from scratch. The learning is in the gap between your version and theirs.
One million of something: One million is both a lot and not that much. One million pixels is a 1MB photo. One million API calls is a Tuesday. One million of anything becomes interesting at scale.
Make something that dies: A website that loses a feature every day. A chatbot that forgets. A countdown to nothing. An exercise in rot, killing, or letting go.
Do a lot of math: Generative geometry, shader golf, mathematical art, computational origami. Time to re-learn what an arcsin is.
For Anyone
Text is the universal interface: Build something where text is the only interface. No buttons, no graphics, just words in and words out. Text can go in and out of almost anything.
Start at the punchline: Think of something that would be a funny sentence. Work backwards to make it real. "I taught my thermostat to gaslight me" → now build it.
Hostile UI: Make something intentionally painful to use. A password field that requires 47 conditions. A form where every label lies. A CLI that judges your commands.
Take two: Remember an old project. Do it again from scratch. No looking at the original. See what changed about how you think.
See references/full-prompt-library.md for 30+ additional constraints across communication, scale, philosophy, transformation, and more.
Matching Constraints to Users
| User says | Pick from |
|---|---|
| "I want to build something" (no direction) | Random — any constraint |
| "I'm learning [language]" | Blatantly copy something, Automate the annoying thing |
| "I want something weird" | Hostile UI, Frankenstein week, Start at the punchline |
| "I want something useful" | Solve your own itch, The CLI that should exist, Automate the annoying thing |
| "I want something beautiful" | Do a lot of math, One million of something |
| "I'm burned out" | High concept low effort, Make something that dies |
| "Weekend project" | Nothing new except glue, Start at the punchline |
| "I want a challenge" | One million of something, Subtract, Take two |
Output Format
## Constraint: [Name]
> [The constraint, one sentence]
### Ideas
1. **[One-line pitch]**
[2-3 sentences: what you'd build and why it's interesting]
⏱ [weekend / week / month] • 🔧 [stack]
2. **[One-line pitch]**
[2-3 sentences]
⏱ ... • 🔧 ...
3. **[One-line pitch]**
[2-3 sentences]
⏱ ... • 🔧 ...
Example
## Constraint: The CLI tool that should exist
> Think of a command you've wished you could type. Now build it.
### Ideas
1. **`git whatsup` — show what happened while you were away**
Compares your last active commit to HEAD and summarizes what changed,
who committed, and what PRs merged. Like a morning standup from your repo.
⏱ weekend • 🔧 Python, GitPython, click
2. **`explain 503` — HTTP status codes for humans**
Pipe any status code or error message and get a plain-English explanation
with common causes and fixes. Pulls from a curated database, not an LLM.
⏱ weekend • 🔧 Rust or Go, static dataset
3. **`deps why <package>` — why is this in my dependency tree**
Traces a transitive dependency back to the direct dependency that pulled
it in. Answers "why do I have 47 copies of lodash" in one command.
⏱ weekend • 🔧 Node.js, npm/yarn lockfile parsing
After the user picks one, start building — create the project, write the code, iterate.
Attribution
Constraint approach inspired by wttdotm.com/prompts.html. Adapted and expanded for software development and general-purpose ideation.
验证清单 · VERIFICATION
- 选定的约束确实来自约束库(或 references/full-prompt-library.md),且已按"尽可能宽泛"原则解读("Does this include X?" → Yes)
- 恰好产出 3 个具体项目想法(非抽象概念),每个包含一行 pitch + 2-3 句说明
- 每个想法都附带 ⏱ 时间预算(weekend / week / month)与 🔧 技术栈标注
- 约束选择匹配用户画像(对照 Matching Constraints to Users 表:方向缺失→随机,实用→痛点类,倦怠→低努力类)
- 输出符合 Output Format 模板(## Constraint: 头 + 引用块 + ### Ideas 编号列表)
- 若用户选定某个想法,已立即进入构建阶段(创建项目、编写代码、迭代交付),而非停留在概念
约束规则 · RULES
- 输入约束: 参数类型、范围、格式必须校验
- 输出约束: 返回值结构、编码、命名必须一致
- 异常约束: 错误信息必须包含上下文和恢复建议
- 安全约束: 不执行未验证的任意代码,不暴露内部状态
Golden 集合 · GOLDEN SET
- Golden Input: 标准输入样本(覆盖正常路径)
- Golden Output: 预期输出(精确匹配或格式校验)
- Golden Error: 预期错误信息(覆盖失败路径)
Golden 集合是测试的单一真理来源。所有改进必须通过 golden 测试。
违反规则的操作视为不安全,必须拒绝或隔离。
每项验证必须可执行、可记录、可复现。验证失败时记录原因和修复。
Genes (策略基因)
紧凑策略表示。条件→策略。需要深度时参考完整文档。
- [CREA-009] 用户缺乏方向或灵感 → 引入随机或匹配的约束条件,利用“约束+方向”激发创造力
- [CREA-010] 面对特定约束提示 → 进行最广泛的跨领域解读(如代码变硬件、艺术变CLI),打破领域边界
- [CREA-011] 生成创意方案时 → 必须产出3个具体且可执行的项目想法,而非抽象概念
- [CREA-012] 用户表达“有用/实用”需求 → 优先选择解决个人痛点、自动化繁琐流程或填补工具空白的约束
- [CREA-013] 用户表达“无聊/倦怠”需求 → 优先选择低努力高概念、允许失败或具有消亡属性的轻量级约束
- [CREA-014] 用户表达“挑战/学习”需求 → 优先选择大规模数据、极简主义重构或复刻经典项目的约束
- [CREA-015] 用户选定具体创意后 → 立即进入构建阶段,创建项目、编写代码并迭代交付