@basementuniverse/kanbn 1.0.0 → 1.1.0
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/README.md +2 -0
- package/docs/commands/gantt.txt +3 -7
- package/docs/commands/history.txt +29 -0
- package/docs/task-structure.md +8 -4
- package/example/.kanbn/index.md +13 -10
- package/example/.kanbn/tasks/build-invoice-download-endpoint.md +3 -1
- package/example/.kanbn/tasks/create-self-serve-cancellation-flow.md +1 -1
- package/example/.kanbn/tasks/optimize-dashboard-first-load.md +1 -1
- package/example/.kanbn/tasks/prototype-report-export-scheduler.md +1 -1
- package/package.json +1 -1
- package/routes/add.json +2 -0
- package/routes/edit.json +2 -0
- package/routes/find.json +2 -0
- package/routes/history.json +27 -0
- package/routes/sort.json +2 -0
- package/skills/kanbn-plan/SKILL.md +211 -0
- package/skills/kanbn-plan/references/index-structure.md +89 -0
- package/skills/kanbn-plan/references/planning-rules.md +58 -0
- package/skills/kanbn-plan/references/task-structure.md +143 -0
- package/skills/kanbn-plan/scripts/check-dependency-cycles.mjs +273 -0
- package/skills/kanbn-plan/scripts/validate-kanbn.mjs +135 -0
- package/skills/kanbn-replan/SKILL.md +121 -0
- package/src/controller/add.js +49 -17
- package/src/controller/edit.js +91 -24
- package/src/controller/find.js +20 -3
- package/src/controller/gantt.js +2 -3
- package/src/controller/history.js +105 -0
- package/src/controller/sort.js +11 -3
- package/src/main.js +176 -14
- package/src/parse-task.js +20 -6
package/README.md
CHANGED
|
@@ -34,10 +34,12 @@ Where <command> is one of:
|
|
|
34
34
|
sort .......... Sort a column in the index
|
|
35
35
|
sprint ........ Start a new sprint
|
|
36
36
|
burndown ...... View a burndown chart
|
|
37
|
+
gantt ......... Generate and view a Gantt chart
|
|
37
38
|
validate ...... Validate index and task files
|
|
38
39
|
archive ....... Archive a task
|
|
39
40
|
restore ....... Restore a task from the archive
|
|
40
41
|
remove-all .... Remove the kanbn board and all tasks
|
|
42
|
+
history ....... Show task history
|
|
41
43
|
|
|
42
44
|
For more help with commands, try:
|
|
43
45
|
|
package/docs/commands/gantt.txt
CHANGED
|
@@ -3,14 +3,10 @@
|
|
|
3
3
|
|
|
4
4
|
Show a gantt chart for tracked tasks.
|
|
5
5
|
|
|
6
|
-
Tasks are ordered using `depends-on` relations when present. The chart
|
|
7
|
-
`postponed` metadata field to estimate when work can start.
|
|
6
|
+
Tasks are ordered using `depends-on` relations when present. The chart prioritizes optional `plannedStart`/`plannedFinish` metadata when arranging bars, then falls back through `started`/`completed` dates, and finally uses workload-based best-effort scheduling when no timeline dates are available.
|
|
8
7
|
The rendered chart includes:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
• Dependency arrows (└─→) showing which tasks depend on others
|
|
12
|
-
• Task bars with progress indicators: █ (completed), ▓ (in progress), ░ (not started)
|
|
13
|
-
• A blocked indicator (⧗) showing tasks delayed by dependencies
|
|
8
|
+
Dependency arrows (└─→) showing which tasks depend on others
|
|
9
|
+
A blocked indicator (⧗) showing tasks delayed by dependencies
|
|
14
10
|
|
|
15
11
|
Options:
|
|
16
12
|
{b}kanbn gantt --json{b}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{b}kanbn history{b}
|
|
2
|
+
{b}kanbn hi{b}
|
|
3
|
+
|
|
4
|
+
Show a chronological listing of task events.
|
|
5
|
+
|
|
6
|
+
Options:
|
|
7
|
+
{b}kanbn history --json{b}
|
|
8
|
+
{b}kanbn history -j{b}
|
|
9
|
+
Output raw history data in JSON format.
|
|
10
|
+
|
|
11
|
+
{b}kanbn history --sprint N|"name"{b}
|
|
12
|
+
{b}kanbn history -p N|"name"{b}
|
|
13
|
+
Filter history to one or more sprints.
|
|
14
|
+
This option can be repeated to include multiple sprints.
|
|
15
|
+
|
|
16
|
+
{b}kanbn history --date "date"{b}
|
|
17
|
+
{b}kanbn history -d "date"{b}
|
|
18
|
+
Filter history by date.
|
|
19
|
+
If one date is provided, show history from this date up to the present date.
|
|
20
|
+
If two or more dates are provided, show history from the earliest to latest date.
|
|
21
|
+
|
|
22
|
+
{b}kanbn history --assigned "user"{b}
|
|
23
|
+
{b}kanbn history -a "user"{b}
|
|
24
|
+
Filter for tasks assigned to a specific user.
|
|
25
|
+
|
|
26
|
+
{b}kanbn history --task "task-id"{b}
|
|
27
|
+
{b}kanbn history -t "task-id"{b}
|
|
28
|
+
Filter for one or more task ids.
|
|
29
|
+
This option can be repeated.
|
package/docs/task-structure.md
CHANGED
|
@@ -13,7 +13,8 @@ progress: 0.5
|
|
|
13
13
|
started: 2021-03-21T04:58:38.653Z
|
|
14
14
|
completed: 2021-03-21T04:58:38.653Z
|
|
15
15
|
due: 2021-03-21T04:58:38.653Z
|
|
16
|
-
|
|
16
|
+
plannedStart: 2021-03-20T04:58:38.653Z
|
|
17
|
+
plannedFinish: 2021-03-24T04:58:38.653Z
|
|
17
18
|
---
|
|
18
19
|
|
|
19
20
|
# Task Name
|
|
@@ -117,10 +118,13 @@ The date and time that the task was completed.
|
|
|
117
118
|
|
|
118
119
|
The date and time that the task is due to be completed.
|
|
119
120
|
|
|
120
|
-
### `
|
|
121
|
+
### `plannedStart`
|
|
121
122
|
|
|
122
|
-
|
|
123
|
-
|
|
123
|
+
An optional date and time used as a preferred start point for gantt scheduling.
|
|
124
|
+
|
|
125
|
+
### `plannedFinish`
|
|
126
|
+
|
|
127
|
+
An optional date and time used as a preferred finish point for gantt scheduling.
|
|
124
128
|
|
|
125
129
|
## Sub-tasks
|
|
126
130
|
|
package/example/.kanbn/index.md
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
startedColumns:
|
|
3
|
-
- In Progress
|
|
3
|
+
- 'In Progress'
|
|
4
4
|
completedColumns:
|
|
5
5
|
- Done
|
|
6
6
|
sprints:
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
-
|
|
8
|
+
start: 2026-07-01T09:00:00.000Z
|
|
9
|
+
name: 'Foundation Sprint'
|
|
10
|
+
description: 'Baseline product and infrastructure work.'
|
|
11
|
+
-
|
|
12
|
+
start: 2026-07-08T09:00:00.000Z
|
|
13
|
+
name: 'Workflow Sprint'
|
|
14
|
+
description: 'Core team workflow and onboarding features.'
|
|
15
|
+
-
|
|
16
|
+
start: 2026-07-15T09:00:00.000Z
|
|
17
|
+
name: 'Stabilisation Sprint'
|
|
18
|
+
description: 'Reliability and release readiness improvements.'
|
|
16
19
|
taskWorkloadTags:
|
|
17
20
|
Tiny: 1
|
|
18
21
|
Small: 2
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
created: 2026-07-05T10:00:00.000Z
|
|
3
|
-
updated: 2026-07-
|
|
3
|
+
updated: 2026-07-24T22:28:06.841Z
|
|
4
4
|
tags:
|
|
5
5
|
- Platform
|
|
6
6
|
- Medium
|
|
7
7
|
progress: 0
|
|
8
8
|
due: 2026-07-07T10:00:00.000Z
|
|
9
|
+
plannedStart: 2026-07-06T14:05:13.527Z
|
|
10
|
+
plannedFinish: 2026-07-11T11:20:37.323Z
|
|
9
11
|
---
|
|
10
12
|
|
|
11
13
|
# Build Invoice Download Endpoint
|
package/package.json
CHANGED
package/routes/add.json
CHANGED
package/routes/edit.json
CHANGED
package/routes/find.json
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Task History",
|
|
3
|
+
"commands": [
|
|
4
|
+
"history",
|
|
5
|
+
"hi"
|
|
6
|
+
],
|
|
7
|
+
"args": {
|
|
8
|
+
"boolean": [
|
|
9
|
+
"json"
|
|
10
|
+
],
|
|
11
|
+
"string": [
|
|
12
|
+
"date",
|
|
13
|
+
"sprint",
|
|
14
|
+
"assigned",
|
|
15
|
+
"task"
|
|
16
|
+
],
|
|
17
|
+
"alias": {
|
|
18
|
+
"json": ["j"],
|
|
19
|
+
"date": ["d"],
|
|
20
|
+
"sprint": ["p"],
|
|
21
|
+
"assigned": ["a"],
|
|
22
|
+
"task": ["t"]
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"controller": "./src/controller/history",
|
|
26
|
+
"help": "./docs/commands/history.txt"
|
|
27
|
+
}
|
package/routes/sort.json
CHANGED
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kanbn-plan
|
|
3
|
+
description: Turn a project brief into Kanbn planning artifacts only. Use this skill to generate or revise a Kanbn board index and task markdown files, including task descriptions, sub-tasks, and dependency relationships, without implementing the project itself.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Kanbn Plan
|
|
7
|
+
|
|
8
|
+
Use this skill when the user wants project planning output in Kanbn format: a board, task files, dependencies, sequencing, scope breakdown, and task descriptions.
|
|
9
|
+
|
|
10
|
+
Do not use this skill to implement the project, edit source code, scaffold files outside `.kanbn/`, or estimate progress from work that has not happened yet.
|
|
11
|
+
|
|
12
|
+
## Core Contract
|
|
13
|
+
|
|
14
|
+
Your output must stay inside the Kanbn planning surface:
|
|
15
|
+
|
|
16
|
+
- `.kanbn/index.md`
|
|
17
|
+
- `.kanbn/tasks/*.md`
|
|
18
|
+
|
|
19
|
+
Do not create application code, tests, CI files, or documentation unrelated to the Kanbn board.
|
|
20
|
+
|
|
21
|
+
If the user asks for planning plus implementation, complete the planning portion in Kanbn format first and keep the planning files cleanly separated from any later work.
|
|
22
|
+
|
|
23
|
+
## Planning Goals
|
|
24
|
+
|
|
25
|
+
Produce a board that is both valid and useful:
|
|
26
|
+
|
|
27
|
+
- Break vague requirements into concrete, reviewable tasks.
|
|
28
|
+
- Capture prerequisite relationships with Kanbn relations.
|
|
29
|
+
- Preserve important scope, assumptions, risks, and milestones in task descriptions.
|
|
30
|
+
- Avoid invented execution history such as fake progress, comments, timestamps, or completed work.
|
|
31
|
+
- Keep the plan maintainable so a human can reprioritise it later.
|
|
32
|
+
|
|
33
|
+
## Workflow
|
|
34
|
+
|
|
35
|
+
### 1. Extract scope before writing files
|
|
36
|
+
|
|
37
|
+
From the user prompt or specification, identify:
|
|
38
|
+
|
|
39
|
+
- project goal
|
|
40
|
+
- major workstreams or epics
|
|
41
|
+
- prerequisites and external dependencies
|
|
42
|
+
- constraints, risks, and open questions
|
|
43
|
+
- any explicit milestones, deadlines, or sequencing requirements
|
|
44
|
+
|
|
45
|
+
If the prompt is underspecified, make minimal planning assumptions and state them in the index description or in task descriptions where relevant.
|
|
46
|
+
|
|
47
|
+
### 2. Choose a board shape
|
|
48
|
+
|
|
49
|
+
If the user does not specify columns, default to Kanbn's standard workflow:
|
|
50
|
+
|
|
51
|
+
- `Backlog`
|
|
52
|
+
- `Todo`
|
|
53
|
+
- `In Progress`
|
|
54
|
+
- `Done`
|
|
55
|
+
|
|
56
|
+
And default options:
|
|
57
|
+
|
|
58
|
+
- `startedColumns: ["In Progress"]`
|
|
59
|
+
- `completedColumns: ["Done"]`
|
|
60
|
+
|
|
61
|
+
Use extra columns only when the project brief clearly benefits from them, for example `Review`, `Testing`, `Release`, or domain-specific approval states.
|
|
62
|
+
|
|
63
|
+
Do not use columns to model architecture layers, epics, or teams when tags or task descriptions would be more appropriate. Columns should represent workflow state.
|
|
64
|
+
|
|
65
|
+
### 3. Decompose into actionable tasks
|
|
66
|
+
|
|
67
|
+
Each generated task should be:
|
|
68
|
+
|
|
69
|
+
- small enough to complete as one coherent unit of work
|
|
70
|
+
- specific enough that another agent or engineer can act on it later
|
|
71
|
+
- named by outcome, not by vague area labels
|
|
72
|
+
- independent where possible, but explicitly linked when not
|
|
73
|
+
|
|
74
|
+
Prefer imperative or outcome-focused names such as:
|
|
75
|
+
|
|
76
|
+
- `Define authentication flow`
|
|
77
|
+
- `Create database migration plan`
|
|
78
|
+
- `Document deployment rollback steps`
|
|
79
|
+
|
|
80
|
+
Avoid umbrella task names such as:
|
|
81
|
+
|
|
82
|
+
- `Backend`
|
|
83
|
+
- `Frontend work`
|
|
84
|
+
- `Finish project`
|
|
85
|
+
|
|
86
|
+
### 4. Model dependencies carefully
|
|
87
|
+
|
|
88
|
+
Use the relations section to encode sequencing.
|
|
89
|
+
|
|
90
|
+
Preferred relation types:
|
|
91
|
+
|
|
92
|
+
- `depends-on`: the current task cannot start until the referenced task is complete
|
|
93
|
+
- `blocks`: the current task prevents the referenced task from starting or finishing
|
|
94
|
+
|
|
95
|
+
Important rules:
|
|
96
|
+
|
|
97
|
+
- Use one direction per dependency edge. Do not create both `depends-on A` and `blocks B` for the same relationship unless the user explicitly asks for mirrored wording.
|
|
98
|
+
- Do not create self-references.
|
|
99
|
+
- Do not create cycles.
|
|
100
|
+
- Other relation types such as `duplicates` or `obsoletes` are allowed, but they are not scheduling dependencies.
|
|
101
|
+
|
|
102
|
+
Kanbn's gantt dependency logic only treats `depends-on` and `blocks` as dependency edges.
|
|
103
|
+
|
|
104
|
+
### 5. Write lean metadata
|
|
105
|
+
|
|
106
|
+
Only include metadata when it is grounded in the prompt or materially useful.
|
|
107
|
+
|
|
108
|
+
Safe defaults:
|
|
109
|
+
|
|
110
|
+
- omit YAML front matter entirely when no metadata is needed
|
|
111
|
+
- omit `created`, `updated`, `started`, `completed`, `progress`, `comments`, and `history`
|
|
112
|
+
- omit `assigned` unless the user supplied owners
|
|
113
|
+
- omit `due` unless the user supplied a deadline
|
|
114
|
+
|
|
115
|
+
Useful optional metadata:
|
|
116
|
+
|
|
117
|
+
- `tags` for epics, domains, or sizing labels
|
|
118
|
+
- custom fields only if the board already defines them
|
|
119
|
+
|
|
120
|
+
### 6. Place tasks in columns intentionally
|
|
121
|
+
|
|
122
|
+
For a fresh plan, use this default placement strategy unless the user specifies otherwise:
|
|
123
|
+
|
|
124
|
+
- put ready, near-term tasks with no unresolved prerequisites in `Todo`
|
|
125
|
+
- put deferred or dependency-blocked tasks in `Backlog`
|
|
126
|
+
- leave `In Progress` and `Done` empty unless the user explicitly says work has already started or finished
|
|
127
|
+
|
|
128
|
+
Do not fabricate active work.
|
|
129
|
+
|
|
130
|
+
### 7. Validate before finalising
|
|
131
|
+
|
|
132
|
+
Before presenting the plan, validate it if the environment allows.
|
|
133
|
+
|
|
134
|
+
Use these helper files from this skill when available:
|
|
135
|
+
|
|
136
|
+
- `references/index-structure.md`
|
|
137
|
+
- `references/task-structure.md`
|
|
138
|
+
- `references/planning-rules.md`
|
|
139
|
+
- `scripts/validate-kanbn.mjs`
|
|
140
|
+
- `scripts/check-dependency-cycles.mjs`
|
|
141
|
+
|
|
142
|
+
Validation sequence:
|
|
143
|
+
|
|
144
|
+
1. Ensure `.kanbn/index.md` uses valid headings and task links.
|
|
145
|
+
2. Ensure each task file has a valid title, description, and any reserved sections in the correct format.
|
|
146
|
+
3. Run the validate wrapper.
|
|
147
|
+
4. Run the dependency cycle checker.
|
|
148
|
+
5. Fix any structural or dependency issues before stopping.
|
|
149
|
+
|
|
150
|
+
## Output Standards
|
|
151
|
+
|
|
152
|
+
### Index requirements
|
|
153
|
+
|
|
154
|
+
The index must:
|
|
155
|
+
|
|
156
|
+
- contain exactly one level-1 project heading
|
|
157
|
+
- contain optional description text directly under the project heading
|
|
158
|
+
- define workflow columns with level-2 headings
|
|
159
|
+
- list task ids as markdown links to `tasks/<task-id>.md`
|
|
160
|
+
|
|
161
|
+
### Task requirements
|
|
162
|
+
|
|
163
|
+
Each task file must:
|
|
164
|
+
|
|
165
|
+
- live at `.kanbn/tasks/<task-id>.md`
|
|
166
|
+
- contain exactly one top-level heading with the human-readable task name
|
|
167
|
+
- include a description tailored to the task
|
|
168
|
+
- use reserved headings correctly when present: `Metadata`, `Sub-tasks`, `Relations`, `Comments`, `History`
|
|
169
|
+
|
|
170
|
+
Descriptions should usually include:
|
|
171
|
+
|
|
172
|
+
- the purpose of the task
|
|
173
|
+
- key scope boundaries
|
|
174
|
+
- expected deliverable or outcome
|
|
175
|
+
- acceptance criteria or completion signals when useful
|
|
176
|
+
|
|
177
|
+
### Task id rules
|
|
178
|
+
|
|
179
|
+
Use stable kebab-case ids derived from the task name.
|
|
180
|
+
|
|
181
|
+
Examples:
|
|
182
|
+
|
|
183
|
+
- `Set up CI pipeline` -> `set-up-ci-pipeline`
|
|
184
|
+
- `Plan data retention policy` -> `plan-data-retention-policy`
|
|
185
|
+
|
|
186
|
+
## When Revising An Existing Board
|
|
187
|
+
|
|
188
|
+
If `.kanbn/` already exists:
|
|
189
|
+
|
|
190
|
+
- preserve the existing board structure unless the user asked to redesign it
|
|
191
|
+
- preserve existing custom fields and option conventions
|
|
192
|
+
- avoid rewriting unrelated tasks
|
|
193
|
+
- add or edit only the planning artifacts needed for the requested plan change
|
|
194
|
+
|
|
195
|
+
## References
|
|
196
|
+
|
|
197
|
+
Use these files as the source of truth while authoring:
|
|
198
|
+
|
|
199
|
+
- `references/index-structure.md` for `.kanbn/index.md`
|
|
200
|
+
- `references/task-structure.md` for `.kanbn/tasks/*.md`
|
|
201
|
+
- `references/planning-rules.md` for decomposition and dependency heuristics
|
|
202
|
+
|
|
203
|
+
## Success Criteria
|
|
204
|
+
|
|
205
|
+
This skill is successful when it produces a Kanbn board that:
|
|
206
|
+
|
|
207
|
+
- accurately reflects the requested project scope
|
|
208
|
+
- is structurally valid
|
|
209
|
+
- contains actionable tasks instead of vague placeholders
|
|
210
|
+
- captures dependency order without cycles
|
|
211
|
+
- does not stray into implementation work
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Kanbn Index Reference
|
|
2
|
+
|
|
3
|
+
This reference describes the structure expected for `.kanbn/index.md` when generating a project plan.
|
|
4
|
+
|
|
5
|
+
## Minimum Valid Shape
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
---
|
|
9
|
+
startedColumns:
|
|
10
|
+
- In Progress
|
|
11
|
+
completedColumns:
|
|
12
|
+
- Done
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Project Name
|
|
16
|
+
|
|
17
|
+
Short project summary and planning assumptions.
|
|
18
|
+
|
|
19
|
+
## Backlog
|
|
20
|
+
|
|
21
|
+
- [task-id-1](tasks/task-id-1.md)
|
|
22
|
+
- [task-id-2](tasks/task-id-2.md)
|
|
23
|
+
|
|
24
|
+
## Todo
|
|
25
|
+
|
|
26
|
+
- [task-id-3](tasks/task-id-3.md)
|
|
27
|
+
|
|
28
|
+
## In Progress
|
|
29
|
+
|
|
30
|
+
## Done
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Rules
|
|
34
|
+
|
|
35
|
+
- The file may begin with YAML front matter.
|
|
36
|
+
- There must be exactly one level-1 heading for the project name.
|
|
37
|
+
- Text under the project heading is the project description.
|
|
38
|
+
- After the description, each level-2 heading defines a column.
|
|
39
|
+
- Each column should contain a markdown list of task links.
|
|
40
|
+
- Each task link should point to `tasks/<task-id>.md`.
|
|
41
|
+
- The link text should be the task id, not the human-readable title.
|
|
42
|
+
|
|
43
|
+
## Recommended Defaults
|
|
44
|
+
|
|
45
|
+
If the user does not specify a workflow, prefer:
|
|
46
|
+
|
|
47
|
+
```yaml
|
|
48
|
+
startedColumns:
|
|
49
|
+
- In Progress
|
|
50
|
+
completedColumns:
|
|
51
|
+
- Done
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
And columns:
|
|
55
|
+
|
|
56
|
+
- `Backlog`
|
|
57
|
+
- `Todo`
|
|
58
|
+
- `In Progress`
|
|
59
|
+
- `Done`
|
|
60
|
+
|
|
61
|
+
## Placement Guidance
|
|
62
|
+
|
|
63
|
+
- Put tasks in `Todo` only if they are ready to start and not obviously blocked.
|
|
64
|
+
- Put blocked, later-phase, or lower-priority work in `Backlog`.
|
|
65
|
+
- Leave `In Progress` empty for a newly generated plan unless the prompt explicitly says work is underway.
|
|
66
|
+
- Leave `Done` empty unless the prompt explicitly references completed work.
|
|
67
|
+
|
|
68
|
+
## Options Worth Using
|
|
69
|
+
|
|
70
|
+
Only add options when they are meaningful.
|
|
71
|
+
|
|
72
|
+
Commonly useful options:
|
|
73
|
+
|
|
74
|
+
- `startedColumns`
|
|
75
|
+
- `completedColumns`
|
|
76
|
+
- `hiddenColumns`
|
|
77
|
+
- `taskWorkloadTags`
|
|
78
|
+
- `defaultTaskWorkload`
|
|
79
|
+
- `customFields`
|
|
80
|
+
|
|
81
|
+
Avoid adding large option blocks that the user did not ask for.
|
|
82
|
+
|
|
83
|
+
## Common Mistakes
|
|
84
|
+
|
|
85
|
+
- Using headings inside the project description.
|
|
86
|
+
- Listing bare task ids instead of markdown links.
|
|
87
|
+
- Linking to the wrong path, for example `./tasks/...` or absolute paths.
|
|
88
|
+
- Treating columns as epics or teams instead of workflow states.
|
|
89
|
+
- Populating `In Progress` or `Done` with speculative work states.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Planning Rules
|
|
2
|
+
|
|
3
|
+
Use these heuristics when turning a prompt into Kanbn planning artifacts.
|
|
4
|
+
|
|
5
|
+
## Decomposition Heuristics
|
|
6
|
+
|
|
7
|
+
- Split by deliverable, decision, integration point, or risk area.
|
|
8
|
+
- Prefer tasks that produce one observable planning outcome.
|
|
9
|
+
- Separate discovery work from execution work when the unknowns are material.
|
|
10
|
+
- Separate prerequisite setup from dependent feature work.
|
|
11
|
+
- Separate cross-cutting concerns such as security, observability, migration, or rollout planning when they would otherwise disappear into feature tasks.
|
|
12
|
+
|
|
13
|
+
## Task Granularity
|
|
14
|
+
|
|
15
|
+
Aim for tasks that are:
|
|
16
|
+
|
|
17
|
+
- independently understandable
|
|
18
|
+
- narrow enough to estimate or assign later
|
|
19
|
+
- broad enough to avoid an explosion of trivial tasks
|
|
20
|
+
|
|
21
|
+
If a task description needs multiple unrelated deliverables, split it.
|
|
22
|
+
|
|
23
|
+
## Dependency Rules
|
|
24
|
+
|
|
25
|
+
- Add dependencies only when order materially matters.
|
|
26
|
+
- Prefer `depends-on` over ad hoc wording because Kanbn already understands it for scheduling.
|
|
27
|
+
- Use `blocks` when it reads more naturally from the prerequisite task.
|
|
28
|
+
- Do not encode the same dependency twice in opposite directions unless the user wants mirrored relations.
|
|
29
|
+
- Avoid diamond-shaped dependency graphs when a simpler linear or fan-out structure is more accurate.
|
|
30
|
+
|
|
31
|
+
## Prioritisation Rules
|
|
32
|
+
|
|
33
|
+
- Put foundational work before feature-specific work.
|
|
34
|
+
- Put architecture and interface decisions before implementation-heavy downstream tasks.
|
|
35
|
+
- Put risk-reduction tasks earlier when they can invalidate later work.
|
|
36
|
+
- Keep optional enhancements, stretch goals, and nice-to-haves in `Backlog`.
|
|
37
|
+
|
|
38
|
+
## Naming Rules
|
|
39
|
+
|
|
40
|
+
- Use explicit outcome-oriented titles.
|
|
41
|
+
- Prefer verbs like `Define`, `Plan`, `Document`, `Design`, `Map`, `Specify`, `Assess`, `Prepare`.
|
|
42
|
+
- Avoid names that just restate a subsystem with no action.
|
|
43
|
+
|
|
44
|
+
## Assumption Rules
|
|
45
|
+
|
|
46
|
+
- Do not invent deadlines, owners, or progress.
|
|
47
|
+
- If the prompt leaves a critical planning choice unresolved, capture it as an assumption or an explicit planning task.
|
|
48
|
+
- If the board already exists, preserve its conventions unless the user asks to change them.
|
|
49
|
+
|
|
50
|
+
## Final Review Checklist
|
|
51
|
+
|
|
52
|
+
Before finalising a generated board, confirm:
|
|
53
|
+
|
|
54
|
+
- every task in the index has a corresponding task file
|
|
55
|
+
- every relation points to an existing task id
|
|
56
|
+
- the dependency graph has no cycles
|
|
57
|
+
- task descriptions are specific enough to guide later execution
|
|
58
|
+
- the board contains planning artifacts only, not implementation work
|