team-toon-tack 2.1.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "ttt-marketplace",
3
+ "owner": {
4
+ "name": "wayne930242",
5
+ "email": "wayne930242@gmail.com"
6
+ },
7
+ "metadata": {
8
+ "description": "Linear task management tools for Claude Code - efficient workflow without MCP overhead",
9
+ "version": "1.0.0"
10
+ },
11
+ "plugins": [
12
+ {
13
+ "name": "team-toon-tack",
14
+ "source": "./",
15
+ "description": "Linear task sync & management CLI with commands and skills",
16
+ "version": "2.3.2"
17
+ }
18
+ ]
19
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "team-toon-tack",
3
+ "description": "Linear task sync & management CLI for Claude Code - saves tokens vs MCP",
4
+ "version": "2.3.2",
5
+ "author": {
6
+ "name": "wayne930242",
7
+ "email": "wayne930242@gmail.com"
8
+ },
9
+ "repository": "https://github.com/wayne930242/team-toon-tack",
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "claude-code",
13
+ "linear",
14
+ "task-management",
15
+ "workflow",
16
+ "productivity"
17
+ ]
18
+ }
package/README.md CHANGED
@@ -14,7 +14,7 @@ Optimized Linear workflow for Claude Code — saves significant tokens compared
14
14
  - **QA Team Support** — Auto-update parent issues in QA team to "Testing" when completing dev tasks
15
15
  - **Attachment Download** — Auto-download Linear images and files to local `.ttt/output/` for AI vision analysis
16
16
  - **Blocked Status** — Set tasks as blocked when waiting on external dependencies
17
- - **Auto Command Setup** — `ttt init` can install Claude Code commands with custom prefix
17
+ - **Claude Code Plugin** — Install plugin for `/ttt:*` commands and auto-activated skills
18
18
  - **Cycle History** — Local `.toon` files preserve cycle data for AI context
19
19
  - **User Filtering** — Only see issues assigned to you or unassigned
20
20
 
@@ -36,7 +36,6 @@ During init, you'll configure:
36
36
  - **QA team(s)**: For cross-team parent issue updates, each with its own testing status (optional)
37
37
  - **Completion mode**: How task completion is handled (see below)
38
38
  - **Status source**: `remote` (update Linear immediately) or `local` (work offline, sync with `ttt sync --update`)
39
- - **Claude Code commands**: Auto-install with optional prefix (e.g., `/ttt:work-on`)
40
39
 
41
40
  ### Completion Modes
42
41
 
@@ -47,17 +46,30 @@ During init, you'll configure:
47
46
  | `upstream_strict` | Mark task as Done + parent to Testing. Falls back to dev testing if no parent. Default when QA team configured. |
48
47
  | `upstream_not_strict` | Mark task as Done + parent to Testing. No fallback if no parent. |
49
48
 
50
- ### 2. Daily Workflow
49
+ ### 2. Install Claude Code Plugin (Optional)
51
50
 
52
- In Claude Code:
51
+ ```
52
+ /plugin marketplace add wayne930242/team-toon-tack
53
+ /plugin install team-toon-tack@wayne930242
54
+ ```
55
+
56
+ ### 3. Daily Workflow
57
+
58
+ In Claude Code (with plugin installed):
53
59
 
54
60
  ```
55
- /sync # Fetch all Linear issues for current cycle
56
- /work-on next # Pick highest priority task & start working
57
- /done-job # Complete task with AI-generated summary
61
+ /ttt:sync # Fetch all Linear issues for current cycle
62
+ /ttt:work-on next # Pick highest priority task & start working
63
+ /ttt:done # Complete task with AI-generated summary
58
64
  ```
59
65
 
60
- That's it.
66
+ Or using CLI directly:
67
+
68
+ ```bash
69
+ ttt sync
70
+ ttt work-on next
71
+ ttt done -m "Completed the task"
72
+ ```
61
73
 
62
74
  ---
63
75
 
@@ -116,6 +128,20 @@ ttt status MP-123 --set done # Mark as done
116
128
  ttt status MP-123 --set blocked # Set as blocked (waiting on dependency)
117
129
  ```
118
130
 
131
+ ### `ttt show`
132
+
133
+ Show issue details or search issues from local cycle data.
134
+
135
+ ```bash
136
+ ttt show # Show all issues in local cycle data
137
+ ttt show MP-123 # Show specific issue from local data
138
+ ttt show MP-123 --remote # Fetch specific issue from Linear
139
+ ttt show --label frontend # Filter by label
140
+ ttt show --status "In Progress" --user me # My in-progress issues
141
+ ttt show --priority 1 # Show urgent issues
142
+ ttt show --export # Export as markdown
143
+ ```
144
+
119
145
  ### `ttt config`
120
146
 
121
147
  Configure settings.
@@ -147,6 +173,29 @@ your-project/
147
173
  | `LINEAR_API_KEY` | **Required.** Your Linear API key |
148
174
  | `TOON_DIR` | Config directory (default: `.ttt`) |
149
175
 
176
+ ## Claude Code Plugin
177
+
178
+ Install the plugin for Claude Code integration:
179
+
180
+ ```
181
+ /plugin marketplace add wayne930242/team-toon-tack
182
+ /plugin install team-toon-tack@wayne930242
183
+ ```
184
+
185
+ ### Available Commands
186
+
187
+ | Command | Description |
188
+ |---------|-------------|
189
+ | `/ttt:sync` | Sync Linear issues to local cycle data |
190
+ | `/ttt:work-on` | Start working on a task |
191
+ | `/ttt:done` | Mark current task as completed |
192
+ | `/ttt:status` | Show or modify task status |
193
+ | `/ttt:show` | Show issue details or search issues |
194
+
195
+ ### Auto-Activated Skill
196
+
197
+ The plugin includes a `linear-task-manager` skill that automatically activates when working with Linear tasks, providing workflow guidance and best practices.
198
+
150
199
  ## License
151
200
 
152
201
  MIT
package/README.zh-TW.md CHANGED
@@ -14,7 +14,7 @@
14
14
  - **QA 團隊支援** — 完成開發任務時自動將 QA 團隊的 parent issue 更新為「Testing」
15
15
  - **附件下載** — 自動下載 Linear 圖片和檔案到本地 `.ttt/output/`,供 AI 視覺分析
16
16
  - **阻塞狀態** — 等待外部依賴時可設定任務為 blocked
17
- - **自動安裝指令**`ttt init` 可自動安裝 Claude Code commands,支援自訂前綴
17
+ - **Claude Code Plugin** 安裝 plugin 即可使用 `/ttt:*` 指令和自動啟用的技能
18
18
  - **Cycle 歷史保存** — 本地 `.toon` 檔案保留 cycle 資料,方便 AI 檢閱
19
19
  - **使用者過濾** — 只顯示指派給你或未指派的工作
20
20
 
@@ -36,7 +36,6 @@ ttt init
36
36
  - **QA 團隊**:跨團隊 parent issue 更新,各自設定 testing 狀態(可選)
37
37
  - **完成模式**:任務完成時的處理方式(見下方說明)
38
38
  - **狀態來源**:`remote`(即時更新 Linear)或 `local`(離線工作,用 `ttt sync --update` 同步)
39
- - **Claude Code commands**:自動安裝,可選前綴(如 `/ttt:work-on`)
40
39
 
41
40
  ### 完成模式
42
41
 
@@ -47,17 +46,30 @@ ttt init
47
46
  | `upstream_strict` | 任務標記為 Done,parent 移動到 Testing。若無 parent,fallback 到開發團隊的 testing 狀態。設定 QA 團隊時的預設值。 |
48
47
  | `upstream_not_strict` | 任務標記為 Done,parent 移動到 Testing。若無 parent 不做 fallback。 |
49
48
 
50
- ### 2. 每日工作流
49
+ ### 2. 安裝 Claude Code Plugin(選擇性)
51
50
 
52
- 在 Claude Code 中:
51
+ ```
52
+ /plugin marketplace add wayne930242/team-toon-tack
53
+ /plugin install team-toon-tack@wayne930242
54
+ ```
55
+
56
+ ### 3. 每日工作流
57
+
58
+ 在 Claude Code 中(安裝 plugin 後):
53
59
 
54
60
  ```
55
- /sync # 從 Linear 取得當前 cycle 所有 issue
56
- /work-on next # 挑選最高優先級任務並開始工作
57
- /done-job # 完成任務,附上 AI 生成的摘要
61
+ /ttt:sync # 從 Linear 取得當前 cycle 所有 issue
62
+ /ttt:work-on next # 挑選最高優先級任務並開始工作
63
+ /ttt:done # 完成任務,附上 AI 生成的摘要
58
64
  ```
59
65
 
60
- 就這樣。
66
+ 或直接使用 CLI:
67
+
68
+ ```bash
69
+ ttt sync
70
+ ttt work-on next
71
+ ttt done -m "完成任務"
72
+ ```
61
73
 
62
74
  ---
63
75
 
@@ -116,6 +128,20 @@ ttt status MP-123 --set done # 標記為完成
116
128
  ttt status MP-123 --set blocked # 設為阻塞(等待外部依賴)
117
129
  ```
118
130
 
131
+ ### `ttt show`
132
+
133
+ 顯示 issue 詳情或搜尋 issue。
134
+
135
+ ```bash
136
+ ttt show # 顯示本地 cycle 資料中的所有 issue
137
+ ttt show MP-123 # 顯示特定 issue(從本地資料)
138
+ ttt show MP-123 --remote # 從 Linear 取得特定 issue
139
+ ttt show --label frontend # 依標籤過濾
140
+ ttt show --status "In Progress" --user me # 我進行中的 issue
141
+ ttt show --priority 1 # 顯示緊急 issue
142
+ ttt show --export # 輸出為 markdown 格式
143
+ ```
144
+
119
145
  ### `ttt config`
120
146
 
121
147
  配置設定。
@@ -147,6 +173,29 @@ your-project/
147
173
  | `LINEAR_API_KEY` | **必填**。你的 Linear API 金鑰 |
148
174
  | `TOON_DIR` | 配置目錄(預設:`.ttt`) |
149
175
 
176
+ ## Claude Code Plugin
177
+
178
+ 安裝 plugin 以整合 Claude Code:
179
+
180
+ ```
181
+ /plugin marketplace add wayne930242/team-toon-tack
182
+ /plugin install team-toon-tack@wayne930242
183
+ ```
184
+
185
+ ### 可用指令
186
+
187
+ | 指令 | 說明 |
188
+ |------|------|
189
+ | `/ttt:sync` | 同步 Linear issue 到本地 |
190
+ | `/ttt:work-on` | 開始處理任務 |
191
+ | `/ttt:done` | 標記當前任務完成 |
192
+ | `/ttt:status` | 顯示或修改任務狀態 |
193
+ | `/ttt:show` | 顯示 issue 詳情或搜尋 issue |
194
+
195
+ ### 自動啟用技能
196
+
197
+ Plugin 包含 `linear-task-manager` 技能,在處理 Linear 任務時會自動啟用,提供工作流程指導和最佳實踐。
198
+
150
199
  ## 授權
151
200
 
152
201
  MIT
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: ttt:done
3
+ description: Mark current task as completed
4
+ arguments:
5
+ - name: issue-id
6
+ description: Optional issue ID if multiple tasks in progress
7
+ required: false
8
+ - name: message
9
+ description: Completion message (use -m flag)
10
+ required: false
11
+ ---
12
+
13
+ # TTT Done Command
14
+
15
+ Mark the current in-progress task as completed.
16
+
17
+ ## Usage
18
+
19
+ ### Auto-Select (single in-progress task)
20
+ ```bash
21
+ ttt done
22
+ ```
23
+
24
+ ### Specific Issue
25
+ If `issue-id` is provided:
26
+ ```bash
27
+ ttt done {{ issue-id }}
28
+ ```
29
+
30
+ ### With Completion Message
31
+ If `message` is provided:
32
+ ```bash
33
+ ttt done -m "{{ message }}"
34
+ ```
35
+
36
+ ### Combined
37
+ ```bash
38
+ ttt done {{ issue-id }} -m "{{ message }}"
39
+ ```
40
+
41
+ ## What This Does
42
+
43
+ Based on configured completion mode:
44
+
45
+ | Mode | Behavior |
46
+ |------|----------|
47
+ | `simple` | Task → Done, Parent → Done |
48
+ | `strict_review` | Task → Testing, Parent → QA Testing |
49
+ | `upstream_strict` | Task → Done, Parent → Testing |
50
+ | `upstream_not_strict` | Task → Done, Parent → Testing (no fallback) |
51
+
52
+ Also:
53
+ 1. Gets latest git commit info
54
+ 2. Adds completion comment to Linear with commit details
55
+ 3. Syncs task back from Linear to update local status
56
+
57
+ ## Before Running
58
+
59
+ Ensure you have:
60
+ 1. **Run project validation** - Use `/validate` command or validation skill if available
61
+ 2. Committed your changes with a meaningful message
62
+ 3. Pushed to remote branch (if applicable)
63
+
64
+ **Important**: If validation fails, fix issues before marking as done.
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: ttt:show
3
+ description: Show issue details or search issues from local cycle data
4
+ arguments:
5
+ - name: issue-id
6
+ description: Issue ID to show (e.g., MP-624)
7
+ required: false
8
+ - name: label
9
+ description: Filter by label (--label <label>)
10
+ required: false
11
+ - name: status
12
+ description: Filter by status (--status <status>)
13
+ required: false
14
+ - name: user
15
+ description: Filter by assignee (--user <email|me|unassigned>)
16
+ required: false
17
+ - name: priority
18
+ description: Filter by priority (--priority <0-4>)
19
+ required: false
20
+ - name: remote
21
+ description: Fetch from Linear instead of local data (--remote)
22
+ required: false
23
+ - name: export
24
+ description: Output as markdown format (--export)
25
+ required: false
26
+ ---
27
+
28
+ # TTT Show Command
29
+
30
+ Show issue details or search issues from local cycle data.
31
+
32
+ ## Usage
33
+
34
+ ### Show All Issues
35
+ ```bash
36
+ ttt show
37
+ ```
38
+
39
+ ### Show Specific Issue
40
+ ```bash
41
+ ttt show {{ issue-id }}
42
+ ```
43
+
44
+ ### Search by Filters
45
+ ```bash
46
+ ttt show --label {{ label }}
47
+ ttt show --status "{{ status }}"
48
+ ttt show --user {{ user }}
49
+ ttt show --priority {{ priority }}
50
+ ```
51
+
52
+ ### Fetch from Linear (Remote)
53
+ ```bash
54
+ ttt show {{ issue-id }} --remote
55
+ ttt show --remote --status todo
56
+ ```
57
+
58
+ ## What This Does
59
+
60
+ 1. By default, reads from local cycle.toon data (no API calls)
61
+ 2. Supports filtering by label, status, user, priority
62
+ 3. Use --remote to fetch fresh data from Linear API
63
+ 4. Displays comprehensive information:
64
+ - Title and description
65
+ - Status (both Linear and local)
66
+ - Priority level
67
+ - Labels
68
+ - Assignee
69
+ - Branch name
70
+ - Parent issue (if subtask)
71
+ - Attachments with local paths
72
+ - Comments with timestamps
73
+
74
+ ## Filter Options
75
+
76
+ | Option | Description | Example |
77
+ |--------|-------------|---------|
78
+ | `--label` | Filter by label name | `--label frontend` |
79
+ | `--status` | Filter by Linear status | `--status "In Progress"` |
80
+ | `--user` | Filter by assignee | `--user me`, `--user unassigned` |
81
+ | `--priority` | Filter by priority (0-4) | `--priority 1` (Urgent) |
82
+ | `--remote` | Fetch from Linear API | `--remote` |
83
+ | `--export` | Output as markdown | `--export` |
84
+
85
+ ## Priority Values
86
+
87
+ - 0: None
88
+ - 1: Urgent
89
+ - 2: High
90
+ - 3: Medium
91
+ - 4: Low
92
+
93
+ ## Use Cases
94
+
95
+ - List all issues in current cycle
96
+ - Search issues by label or status
97
+ - Review issue details before starting work
98
+ - Check requirements and acceptance criteria
99
+ - View attachments and mockups
100
+ - Read comment history and discussions
101
+
102
+ ## Examples
103
+
104
+ ```bash
105
+ # Show all local issues
106
+ ttt show
107
+
108
+ # Show specific issue
109
+ ttt show MP-624
110
+
111
+ # My in-progress issues
112
+ ttt show --status "In Progress" --user me
113
+
114
+ # All urgent issues
115
+ ttt show --priority 1
116
+
117
+ # Frontend issues
118
+ ttt show --label frontend
119
+
120
+ # Fetch fresh data from Linear
121
+ ttt show MP-624 --remote
122
+
123
+ # Export as markdown
124
+ ttt show --export
125
+ ttt show MP-624 --export
126
+ ```
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: ttt:status
3
+ description: Show or modify task status
4
+ arguments:
5
+ - name: issue-id
6
+ description: Issue ID to check/modify (omit for current in-progress task)
7
+ required: false
8
+ - name: set
9
+ description: New status to set (+1, -1, pending, in-progress, completed, blocked, done)
10
+ required: false
11
+ ---
12
+
13
+ # TTT Status Command
14
+
15
+ Show or modify the status of a task.
16
+
17
+ ## Usage
18
+
19
+ ### Show Current In-Progress Task
20
+ ```bash
21
+ ttt status
22
+ ```
23
+
24
+ ### Show Specific Issue
25
+ If `issue-id` is provided:
26
+ ```bash
27
+ ttt status {{ issue-id }}
28
+ ```
29
+
30
+ ### Set Status
31
+ If `set` is provided:
32
+ ```bash
33
+ ttt status {{ issue-id }} --set {{ set }}
34
+ ```
35
+
36
+ ## Status Values
37
+
38
+ | Value | Description |
39
+ |-------|-------------|
40
+ | `+1` | Move to next status (pending → in-progress → completed) |
41
+ | `-1` | Move to previous status |
42
+ | `+2` | Skip two statuses forward |
43
+ | `-2` | Skip two statuses backward |
44
+ | `pending` | Set to pending |
45
+ | `in-progress` | Set to in-progress |
46
+ | `completed` | Set to completed |
47
+ | `blocked` | Set to blocked (waiting on dependency) |
48
+ | `todo` | Set Linear to Todo status |
49
+ | `done` | Set Linear to Done status |
50
+
51
+ ## Examples
52
+
53
+ ```bash
54
+ ttt status MP-624 --set +1 # Move to next status
55
+ ttt status MP-624 --set blocked # Mark as blocked
56
+ ttt status --set pending # Reset current task
57
+ ```
58
+
59
+ ## Output
60
+
61
+ Displays:
62
+ - Task ID and title
63
+ - Local status vs Linear status
64
+ - Priority and labels
65
+ - Assignee information
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: ttt:sync
3
+ description: Sync Linear issues to local cycle data
4
+ arguments:
5
+ - name: issue-id
6
+ description: Optional specific issue ID to sync (e.g., MP-624)
7
+ required: false
8
+ - name: update
9
+ description: Push local status changes to Linear (add --update flag)
10
+ required: false
11
+ ---
12
+
13
+ # TTT Sync Command
14
+
15
+ Sync issues from Linear to local `.ttt/cycle.toon` file.
16
+
17
+ ## Usage
18
+
19
+ Run the sync command based on arguments provided:
20
+
21
+ ### Default Sync (all matching issues)
22
+ ```bash
23
+ ttt sync
24
+ ```
25
+
26
+ ### Sync Specific Issue
27
+ If `issue-id` is provided:
28
+ ```bash
29
+ ttt sync {{ issue-id }}
30
+ ```
31
+
32
+ ### Push Local Changes
33
+ If `update` is "true" or "--update":
34
+ ```bash
35
+ ttt sync --update
36
+ ```
37
+
38
+ ## What This Does
39
+
40
+ 1. Fetches active cycle from Linear
41
+ 2. Downloads all issues matching configured filters (team, status, labels)
42
+ 3. Preserves local status for existing tasks
43
+ 4. Downloads Linear images to `.ttt/output/`
44
+ 5. Updates `cycle.toon` with fresh data
45
+
46
+ ## Output
47
+
48
+ After running, report:
49
+ - Number of tasks synced
50
+ - Current cycle name
51
+ - Any status updates pushed to Linear (if --update used)
@@ -0,0 +1,79 @@
1
+ ---
2
+ name: ttt:work-on
3
+ description: Start working on a Linear task
4
+ arguments:
5
+ - name: issue-id
6
+ description: Issue ID (e.g., MP-624), 'next' for auto-select, or omit for interactive
7
+ required: false
8
+ ---
9
+
10
+ # TTT Work-On Command
11
+
12
+ Start working on a task from the current cycle.
13
+
14
+ ## Usage
15
+
16
+ ### Interactive Selection
17
+ ```bash
18
+ ttt work-on
19
+ ```
20
+
21
+ ### Specific Issue
22
+ If `issue-id` is provided (e.g., MP-624):
23
+ ```bash
24
+ ttt work-on {{ issue-id }}
25
+ ```
26
+
27
+ ### Auto-Select Highest Priority
28
+ If `issue-id` is "next":
29
+ ```bash
30
+ ttt work-on next
31
+ ```
32
+
33
+ ## What This Does
34
+
35
+ 1. Marks the task as `in-progress` locally
36
+ 2. Updates Linear status to "In Progress" (if status_source is remote)
37
+ 3. Displays full task details including:
38
+ - Title and description
39
+ - Priority and labels
40
+ - Attachments and comments
41
+ - Branch name for checkout
42
+
43
+ ## After Running
44
+
45
+ 1. Read the task description and requirements
46
+ 2. Check out the suggested branch: `git checkout -b <branch-name>`
47
+ 3. **Run project validation** (see below)
48
+ 4. Begin implementation
49
+
50
+ ## Project Validation
51
+
52
+ Before starting work, check for validation tools:
53
+
54
+ ### 1. Check for Existing Validation
55
+
56
+ Look for:
57
+ - **Commands**: `/validate`, `/check`, `/lint` in available commands
58
+ - **Skills**: `validate`, `check`, `verify` in available skills
59
+ - **Scripts**: `lint`, `type-check`, `test` in `package.json` or `Makefile`
60
+
61
+ ### 2. If No Validation Found
62
+
63
+ Ask user:
64
+ ```
65
+ No validation command or skill found for this project.
66
+ Would you like to create one? (y/n)
67
+ ```
68
+
69
+ If yes, run:
70
+ ```
71
+ /ttt:write-validate
72
+ ```
73
+
74
+ ### 3. Run Validation
75
+
76
+ Once validation is available:
77
+ - Use `/validate` command if exists
78
+ - Or use validation skill if available
79
+ - Or run detected scripts directly