一键导入
deepscientist-writing-plans
Write DeepScientist-aware implementation, experiment-roadmap, code-only, and formal-command plans with TDD and durable quest outputs.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Write DeepScientist-aware implementation, experiment-roadmap, code-only, and formal-command plans with TDD and durable quest outputs.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | deepscientist-writing-plans |
| description | Write DeepScientist-aware implementation, experiment-roadmap, code-only, and formal-command plans with TDD and durable quest outputs. |
| version | 1.1.0 |
| author | Hermes Agent (adapted from obra/superpowers) |
| license | MIT |
| metadata | {"hermes":{"tags":["planning","design","implementation","workflow","documentation"],"category":"software-development","related_skills":["subagent-driven-development","test-driven-development","requesting-code-review"]}} |
| skill_role | companion |
Codex adapter note: this support skill is bundled for DeepScientist Codex Native. Use
scripts/dsctl.py call <ds_tool_name> --json ... --format jsonfor DeepScientist state, load at most one support skill alongside the active stage, and keeptransport="codex-native-cli"/mcp=false. Do not use MCP transport or the externaldscommand. Runtime state lives under<project>/DeepScientist/.
Write comprehensive implementation plans assuming the implementer has zero context for the codebase and questionable taste. Document everything they need: which files to touch, complete code, testing commands, docs to check, how to verify. Give them bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.
Assume the implementer is a skilled developer but knows almost nothing about the toolset or problem domain. Assume they don't know good test design very well.
Core principle: A good plan makes implementation obvious. If someone has to guess, the plan is incomplete.
Always use before:
Don't skip when:
Each task = 2-5 minutes of focused work.
Every step is one action:
Too big:
### Task 1: Build authentication system
[50 lines of code across 5 files]
Right size:
### 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]
Every plan MUST start with:
# [Feature Name] Implementation Plan
> **For Codex:** implement this plan task-by-task with the available Codex editing, testing, and delegation workflow.
**Goal:** [One sentence describing what this builds]
**Architecture:** [2-3 sentences about approach]
**Tech Stack:** [Key technologies/libraries]
---
Each task follows this format:
### 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"
```
Read and understand:
Use Codex tools to understand the project:
# 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")
Decide:
Create tasks in order:
For each task, include:
src/config/settings.py)Check:
mkdir -p docs/plans
# Save plan to docs/plans/YYYY-MM-DD-feature-name.md
git add docs/plans/
git commit -m "docs: add implementation plan for [feature]"
When the plan is for a DeepScientist quest's experiment execution rather than a normal software feature (see references/deepscientist-experiment-roadmaps.md for the session-tested checklist):
ds_bash_exec only for formal evidence commands that need quest-local provenance. Use ds_artifact_record / ds_memory_write for durable outputs.idea/*foundational_report.md / index first, then active docs such as paper_main.md, experiment_protocol.md, implementation_spec.md, appendix/theory, related work, risk register, and download/resource manifest.experiments/EXPERIMENT_EXECUTION_PLAN.md, not only in chat.When the user asks to implement experiment code from an existing roadmap but explicitly says not to run experiments, use references/deepscientist-code-only-implementation-passes.md.
Key rules:
planned_not_executed manifests instead of launching Phase 0/1A/2 runs.py_compile, CLI help, pytest, lint, dry-run/fixture smoke), then record quest memory and a milestone that explicitly says no real experiment/model forward/training ran.When the user asks for a formal command document so they can run experiments step-by-step, write it as a quest-local file under the requested experiment directory (for example experiments/正式实验命令.md) instead of only answering in chat. See references/deepscientist-formal-experiment-command-handoffs.md for the session-tested checklist and pitfalls.
Key rules:
planned_not_executed stubs, state that prominently so the user does not mistake command-plan JSON for real model evidence.Bad: Copy-paste validation in 3 places Good: Extract validation function, use everywhere
Bad: Add "flexibility" for future requirements Good: Implement only what's needed now
# 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
Every task that produces code should include the full TDD cycle:
See test-driven-development skill for details.
Commit after every task:
git add [files]
git commit -m "type: description"
Bad: "Add authentication" Good: "Create User model with email and password_hash fields"
Bad: "Step 1: Add validation function" Good: "Step 1: Add validation function" followed by the complete function code
Bad: "Step 3: Test it works"
Good: "Step 3: Run pytest tests/test_auth.py -v, expected: 3 passed"
Bad: "Create the model file"
Good: "Create: src/models/user.py"
After saving the plan, offer the execution approach:
"Plan complete and saved. Ready to execute using subagent-driven-development — I'll dispatch a fresh subagent per task with two-stage review (spec compliance then code quality). Shall I proceed?"
When executing, use the subagent-driven-development skill:
delegate_task per task with full contextBite-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
A good plan makes implementation obvious.
Use DeepScientist from Codex CLI through the native dsctl adapter for research semantics/provenance: quests, memory, artifacts, experiments, strict literature workflow, paper/resource operations, and formal ds_bash_exec evidence. Routine file/search/edit, shell, Git, tests/builds, and process work remains Codex-native. This adapter is not MCP and does not call external ds.
Use when a quest needs one or more follow-up runs such as ablations, robustness checks, error analysis, or failure analysis after a main experiment.
Use when a quest needs to attach, import, reproduce, repair, verify, compare, or publish a baseline and its metrics.
Use when the quest needs an explicit go, stop, branch, reuse-baseline, write, finalize, reset, or user-decision transition with reasons and evidence.
Use when a quest is ready for a concrete implementation pass or a main experiment run tied to a selected idea and an accepted baseline.
Use when the quest is ready to consolidate final claims, limitations, recommendations, summary state, and graph exports before stopping or archiving.