team-toon-tack 3.2.2 → 3.2.4
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.
- package/.claude-plugin/plugin.json +1 -1
- package/commands/ttt:done.md +3 -5
- package/commands/ttt:work-on.md +28 -16
- package/commands/ttt:write-work-on-skill.md +159 -0
- package/dist/scripts/lib/done/linear-handler.js +2 -2
- package/dist/scripts/lib/done/trello-handler.js +2 -2
- package/package.json +1 -1
- package/skills/linear-task-manager/SKILL.md +6 -6
- package/commands/ttt:write-validate.md +0 -122
package/commands/ttt:done.md
CHANGED
|
@@ -57,8 +57,6 @@ Also:
|
|
|
57
57
|
## Before Running
|
|
58
58
|
|
|
59
59
|
Ensure you have:
|
|
60
|
-
1.
|
|
61
|
-
2.
|
|
62
|
-
3.
|
|
63
|
-
|
|
64
|
-
**Important**: If validation fails, fix issues before marking as done.
|
|
60
|
+
1. Committed your changes with a meaningful message
|
|
61
|
+
2. Pushed to remote branch (if applicable)
|
|
62
|
+
3. Verified code quality (lint, type-check) if applicable
|
package/commands/ttt:work-on.md
CHANGED
|
@@ -44,36 +44,48 @@ ttt work-on next
|
|
|
44
44
|
|
|
45
45
|
1. Read the task description and requirements
|
|
46
46
|
2. Check out the suggested branch: `git checkout -b <branch-name>`
|
|
47
|
-
3. **
|
|
47
|
+
3. **Check for work-on skill** (see below)
|
|
48
48
|
4. Begin implementation
|
|
49
49
|
|
|
50
|
-
##
|
|
50
|
+
## Work-On Skill
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
Check for project-specific work guidelines:
|
|
53
53
|
|
|
54
|
-
### 1. Check for Existing
|
|
54
|
+
### 1. Check for Existing Work-On Skill
|
|
55
55
|
|
|
56
56
|
Look for:
|
|
57
|
-
- **
|
|
58
|
-
- **
|
|
59
|
-
- **Scripts**: `lint`, `type-check`, `test` in `package.json` or `Makefile`
|
|
57
|
+
- **Skills**: `work-on`, `start-work`, `begin-task` in `.claude/skills/`
|
|
58
|
+
- **Alternative**: Check for `validate`, `check` skills that define project guidelines
|
|
60
59
|
|
|
61
|
-
### 2. If No
|
|
60
|
+
### 2. If No Work-On Skill Found
|
|
62
61
|
|
|
63
|
-
|
|
62
|
+
Suggest user create one:
|
|
64
63
|
```
|
|
65
|
-
No
|
|
64
|
+
No work-on skill found for this project.
|
|
65
|
+
|
|
66
|
+
A work-on skill defines best practices for starting tasks:
|
|
67
|
+
- Code style and conventions
|
|
68
|
+
- Pre-work validation checks
|
|
69
|
+
- Branch naming conventions
|
|
70
|
+
- Required setup steps
|
|
71
|
+
|
|
66
72
|
Would you like to create one? (y/n)
|
|
67
73
|
```
|
|
68
74
|
|
|
69
75
|
If yes, run:
|
|
70
76
|
```
|
|
71
|
-
/ttt:write-
|
|
77
|
+
/ttt:write-work-on-skill
|
|
72
78
|
```
|
|
73
79
|
|
|
74
|
-
|
|
80
|
+
The work-on skill should include:
|
|
81
|
+
- **Validation**: lint, type-check, test commands
|
|
82
|
+
- **Code style**: formatting, naming conventions
|
|
83
|
+
- **Workflow**: branch naming, commit message format
|
|
84
|
+
- **Setup**: required dependencies, environment checks
|
|
85
|
+
|
|
86
|
+
### 3. Use Work-On Skill
|
|
75
87
|
|
|
76
|
-
Once
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
88
|
+
Once available:
|
|
89
|
+
- Follow the guidelines defined in the skill
|
|
90
|
+
- Run any validation checks specified
|
|
91
|
+
- Ensure code style compliance
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ttt:write-work-on-skill
|
|
3
|
+
description: Create a project-specific work-on skill with best practices, validation, and workflow conventions
|
|
4
|
+
arguments:
|
|
5
|
+
- name: skill-name
|
|
6
|
+
description: Name for the skill (default: work-on)
|
|
7
|
+
required: false
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# TTT Write Work-On Skill Command
|
|
11
|
+
|
|
12
|
+
Create a project-specific work-on skill by analyzing the codebase.
|
|
13
|
+
|
|
14
|
+
## Process
|
|
15
|
+
|
|
16
|
+
### 1. Detect Project Type
|
|
17
|
+
|
|
18
|
+
Check for project indicators:
|
|
19
|
+
|
|
20
|
+
| File | Project Type |
|
|
21
|
+
|------|--------------|
|
|
22
|
+
| `package.json` | Node.js / Bun |
|
|
23
|
+
| `Cargo.toml` | Rust |
|
|
24
|
+
| `go.mod` | Go |
|
|
25
|
+
| `pyproject.toml`, `requirements.txt` | Python |
|
|
26
|
+
|
|
27
|
+
### 2. Find Existing Configurations
|
|
28
|
+
|
|
29
|
+
Look for configurations to include in best practices:
|
|
30
|
+
|
|
31
|
+
**Linting**: `biome.json`, `.eslintrc.*`, `ruff.toml`
|
|
32
|
+
**Type Check**: `tsconfig.json`, `mypy.ini`
|
|
33
|
+
**Testing**: `jest.config.*`, `vitest.config.*`, `pytest.ini`
|
|
34
|
+
**Formatting**: `.prettierrc`, `.editorconfig`
|
|
35
|
+
|
|
36
|
+
### 3. Check package.json Scripts
|
|
37
|
+
|
|
38
|
+
If Node.js project:
|
|
39
|
+
```bash
|
|
40
|
+
cat package.json | jq '.scripts | keys[]' 2>/dev/null
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Look for: `lint`, `type-check`, `test`, `check`, `validate`, `format`
|
|
44
|
+
|
|
45
|
+
### 4. Create Skill File
|
|
46
|
+
|
|
47
|
+
Create `.claude/skills/{{ $1 | default: "work-on" }}/SKILL.md`:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
---
|
|
51
|
+
name: {{ $1 | default: "work-on" }}
|
|
52
|
+
description: Project-specific best practices for starting and completing tasks
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
# Work-On Skill
|
|
56
|
+
|
|
57
|
+
Best practices for working on tasks in this project.
|
|
58
|
+
|
|
59
|
+
## Before Starting
|
|
60
|
+
|
|
61
|
+
### 1. Validation Checks
|
|
62
|
+
\`\`\`bash
|
|
63
|
+
{{ lint-command }}
|
|
64
|
+
{{ type-check-command }}
|
|
65
|
+
\`\`\`
|
|
66
|
+
|
|
67
|
+
### 2. Branch Naming
|
|
68
|
+
- Feature: `feature/<issue-id>-<short-description>`
|
|
69
|
+
- Bugfix: `fix/<issue-id>-<short-description>`
|
|
70
|
+
- Refactor: `refactor/<issue-id>-<short-description>`
|
|
71
|
+
|
|
72
|
+
### 3. Environment Setup
|
|
73
|
+
- Ensure dependencies are installed
|
|
74
|
+
- Check for required environment variables
|
|
75
|
+
|
|
76
|
+
## Code Style
|
|
77
|
+
|
|
78
|
+
### Formatting
|
|
79
|
+
{{ formatting-rules }}
|
|
80
|
+
|
|
81
|
+
### Naming Conventions
|
|
82
|
+
{{ naming-conventions }}
|
|
83
|
+
|
|
84
|
+
### File Structure
|
|
85
|
+
{{ file-structure-notes }}
|
|
86
|
+
|
|
87
|
+
## Before Completing
|
|
88
|
+
|
|
89
|
+
### 1. Run All Checks
|
|
90
|
+
\`\`\`bash
|
|
91
|
+
{{ combined-validation-command }}
|
|
92
|
+
\`\`\`
|
|
93
|
+
|
|
94
|
+
### 2. Commit Message Format
|
|
95
|
+
\`\`\`
|
|
96
|
+
<type>(<scope>): <description>
|
|
97
|
+
|
|
98
|
+
<body>
|
|
99
|
+
\`\`\`
|
|
100
|
+
|
|
101
|
+
Types: feat, fix, refactor, docs, test, chore
|
|
102
|
+
|
|
103
|
+
### 3. Self-Review Checklist
|
|
104
|
+
- [ ] Code compiles without errors
|
|
105
|
+
- [ ] All tests pass
|
|
106
|
+
- [ ] No linting errors
|
|
107
|
+
- [ ] Changes are focused on the task
|
|
108
|
+
- [ ] No debug code or console.logs left
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 5. Output
|
|
112
|
+
|
|
113
|
+
After creating:
|
|
114
|
+
1. Show created file path
|
|
115
|
+
2. Display detected configurations
|
|
116
|
+
3. Suggest customizing the skill
|
|
117
|
+
|
|
118
|
+
## Examples
|
|
119
|
+
|
|
120
|
+
### Node.js with Biome + TypeScript
|
|
121
|
+
```
|
|
122
|
+
Detected: Node.js project with Biome + TypeScript
|
|
123
|
+
|
|
124
|
+
Created: .claude/skills/work-on/SKILL.md
|
|
125
|
+
|
|
126
|
+
Configurations found:
|
|
127
|
+
Lint: bun run lint
|
|
128
|
+
Type: bun run type-check
|
|
129
|
+
Format: bun run format
|
|
130
|
+
Test: bun run test
|
|
131
|
+
|
|
132
|
+
The skill has been created with these defaults.
|
|
133
|
+
Please review and customize for your team's conventions.
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Python with Ruff + mypy
|
|
137
|
+
```
|
|
138
|
+
Detected: Python project with Ruff + mypy
|
|
139
|
+
|
|
140
|
+
Created: .claude/skills/work-on/SKILL.md
|
|
141
|
+
|
|
142
|
+
Configurations found:
|
|
143
|
+
Lint: ruff check .
|
|
144
|
+
Type: mypy .
|
|
145
|
+
Format: ruff format .
|
|
146
|
+
Test: pytest
|
|
147
|
+
|
|
148
|
+
The skill has been created with these defaults.
|
|
149
|
+
Please review and customize for your team's conventions.
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Customization Tips
|
|
153
|
+
|
|
154
|
+
After creating the skill, consider adding:
|
|
155
|
+
|
|
156
|
+
1. **Team-specific conventions**: PR review process, documentation requirements
|
|
157
|
+
2. **Project-specific checks**: Security scanning, dependency audits
|
|
158
|
+
3. **Environment setup**: Database migrations, API key checks
|
|
159
|
+
4. **Testing requirements**: Coverage thresholds, required test types
|
|
@@ -120,8 +120,8 @@ export async function handleLinearCompletion(context) {
|
|
|
120
120
|
default:
|
|
121
121
|
result = await handleSimpleCompletion(context);
|
|
122
122
|
}
|
|
123
|
-
// Add comment with commit info
|
|
124
|
-
if (commit) {
|
|
123
|
+
// Add comment with commit info (only if promptMessage provided)
|
|
124
|
+
if (commit && promptMessage) {
|
|
125
125
|
const commentBody = buildCompletionComment(commit, promptMessage);
|
|
126
126
|
const commentSuccess = await addComment(task.linearId, commentBody);
|
|
127
127
|
if (commentSuccess) {
|
|
@@ -31,8 +31,8 @@ export async function handleTrelloCompletion(context) {
|
|
|
31
31
|
if (result.success) {
|
|
32
32
|
console.log(`Trello: ${task.id} → ${transitions.done}`);
|
|
33
33
|
}
|
|
34
|
-
// Add comment with commit info
|
|
35
|
-
if (commit) {
|
|
34
|
+
// Add comment with commit info (only if promptMessage provided)
|
|
35
|
+
if (commit && promptMessage) {
|
|
36
36
|
const commentBody = buildCompletionComment(commit, promptMessage);
|
|
37
37
|
const commentResult = await adapter.addComment(sourceId, commentBody);
|
|
38
38
|
if (commentResult.success) {
|
package/package.json
CHANGED
|
@@ -211,20 +211,20 @@ The `ttt done` command behaves differently based on configured mode:
|
|
|
211
211
|
- No cycle or parent issue support
|
|
212
212
|
- Always uses simple completion mode
|
|
213
213
|
|
|
214
|
-
##
|
|
214
|
+
## Work-On Skill
|
|
215
215
|
|
|
216
|
-
Before starting
|
|
216
|
+
Before starting tasks, check for project-specific work guidelines:
|
|
217
217
|
|
|
218
|
-
1. **Check for
|
|
218
|
+
1. **Check for work-on skill**: Look for `work-on`, `start-work` skills in `.claude/skills/`
|
|
219
219
|
2. **Check package.json/Makefile**: Look for `lint`, `type-check`, `test` scripts
|
|
220
220
|
|
|
221
|
-
If no
|
|
221
|
+
If no work-on skill exists, suggest running `/ttt:write-work-on-skill` to create project-specific best practices (includes validation, code style, workflow conventions).
|
|
222
222
|
|
|
223
223
|
## Best Practices
|
|
224
224
|
|
|
225
225
|
### DO
|
|
226
226
|
- Always `ttt sync` before starting work
|
|
227
|
-
- **
|
|
227
|
+
- **Check for work-on skill** before starting tasks
|
|
228
228
|
- Use `ttt work-on next` for auto-prioritization
|
|
229
229
|
- Include meaningful messages with `ttt done -m "..."`
|
|
230
230
|
- Check `ttt status` to verify state before commits
|
|
@@ -234,7 +234,7 @@ If no validation exists, suggest running `/ttt:write-validate` to create a proje
|
|
|
234
234
|
- Don't manually edit `cycle.toon` - use CLI commands
|
|
235
235
|
- Don't skip sync - local data may be stale
|
|
236
236
|
- Don't forget to commit before `ttt done`
|
|
237
|
-
- Don't mark tasks done without
|
|
237
|
+
- Don't mark tasks done without verification
|
|
238
238
|
- Don't use `--all` on sync unless you need completed issues
|
|
239
239
|
|
|
240
240
|
## Troubleshooting
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ttt:write-validate
|
|
3
|
-
description: Create a project validation command by detecting project type and existing lint/test configurations
|
|
4
|
-
arguments:
|
|
5
|
-
- name: command-name
|
|
6
|
-
description: Name for the command (default: validate)
|
|
7
|
-
required: false
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# TTT Write-Validate Command
|
|
11
|
-
|
|
12
|
-
Create a project-specific validation command by analyzing the codebase.
|
|
13
|
-
|
|
14
|
-
## Process
|
|
15
|
-
|
|
16
|
-
### 1. Detect Project Type
|
|
17
|
-
|
|
18
|
-
Check for project indicators:
|
|
19
|
-
|
|
20
|
-
| File | Project Type |
|
|
21
|
-
|------|--------------|
|
|
22
|
-
| `package.json` | Node.js / Bun |
|
|
23
|
-
| `Cargo.toml` | Rust |
|
|
24
|
-
| `go.mod` | Go |
|
|
25
|
-
| `pyproject.toml`, `requirements.txt` | Python |
|
|
26
|
-
|
|
27
|
-
### 2. Find Existing Configurations
|
|
28
|
-
|
|
29
|
-
Look for static analysis configs:
|
|
30
|
-
|
|
31
|
-
**Linting**: `biome.json`, `.eslintrc.*`, `ruff.toml`
|
|
32
|
-
**Type Check**: `tsconfig.json`, `mypy.ini`
|
|
33
|
-
**Testing**: `jest.config.*`, `vitest.config.*`, `pytest.ini`
|
|
34
|
-
|
|
35
|
-
### 3. Check package.json Scripts
|
|
36
|
-
|
|
37
|
-
If Node.js project:
|
|
38
|
-
```bash
|
|
39
|
-
cat package.json | jq '.scripts | keys[]' 2>/dev/null
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Look for: `lint`, `type-check`, `test`, `check`, `validate`
|
|
43
|
-
|
|
44
|
-
### 4. Create Command File
|
|
45
|
-
|
|
46
|
-
Create `.claude/commands/{{ $1 | default: "validate" }}.md`:
|
|
47
|
-
|
|
48
|
-
```markdown
|
|
49
|
-
---
|
|
50
|
-
name: {{ $1 | default: "validate" }}
|
|
51
|
-
description: Run project validation (lint, type-check, test)
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
# Project Validation
|
|
55
|
-
|
|
56
|
-
Run validation checks for this project.
|
|
57
|
-
|
|
58
|
-
## Process
|
|
59
|
-
|
|
60
|
-
### 1. Lint
|
|
61
|
-
\`\`\`bash
|
|
62
|
-
{{ lint-command }}
|
|
63
|
-
\`\`\`
|
|
64
|
-
|
|
65
|
-
### 2. Type Check
|
|
66
|
-
\`\`\`bash
|
|
67
|
-
{{ type-check-command }}
|
|
68
|
-
\`\`\`
|
|
69
|
-
|
|
70
|
-
### 3. Test (optional)
|
|
71
|
-
\`\`\`bash
|
|
72
|
-
{{ test-command }}
|
|
73
|
-
\`\`\`
|
|
74
|
-
|
|
75
|
-
## Quick Validate All
|
|
76
|
-
|
|
77
|
-
\`\`\`bash
|
|
78
|
-
{{ combined-command }}
|
|
79
|
-
\`\`\`
|
|
80
|
-
|
|
81
|
-
## On Failure
|
|
82
|
-
|
|
83
|
-
1. Show error output
|
|
84
|
-
2. Identify failing file(s) and line(s)
|
|
85
|
-
3. Suggest fixes
|
|
86
|
-
4. Re-run validation after fixes
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### 5. Output
|
|
90
|
-
|
|
91
|
-
After creating:
|
|
92
|
-
1. Show created file path
|
|
93
|
-
2. Display detected validation commands
|
|
94
|
-
3. Suggest running `/{{ $1 | default: "validate" }}` to test
|
|
95
|
-
|
|
96
|
-
## Examples
|
|
97
|
-
|
|
98
|
-
### Node.js with Biome
|
|
99
|
-
```
|
|
100
|
-
Detected: Node.js project with Biome + TypeScript
|
|
101
|
-
Created: .claude/commands/validate.md
|
|
102
|
-
|
|
103
|
-
Commands:
|
|
104
|
-
Lint: bun run lint
|
|
105
|
-
Type: bun run type-check
|
|
106
|
-
Test: bun run test
|
|
107
|
-
|
|
108
|
-
Try: /validate
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### Python with Ruff
|
|
112
|
-
```
|
|
113
|
-
Detected: Python project with Ruff + mypy
|
|
114
|
-
Created: .claude/commands/validate.md
|
|
115
|
-
|
|
116
|
-
Commands:
|
|
117
|
-
Lint: ruff check .
|
|
118
|
-
Type: mypy .
|
|
119
|
-
Test: pytest
|
|
120
|
-
|
|
121
|
-
Try: /validate
|
|
122
|
-
```
|