trekoon 0.3.6 → 0.3.8
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/.agents/skills/trekoon/SKILL.md +198 -73
- package/.agents/skills/trekoon/reference/execution-with-team.md +9 -11
- package/.agents/skills/trekoon/reference/execution.md +26 -9
- package/.agents/skills/trekoon/reference/planning.md +48 -0
- package/README.md +39 -14
- package/docs/quickstart.md +21 -0
- package/package.json +1 -1
- package/src/board/assets/app.js +19 -25
- package/src/board/assets/components/Notice.js +18 -4
- package/src/board/assets/state/actions.js +6 -6
- package/src/board/assets/state/api.js +155 -31
- package/src/board/assets/state/store.js +38 -6
- package/src/board/assets/state/utils.js +123 -30
- package/src/board/routes.ts +397 -54
- package/src/board/server.ts +57 -4
- package/src/board/snapshot.ts +205 -173
- package/src/commands/board.ts +1 -1
- package/src/commands/events.ts +17 -11
- package/src/commands/quickstart.ts +10 -0
- package/src/commands/subtask.ts +2 -2
- package/src/domain/mutation-service.ts +452 -54
- package/src/domain/tracker-domain.ts +185 -7
- package/src/storage/migrations.ts +123 -0
- package/src/storage/path.ts +12 -1
- package/src/storage/schema.ts +18 -1
- package/src/storage/worktree-recovery.ts +12 -6
- package/src/sync/branch-db.ts +12 -1
- package/src/sync/event-writes.ts +47 -7
- package/src/sync/git-context.ts +10 -6
- package/src/sync/service.ts +759 -151
|
@@ -1,21 +1,93 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: trekoon
|
|
3
|
-
description: Use
|
|
3
|
+
description: Use for Trekoon-based planning and execution: creating epics, tasks, and subtasks; breaking work into dependency-aware graphs; checking status and progress; planning backlog or sprint work; and coordinating agent execution from Trekoon. Prefer this whenever the user wants tracked implementation planning or Trekoon entity management, even if they do not explicitly say "Trekoon."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Trekoon Skill
|
|
7
7
|
|
|
8
|
-
Trekoon is a local-first
|
|
8
|
+
Trekoon is a local-first execution harness for tracked implementation work.
|
|
9
|
+
Treat Trekoon as the source of truth for plans, progress, blockers, readiness,
|
|
10
|
+
and orchestration state.
|
|
9
11
|
|
|
10
|
-
This skill is the
|
|
11
|
-
|
|
12
|
+
This skill is the operating guide, not the full CLI reference. Use it to route
|
|
13
|
+
into the right mode quickly, keep momentum, and finish work rather than
|
|
14
|
+
stalling in analysis.
|
|
12
15
|
|
|
13
|
-
##
|
|
16
|
+
## Operating contract
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
argument as a Trekoon entity ID and choose the action based on user intent:
|
|
18
|
+
Treat these entrypoints as hard mode contracts:
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
- `trekoon plan <goal>` → create an **execution-ready epic** in Trekoon.
|
|
21
|
+
- `trekoon <epic-id>` → **orient** on the current state and report the next
|
|
22
|
+
concrete action.
|
|
23
|
+
- `trekoon <epic-id> execute` → **own the epic until it is done, hard-blocked,
|
|
24
|
+
or requires user input**.
|
|
25
|
+
- `trekoon <epic-id> team execute` → same execution contract, but use Agent
|
|
26
|
+
Teams only when the environment supports it and the user explicitly wants it.
|
|
27
|
+
|
|
28
|
+
Reading `reference/planning.md` or `reference/execution.md` is a required setup
|
|
29
|
+
step for those modes, not the end of the workflow.
|
|
30
|
+
|
|
31
|
+
## Trigger guidance
|
|
32
|
+
|
|
33
|
+
Use this skill whenever the user wants tracked planning or tracked execution in
|
|
34
|
+
Trekoon, for example:
|
|
35
|
+
|
|
36
|
+
- break a feature into epics, tasks, subtasks, or dependencies
|
|
37
|
+
- create backlog or sprint-ready work items
|
|
38
|
+
- check epic/task status, progress, readiness, or blockers
|
|
39
|
+
- execute a Trekoon epic end to end with sub-agents
|
|
40
|
+
- coordinate parallel implementation lanes from tracked work
|
|
41
|
+
|
|
42
|
+
Do **not** use this skill for generic coding work that is not meant to be
|
|
43
|
+
tracked in Trekoon.
|
|
44
|
+
|
|
45
|
+
## Command router
|
|
46
|
+
|
|
47
|
+
When invoked with arguments, determine the mode first, then load only the
|
|
48
|
+
reference needed for that mode.
|
|
49
|
+
|
|
50
|
+
## Planning preflight
|
|
51
|
+
|
|
52
|
+
Before entering plan mode, harvest the context already available in the current
|
|
53
|
+
conversation and workspace. Planning should build on prior thinking, not restart
|
|
54
|
+
discovery from zero.
|
|
55
|
+
|
|
56
|
+
Treat these as primary inputs when they exist:
|
|
57
|
+
|
|
58
|
+
- brainstorm output
|
|
59
|
+
- research notes or library findings
|
|
60
|
+
- codebase exploration results
|
|
61
|
+
- prior user decisions and constraints
|
|
62
|
+
- existing Trekoon entities that should be expanded rather than replaced
|
|
63
|
+
|
|
64
|
+
Compress that context into a short internal planning brief before creating the
|
|
65
|
+
epic graph:
|
|
66
|
+
|
|
67
|
+
- goal and why now
|
|
68
|
+
- decisions already made
|
|
69
|
+
- constraints and risks already known
|
|
70
|
+
- affected systems/files/interfaces
|
|
71
|
+
- verification expectations
|
|
72
|
+
- unresolved questions that actually block planning
|
|
73
|
+
|
|
74
|
+
If the remaining unknowns are real blockers, do targeted follow-up research or
|
|
75
|
+
ask the user a narrow clarification question. Use the harness's interactive user
|
|
76
|
+
question tool for this — `question` in OpenCode or `AskUserQuestion` in Claude
|
|
77
|
+
Code — instead of guessing.
|
|
78
|
+
|
|
79
|
+
### 1. Route by first argument
|
|
80
|
+
|
|
81
|
+
| Command shape | Mode | Required read | Completion target |
|
|
82
|
+
|---|---|---|---|
|
|
83
|
+
| `trekoon plan <goal>` | Plan | `reference/planning.md` | Epic exists, graph is validated, next-wave summary is returned |
|
|
84
|
+
| `trekoon <epic-id>` | Orient | None beyond this file unless needed | User knows current state, next ready action, and blockers |
|
|
85
|
+
| `trekoon <epic-id> execute` | Execute | `reference/execution.md` | Epic is done, all remaining work is blocked, or user input is required |
|
|
86
|
+
| `trekoon <epic-id> team execute` | Team execute | `reference/execution-with-team.md` | Same as execute, using Agent Teams |
|
|
87
|
+
|
|
88
|
+
### 2. Resolve entity IDs when present
|
|
89
|
+
|
|
90
|
+
If the first argument is not `plan`, resolve it as a Trekoon entity:
|
|
19
91
|
|
|
20
92
|
```bash
|
|
21
93
|
trekoon --toon epic show <id> 2>/dev/null || \
|
|
@@ -25,56 +97,86 @@ trekoon --toon subtask show <id> 2>/dev/null
|
|
|
25
97
|
|
|
26
98
|
If none match, tell the user the ID was not found.
|
|
27
99
|
|
|
28
|
-
|
|
100
|
+
When the entity is a **task or subtask**, resolve its parent epic ID from the
|
|
101
|
+
entity record and scope `session`, `suggest`, and `epic progress` to that epic.
|
|
102
|
+
If the user asked to execute a task or subtask, make forward progress on that
|
|
103
|
+
requested entity first; continue broader epic execution only if that matches the
|
|
104
|
+
user's intent.
|
|
29
105
|
|
|
30
|
-
|
|
106
|
+
### 3. Interpret missing or extra text
|
|
31
107
|
|
|
32
108
|
| User intent signal | Action |
|
|
33
109
|
|---|---|
|
|
34
|
-
| No text, just an ID | Orient
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
110
|
+
| No text, just an ID | **Orient:** run `session --epic <epic-id>` (or show the task/subtask), summarize status, readiness, and next action |
|
|
111
|
+
| `analyze`, `review`, `check`, `status`, `progress` | **Analyze:** run `epic progress <id>` or `task show <id> --all`, then `suggest --epic <id>`, and report findings |
|
|
112
|
+
| `execute`, `implement`, `do`, `complete`, `start`, `run` | **Execute:** read `reference/execution.md`, choose single-agent vs orchestrated execution, and keep going until the mode contract is satisfied |
|
|
113
|
+
| `team execute`, `execute with team` | **Team execute:** read `reference/execution-with-team.md` only when Agent Teams are available |
|
|
114
|
+
| `plan`, `break down`, `design`, `architect` | **Plan:** read `reference/planning.md` and create or expand the epic graph |
|
|
38
115
|
|
|
39
116
|
### Examples
|
|
40
117
|
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
→
|
|
118
|
+
```text
|
|
119
|
+
trekoon plan build a dependency-aware release workflow
|
|
120
|
+
→ reads planning reference, creates a validated epic, returns epic ID + wave summary
|
|
44
121
|
|
|
45
|
-
|
|
46
|
-
→
|
|
122
|
+
trekoon abc-123
|
|
123
|
+
→ orients on epic/task/subtask abc-123, summarizes state and next action
|
|
47
124
|
|
|
48
|
-
|
|
49
|
-
→ reads execution reference, starts
|
|
125
|
+
trekoon abc-123 execute
|
|
126
|
+
→ reads execution reference, starts the execution loop, keeps going until done or blocked
|
|
50
127
|
|
|
51
|
-
|
|
52
|
-
→ reads
|
|
128
|
+
trekoon abc-123 team execute
|
|
129
|
+
→ reads team execution reference, starts Agent Teams orchestration if supported
|
|
53
130
|
```
|
|
54
131
|
|
|
55
|
-
When the entity is a **task or subtask**, resolve its parent epic ID from the
|
|
56
|
-
entity record and scope session/suggest/progress calls to that epic.
|
|
57
|
-
|
|
58
132
|
## Reference guides
|
|
59
133
|
|
|
60
|
-
|
|
61
|
-
them when the task calls for it — they extend this command reference with
|
|
62
|
-
methodology and orchestration patterns.
|
|
134
|
+
Read references lazily based on mode.
|
|
63
135
|
|
|
64
136
|
> **Path note:** Script paths below are relative to this skill's folder (where this SKILL.md lives), not the current project root. Resolve them from this skill folder when invoking Bash.
|
|
65
137
|
|
|
66
|
-
|
|
|
138
|
+
| Mode | Read | Use it for |
|
|
67
139
|
|---|---|---|
|
|
68
|
-
|
|
|
69
|
-
|
|
|
70
|
-
|
|
|
140
|
+
| Plan | `reference/planning.md` | Converting a goal into a real epic/task/subtask dependency graph with validation and handoff |
|
|
141
|
+
| Execute | `reference/execution.md` | Running an epic end to end, choosing lanes, dispatching sub-agents, recording evidence, and closing the epic |
|
|
142
|
+
| Team execute | `reference/execution-with-team.md` | Agent Teams coordination via TeamCreate/TaskCreate/SendMessage when the environment supports it |
|
|
143
|
+
|
|
144
|
+
## Mode completion rules
|
|
145
|
+
|
|
146
|
+
These stop conditions are the core contract for the skill.
|
|
71
147
|
|
|
72
|
-
**
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
148
|
+
- **Plan mode** is complete only when the epic has been created in Trekoon,
|
|
149
|
+
tasks/subtasks/dependencies exist, validation passes, and the user receives
|
|
150
|
+
the epic ID plus an execution-ready summary.
|
|
151
|
+
- **Orient mode** is complete when the user has the current state, ready work,
|
|
152
|
+
blockers, and the most likely next command.
|
|
153
|
+
- **Execute mode** is complete only when one of these is true:
|
|
154
|
+
1. the epic is fully completed and marked `done`
|
|
155
|
+
2. all remaining work is blocked and blockers are recorded in Trekoon
|
|
156
|
+
3. a real ambiguity, approval, or external dependency requires user input
|
|
157
|
+
|
|
158
|
+
## Anti-stall rules
|
|
159
|
+
|
|
160
|
+
- Do not stop after `session`, `suggest`, or `epic progress` if a clear next
|
|
161
|
+
action exists.
|
|
162
|
+
- Do not stop after completing one task if more ready work exists.
|
|
163
|
+
- After each `task done`, inspect `unblocked` and `next` to decide the next
|
|
164
|
+
move immediately.
|
|
165
|
+
- If multiple independent tasks are ready and isolation is safe, group them by
|
|
166
|
+
lane and delegate.
|
|
167
|
+
- Ask the user only when the work is genuinely blocked by ambiguity, approval,
|
|
168
|
+
or missing external access.
|
|
169
|
+
|
|
170
|
+
## Clarification tool rule
|
|
171
|
+
|
|
172
|
+
When planning or execution needs user input, use the harness's user-question
|
|
173
|
+
tool rather than burying the question inside narration:
|
|
174
|
+
|
|
175
|
+
- OpenCode: `question`
|
|
176
|
+
- Claude Code: `AskUserQuestion`
|
|
177
|
+
|
|
178
|
+
Ask narrow, decision-shaping questions. Prefer one clear question with concrete
|
|
179
|
+
options over a broad list of speculative unknowns.
|
|
78
180
|
|
|
79
181
|
## Non-negotiable defaults
|
|
80
182
|
|
|
@@ -84,10 +186,14 @@ methodology and orchestration patterns.
|
|
|
84
186
|
- Prefer `--append` for progress notes, completion notes, and blocker notes.
|
|
85
187
|
- Preview replace before `--apply`.
|
|
86
188
|
- Prefer `--ids` over `--all` for bulk updates.
|
|
189
|
+
- Treat Trekoon state updates as part of the workflow, not as after-the-fact
|
|
190
|
+
bookkeeping.
|
|
87
191
|
- Never edit `.trekoon/trekoon.db` directly.
|
|
88
192
|
- Treat `.trekoon` as shared repo-scoped operational state in git worktrees.
|
|
89
193
|
- Keep `.trekoon` gitignored; do not commit the SQLite DB as a recovery fix.
|
|
90
194
|
- Never run `trekoon wipe --yes --toon` unless the user explicitly asks for it.
|
|
195
|
+
- Create branches, commits, merges, or PRs only when the user explicitly asks
|
|
196
|
+
and the current harness policy allows it.
|
|
91
197
|
|
|
92
198
|
## Status machine
|
|
93
199
|
|
|
@@ -140,9 +246,32 @@ trekoon --toon epic update <epic-id> --status done
|
|
|
140
246
|
Since the epic is already `in_progress` from the start step, this is a single
|
|
141
247
|
valid transition.
|
|
142
248
|
|
|
143
|
-
##
|
|
249
|
+
## Execution mode selection
|
|
250
|
+
|
|
251
|
+
Choose the lightest mode that will still move the work forward.
|
|
252
|
+
|
|
253
|
+
| Situation | Mode | First move |
|
|
254
|
+
|---|---|---|
|
|
255
|
+
| One ready task, narrow scope, or user asked to continue personally | Single-agent execution | `session --epic <epic-id>` |
|
|
256
|
+
| Multiple ready tasks across separable subsystems or owners | Orchestrated execution | Read `reference/execution.md`, then `task ready --epic <epic-id> --limit 50` |
|
|
257
|
+
| User explicitly asked for team execution and Agent Teams are available | Team execution | Read `reference/execution-with-team.md` |
|
|
258
|
+
|
|
259
|
+
## Delegation policy
|
|
260
|
+
|
|
261
|
+
Prefer one sub-agent per execution lane, not one sub-agent per tiny task.
|
|
262
|
+
|
|
263
|
+
- Spawn sub-agents when 2+ ready tasks are independent, touch different
|
|
264
|
+
subsystems, or can be grouped into bounded lanes.
|
|
265
|
+
- Keep each lane small enough to verify and report clearly.
|
|
266
|
+
- Avoid delegation when the scope is tiny, the tasks are tightly coupled, or the
|
|
267
|
+
overhead exceeds the gain.
|
|
268
|
+
- When tasks share the same directory roots, owners, or subsystem context, group
|
|
269
|
+
them into one lane.
|
|
144
270
|
|
|
145
|
-
|
|
271
|
+
## Single-agent execution loop
|
|
272
|
+
|
|
273
|
+
Use this loop when one agent should continue the work directly. The primary loop
|
|
274
|
+
is: **session → claim → work → task done → repeat**.
|
|
146
275
|
|
|
147
276
|
### 1. Orient with a single call
|
|
148
277
|
|
|
@@ -243,6 +372,22 @@ trekoon --toon task update <task-id> --append "Started implementation"
|
|
|
243
372
|
trekoon --toon task update <task-id> --append "Blocked by <reason>" --status blocked
|
|
244
373
|
```
|
|
245
374
|
|
|
375
|
+
### 3b. Work on subtasks explicitly when they matter
|
|
376
|
+
|
|
377
|
+
Use the same status discipline for subtasks when a task depends on concrete
|
|
378
|
+
subtask progress:
|
|
379
|
+
|
|
380
|
+
```bash
|
|
381
|
+
trekoon --toon subtask update <subtask-id> --status in_progress
|
|
382
|
+
trekoon --toon subtask update <subtask-id> --append "Implemented parser branch"
|
|
383
|
+
trekoon --toon subtask update <subtask-id> --append "Verified with fixture set" --status done
|
|
384
|
+
trekoon --toon subtask update <subtask-id> --append "Blocked by <reason>" --status blocked
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
Use subtasks for real execution units, not filler. If a task has open subtasks
|
|
388
|
+
when `task done` is called, treat the warning as a prompt to consciously decide
|
|
389
|
+
whether the task is genuinely complete.
|
|
390
|
+
|
|
246
391
|
### 4. Finish or report a block
|
|
247
392
|
|
|
248
393
|
When done, append a completion note then mark done:
|
|
@@ -633,38 +778,18 @@ Trekoon stores local state in `.trekoon/trekoon.db`. In git repos and
|
|
|
633
778
|
worktrees, storage resolves from the shared repository root rather than each
|
|
634
779
|
worktree independently.
|
|
635
780
|
|
|
636
|
-
## Tool
|
|
637
|
-
|
|
638
|
-
Check your available tool list to determine which harness you are running in.
|
|
639
|
-
|
|
640
|
-
### Core tools (both harnesses)
|
|
641
|
-
|
|
642
|
-
| Purpose | Claude Code | OpenCode |
|
|
643
|
-
|---------|------------|----------|
|
|
644
|
-
| File search | `Glob` | `glob` |
|
|
645
|
-
| Content search | `Grep` | `grep` |
|
|
646
|
-
| Read files | `Read` | `read` |
|
|
647
|
-
| Edit files | `Edit` | `edit` |
|
|
648
|
-
| Write files | `Write` | `write` |
|
|
649
|
-
| Shell commands | `Bash` | `bash` |
|
|
650
|
-
| Ask user | `AskUserQuestion` | `question` |
|
|
651
|
-
| Web fetch | `WebFetch` | `webfetch` |
|
|
652
|
-
| Web search | `WebSearch` | `websearch` |
|
|
653
|
-
| Directory listing | `Bash(ls)` | `list` |
|
|
654
|
-
|
|
655
|
-
### LSP tools (OpenCode only — use if available)
|
|
656
|
-
|
|
657
|
-
- `lsp goToDefinition`/`lsp findReferences`: navigate symbols safely.
|
|
658
|
-
- `lsp hover`: inspect type signatures.
|
|
659
|
-
- `lsp documentSymbol`/`lsp workspaceSymbol`: search symbols.
|
|
660
|
-
- `lsp goToImplementation`: find interface implementations.
|
|
781
|
+
## Tool capability guidance
|
|
661
782
|
|
|
662
|
-
|
|
663
|
-
|
|
783
|
+
Inspect your available tools before assuming names. Prefer capability-based
|
|
784
|
+
selection over harness-specific tool names.
|
|
664
785
|
|
|
665
|
-
|
|
786
|
+
- Use your harness's structured file search and file read tools instead of shell
|
|
787
|
+
commands for code inspection whenever possible.
|
|
788
|
+
- Use symbol-aware tools when available; fall back to content search when they
|
|
789
|
+
are not.
|
|
790
|
+
- Run Trekoon commands, build/lint/test flows, and explicit git operations via
|
|
791
|
+
your shell tool.
|
|
792
|
+
- Use `--compact` on Trekoon commands in sub-agent prompts to reduce token
|
|
793
|
+
usage.
|
|
666
794
|
|
|
667
|
-
|
|
668
|
-
- Use LSP over grep for symbol navigation when available.
|
|
669
|
-
- Run Trekoon, git, build/lint/test, and verification commands via `Bash`/`bash`.
|
|
670
|
-
- Use `--compact` on Trekoon commands in sub-agent prompts to reduce token usage.
|
|
795
|
+
## User manual input:
|
|
@@ -5,6 +5,10 @@ Teams — real parallel Claude Code instances coordinated via TeamCreate,
|
|
|
5
5
|
TaskCreate, SendMessage, and shared task lists. Each teammate runs in its own
|
|
6
6
|
tmux pane.
|
|
7
7
|
|
|
8
|
+
**Execute mode contract:** team execution is complete only when the epic is
|
|
9
|
+
marked `done`, all remaining work is blocked with recorded reasons, or user
|
|
10
|
+
input is required to continue.
|
|
11
|
+
|
|
8
12
|
**Prerequisite:** Agent Teams requires the Claude Code environment variable
|
|
9
13
|
`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` set to `"true"`. This feature is Claude
|
|
10
14
|
Code only — it is not available in OpenCode or other harnesses.
|
|
@@ -82,13 +86,9 @@ TaskCreate:
|
|
|
82
86
|
- set status: trekoon --toon task update <id> --status blocked
|
|
83
87
|
- notify team lead via SendMessage with blocker details
|
|
84
88
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
**Commit format**:
|
|
89
|
-
<imperative verb> <what changed> <- Line 1: max 50 chars
|
|
90
|
-
<blank line> <- Line 2: blank
|
|
91
|
-
<why/context, one point per line> <- Body: max 72 chars per line
|
|
89
|
+
Only create branches, commits, or PRs if the user explicitly requested
|
|
90
|
+
them and the current harness policy allows it.
|
|
91
|
+
Report: files changed, verification results, blockers
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
Use `blockedBy` via TaskUpdate to set dependencies between tasks that require
|
|
@@ -197,10 +197,8 @@ After all work is verified:
|
|
|
197
197
|
|
|
198
198
|
4. **Shutdown teammates** — send `shutdown_request` via SendMessage to each.
|
|
199
199
|
5. **Delete the team** — use TeamDelete to clean up team and task directories.
|
|
200
|
-
6.
|
|
201
|
-
|
|
202
|
-
8. Return final execution summary: completed tasks, remaining blockers,
|
|
203
|
-
dependency state.
|
|
200
|
+
6. Return final execution summary: completed tasks, remaining blockers,
|
|
201
|
+
dependency state.
|
|
204
202
|
|
|
205
203
|
## Team orchestration tools
|
|
206
204
|
|
|
@@ -5,9 +5,25 @@ Spawn and coordinate sub-agents based on the task dependency graph and subsystem
|
|
|
5
5
|
grouping so independent lanes run in parallel and dependent lanes run
|
|
6
6
|
sequentially.
|
|
7
7
|
|
|
8
|
+
**Execute mode contract:** execution is complete only when the epic is marked
|
|
9
|
+
`done`, all remaining work is blocked with recorded reasons, or user input is
|
|
10
|
+
required to continue.
|
|
11
|
+
|
|
8
12
|
**Clarify ambiguity upfront.** If the plan has unclear requirements or meaningful
|
|
9
13
|
tradeoffs, ask the user before starting.
|
|
10
14
|
|
|
15
|
+
## Choose execution shape first
|
|
16
|
+
|
|
17
|
+
Use the lightest shape that still preserves momentum:
|
|
18
|
+
|
|
19
|
+
- **Single-agent execution**: one ready task, narrow scope, or strongly coupled
|
|
20
|
+
work. Use the `session → claim → work → task done → repeat` loop from
|
|
21
|
+
`SKILL.md`.
|
|
22
|
+
- **Orchestrated execution**: multiple ready tasks across separable lanes. This
|
|
23
|
+
file focuses on that path.
|
|
24
|
+
|
|
25
|
+
Do not stop at status reporting when ready work exists.
|
|
26
|
+
|
|
11
27
|
## Build the execution graph
|
|
12
28
|
|
|
13
29
|
Construct a runnable graph from Trekoon entities using the deterministic
|
|
@@ -98,7 +114,9 @@ If blocked:
|
|
|
98
114
|
Use --compact to reduce output noise:
|
|
99
115
|
trekoon --toon --compact task show <id>
|
|
100
116
|
|
|
101
|
-
|
|
117
|
+
Only create branches, commits, or PRs if the user explicitly requested them and
|
|
118
|
+
the current harness policy allows it. Always report files changed, verification
|
|
119
|
+
results, and blockers.
|
|
102
120
|
```
|
|
103
121
|
|
|
104
122
|
## Use task done response for orchestration
|
|
@@ -148,8 +166,10 @@ Run the full test suite. All tests must pass.
|
|
|
148
166
|
|
|
149
167
|
Automated tests aren't sufficient. Actually exercise the changes:
|
|
150
168
|
|
|
151
|
-
- **API changes:** Curl endpoints with realistic payloads
|
|
152
|
-
|
|
169
|
+
- **API changes:** Curl endpoints with realistic payloads when the environment
|
|
170
|
+
allows it.
|
|
171
|
+
- **External integrations:** Test against real services when credentials and
|
|
172
|
+
safe access are available; otherwise record the gap.
|
|
153
173
|
- **CLI changes:** Run actual commands, verify output.
|
|
154
174
|
- **Parser changes:** Feed real data, not just fixtures.
|
|
155
175
|
|
|
@@ -179,7 +199,7 @@ are all 0.
|
|
|
179
199
|
|
|
180
200
|
## Cleanup
|
|
181
201
|
|
|
182
|
-
After
|
|
202
|
+
After verification is complete:
|
|
183
203
|
|
|
184
204
|
1. **Verify all tasks are done:**
|
|
185
205
|
```bash
|
|
@@ -198,11 +218,8 @@ After committing and verifying:
|
|
|
198
218
|
```
|
|
199
219
|
Should return no actionable suggestions if the epic is cleanly closed.
|
|
200
220
|
|
|
201
|
-
4. **
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
5. **Return final execution summary:** completed tasks, remaining blockers,
|
|
205
|
-
dependency state.
|
|
221
|
+
4. **Return final execution summary:** completed tasks, remaining blockers,
|
|
222
|
+
dependency state.
|
|
206
223
|
|
|
207
224
|
## Architectural fit
|
|
208
225
|
|
|
@@ -3,11 +3,52 @@
|
|
|
3
3
|
Write implementation plans directly into Trekoon as epics with task/subtask
|
|
4
4
|
DAGs. Plans must be directly executable without re-interpretation.
|
|
5
5
|
|
|
6
|
+
**Plan mode contract:** planning is complete only when the epic exists in
|
|
7
|
+
Trekoon, the dependency graph is validated, and the user can immediately run
|
|
8
|
+
`trekoon <epic-id> execute`.
|
|
9
|
+
|
|
6
10
|
**Clarify ambiguity upfront.** If the plan has unclear requirements or meaningful
|
|
7
11
|
tradeoffs, ask the user before writing. Present options with clear tradeoffs.
|
|
8
12
|
Use multi-select for independent features that can be combined; use single-select
|
|
9
13
|
for mutually exclusive choices.
|
|
10
14
|
|
|
15
|
+
Use the harness's interactive user-question tool when you need clarification:
|
|
16
|
+
|
|
17
|
+
- OpenCode: `question`
|
|
18
|
+
- Claude Code: `AskUserQuestion`
|
|
19
|
+
|
|
20
|
+
Do not hide planning-critical questions inside a long narrative response.
|
|
21
|
+
|
|
22
|
+
## Pre-plan synthesis
|
|
23
|
+
|
|
24
|
+
Before creating or expanding an epic, synthesize the context you already have.
|
|
25
|
+
Planning should consume previous brainstorming, research, and codebase discovery
|
|
26
|
+
rather than redoing it from scratch.
|
|
27
|
+
|
|
28
|
+
Build a short internal planning brief with:
|
|
29
|
+
|
|
30
|
+
1. **Goal** — what outcome the user wants
|
|
31
|
+
2. **Decisions already made** — chosen direction, rejected options, known tradeoffs
|
|
32
|
+
3. **Known constraints** — architecture, library constraints, timelines, safety, compatibility
|
|
33
|
+
4. **Affected areas** — subsystems, files, interfaces, or workflows likely involved
|
|
34
|
+
5. **Verification expectations** — what evidence will prove the work is complete
|
|
35
|
+
6. **Remaining unknowns** — only the ones that actually block graph creation
|
|
36
|
+
|
|
37
|
+
If the brief is already sufficient, go straight into planning. If important
|
|
38
|
+
unknowns remain, do targeted research or ask a narrow user question before
|
|
39
|
+
creating the graph.
|
|
40
|
+
|
|
41
|
+
## Research-aware planning rules
|
|
42
|
+
|
|
43
|
+
- Reuse research conclusions in the epic and task descriptions.
|
|
44
|
+
- Carry forward concrete patterns, file paths, APIs, and constraints that were
|
|
45
|
+
discovered earlier.
|
|
46
|
+
- Do not replace prior decisions with generic planning boilerplate.
|
|
47
|
+
- If the user already chose an approach during brainstorming, plan that approach
|
|
48
|
+
unless they explicitly reopen the decision.
|
|
49
|
+
- If existing Trekoon items already represent part of the work, expand or refine
|
|
50
|
+
them instead of recreating parallel tracking state.
|
|
51
|
+
|
|
11
52
|
## Planning data model
|
|
12
53
|
|
|
13
54
|
- **Epic** = full feature outcome and constraints.
|
|
@@ -47,6 +88,8 @@ Include:
|
|
|
47
88
|
4. **Success criteria** (testable outcomes)
|
|
48
89
|
5. **Risks/constraints** (data migration, latency budgets, auth boundaries)
|
|
49
90
|
6. **Verification gates** (tests, manual checks, perf/security checks)
|
|
91
|
+
7. **Key prior decisions or research findings** when they materially affect the
|
|
92
|
+
implementation path
|
|
50
93
|
|
|
51
94
|
### Task title
|
|
52
95
|
|
|
@@ -66,6 +109,8 @@ Must include:
|
|
|
66
109
|
- required tests/verification commands
|
|
67
110
|
- integration constraints (contracts, backward compatibility)
|
|
68
111
|
- explicit "can run in parallel with ..." or "blocked by ..." note
|
|
112
|
+
- relevant findings from prior research or brainstorming that execution agents
|
|
113
|
+
should not have to rediscover
|
|
69
114
|
|
|
70
115
|
**File scope** — declare explicitly so the agent doesn't waste tokens exploring:
|
|
71
116
|
|
|
@@ -174,6 +219,9 @@ After creating the epic and validating, present a summary to the user. This
|
|
|
174
219
|
summary is the primary handoff artifact — it must be self-contained and
|
|
175
220
|
actionable.
|
|
176
221
|
|
|
222
|
+
Do not stop at a prose-only design. The final handoff must reference the actual
|
|
223
|
+
Trekoon epic and the first execution wave.
|
|
224
|
+
|
|
177
225
|
### ID rules
|
|
178
226
|
|
|
179
227
|
- **Always use full UUIDs** for epic and task IDs. Never use temp-keys
|
package/README.md
CHANGED
|
@@ -30,25 +30,45 @@ trekoon quickstart # walkthrough of the basics
|
|
|
30
30
|
Trekoon gives agents two modes: **plan** and **execute**. You can run them
|
|
31
31
|
separately or back to back.
|
|
32
32
|
|
|
33
|
+
For a human driving the workflow, the recommended path is:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
trekoon plan <goal>
|
|
37
|
+
trekoon <epic-id>
|
|
38
|
+
trekoon <epic-id> execute
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
- Use `plan` after you already have enough context from discussion,
|
|
42
|
+
brainstorming, or research.
|
|
43
|
+
- Use `trekoon <epic-id>` to inspect the created epic, review the next ready
|
|
44
|
+
work, and decide whether anything needs refinement.
|
|
45
|
+
- Use `execute` when you want the agent to keep working through the epic until
|
|
46
|
+
it is done, all remaining work is blocked, or it needs your input.
|
|
47
|
+
|
|
33
48
|
### Plan
|
|
34
49
|
|
|
35
|
-
Tell the agent what you want to build or
|
|
36
|
-
|
|
37
|
-
|
|
50
|
+
Tell the agent what you want to build or what problem you want fixed. If you
|
|
51
|
+
already did brainstorming or research, Trekoon should use that context instead
|
|
52
|
+
of starting from zero. Planning decomposes the work into an epic with tasks,
|
|
53
|
+
subtasks, and dependency edges, then writes the whole graph into Trekoon.
|
|
38
54
|
|
|
39
|
-
```
|
|
40
|
-
|
|
55
|
+
```bash
|
|
56
|
+
trekoon plan <description>
|
|
41
57
|
```
|
|
42
58
|
|
|
43
59
|
What the agent does during planning:
|
|
44
60
|
|
|
45
|
-
1.
|
|
46
|
-
2.
|
|
47
|
-
3.
|
|
48
|
-
4.
|
|
49
|
-
5.
|
|
50
|
-
6.
|
|
51
|
-
7.
|
|
61
|
+
1. Reuses the current conversation, prior research, and existing constraints
|
|
62
|
+
2. Asks clarifying questions if requirements are ambiguous
|
|
63
|
+
3. Creates an epic with outcome-oriented title and scoped description
|
|
64
|
+
4. Breaks it into tasks grouped by subsystem (auth, billing, UI, etc.)
|
|
65
|
+
5. Adds subtasks with concrete file paths, acceptance criteria, and test commands
|
|
66
|
+
6. Wires dependency edges so the execution order is explicit
|
|
67
|
+
7. Assigns lane owners when multiple agents will work in parallel
|
|
68
|
+
8. Validates the graph with `epic progress` and `suggest` before handing off
|
|
69
|
+
|
|
70
|
+
For humans: use `plan` when you want Trekoon to turn a feature request or bug
|
|
71
|
+
investigation into a tracked, execution-ready backlog.
|
|
52
72
|
|
|
53
73
|
Each task description includes target files, read-first files, do-not-touch
|
|
54
74
|
paths, and verification commands. Another agent (or a human) can pick up any
|
|
@@ -59,8 +79,8 @@ task and execute it without re-reading the codebase to figure out what to do.
|
|
|
59
79
|
Point the agent at an epic and it works through the dependency graph
|
|
60
80
|
automatically. It is recommended to do it with clean context window.
|
|
61
81
|
|
|
62
|
-
```
|
|
63
|
-
|
|
82
|
+
```bash
|
|
83
|
+
trekoon <id> execute
|
|
64
84
|
```
|
|
65
85
|
|
|
66
86
|
What the agent does during execution:
|
|
@@ -82,6 +102,11 @@ What the agent does during execution:
|
|
|
82
102
|
The orchestrator uses `task done` responses to drive the whole loop. No polling,
|
|
83
103
|
no guessing. When a task finishes, Trekoon tells you exactly what's ready next.
|
|
84
104
|
|
|
105
|
+
For humans: use `execute` when the plan looks good and you want the agent to own
|
|
106
|
+
the epic end to end. It should keep going until the epic is complete, all
|
|
107
|
+
remaining work is blocked with recorded reasons, or it needs a product or
|
|
108
|
+
technical decision from you.
|
|
109
|
+
|
|
85
110
|
## Install the skill
|
|
86
111
|
|
|
87
112
|
The `trekoon` skill is what teaches agents the planning methodology, execution
|
package/docs/quickstart.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
Shortest path from zero to a working Trekoon workflow.
|
|
4
4
|
|
|
5
|
+
## Recommended human workflow
|
|
6
|
+
|
|
7
|
+
If you are driving Trekoon with an AI agent, the usual path is:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
trekoon plan <goal>
|
|
11
|
+
trekoon <epic-id>
|
|
12
|
+
trekoon <epic-id> execute
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
- Use `plan` after you already have enough context from discussion,
|
|
16
|
+
brainstorming, or research. Trekoon should turn that context into an
|
|
17
|
+
execution-ready epic.
|
|
18
|
+
- Use `trekoon <epic-id>` to inspect the created epic, next ready work, and any
|
|
19
|
+
blockers before starting execution.
|
|
20
|
+
- Use `execute` when you want the agent to keep working through the epic until
|
|
21
|
+
it is done, all remaining work is blocked, or it needs your input.
|
|
22
|
+
|
|
23
|
+
The rest of this page is mostly the lower-level command surface that agents and
|
|
24
|
+
power users rely on.
|
|
25
|
+
|
|
5
26
|
## How storage works
|
|
6
27
|
|
|
7
28
|
Trekoon keeps one SQLite database per repository at `.trekoon/trekoon.db`. In
|