Skip to content

Commit f62d1fd

Browse files
sjnimsclaude
andauthored
docs: replace deprecated TodoWrite with Task tools (#190)
## Description Replace all references to the deprecated `TodoWrite` tool with the new Task tools (`TaskCreate`, `TaskUpdate`, `TaskList`) that were introduced in Claude Code. This update ensures the plugin-dev documentation and commands use the current Claude Code API. ## Type of Change - [x] Documentation update (improvements to README, CLAUDE.md, or component docs) ## Component(s) Affected - [x] Commands (`/plugin-dev:*`) - [x] Documentation (README.md, CLAUDE.md, SECURITY.md) ## Motivation and Context Claude Code replaced the `TodoWrite` tool with a new suite of Task tools (`TaskCreate`, `TaskUpdate`, `TaskList`, `TaskGet`). This was announced by Boris Cherny (Claude Code creator) and documented in GitHub issues #5332 and #6891. The old `TodoWrite` tool is no longer available in current Claude Code versions. References: - Boris Cherny: "We're turning Todos into Tasks in Claude Code" - GitHub issue #5332: TodoWrite tool unavailable - Official docs now list TaskCreate, TaskUpdate, TaskList, TaskGet ## How Has This Been Tested? **Test Configuration**: - Claude Code version: Current - OS: macOS **Test Steps**: 1. Searched for all `TodoWrite` references with `rg -n "TodoWrite"` 2. Verified all occurrences were updated 3. Ran `markdownlint` on all modified files - passed 4. Verified conceptual "todo list" references were also updated to "task list" ## Checklist ### General - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings or errors ### Documentation - [x] I have updated the documentation accordingly (README.md, CLAUDE.md, or component docs) - [x] I have updated YAML frontmatter (if applicable) - [x] I have verified all links work correctly ### Markdown - [x] I have run `markdownlint` and fixed all issues - [x] My markdown follows the repository style (ATX headers, dash lists, fenced code blocks) ### Testing - [x] I have tested the plugin locally with `claude --plugin-dir plugins/plugin-dev` ## Files Changed | File | Change | |------|--------| | `commands/start.md` | `TodoWrite` → `TaskCreate, TaskUpdate, TaskList` in allowed-tools | | `commands/create-plugin.md` | Updated allowed-tools + 4 conceptual references | | `commands/create-marketplace.md` | Updated allowed-tools + 3 conceptual references | | `docs/workflow-security.md` | Updated tool list in design contrast section | | `SECURITY.md` | Updated last updated date to January 2026 | | `.github/pull_request_template.md` | Fixed reference to non-existent "Quick Reference section" | ## Additional Notes The only remaining "todo" references in the codebase are: - "TODO comment in README" (code comment placeholder, not tool-related) - "todo app" examples (application name, not tool-related) - CI checks for TODO comments in code These are unrelated to the TodoWrite tool and should remain unchanged. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 0724338 commit f62d1fd

7 files changed

Lines changed: 90 additions & 90 deletions

File tree

.github/LABELS.md

Lines changed: 73 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -15,40 +15,40 @@ This document describes the label system for plugin-dev.
1515

1616
Standard GitHub labels for issue/PR classification:
1717

18-
| Label | Color | Description |
19-
| --------------- | -------------------------------------------------------- | -------------------------------------- |
20-
| `bug` | ![#d73a4a](https://placehold.co/15x15/d73a4a/d73a4a.png) | Something isn't working |
21-
| `documentation` | ![#0075ca](https://placehold.co/15x15/0075ca/0075ca.png) | Improvements or additions |
22-
| `duplicate` | ![#cfd3d7](https://placehold.co/15x15/cfd3d7/cfd3d7.png) | Already exists |
23-
| `enhancement` | ![#a2eeef](https://placehold.co/15x15/a2eeef/a2eeef.png) | New feature or request |
24-
| `invalid` | ![#e4e669](https://placehold.co/15x15/e4e669/e4e669.png) | Doesn't seem right |
25-
| `question` | ![#d876e3](https://placehold.co/15x15/d876e3/d876e3.png) | Further information requested |
18+
| Label | Color | Description |
19+
| --------------- | -------------------------------------------------------- | ------------------------------------------ |
20+
| `bug` | ![#d73a4a](https://placehold.co/15x15/d73a4a/d73a4a.png) | Something isn't working |
21+
| `documentation` | ![#0075ca](https://placehold.co/15x15/0075ca/0075ca.png) | Improvements or additions |
22+
| `duplicate` | ![#cfd3d7](https://placehold.co/15x15/cfd3d7/cfd3d7.png) | Already exists |
23+
| `enhancement` | ![#a2eeef](https://placehold.co/15x15/a2eeef/a2eeef.png) | New feature or request |
24+
| `invalid` | ![#e4e669](https://placehold.co/15x15/e4e669/e4e669.png) | Doesn't seem right |
25+
| `question` | ![#d876e3](https://placehold.co/15x15/d876e3/d876e3.png) | Further information requested |
2626
| `refactor` | ![#fef65b](https://placehold.co/15x15/fef65b/fef65b.png) | Code restructuring without behavior change |
27-
| `chore` | ![#c5def5](https://placehold.co/15x15/c5def5/c5def5.png) | Maintenance tasks |
28-
| `wontfix` | ![#ffffff](https://placehold.co/15x15/ffffff/ffffff.png) | Will not be worked on |
27+
| `chore` | ![#c5def5](https://placehold.co/15x15/c5def5/c5def5.png) | Maintenance tasks |
28+
| `wontfix` | ![#ffffff](https://placehold.co/15x15/ffffff/ffffff.png) | Will not be worked on |
2929

3030
### Component Labels
3131

3232
Identify which part of the codebase (cool blue/purple tones):
3333

34-
| Label | Color | Description |
35-
| ----------------------- | -------------------------------------------------------- | ------------------------ |
36-
| `component:agent` | ![#0052cc](https://placehold.co/15x15/0052cc/0052cc.png) | Agents layer |
37-
| `component:command` | ![#5319e7](https://placehold.co/15x15/5319e7/5319e7.png) | Commands layer |
38-
| `component:docs` | ![#d4c5f9](https://placehold.co/15x15/d4c5f9/d4c5f9.png) | Documentation files |
39-
| `component:hook` | ![#006b75](https://placehold.co/15x15/006b75/006b75.png) | Hooks layer |
40-
| `component:skill` | ![#1d76db](https://placehold.co/15x15/1d76db/1d76db.png) | Skills layer |
41-
| `component:marketplace` | ![#0366d6](https://placehold.co/15x15/0366d6/0366d6.png) | Marketplace manifest |
42-
| `component:mcp` | ![#032f62](https://placehold.co/15x15/032f62/032f62.png) | MCP integration |
34+
| Label | Color | Description |
35+
| ----------------------- | -------------------------------------------------------- | -------------------- |
36+
| `component:agent` | ![#0052cc](https://placehold.co/15x15/0052cc/0052cc.png) | Agents layer |
37+
| `component:command` | ![#5319e7](https://placehold.co/15x15/5319e7/5319e7.png) | Commands layer |
38+
| `component:docs` | ![#d4c5f9](https://placehold.co/15x15/d4c5f9/d4c5f9.png) | Documentation files |
39+
| `component:hook` | ![#006b75](https://placehold.co/15x15/006b75/006b75.png) | Hooks layer |
40+
| `component:skill` | ![#1d76db](https://placehold.co/15x15/1d76db/1d76db.png) | Skills layer |
41+
| `component:marketplace` | ![#0366d6](https://placehold.co/15x15/0366d6/0366d6.png) | Marketplace manifest |
42+
| `component:mcp` | ![#032f62](https://placehold.co/15x15/032f62/032f62.png) | MCP integration |
4343

4444
### Scope Labels
4545

4646
Labels for plugin development concerns (warm coral/pink family):
4747

48-
| Label | Color | Description |
49-
| ------------------ | -------------------------------------------------------- | -------------------------------- |
48+
| Label | Color | Description |
49+
| ------------------ | -------------------------------------------------------- | --------------------------------- |
5050
| `scope:triggering` | ![#e91e63](https://placehold.co/15x15/e91e63/e91e63.png) | Trigger phrase/description issues |
51-
| `scope:validation` | ![#f44336](https://placehold.co/15x15/f44336/f44336.png) | Plugin validation concerns |
51+
| `scope:validation` | ![#f44336](https://placehold.co/15x15/f44336/f44336.png) | Plugin validation concerns |
5252

5353
### Priority Labels
5454

@@ -87,12 +87,12 @@ Time estimates:
8787

8888
### Community Labels
8989

90-
| Label | Color | Description |
91-
| ------------------ | -------------------------------------------------------- | -------------------- |
92-
| `good first issue` | ![#7057ff](https://placehold.co/15x15/7057ff/7057ff.png) | Good for newcomers |
93-
| `help wanted` | ![#008672](https://placehold.co/15x15/008672/008672.png) | Extra attention needed |
90+
| Label | Color | Description |
91+
| ------------------ | -------------------------------------------------------- | -------------------------- |
92+
| `good first issue` | ![#7057ff](https://placehold.co/15x15/7057ff/7057ff.png) | Good for newcomers |
93+
| `help wanted` | ![#008672](https://placehold.co/15x15/008672/008672.png) | Extra attention needed |
9494
| `idea` | ![#f9a825](https://placehold.co/15x15/f9a825/f9a825.png) | Feature idea or suggestion |
95-
| `showcase` | ![#6f42c1](https://placehold.co/15x15/6f42c1/6f42c1.png) | Community showcase |
95+
| `showcase` | ![#6f42c1](https://placehold.co/15x15/6f42c1/6f42c1.png) | Community showcase |
9696

9797
### Dependency Labels
9898

@@ -105,28 +105,28 @@ Time estimates:
105105

106106
Type of change:
107107

108-
| Label | Color | Description |
109-
| -------------- | -------------------------------------------------------- | -------------------------------- |
110-
| `breaking` | ![#bd2130](https://placehold.co/15x15/bd2130/bd2130.png) | Breaking change (major version) |
111-
| `automation` | ![#28a745](https://placehold.co/15x15/28a745/28a745.png) | CI/CD and workflow improvements |
112-
| `optimization` | ![#2188ff](https://placehold.co/15x15/2188ff/2188ff.png) | Performance improvements |
108+
| Label | Color | Description |
109+
| -------------- | -------------------------------------------------------- | ------------------------------- |
110+
| `breaking` | ![#bd2130](https://placehold.co/15x15/bd2130/bd2130.png) | Breaking change (major version) |
111+
| `automation` | ![#28a745](https://placehold.co/15x15/28a745/28a745.png) | CI/CD and workflow improvements |
112+
| `optimization` | ![#2188ff](https://placehold.co/15x15/2188ff/2188ff.png) | Performance improvements |
113113

114114
### Workflow Labels
115115

116-
| Label | Color | Description |
117-
| ---------- | -------------------------------------------------------- | ---------------------- |
118-
| `triage` | ![#ededed](https://placehold.co/15x15/ededed/ededed.png) | Needs initial review |
119-
| `stale` | ![#ededed](https://placehold.co/15x15/ededed/ededed.png) | No recent activity |
120-
| `pinned` | ![#fef2c0](https://placehold.co/15x15/fef2c0/fef2c0.png) | Never mark as stale |
121-
| `roadmap` | ![#0e8a16](https://placehold.co/15x15/0e8a16/0e8a16.png) | Long-term roadmap item |
116+
| Label | Color | Description |
117+
| --------- | -------------------------------------------------------- | ---------------------- |
118+
| `triage` | ![#ededed](https://placehold.co/15x15/ededed/ededed.png) | Needs initial review |
119+
| `stale` | ![#ededed](https://placehold.co/15x15/ededed/ededed.png) | No recent activity |
120+
| `pinned` | ![#fef2c0](https://placehold.co/15x15/fef2c0/fef2c0.png) | Never mark as stale |
121+
| `roadmap` | ![#0e8a16](https://placehold.co/15x15/0e8a16/0e8a16.png) | Long-term roadmap item |
122122

123123
### Special Labels
124124

125-
| Label | Color | Description |
126-
| ------------ | -------------------------------------------------------- | --------------------------- |
127-
| `experiment` | ![#ff6ec7](https://placehold.co/15x15/ff6ec7/ff6ec7.png) | Experimental/testing |
128-
| `security` | ![#ee0701](https://placehold.co/15x15/ee0701/ee0701.png) | Security-related |
129-
| `reverted` | ![#666666](https://placehold.co/15x15/666666/666666.png) | Merged but later reverted |
125+
| Label | Color | Description |
126+
| ------------ | -------------------------------------------------------- | ------------------------- |
127+
| `experiment` | ![#ff6ec7](https://placehold.co/15x15/ff6ec7/ff6ec7.png) | Experimental/testing |
128+
| `security` | ![#ee0701](https://placehold.co/15x15/ee0701/ee0701.png) | Security-related |
129+
| `reverted` | ![#666666](https://placehold.co/15x15/666666/666666.png) | Merged but later reverted |
130130

131131
## Label Application Guidelines
132132

@@ -152,17 +152,17 @@ Apply when relevant:
152152

153153
Common label combinations for plugin-dev:
154154

155-
| Scenario | Labels |
156-
| --------------------------- | ----------------------------------------------------- |
157-
| Skill not triggering | `bug`, `component:skill`, `scope:triggering` |
158-
| New agent feature | `enhancement`, `component:agent`, `priority:*` |
159-
| Marketplace manifest issue | `bug`, `component:marketplace`, `priority:*` |
160-
| Validation script fix | `bug`, `component:docs`, `automation` |
161-
| MCP integration enhancement | `enhancement`, `component:mcp`, `effort:*` |
162-
| Hook development docs | `documentation`, `component:hook`, `effort:small` |
163-
| Command triggering bug | `bug`, `component:command`, `scope:triggering` |
164-
| Plugin architecture design | `enhancement`, `status:needs-design`, `roadmap` |
165-
| Dependabot PR | `chore`, `dependencies`, `effort:small` |
155+
| Scenario | Labels |
156+
| --------------------------- | ------------------------------------------------- |
157+
| Skill not triggering | `bug`, `component:skill`, `scope:triggering` |
158+
| New agent feature | `enhancement`, `component:agent`, `priority:*` |
159+
| Marketplace manifest issue | `bug`, `component:marketplace`, `priority:*` |
160+
| Validation script fix | `bug`, `component:docs`, `automation` |
161+
| MCP integration enhancement | `enhancement`, `component:mcp`, `effort:*` |
162+
| Hook development docs | `documentation`, `component:hook`, `effort:small` |
163+
| Command triggering bug | `bug`, `component:command`, `scope:triggering` |
164+
| Plugin architecture design | `enhancement`, `status:needs-design`, `roadmap` |
165+
| Dependabot PR | `chore`, `dependencies`, `effort:small` |
166166

167167
## Automatic Label Application
168168

@@ -178,15 +178,15 @@ The `semantic-labeler.yml` workflow:
178178

179179
### Labels Applied Automatically
180180

181-
| Category | Labels | Required |
182-
| --------- | ----------------------------------------------------------- | ------------- |
183-
| Type | bug, enhancement, documentation, question, refactor, chore | Yes (one) |
184-
| Component | component:\*, github-actions, dependencies | If applicable |
185-
| Scope | scope:triggering, scope:validation | If applicable |
186-
| Priority | priority:critical/high/medium/low | Yes (one) |
187-
| Effort | effort:small/medium/large | Yes (one) |
188-
| Impact | breaking, security | If applicable |
189-
| Community | good first issue, help wanted | If applicable |
181+
| Category | Labels | Required |
182+
| --------- | ---------------------------------------------------------- | ------------- |
183+
| Type | bug, enhancement, documentation, question, refactor, chore | Yes (one) |
184+
| Component | component:\*, github-actions, dependencies | If applicable |
185+
| Scope | scope:triggering, scope:validation | If applicable |
186+
| Priority | priority:critical/high/medium/low | Yes (one) |
187+
| Effort | effort:small/medium/large | Yes (one) |
188+
| Impact | breaking, security | If applicable |
189+
| Community | good first issue, help wanted | If applicable |
190190

191191
### Skipped Cases
192192

@@ -235,16 +235,16 @@ Deleting labels requires manual action - the automated workflow only creates and
235235

236236
## Color Scheme Rationale
237237

238-
| Category | Color Family | Rationale |
239-
| ---------- | ---------------------- | -------------------------------------------- |
240-
| Type | GitHub defaults | Familiar to all GitHub users |
241-
| Component | Cool blues/purples | Technical, structural feel |
242-
| Scope | Warm coral/pink | Distinct from components, user-facing issues |
243-
| Priority | Heat map (red → green) | Intuitive urgency indication |
244-
| Status | Soft pastels | Non-distracting state indicators |
245-
| Effort | Green → red gradient | Easy (green) to hard (red) |
246-
| Category | Semantic colors | Breaking=red, automation=green |
247-
| Workflow | Neutral greys | Background process labels |
238+
| Category | Color Family | Rationale |
239+
| --------- | ---------------------- | -------------------------------------------- |
240+
| Type | GitHub defaults | Familiar to all GitHub users |
241+
| Component | Cool blues/purples | Technical, structural feel |
242+
| Scope | Warm coral/pink | Distinct from components, user-facing issues |
243+
| Priority | Heat map (red → green) | Intuitive urgency indication |
244+
| Status | Soft pastels | Non-distracting state indicators |
245+
| Effort | Green → red gradient | Easy (green) to hard (red) |
246+
| Category | Semantic colors | Breaking=red, automation=green |
247+
| Workflow | Neutral greys | Background process labels |
248248

249249
## Label Naming Conventions
250250

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ Fixes #
9797

9898
- [ ] I have updated `plugins/plugin-dev/.claude-plugin/plugin.json` (source of truth)
9999
- [ ] I have updated `.claude-plugin/marketplace.json` (metadata.version AND plugins[0].version)
100-
- [ ] I have updated `CLAUDE.md` (Quick Reference section)
100+
- [ ] I have updated `CLAUDE.md` (version line)
101101
- [ ] I have updated CHANGELOG.md with relevant changes
102102

103103
## Component-Specific Checks

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,4 +157,4 @@ _No security issues have been reported yet._
157157

158158
---
159159

160-
**Note:** _This security policy was last updated: December 13, 2025_
160+
**Note:** _This security policy was last updated: January 24, 2026_

docs/workflow-security.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ allowed-tools: Read, Write, Edit, Grep, Glob, Bash(mkdir:*), Bash(git init:*), .
2626

2727
## Design Contrast with `/plugin-dev:start`
2828

29-
The entry point command uses `disable-model-invocation: true` and restricts tools to `AskUserQuestion, Skill, TodoWrite` since it only routes to other commands. The workflow commands need broader access because they perform the actual file creation work.
29+
The entry point command uses `disable-model-invocation: true` and restricts tools to `AskUserQuestion, Skill, TaskCreate, TaskGet, TaskUpdate, TaskList` since it only routes to other commands. The workflow commands need broader access because they perform the actual file creation work.
3030

3131
## For Security-Sensitive Environments
3232

plugins/plugin-dev/commands/create-marketplace.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
description: Create plugin marketplaces with guided workflow
33
argument-hint: [marketplace-description]
4-
allowed-tools: Read, Write, Edit, Grep, Glob, Bash(mkdir:*), Bash(git init:*), TodoWrite, AskUserQuestion, Skill, Task
4+
allowed-tools: Read, Write, Edit, Grep, Glob, Bash(mkdir:*), Bash(git init:*), TaskCreate, TaskGet, TaskUpdate, TaskList, AskUserQuestion, Skill, Task
55
model: sonnet
66
---
77

@@ -15,11 +15,11 @@ Guide the user through creating a complete plugin marketplace from initial conce
1515
- **Load marketplace-structure skill**: Use the Skill tool to load the marketplace-structure skill for schema and pattern guidance
1616
- **Use plugin-validator agent**: Leverage the plugin-validator agent for comprehensive marketplace validation
1717
- **Follow best practices**: Apply patterns from this repository's own marketplace.json
18-
- **Use TodoWrite**: Track all progress throughout all phases
18+
- **Use Task tools**: Track all progress throughout all phases using TaskCreate, TaskUpdate, and TaskList
1919

2020
**Initial request:** $ARGUMENTS
2121

22-
**Security note:** This workflow has broad file system access to create marketplace structures. It can write files and create directories within your permission scope. Review the target directory before starting, and see [docs/workflow-security.md](../../docs/workflow-security.md) for details.
22+
**Security note:** This workflow has broad file system access to create marketplace structures. It can write files and create directories within your permission scope. Review the target directory before starting, and see [docs/workflow-security.md](../../../docs/workflow-security.md) for details.
2323

2424
---
2525

@@ -29,7 +29,7 @@ Guide the user through creating a complete plugin marketplace from initial conce
2929

3030
**Actions**:
3131

32-
1. Create todo list with all 8 phases
32+
1. Create task list with all 8 phases
3333
2. If marketplace purpose is clear from arguments:
3434
- Summarize understanding
3535
- Identify marketplace type (team internal, community, single-plugin, multi-plugin)
@@ -336,7 +336,7 @@ git commit -m "feat: initial marketplace structure"
336336
- [ ] External plugins accessible (if public)
337337

338338
3. **Create summary**:
339-
- Mark all todos complete
339+
- Mark all tasks complete
340340
- List what was created:
341341
- Marketplace name and purpose
342342
- Number of plugins configured
@@ -360,7 +360,7 @@ git commit -m "feat: initial marketplace structure"
360360

361361
### Throughout All Phases
362362

363-
- **Use TodoWrite** to track progress at every phase
363+
- **Use Task tools** to track progress at every phase (TaskCreate, TaskUpdate, TaskList)
364364
- **Load marketplace-structure skill** for schema reference
365365
- **Use plugin-validator agent** for validation
366366
- **Ask for user confirmation** at key decision points

0 commit comments

Comments
 (0)