plant-seed
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePlant Seed Skill
Plant Seed Skill
Purpose
用途
Capture forward-looking ideas with trigger conditions so they resurface at the right time. Seeds carry WHY (rationale) and WHEN (trigger), making them far more valuable than bare TODO comments. Seeds are stored locally in and automatically surfaced during feature-design when their trigger conditions match.
.seeds/捕获带有触发条件的前瞻性想法,使其在合适的时机重新浮现。「种子」包含「原因(WHY)」和「时机(WHEN)」,这使其比单纯的TODO注释更具价值。种子会存储在本地的目录中,当触发条件匹配时,会在功能设计(feature-design)过程中自动浮现。
.seeds/Operator Context
操作上下文
Hardcoded Behaviors (Always Apply)
硬编码行为(始终适用)
- CLAUDE.md Compliance: Read and follow repository CLAUDE.md before execution
- Local Storage Only: Seeds go in which is gitignored -- seeds are personal, not shared via version control. WHY: Different developers have different ideas and different trigger conditions; committing seeds pollutes the shared repo with personal notes.
.seeds/ - No Immediate Work: Seeds are for deferred ideas. If the user describes something that should happen now, suggest creating a task or issue instead. WHY: Planting a seed for current-session work means it never gets surfaced -- it just gets forgotten in a different way.
- Breadcrumb Discovery: Always grep for related files at capture time. WHY: Breadcrumbs preserve code references from capture time. Even if the codebase evolves, these paths help the user re-orient when the seed surfaces months later.
- Unique IDs: Seed IDs follow the format to ensure uniqueness and chronological sorting.
seed-YYYY-MM-DD-slug
- 遵循CLAUDE.md规范:执行前请阅读并遵循仓库中的CLAUDE.md文件
- 仅本地存储:种子会保存在目录中,该目录已被git忽略——种子属于个人内容,不会通过版本控制共享。原因:不同开发者有不同的想法和触发条件,提交种子会将个人笔记混入共享仓库。
.seeds/ - 不支持即时工作:种子用于延迟的想法。如果用户描述的是当前就应完成的工作,请建议创建任务或Issue替代。原因:为当前会话的工作种下种子意味着它永远不会被触发——只是换了一种方式被遗忘。
- 追踪线索(Breadcrumb)发现:在捕获种子时,始终要搜索相关文件。原因:追踪线索保留了捕获时的代码引用。即使代码库演进,这些路径也能帮助用户在数月后种子浮现时重新定位。
- 唯一ID:种子ID遵循格式,以确保唯一性并支持按时间排序。
seed-YYYY-MM-DD-slug
Default Behaviors (ON unless disabled)
默认行为(启用状态,除非手动禁用)
- Interactive Capture: Ask clarifying questions about trigger condition and scope if not provided
- Breadcrumb Grep: Search the codebase for files related to the seed's topic
- Confirmation Before Write: Show the complete seed to the user before saving
- 交互式捕获:如果未提供触发条件和范围,会询问澄清问题
- 追踪线索搜索:搜索代码库中与种子主题相关的文件
- 写入前确认:在保存前向用户展示完整的种子内容
Optional Behaviors (OFF unless enabled)
可选行为(禁用状态,除非手动启用)
- Batch Planting: Capture multiple seeds in one session (enable with "plant several seeds")
- Seed Review: List and manage existing seeds (enable with "review seeds" or "list seeds")
- 批量种植:在一个会话中捕获多个种子(通过"plant several seeds"启用)
- 种子回顾:列出并管理现有种子(通过"review seeds"或"list seeds"启用)
What This Skill CAN Do
该技能可实现的功能
- Capture a deferred idea with structured metadata (trigger, scope, rationale, action, breadcrumbs)
- Search the codebase for related files to attach as breadcrumbs
- Store seeds in with consistent structure
.seeds/index.json - List existing seeds and their status
- Archive seeds that have been harvested or dismissed
- 捕获带有结构化元数据(触发条件、范围、理由、操作、追踪线索)的延迟想法
- 搜索代码库中的相关文件并作为追踪线索附加
- 将种子以一致的结构存储在中
.seeds/index.json - 列出现有种子及其状态
- 归档已处理或已取消的种子
What This Skill CANNOT Do
该技能不可实现的功能
- Execute the deferred work (that happens during feature-design when the seed is surfaced)
- Automatically detect when a trigger condition is met (feature-design does fuzzy matching)
- Share seeds across machines or developers (seeds are local by design)
- Create TODOs, issues, or tasks (use appropriate tools for immediate work)
- 执行延迟的工作(这会在种子浮现后的功能设计阶段进行)
- 自动检测触发条件是否满足(功能设计阶段会进行模糊匹配)
- 在多台机器或开发者之间共享种子(种子设计为仅本地存储)
- 创建TODO、Issue或任务(使用合适的工具处理即时工作)
Instructions
操作步骤
Phase 1: CAPTURE
阶段1:捕获
Goal: Gather the idea, trigger condition, scope, and rationale from the user.
Step 1: Understand the idea
Extract from the user's description:
- What (action): The specific thing to do when the time is right
- Why (rationale): The insight or observation that motivates this idea
- When (trigger): A human-readable string describing when this becomes relevant
If the user provides all three, proceed. If any are missing, ask:
For missing trigger condition:
When should this idea resurface? Describe the condition, e.g.:
- "when we add user accounts"
- "when performance optimization is needed"
- "when the API exceeds 10 endpoints"
For missing scope:
How big is this work? Small (< 1 hour), Medium (1-4 hours), or Large (4+ hours)?
For missing rationale:
Why does this matter? What's the insight behind this idea? (e.g., "Response times degrade linearly with DB calls per request -- at 10+ endpoints the shared query pattern becomes the bottleneck")
Step 2: Generate seed ID
Format:
seed-YYYY-MM-DD-slug- Date is today's date
- Slug is a short kebab-case summary of the action (3-5 words max)
Example:
seed-2026-03-22-cache-layerStep 3: Discover breadcrumbs
Search the codebase for files related to the seed's topic. Use the Grep tool with 2-3 key terms from the seed's action and rationale. Collect up to 10 file paths as breadcrumbs.
If no files match, breadcrumbs can be empty -- the seed is still valuable without them.
Gate: Idea captured with all required fields (action, trigger, scope, rationale). Breadcrumbs discovered. Proceed to Confirm.
目标:从用户处收集想法、触发条件、范围和理由。
步骤1:理解想法
从用户描述中提取:
- 内容(What):时机成熟时要执行的具体操作
- 原因(Why):推动该想法的洞见或观察结果
- 时机(When):描述该想法何时相关的自然语言字符串
如果用户提供了全部三项,则继续。如果有缺失,询问:
如果缺失触发条件:
该想法应在何时浮现?请描述条件,例如:
- "when we add user accounts"
- "when performance optimization is needed"
- "when the API exceeds 10 endpoints"
如果缺失范围:
这项工作的规模有多大?小型(<1小时)、中型(1-4小时)还是大型(4小时以上)?
如果缺失理由:
这为什么重要?该想法背后的洞见是什么?(例如:"Response times degrade linearly with DB calls per request -- at 10+ endpoints the shared query pattern becomes the bottleneck")
检查点:已捕获包含所有必填字段(操作、触发条件、范围、理由)的想法,已发现追踪线索。进入确认阶段。
Phase 2: CONFIRM
阶段2:确认
Goal: Show the complete seed to the user and get approval before writing.
Present the seed:
undefined目标:向用户展示完整的种子内容并在保存前获得批准。
展示种子内容:
undefinedSeed: seed-YYYY-MM-DD-slug [Scope]
Seed: seed-YYYY-MM-DD-slug [Scope]
Trigger: "human-readable trigger condition"
Rationale: Why this matters...
Action: What to do when triggered...
Breadcrumbs: file1.go, file2.py, ...
Plant this seed? [yes/no/edit]
Handle response:
- **yes**: Proceed to Write
- **no**: Discard and confirm the seed was not saved
- **edit**: Ask what to change, update fields, re-confirm
**Gate**: User approved the seed. Proceed to Write.Trigger: "human-readable trigger condition"
Rationale: Why this matters...
Action: What to do when triggered...
Breadcrumbs: file1.go, file2.py, ...
Plant this seed? [yes/no/edit]
处理用户响应:
- **yes**:进入写入阶段
- **no**:丢弃种子并确认未保存
- **edit**:询问需要修改的内容,更新字段后重新确认
**检查点**:用户已批准种子。进入写入阶段。Phase 3: WRITE
阶段3:写入
Goal: Persist the seed to .
.seeds/index.jsonStep 1: Ensure directory exists
bash
mkdir -p .seeds/archivedStep 2: Read or initialize index.json
If exists, read it. Otherwise, initialize:
.seeds/index.jsonjson
{
"seeds": []
}Step 3: Append seed
Add the new seed to the array:
seedsjson
{
"id": "seed-YYYY-MM-DD-slug",
"status": "dormant",
"planted": "YYYY-MM-DD",
"trigger": "human-readable trigger condition",
"scope": "Small|Medium|Large",
"rationale": "Why this matters...",
"action": "What to do when triggered...",
"breadcrumbs": ["path/to/file1.go", "path/to/file2.py"]
}Step 4: Write updated index.json
Write the complete updated index back to .
.seeds/index.jsonStep 5: Confirm to user
Seed planted: seed-YYYY-MM-DD-slug [Scope]
Trigger: "condition"
Status: dormant
This seed will surface automatically during /feature-design when the
trigger condition matches. Review all seeds with: /plant-seed "list seeds"Gate: Seed persisted to . Workflow complete.
.seeds/index.json目标:将种子持久化到中。
.seeds/index.json步骤1:确保目录存在
bash
mkdir -p .seeds/archived步骤2:读取或初始化index.json
如果存在,则读取该文件。否则,初始化:
.seeds/index.jsonjson
{
"seeds": []
}步骤3:追加种子
将新种子添加到数组中:
seedsjson
{
"id": "seed-YYYY-MM-DD-slug",
"status": "dormant",
"planted": "YYYY-MM-DD",
"trigger": "human-readable trigger condition",
"scope": "Small|Medium|Large",
"rationale": "Why this matters...",
"action": "What to do when triggered...",
"breadcrumbs": ["path/to/file1.go", "path/to/file2.py"]
}步骤4:写入更新后的index.json
将完整的更新内容写回。
.seeds/index.json步骤5:向用户确认
Seed planted: seed-YYYY-MM-DD-slug [Scope]
Trigger: "condition"
Status: dormant
This seed will surface automatically during /feature-design when the
trigger condition matches. Review all seeds with: /plant-seed "list seeds"检查点:种子已持久化到中。工作流完成。
.seeds/index.jsonSeed Review Mode
种子回顾模式
When the user asks to "list seeds", "review seeds", or "show my seeds":
- Read
.seeds/index.json - Display all dormant seeds:
undefined当用户要求"list seeds"、"review seeds"或"show my seeds"时:
- 读取
.seeds/index.json - 显示所有休眠状态的种子:
undefinedDormant Seeds (N total)
Dormant Seeds (N total)
| ID | Scope | Trigger | Planted |
|---|---|---|---|
| seed-2026-03-22-cache-layer | Medium | when the API exceeds 10 endpoints | 2026-03-22 |
| seed-2026-03-20-user-auth | Large | when we add user accounts | 2026-03-20 |
3. Offer actions: "Want to activate, dismiss, or edit any seed?"| ID | Scope | Trigger | Planted |
|---|---|---|---|
| seed-2026-03-22-cache-layer | Medium | when the API exceeds 10 endpoints | 2026-03-22 |
| seed-2026-03-20-user-auth | Large | when we add user accounts | 2026-03-20 |
3. 提供操作选项:"Want to activate, dismiss, or edit any seed?"Seed Lifecycle Actions
种子生命周期操作
Harvest: Move seed to , set status to . Use when the seed's work has been incorporated into a feature.
.seeds/archived/{seed-id}.jsonharvestedDismiss: Move seed to , set status to . Use when the seed is no longer relevant.
.seeds/archived/{seed-id}.jsondismissedActivate: Change status from to in index.json. Use when the trigger condition has been met but work hasn't started yet.
dormantactiveTo archive: remove the seed from and write it as a standalone file to .
index.json.seeds/archived/{seed-id}.json收获(Harvest):将种子移动到,设置状态为。当种子对应的工作已整合到功能中时使用。
.seeds/archived/{seed-id}.jsonharvested取消(Dismiss):将种子移动到,设置状态为。当种子不再相关时使用。
.seeds/archived/{seed-id}.jsondismissed激活(Activate):在index.json中将状态从改为。当触发条件已满足但工作尚未开始时使用。
dormantactive归档操作:将种子从中移除,并作为独立文件写入。
index.json.seeds/archived/{seed-id}.jsonError Handling
错误处理
| Error | Cause | Solution |
|---|---|---|
| First seed being planted | Create directory with |
| Manual edit or corruption | Back up to |
| Duplicate seed ID | Two seeds planted same day with same slug | Append |
| No breadcrumbs found | Idea is forward-looking, no related code yet | Plant with empty breadcrumbs -- still valuable |
| User describes immediate work | Seed system is for deferred work | Suggest creating a task or doing the work now |
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 首次种植种子 | 使用 |
| 手动编辑或损坏 | 备份到 |
| 重复种子ID | 同一天种植了两个slug相同的种子 | 在slug后追加 |
| 未找到追踪线索 | 想法具有前瞻性,尚无相关代码 | 种植空追踪线索的种子——仍然有价值 |
| 用户描述即时工作 | 种子系统用于延迟工作 | 建议创建任务或立即处理该工作 |
Anti-Patterns
反模式
| Anti-Pattern | Why Wrong | Do Instead |
|---|---|---|
| Planting seeds for current-session work | Seeds are for deferred ideas, not TODOs | Create a task or do the work now |
| Vague trigger like "someday" or "eventually" | Cannot be matched during feature-design | Ask for a specific, observable condition |
| Missing rationale ("it would be nice") | Without WHY, the seed loses value when surfaced months later | Capture the specific insight or observation |
| Planting too many seeds at once | Seed fatigue -- too many dormant seeds become noise | Keep seeds focused and high-signal |
| Storing seeds in version control | Seeds are personal/local; committing pollutes shared repo | Keep in gitignored |
| 反模式 | 错误原因 | 正确做法 |
|---|---|---|
| 为当前会话的工作种植种子 | 种子用于延迟想法,而非TODO | 创建任务或立即处理该工作 |
| 模糊的触发条件如"someday"或"eventually" | 无法在功能设计阶段匹配 | 要求提供具体的、可观察的条件 |
| 缺失理由(如"这样会更好") | 没有原因的话,种子在数月后浮现时会失去价值 | 捕获具体的洞见或观察结果 |
| 一次性种植过多种子 | 种子疲劳——过多休眠种子会成为噪音 | 保持种子聚焦且高价值 |
| 将种子存储在版本控制中 | 种子是个人/本地内容;提交会污染共享仓库 | 保存在被git忽略的 |
Anti-Rationalization
反合理化
See core patterns.
Domain-specific for plant-seed:
| Rationalization | Why Wrong | Action |
|---|---|---|
| "I'll remember this idea" | You won't -- context is ephemeral | Plant the seed now |
| "A TODO comment is enough" | TODOs lack trigger conditions and rationale | Use seed for deferred work, TODO for next-session work |
| "The trigger is obvious" | Obvious to you now, opaque in 3 months | Write an explicit, human-readable trigger condition |
| "Breadcrumbs aren't important" | Code references ground the seed in the codebase | Always grep, even if results are sparse |
| "This seed is too small to bother" | Small seeds with good triggers have the best signal-to-noise | Plant it -- small seeds are low cost, high value |
参见核心模式。
Plant-seed专属的反合理化:
| 合理化借口 | 错误原因 | 行动 |
|---|---|---|
| "我会记住这个想法" | 你不会——上下文是短暂的 | 立即种下种子 |
| "一个TODO注释就足够了" | TODO缺少触发条件和理由 | 对延迟工作使用种子,对下一会话的工作使用TODO |
| "触发条件很明显" | 现在对你来说明显,3个月后就不清晰了 | 编写明确的、自然语言描述的触发条件 |
| "追踪线索不重要" | 代码引用将种子与代码库关联起来 | 始终进行搜索,即使结果很少 |
| "这个种子太小,不值得麻烦" | 带有明确触发条件的小种子具有最佳的信噪比 | 种下它——小种子成本低、价值高 |
References
参考资料
- Feature Design - Seeds are surfaced during feature-design Phase 0
- Anti-Rationalization - Core rationalization prevention
- Feature Design - 种子会在Feature Design的第0阶段浮现
- Anti-Rationalization - 核心反合理化规范