ワンクリックで
gpd-add-todo
Capture idea or task as todo from current research conversation context
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Capture idea or task as todo from current research conversation context
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Add research phase to end of current milestone in roadmap
Prepare a paper for arXiv submission with validation and packaging
Audit research milestone completion against original research goals
Create a hypothesis branch for parallel investigation of an alternative approach
List pending research todos and select one to work on
Archive historical entries from STATE.md to keep it under the 150-line target
| name | gpd-add-todo |
| description | Capture idea or task as todo from current research conversation context |
| argument-hint | [optional description] |
| context_mode | projectless |
| allowed-tools | ["read_file","write_file","shell","ask_user"] |
<codex_runtime_notes> Codex shell compatibility:
gpd on PATH.GPD_ACTIVE_RUNTIME=codex uv run gpd ....
</codex_runtime_notes>Routes to the add-todo workflow which handles:
Typical physics research todos include:
<execution_context> @.gpd/STATE.md
Capture an idea, task, or issue that surfaces during a GPD session as a structured todo for later work. Enables "thought -> capture -> continue" flow without losing context. Typical physics research todos include: a subtlety to check, a reference to look up, an alternative approach to explore, a numerical test to run, or a derivation step to verify.<required_reading> Read all files referenced by the invoking prompt's execution_context before starting. </required_reading>
Load todo context:INIT=$(/Users/charlie/.gpd/venv/bin/python -m gpd.runtime_cli --runtime codex --config-dir ./.codex --install-scope local init todos)
if [ $? -ne 0 ]; then
echo "ERROR: gpd initialization failed: $INIT"
# STOP — display the error to the user and do not proceed.
fi
Extract from init JSON: commit_docs, date, timestamp, todo_count, todos, pending_dir, todos_dir_exists, project_exists.
Note: add-todo works even without a project (creates .gpd/todos/ standalone). No project_exists gate needed — todos can be created independently.
Ensure directories exist:
mkdir -p .gpd/todos/pending .gpd/todos/done
Note existing areas from the todos array for consistency in infer_area step.
**With arguments:** Use as the title/focus. - `$gpd-add-todo Check unitarity of S-matrix at two loops` -> title = "Check unitarity of S-matrix at two loops"Without arguments: Analyze recent conversation to extract:
Formulate:
title: 3-10 word descriptive title (action verb preferred)problem: What's wrong or why this is neededsolution: Approach hints or "TBD" if just an ideafiles: Relevant paths with line numbers from conversation
| Path pattern / content | Area |
|---|---|
derivations/*, analytical/* | analytical |
numerics/*, simulations/*, src/* | numerical |
references/*, bibliography/* | literature |
data/*, results/*, plots/* | data-analysis |
tests/*, validation/* | validation |
notebooks/* | notebooks |
.gpd/* | planning |
scripts/*, tools/* | tooling |
| Equation/formalism discussion | formalism |
| Symmetry/consistency checks | consistency |
| No files or unclear | general |
Use existing area from step 2 if similar match exists.
```bash # Search for key words from title in existing todos grep -l -i "[key words from title]" .gpd/todos/pending/*.md 2>/dev/null ```If potential duplicate found:
Platform note: If
ask_useris not available, present these options in plain text and wait for the user's freeform response.
If overlapping, use ask_user:
Generate slug for the title:
slug=$(/Users/charlie/.gpd/venv/bin/python -m gpd.runtime_cli --runtime codex --config-dir ./.codex --install-scope local --raw slug "$title")
todo_file=".gpd/todos/pending/${date}-${slug}.md"
Write to ${todo_file}:
---
created: [timestamp]
title: [title]
area: [area]
files:
- [file:lines]
---
## Problem
[problem description - enough context for a future AI session to understand weeks later]
## Solution
[approach hints or "TBD"]
If `.gpd/STATE.md` exists:
todo_count from init context (or re-run init todos if count changed)PRE_CHECK=$(/Users/charlie/.gpd/venv/bin/python -m gpd.runtime_cli --runtime codex --config-dir ./.codex --install-scope local pre-commit-check --files "${todo_file}" .gpd/STATE.md 2>&1) || true
echo "$PRE_CHECK"
/Users/charlie/.gpd/venv/bin/python -m gpd.runtime_cli --runtime codex --config-dir ./.codex --install-scope local commit "docs: capture todo - ${title}" --files "${todo_file}" .gpd/STATE.md
Tool respects commit_docs config and gitignore automatically.
Confirm: "Committed: docs: capture todo - ${title}"
``` Todo saved: ${todo_file}[title] Area: [area] Files: [count] referenced
Would you like to:
</step>
</process>
<success_criteria>
- [ ] Directory structure exists
- [ ] Todo file created with valid frontmatter
- [ ] Problem section has enough context for a future AI session
- [ ] No duplicates (checked and resolved)
- [ ] Area consistent with existing todos
- [ ] STATE.md updated if exists
- [ ] Todo and state committed to git
</success_criteria>
<!-- [end included] -->
</execution_context>
<process>
**Follow the add-todo workflow** from `@./.codex/get-physics-done/workflows/add-todo.md`.
The workflow handles all logic including:
1. Directory ensuring
2. Existing area checking
3. Content extraction (arguments or conversation)
4. Area inference
5. Duplicate checking
6. File creation with slug generation
7. STATE.md updates
8. Git commits
</process>