todo-init
Original:🇺🇸 English
Translated
This skill should be used when the user asks to "set up agent todos", "initialize the todo store", "configure todos", "run todo init", "set up .agent-todos.local.json", or wants to set up or reconfigure the todo store for this project.
2installs
Added on
NPX Install
npx skill4agent add erich3000/ji-agent-skills todo-initTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →todo-init
Set up the agent todos configuration for this project. Creates in the project root and initializes the todo store directory.
.agent-todos.local.jsonThe default todo store is inside the project. Users with Obsidian can point to a vault path instead.
docs/agent-todos/todosRootWorkflow
Step 1: Check for Existing Config
Read in the project root, if it exists.
.agent-todos.local.jsonIf a config file is found, show the current settings and ask the user whether to reconfigure or abort.
Upgrade path — missing : If the existing config is kept (user chooses not to reconfigure) but is absent, ask: "Would you like to add a to your config? This value is included in the frontmatter of every new todo (e.g. )." If yes, ask for the value and write it to the config file.
projectNameprojectNameprojectNameprojects:[[my-project]]Upgrade path — missing CLAUDE.md section: If the existing config is kept but no section exists in , proceed to Step 6 to add it.
## Agent TodosCLAUDE.mdStep 2: Determine Todo Store Path
Ask the user where to store todos:
- Default — inside the project (works everywhere, no external tools needed)
docs/agent-todos/ - Custom path — any absolute path, e.g. a path inside an Obsidian vault
Use to let the user choose.
AskUserQuestionStep 2b: Determine Project Name (optional)
After the todo store path is set, ask the user whether they want to associate todos with a project name:
Would you like to add ato tag every new todo? This is included in theprojectNamefrontmatter field (e.g.projects:for Obsidian task-notes integration). Leave blank to skip.[[my-project]]
This field is optional. If the user provides a value, include it in the config.
Step 3: Write Config File
Create in the project root:
.agent-todos.local.jsonjson
{
"todosRoot": "<todos_root>"
}If the user provided a , include it:
projectNamejson
{
"todosRoot": "<todos_root>",
"projectName": "<project_name>"
}All paths should use for the home directory when applicable.
~Step 4: Create Todo Store Directory
Create the directory if it does not already exist:
todosRootbash
mkdir -p "<todos_root>"Step 5: Ask for Initial Categories
Ask the user which category subdirectories to create (multi-select). Suggest common ones:
- — Miscellaneous tasks
misc/ - — Data-related tasks
data/ - — Content creation and editing tasks
content/
Create the selected subdirectories inside .
todosRootStep 6: Add Agent Todos Section to CLAUDE.md
Check whether a file exists in the project root and whether it already contains an section:
CLAUDE.md## Agent Todosbash
grep -q "## Agent Todos" CLAUDE.md 2>/dev/null && echo "exists" || echo "missing"If the section is missing, append the following reference block to . Replace with the actual configured path:
CLAUDE.md<todosRoot>markdown
## Agent Todos
This project uses the **agent-todos** plugin to manage tasks as structured Markdown files.
**IMPORTANT:** Always read `.agent-todos.local.json` before any todo operation. It defines `todosRoot` — the actual directory where todo files are stored. Do not fall back to `docs/agent-todos/` when this file is present.
**Current todo store:** `<todosRoot>`
**Skills:**
- `/todo-creation [category] [title]` — create a new todo file
- `/todo-processing [category/number]` — pick up and work on a todo
- `/todo-gh-issue-import [category]` — import GitHub issues as todos
- `/todo-moving` — renumber or move todos between categoriesIf does not exist, create it with only this section.
CLAUDE.mdIf the section already exists, skip this step.
Notes
- is project-specific and should be added to
.agent-todos.local.jsonwhen.gitignorepoints outside the projecttodosRoot - If is inside the project (e.g.
todosRoot), it can be checked indocs/agent-todos - All todo skills (,
/todo-creation, etc.) read this config automatically/todo-processing - To use a different store later, re-run or edit
/todo-initdirectly.agent-todos.local.json - Without , all skills fall back to
.agent-todos.local.jsonin the project rootdocs/agent-todos/