con un clic
plan
Write a markdown plan to .hermes/plans/; no execution.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Write a markdown plan to .hermes/plans/; no execution.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Query and edit a SiYuan knowledge base via its API.
Create, read, edit Excel .xlsx spreadsheets and CSVs.
Create, read, edit Excel .xlsx spreadsheets and CSVs.
Curate LLM training data: dedupe, filter, PII redaction.
Scrape sites with stealth browsing and Cloudflare bypass.
Clean training loops with built-in distributed support.
| name | plan |
| description | Write a markdown plan to .hermes/plans/; no execution. |
| version | 2.0.0 |
| author | Hermes Agent (writing-craft adapted from obra/superpowers) |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| metadata | {"hermes":{"tags":["planning","plan-mode","implementation","workflow","design","documentation"],"related_skills":["subagent-driven-development","test-driven-development","requesting-code-review"]}} |
当用户需要制定计划而非直接执行任务时,可使用此技能。
在本轮对话中,您仅负责制定计划。
.hermes/plans/ 目录中的 Markdown 计划文件。需编写一份具体且可操作的 Markdown 计划。如适用,请包含以下内容:
如果任务与代码相关,还需注明具体的文件路径、可能的测试目标以及验证步骤。
使用 write_file 函数将计划保存至以下路径:
.hermes/plans/YYYY-MM-DD_HHMMSS-<slug>.md该路径是相对于当前工作目录/后端工作空间而言的。Hermes 的文件工具具备后端感知能力,因此使用此相对路径可确保计划在本地、Docker、SSH、Modal 以及 Daytona 等各类后端环境中都与工作空间保持同步。
如果运行环境指定了特定目标路径,则直接使用该路径;
若未指定,则需在 .hermes/plans/ 目录下自行创建一个包含合理时间戳的文件名。
/plan 而无明确指令,可从当前对话上下文中推断任务内容。本技能的后续内容将介绍如何编写一份优质的实施计划——即上述 Markdown 文件中所包含的内容。
在编写实施计划时,应假设执行者对代码库一无所知且审美标准不高。需详细记录所有相关信息:需要修改的文件、完整代码、测试命令、需查阅的文档以及验证方法。同时要将任务拆分为小块,遵循 DRY、YAGNI、TDD 原则,并频繁提交代码。
假设执行者是技术娴熟的开发者,但对相关工具集或问题领域几乎不了解,且不擅长设计良好的测试用例。
核心原则: 一份好的计划能让实现过程一目了然。如果需要猜测,说明该计划还不够完善。
以下情况务必提前制定计划:
以下情况不可省略计划:
每个任务应对应 2-5 分钟的专注工作时间。
每一步都应是单一动作:
任务过大则不可行:
### Task 1: Build authentication system
[50 lines of code across 5 files]
合适规模:
### Task 1: Create User model with email field
[10 lines, 1 file]
### Task 2: Add password hash field to User
[8 lines, 1 file]
### Task 3: Create password hashing utility
[15 lines, 1 file]
每个计划都必须以以下内容开头:
# [Feature Name] Implementation Plan
> **For Hermes:** Use subagent-driven-development skill to implement this plan task-by-task.
**Goal:** [One sentence describing what this builds]
**Architecture:** [2-3 sentences about approach]
**Tech Stack:** [Key technologies/libraries]
---
每个任务均遵循以下格式:
### Task N: [Descriptive Name]
**Objective:** What this task accomplishes (one sentence)
**Files:**
- Create: `exact/path/to/new_file.py`
- Modify: `exact/path/to/existing.py:45-67` (line numbers if known)
- Test: `tests/path/to/test_file.py`
**Step 1: Write failing test**
```python
def test_specific_behavior():
result = function(input)
assert result == expected
```
**Step 2: Run test to verify failure**
Run: `pytest tests/path/test.py::test_specific_behavior -v`
Expected: FAIL — "function not defined"
**Step 3: Write minimal implementation**
```python
def function(input):
return expected
```
**Step 4: Run test to verify pass**
Run: `pytest tests/path/test.py::test_specific_behavior -v`
Expected: PASS
**Step 5: Commit**
```bash
git add tests/path/test.py src/path/file.py
git commit -m "feat: add specific feature"
```
仔细阅读并掌握以下内容:
利用 Hermes 工具来深入了解项目结构:
# Understand project structure
search_files("*.py", target="files", path="src/")
# Look at similar features
search_files("similar_pattern", path="src/", file_glob="*.py")
# Check existing tests
search_files("*.py", target="files", path="tests/")
# Read key files
read_file("src/app.py")
需要确定以下内容:
按顺序创建任务:
针对每一项任务,需包含以下内容:
src/config/settings.py 这样的具体路径)需检查以下要点:
错误做法: 在多个地方重复编写相同的验证逻辑
正确做法: 将验证功能提取为独立函数,然后在各处统一调用
错误做法: 为未来的需求预留“灵活性”接口
正确做法: 仅实现当前真正需要的功能
# Bad — YAGNI violation
class User:
def __init__(self, name, email):
self.name = name
self.email = email
self.preferences = {} # Not needed yet!
self.metadata = {} # Not needed yet!
# Good — YAGNI
class User:
def __init__(self, name, email):
self.name = name
self.email = email
凡是生成代码的任务都应遵循完整的 TDD 开发流程:
详情请参阅 test-driven-development 技能文档。
完成每个任务后都应进行代码提交:
git add [files]
git commit -m "type: description"
错误示例: “添加认证功能” 正确示例: “创建包含 email 和 password_hash 字段的 User 模型”
错误示例: “第一步:添加验证函数” 正确示例: “第一步:添加验证函数”,随后需附上完整的函数代码
错误示例: “第三步:测试功能是否正常”
正确示例: “第三步:运行 pytest tests/test_auth.py -v,预期结果为:3 个测试通过”
错误示例: “创建模型文件”
正确示例: “创建文件:src/models/user.py”
保存计划后,需明确说明执行方案:
“计划已完整保存。现在将采用子代理驱动开发模式进行执行——我会为每个任务分配一个全新的子代理,并进行两阶段审核(首先是规范合规性检查,其次是代码质量检查)。是否继续执行?”
在执行过程中,请使用 subagent-driven-development 技能:
delegate_task 对象Bite-sized tasks (2-5 min each)
Exact file paths
Complete code (copy-pasteable)
Exact commands with expected output
Verification steps
DRY, YAGNI, TDD
Frequent commits
一个完善的规划能让实施过程变得清晰明了。