From 5a3c7d745f4905ae3469de1b70341ad7612e2051 Mon Sep 17 00:00:00 2001 From: Zhongwei Li Date: Sat, 29 Nov 2025 17:57:14 +0800 Subject: [PATCH] Initial commit --- .claude-plugin/plugin.json | 15 +++++++ README.md | 3 ++ hooks/hooks.json | 44 +++++++++++++++++++ plugin.lock.json | 49 +++++++++++++++++++++ skills/task-breakdown/SKILL.md | 80 ++++++++++++++++++++++++++++++++++ 5 files changed, 191 insertions(+) create mode 100644 .claude-plugin/plugin.json create mode 100644 README.md create mode 100644 hooks/hooks.json create mode 100644 plugin.lock.json create mode 100644 skills/task-breakdown/SKILL.md diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..31976be --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,15 @@ +{ + "name": "claude-track", + "description": "Claude Track – visual task management interface with drag-and-drop prioritization for Claude Code workflows", + "version": "1.0.0", + "author": { + "name": "Your Name", + "email": "[email protected]" + }, + "skills": [ + "./skills/" + ], + "hooks": [ + "./hooks/hooks.json" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..1baee8a --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# claude-track + +Claude Track – visual task management interface with drag-and-drop prioritization for Claude Code workflows diff --git a/hooks/hooks.json b/hooks/hooks.json new file mode 100644 index 0000000..e36afef --- /dev/null +++ b/hooks/hooks.json @@ -0,0 +1,44 @@ +{ + "hooks": { + "SessionStart": [ + { + "hooks": [ + { + "type": "command", + "command": "cd ${CLAUDE_PLUGIN_ROOT}/server && npm install --silent 2>&1 && npm run build 2>&1", + "timeout": 60 + }, + { + "type": "command", + "command": "node ${CLAUDE_PLUGIN_ROOT}/server/dist/server.js > ${CLAUDE_PROJECT_DIR}/.claude/claude-track-server.log 2>&1 &" + }, + { + "type": "command", + "command": "sleep 3 && (command -v open && open http://localhost:3333 || command -v xdg-open && xdg-open http://localhost:3333 || echo 'Open http://localhost:3333')" + } + ] + } + ], + "PostToolUse": [ + { + "matcher": "Write|Edit|Bash", + "hooks": [ + { + "type": "command", + "command": "node ${CLAUDE_PLUGIN_ROOT}/server/dist/update-progress.js" + } + ] + } + ], + "SessionEnd": [ + { + "hooks": [ + { + "type": "command", + "command": "pkill -f 'node.*server.js.*3333' || lsof -ti:3333 | xargs kill -9 || true" + } + ] + } + ] + } +} diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..260efb6 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,49 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:antoncoding/claude-track:", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "25d60bbd5b70b8afbc3a44aace2abe6a188e790d", + "treeHash": "33e1691f6ed0d984c3366780579a7e246f5925554d0e49cdcd57f90f18f2cc26", + "generatedAt": "2025-11-28T10:13:55.808943Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "claude-track", + "description": "Claude Track – visual task management interface with drag-and-drop prioritization for Claude Code workflows", + "version": "1.0.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "4894c3c5e3458ef1efa985f36f22b3dfb9768ef2788eaab6f82ca05a33033554" + }, + { + "path": "hooks/hooks.json", + "sha256": "7db6a4c0abdf9546f70a7efdf3c67f1601ebdfc6bcbd056acff9a98aca52ce56" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "fbdecad6862d70ab5c07019414c9f76496bfb682475585a3c4c7b1889fa9fa0c" + }, + { + "path": "skills/task-breakdown/SKILL.md", + "sha256": "c3865262651dba4932cfa1c1b5a2cffd999fc7e2aa10a23b56783687739be139" + } + ], + "dirSha256": "33e1691f6ed0d984c3366780579a7e246f5925554d0e49cdcd57f90f18f2cc26" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file diff --git a/skills/task-breakdown/SKILL.md b/skills/task-breakdown/SKILL.md new file mode 100644 index 0000000..1fb7e1b --- /dev/null +++ b/skills/task-breakdown/SKILL.md @@ -0,0 +1,80 @@ +--- +name: task-breakdown +description: Break work into trackable tasks and maintain TODO.md. Use when starting features, bug fixes, or complex tasks. Always update TODO.md after completing work. +allowed-tools: Read, Write, Edit, Bash +--- + +# Task Breakdown Skill + +## Purpose +Ensures all work is broken into discrete, trackable tasks stored in TODO.md. + +## Instructions + +### 1. Starting New Work +When user requests any feature/fix: +1. Read existing `TODO.md` (if exists) +2. Break request into 3-10 concrete tasks +3. Write to `TODO.md` at project root +4. Each task needs unique @id (task-1, task-2, etc.) +5. Assign @priority by dependency order (lower = do first) + +### 2. TODO.md Format +```markdown +# Tasks for [Project Name] + +## Current Task +- [ ] What you're working on NOW @id:current @priority:0 + +## Upcoming Tasks +- [ ] Task description @id:task-1 @priority:1 +- [ ] Another task @id:task-2 @priority:2 +- [x] Completed task @id:task-3 @priority:3 + +## Metadata +- Total: 3 tasks +- Completed: 1 tasks +- Progress: 33% +``` + +### 3. After Each Tool Use +1. If task completed, mark [x] +2. Update "Current Task" section +3. Update metadata (Total/Completed/Progress) +4. MUST update after Write, Edit, or Bash + +### 4. Task Sizing +- Each task: 1-5 minutes +- Be specific: "Add auth" → "Create User model", "Add login route", "Add JWT middleware" +- If too large, break into subtasks + +### 5. Reading User Changes +Before each task: +1. Read TODO.md +2. Check if priorities changed (user may have reordered in UI) +3. Work on lowest @priority number + +### 6. File Location +- Always use: `${CLAUDE_PROJECT_DIR}/TODO.md` +- Create if doesn't exist + +## Example + +```markdown +# Tasks for User Auth Feature + +## Current Task +- [ ] Writing JWT middleware @id:current @priority:0 + +## Upcoming Tasks +- [ ] Create User model @id:task-1 @priority:1 +- [ ] Add bcrypt hashing @id:task-2 @priority:2 +- [x] Install packages @id:task-3 @priority:3 +- [ ] Create /login endpoint @id:task-4 @priority:4 +- [ ] Create /register endpoint @id:task-5 @priority:5 + +## Metadata +- Total: 6 tasks +- Completed: 1 tasks +- Progress: 17% +```