@@ -117,6 +117,7 @@ Done:
117117- [x] Filesystem-backed custom agent discovery from ` ~/.claude/agents ` and ` ./.claude/agents `
118118- [x] Active agent override precedence across built-in, user, and project agent definitions
119119- [x] Custom agent resolution in the ` Agent ` tool with model, tool-filter, and initial-prompt support
120+ - [x] Local custom-agent file creation, update, and deletion flows for project/user agent definitions
120121
121122Missing:
122123
@@ -145,6 +146,9 @@ Done:
145146- [x] ` agent-context-raw ` command
146147- [x] ` token-budget ` command
147148- [x] ` agents ` command
149+ - [x] ` agents-create ` command
150+ - [x] ` agents-update ` command
151+ - [x] ` agents-delete ` command
148152- [x] Local background session mode
149153- [x] Local background session listing (` agent-ps ` )
150154- [x] Local background session logs (` agent-logs ` )
@@ -171,14 +175,14 @@ Missing:
171175- [ ] Self-hosted runner mode
172176- [ ] tmux fast paths
173177- [ ] Worktree fast paths at the CLI entrypoint level
174- - [ ] Node.js version check and platform setup from ` setup.ts `
178+ - [x] Python ( Node.js equivalent) version check and platform detection from ` setup.ts `
175179- [ ] Worktree creation/setup from ` setup.ts `
176180- [ ] Terminal backup/restore from ` setup.ts `
177- - [ ] Release notes checking from ` setup.ts `
181+ - [x ] Release notes checking from ` setup.ts ` (local CHANGELOG.md, no network/cache layer)
178182- [ ] Full ` entrypoints/cli.tsx ` parity (version flag, feature flags, env setup, dynamic imports)
179183- [ ] Full ` entrypoints/init.ts ` parity (settings validation, OAuth, policy limits, telemetry, cleanup handlers)
180- - [ ] SDK entrypoint (` entrypoints/sdk/ ` — controlTypes, coreTypes, runtimeTypes, settingsTypes, toolTypes)
181- - [ ] Sandbox types/network config schema (` entrypoints/sandboxTypes.ts ` )
184+ - [ ] SDK entrypoint (` entrypoints/sdk/ ` — controlTypes, coreTypes, runtimeTypes, settingsTypes, toolTypes) — partial: HOOK_EVENTS, EXIT_REASONS, ModelUsage, ThinkingConfig, MCP server configs, JsonSchemaOutputFormat ported in ` src/sdk_core_types.py `
185+ - [x ] Sandbox types/network config schema (` entrypoints/sandboxTypes.ts ` )
182186
183187## 3. Prompt Assembly
184188
@@ -317,56 +321,56 @@ Done (53 slash command names in 37 specs):
317321Missing npm slash commands (from ` src/commands/ ` — 80+ commands total):
318322
319323- [x] ` /add-dir ` — Add a new working directory
320- - [x] ` /agents ` — Inspect local agent configurations and show active definitions
324+ - [x] ` /agents ` — Inspect, create, update, and delete local agent definitions
321325- [x] ` /branch ` — Create a branch of the current conversation
322- - [ ] ` /bridge ` — Connect for remote-control sessions
323- - [ ] ` /btw ` — Quick side question without interrupting main conversation
324- - [ ] ` /chrome ` — Chrome extension settings
326+ - [x ] ` /bridge ` — Connect for remote-control sessions (read-only status in this runtime)
327+ - [x ] ` /btw ` — Quick side question without interrupting main conversation
328+ - [x ] ` /chrome ` — Chrome extension settings
325329- [x] ` /color ` — Set the prompt bar color for this session
326330- [x] ` /compact ` — Clear history but keep a summary in context
327331- [x] ` /copy ` — Copy Claude's last response to clipboard
328332- [x] ` /cost ` — Show total cost and duration of session
329- - [ ] ` /desktop ` — Continue session in Claude Desktop
333+ - [x ] ` /desktop ` — Continue session in Claude Desktop
330334- [x] ` /diff ` — View uncommitted changes and per-turn diffs
331335- [x] ` /doctor ` — Diagnose and verify installation and settings
332336- [x] ` /effort ` — Set effort level for model usage
333337- [x] ` /exit ` — Exit the REPL
334338- [x] ` /export ` — Export conversation to file or clipboard
335- - [ ] ` /extra-usage ` — Configure extra usage for rate limits
339+ - [x ] ` /extra-usage ` — Configure extra usage for rate limits
336340- [x] ` /fast ` — Toggle fast mode
337- - [ ] ` /feedback ` — Submit feedback
341+ - [x ] ` /feedback ` — Submit feedback (alias ` /bug ` )
338342- [x] ` /files ` — List all files currently in context
339- - [ ] ` /ide ` — Manage IDE integrations and show status
340- - [ ] ` /install-github-app ` — Set up GitHub Actions
341- - [ ] ` /install-slack-app ` — Install Slack app
342- - [ ] ` /keybindings ` — Open keybindings config file
343- - [ ] ` /mobile ` — QR code for mobile app
344- - [ ] ` /output-style ` — Change output style
345- - [ ] ` /passes ` — Passes management
346- - [ ] ` /plugin ` — Plugin management
343+ - [x ] ` /ide ` — Manage IDE integrations and show status
344+ - [x ] ` /install-github-app ` — Set up GitHub Actions
345+ - [x ] ` /install-slack-app ` — Install Slack app
346+ - [x ] ` /keybindings ` — Open keybindings config file
347+ - [x ] ` /mobile ` — Mobile app store links (aliases ` /ios ` , ` /android ` )
348+ - [x ] ` /output-style ` — Deprecation pointer to ` /config `
349+ - [x ] ` /passes ` — Passes management
350+ - [x ] ` /plugin ` — Plugin management (read-only listing)
347351- [x] ` /pr-comments ` , ` /pr_comments ` — Get comments from a GitHub PR (prompt-type)
348- - [ ] ` /privacy-settings ` — View/update privacy settings
349- - [ ] ` /rate-limit-options ` — Show options when rate limited
350- - [ ] ` /release-notes ` — View release notes
351- - [ ] ` /reload-plugins ` — Activate pending plugin changes
352- - [ ] ` /remote-env ` — Configure default remote environment
353- - [ ] ` /remote-setup ` — Remote setup configuration
352+ - [x ] ` /privacy-settings ` — View/update privacy settings
353+ - [x ] ` /rate-limit-options ` — Show options when rate limited
354+ - [x ] ` /release-notes ` — View release notes
355+ - [x ] ` /reload-plugins ` — Activate pending plugin changes
356+ - [x ] ` /remote-env ` — Configure default remote environment
357+ - [x ] ` /remote-setup ` — Remote setup configuration (gh auth status + Claude.ai/code link)
354358- [x] ` /rename ` — Rename current conversation
355359- [x] ` /resume ` , ` /continue ` — Resume a previous conversation
356360- [x] ` /rewind ` , ` /checkpoint ` — Restore code/conversation to a previous point
357- - [ ] ` /sandbox-toggle ` — Toggle sandbox mode
358- - [x] ` /skills ` — List available skills
361+ - [x ] ` /sandbox-toggle ` — Toggle sandbox mode (alias ` /sandbox ` )
362+ - [x] ` /skills ` — List available bundled skills (mirrors ` commands/skills/SkillsMenu.tsx ` ; lists ` bundled_skills.BUNDLED_SKILLS ` , not slash commands)
359363- [x] ` /stats ` — Usage statistics and activity
360- - [ ] ` /stickers ` — Order stickers
364+ - [x ] ` /stickers ` — Order stickers
361365- [x] ` /tag ` — Toggle a searchable tag on the session
362- - [ ] ` /theme ` — Change the theme
363- - [ ] ` /upgrade ` — Upgrade to Max
366+ - [x ] ` /theme ` — Change the theme
367+ - [x ] ` /upgrade ` — Upgrade to Max
364368- [x] ` /vim ` — Toggle Vim/Normal editing modes
365- - [ ] ` /voice ` — Toggle voice mode
369+ - [x ] ` /voice ` — Toggle voice mode
366370- [ ] Feature-gated: ` /buddy ` , ` /fork ` , ` /peers ` , ` /proactive ` , ` /torch ` , ` /workflows ` (full), etc.
367371- [ ] Internal: ` /backfill-sessions ` , ` /break-cache ` , ` /bughunter ` , ` /commit-push-pr ` , ` /init-verifiers ` , ` /mock-limits ` , ` /version ` , ` /ultraplan ` , ` /autofix-pr ` , etc.
368372- [x] ` /commit ` — Create a git commit (prompt-type with injected git context)
369- - [ ] Full ` /agents ` parity for create/edit/delete flows and multi-source management UI
373+ - [ ] Full ` /agents ` parity for interactive TUI/editor flows, plugin sources, and full multi-source management UX
370374
371375## 6. Built-in Tools
372376
@@ -702,21 +706,24 @@ Done:
702706- [x] Basic file operations in tool implementations
703707- [x] Basic git status snapshot
704708- [x] Basic shell/subprocess handling
709+ - [x] Bundled small portable utilities — ` utils/array.ts ` , ` utils/set.ts ` , ` utils/objectGroupBy.ts ` , ` utils/xml.ts ` , ` utils/uuid.ts ` ported in ` src/small_utils.py `
710+ - [x] Session-scoped env-var registry (` utils/sessionEnvVars.ts ` ) ported in ` src/session_env_vars.py ` , merged into spawned subprocess env via ` _build_subprocess_env ` (mirrors ` utils/shell/bashProvider.ts ` ), and dropped on ` /clear ` via ` clear_runtime_state ` (mirrors ` commands/clear/caches.ts ` )
711+ - [x] Display formatters from ` utils/format.ts ` (` formatFileSize ` , ` formatSecondsShort ` , ` formatDuration ` , ` formatNumber ` , ` formatTokens ` ) ported in ` src/format_utils.py `
705712
706713Missing major utility categories:
707714
708715- [ ] Shell utilities (` utils/bash/ ` , ` utils/shell/ ` , ` Shell.ts ` , ` ShellCommand.ts ` )
709- - [ ] Git operations (` utils/git.ts ` , ` utils/gitDiff.ts ` , ` utils/gitSettings.ts ` , ` utils/commitAttribution.ts ` )
716+ - [ ] Git operations (` utils/git.ts ` , ` utils/gitDiff.ts ` , ` utils/gitSettings.ts ` , ` utils/commitAttribution.ts ` ) — partial: ` findGitRoot ` , ` normalizeGitRemoteUrl ` , ` getRepoRemoteHash ` , and ` shouldIncludeGitInstructions ` ported in ` src/git_utils.py `
710717- [ ] File operations (` utils/file.ts ` , ` utils/fileRead.ts ` , ` utils/fileHistory.ts ` , ` utils/fileStateCache.ts ` , ` utils/fsOperations.ts ` , ` utils/ripgrep.ts ` , ` utils/glob.ts ` )
711- - [ ] AI/Model utilities (` utils/modelCost.ts ` , ` utils/model/ ` , ` utils/context.ts ` , ` utils/queryContext.ts ` )
718+ - [ ] AI/Model utilities (` utils/modelCost.ts ` , ` utils/model/ ` , ` utils/context.ts ` , ` utils/queryContext.ts ` ) — partial: modelCost ported in ` src/model_cost.py `
712719- [ ] Config/Settings (` utils/config.ts ` , ` utils/settings/ ` )
713720- [ ] Message handling (` utils/messages.ts ` , ` utils/messages/ ` , ` utils/messageQueueManager.ts ` )
714721- [ ] API/Network (` utils/api.ts ` , ` utils/http.ts ` , ` utils/proxy.ts ` , ` utils/auth.ts ` )
715722- [ ] Session management (` utils/sessionStorage.ts ` , ` utils/sessionState.ts ` , ` utils/sessionStart.ts ` , ` utils/sessionRestore.ts ` )
716723- [ ] Plugin/Skill utilities (` utils/plugins/ ` , ` utils/skills/ ` )
717724- [ ] Memory/Context (` utils/memory/ ` , ` utils/claudemd.ts ` , ` utils/contextAnalysis.ts ` )
718- - [ ] IDE integration (` utils/ide.ts ` , ` utils/jetbrains.ts ` )
719- - [ ] Platform/OS (` utils/platform.ts ` , ` utils/terminal.ts ` , ` utils/systemDirectories.ts ` )
725+ - [ ] IDE integration (` utils/ide.ts ` , ` utils/jetbrains.ts ` ) — partial: ` utils/idePathConversion.ts ` ported in ` src/ide_path_conversion.py ` ( ` WindowsToWSLConverter ` , ` checkWSLDistroMatch ` )
726+ - [ ] Platform/OS (` utils/platform.ts ` , ` utils/terminal.ts ` , ` utils/systemDirectories.ts ` ) — partial: platform detection ( ` getPlatform ` , ` getWslVersion ` , ` getLinuxDistroInfo ` , ` detectVcs ` ) and ` getSystemDirectories ` ported in ` src/platform_info.py `
720727- [ ] Debugging (` utils/debug.ts ` , ` utils/diagLogs.ts ` , ` utils/log.ts ` , ` utils/profilerBase.ts ` )
721728- [ ] Telemetry (` utils/telemetry/ ` )
722729- [ ] Deep link utilities (` utils/deepLink/ ` )
0 commit comments