@rasensio/aidlc-content 1.13.0 → 1.13.1
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/package.json
CHANGED
|
@@ -15,15 +15,18 @@ or metadata. Ask about their idea. You produce the formatting.
|
|
|
15
15
|
## What to ask
|
|
16
16
|
|
|
17
17
|
Ask for whatever is missing, a couple of questions at a time, and stop as soon as you can
|
|
18
|
-
fill the
|
|
18
|
+
fill the body sections. Three or four exchanges is plenty. A rough item is worth more
|
|
19
19
|
than a polished one that never got written.
|
|
20
20
|
|
|
21
21
|
You need:
|
|
22
22
|
|
|
23
23
|
1. What problem this solves, and who has the problem.
|
|
24
24
|
2. What would be true if it worked.
|
|
25
|
-
3.
|
|
26
|
-
|
|
25
|
+
3. Whether it is meant to earn money, save money, or neither. Ask this plainly —
|
|
26
|
+
"would this make money, save money, or is it just something that needs doing?" —
|
|
27
|
+
and accept "neither" as a perfectly good answer.
|
|
28
|
+
4. Their name, for the record.
|
|
29
|
+
5. Today's date, if you cannot determine it reliably.
|
|
27
30
|
|
|
28
31
|
Anything they do not know is allowed to stay unknown. Write `Not yet decided.` under a
|
|
29
32
|
heading rather than inventing a plausible answer — a fabricated success metric is worse than
|
|
@@ -63,11 +66,13 @@ Rules for those fields:
|
|
|
63
66
|
- Do not add any other field, and do not add a `status` field. Status is recorded by which
|
|
64
67
|
folder the file sits in, not inside the file.
|
|
65
68
|
|
|
66
|
-
Then the body, with these
|
|
69
|
+
Then the body, with these five headings and nothing else at this level:
|
|
67
70
|
|
|
68
71
|
```
|
|
69
72
|
# <the title again>
|
|
70
73
|
|
|
74
|
+
## Executive Summary
|
|
75
|
+
|
|
71
76
|
## Problem
|
|
72
77
|
|
|
73
78
|
## Who it's for
|
|
@@ -81,6 +86,37 @@ Write plain prose under each. Short paragraphs or bullets, no tables. Two or thr
|
|
|
81
86
|
per section is normal. `Out of scope` is where you record what they explicitly said they do
|
|
82
87
|
*not* want — leave it as `Nothing stated yet.` if they said nothing.
|
|
83
88
|
|
|
89
|
+
## The Executive Summary
|
|
90
|
+
|
|
91
|
+
This is the section a busy decision-maker reads instead of the item. It comes first in the
|
|
92
|
+
file and you write it **last**, once the other four sections exist — a summary written first
|
|
93
|
+
is a guess.
|
|
94
|
+
|
|
95
|
+
Use exactly these six labels, in this order, one or two sentences each:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
- **What it is** — the change itself, in one sentence, in words a non-engineer would use.
|
|
99
|
+
- **Who benefits** — the person who feels the pain today, named by role.
|
|
100
|
+
- **Customer value** — what they can do afterwards that they cannot do now.
|
|
101
|
+
- **Revenue** — Direct, Indirect, or None, then one sentence saying why.
|
|
102
|
+
- **Cost and risk** — rough size (hours, days, weeks) and the main way it goes wrong.
|
|
103
|
+
- **Recommendation** — Do now, Do later, or Don't do, plus the reason in one line.
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Four rules make the difference between a summary worth reading and decoration:
|
|
107
|
+
|
|
108
|
+
- **`None` is a real answer for revenue, and often the right one.** Plenty of necessary work
|
|
109
|
+
earns nothing directly. Writing `Indirect` for everything makes the field useless, which is
|
|
110
|
+
worse than leaving it blank, because it looks answered.
|
|
111
|
+
- **Do not sell the idea.** You are summarising what someone told you, not pitching it. If
|
|
112
|
+
they described a small convenience, say so. An honest `Do later` is more useful to them
|
|
113
|
+
than an enthusiastic `Do now` that turns out wrong.
|
|
114
|
+
- **Say `Not yet decided.` for any label you cannot fill.** Same rule as the rest of the
|
|
115
|
+
file: an admitted gap beats an invented number, because the next reader can tell the
|
|
116
|
+
difference.
|
|
117
|
+
- **Keep it to six lines.** If the reasoning needs more room, that room is the `Problem`
|
|
118
|
+
section. A summary that runs to a page is not a summary.
|
|
119
|
+
|
|
84
120
|
## Where it goes
|
|
85
121
|
|
|
86
122
|
Tell them to add the file to their project's roadmap inbox:
|
package/skills/04-roadmap.md
CHANGED
|
@@ -56,7 +56,33 @@ history:
|
|
|
56
56
|
- **`depends_on`** names other items by `id`, so a dependency survives its target moving. Build order is derived from this graph when needed — there is no global `order` field, because concurrent capture from independent sessions cannot coordinate a sequence.
|
|
57
57
|
- **`history`** is append-only and advisory. Append `{ status, at }` when you move an item. An absent or incomplete history is never an error, and current status always comes from the directory — never from the last history entry.
|
|
58
58
|
|
|
59
|
-
Bodies are free-form. Items authored through the portable skill carry four headings — Problem, Who it's for, What success looks like, Out of scope — which is a useful shape, not a validated one.
|
|
59
|
+
Bodies are otherwise free-form. Items authored through the portable skill carry four further headings — Problem, Who it's for, What success looks like, Out of scope — which is a useful shape, not a validated one.
|
|
60
|
+
|
|
61
|
+
### Every Item Opens With an Executive Summary
|
|
62
|
+
|
|
63
|
+
The first section of the body, before anything else, is `## Executive Summary` — six labelled lines, nothing more:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
## Executive Summary
|
|
67
|
+
|
|
68
|
+
- **What it is** — the change itself, in one sentence, in words a non-engineer would use.
|
|
69
|
+
- **Who benefits** — the person who feels the pain today, named by role.
|
|
70
|
+
- **Customer value** — what they can do afterwards that they cannot do now.
|
|
71
|
+
- **Revenue** — Direct, Indirect, or None, then one sentence saying why.
|
|
72
|
+
- **Cost and risk** — rough size (hours, days, weeks) and the main way it goes wrong.
|
|
73
|
+
- **Recommendation** — Do now, Do later, or Don't do, plus the reason in one line.
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
This exists so a triage decision can be made from the top of the file. An item whose value cannot be stated in six lines is an item nobody can decide about, and it will sit in `inbox/` until somebody re-derives the case from scratch.
|
|
77
|
+
|
|
78
|
+
Four rules keep it honest:
|
|
79
|
+
|
|
80
|
+
- **`None` is a real answer for revenue, and often the correct one.** Lifecycle plumbing earns nothing directly. Writing `Indirect` for everything makes the field useless, which is worse than leaving it blank because it reads as answered. This is also the cheapest available check against the self-repair trap: a meta-feature that has to write `Revenue — None` and `Customer value — none, it observes the lifecycle` has declared itself.
|
|
81
|
+
- **Write it last, from the rest of the body.** A summary drafted before the detail is a guess wearing a summary's clothes.
|
|
82
|
+
- **`Not yet decided.` for any label you cannot fill.** An admitted gap beats an invented figure; the next reader can tell the difference.
|
|
83
|
+
- **Six lines, no more.** Longer reasoning belongs in the sections below it.
|
|
84
|
+
|
|
85
|
+
Older items may predate this section. Add it when you next touch such an item — derived from what the item already says, never from fresh speculation — rather than sweeping the whole directory.
|
|
60
86
|
|
|
61
87
|
## Capture
|
|
62
88
|
|
|
@@ -64,7 +90,8 @@ Bodies are free-form. Items authored through the portable skill carry four headi
|
|
|
64
90
|
2. **Name the file.** `YYYYMMDD-<slug>.md` — today's date plus a short (2–4 word) slug.
|
|
65
91
|
3. **Handle collisions.** If the filename already exists in *any* status directory, ask one question — extend the existing item or new item? On extend, append a dated `## Update (YYYY-MM-DD)` section to it where it is; on new, suffix the slug (`-2`). Never silently overwrite.
|
|
66
92
|
4. **Write the file** into `inbox/`, with `source: human`, `promoted_to: null`, and one `history` entry dated today. Record `depends_on` only if the braindump itself names other items; never ask for dependencies. Do not interrogate the user for structure — capture friction kills inboxes; one braindump in, one file out.
|
|
67
|
-
5. **
|
|
93
|
+
5. **Draft the executive summary from the braindump, do not extract it by interview.** You write those six lines; the user does not. Ask at most one question, and only when the braindump says nothing about who wants this or why — a good one is "would this make money, save money, or is it just something that needs doing?". Anything still unknown is `Not yet decided.`, which is the point of having the label.
|
|
94
|
+
6. **Confirm and return.** Report the file path and the `Recommendation` line, then return to whatever was happening. Showing the recommendation lets the user correct a wrong read immediately, while the context is still in front of them.
|
|
68
95
|
|
|
69
96
|
**Hard rule:** capture never reads or writes anything under `.aidlc/state/` — no claims, no phase files, no transitions log. Two sessions capturing simultaneously just produce two files; no locking exists or is needed. Do not auto-commit; staging is the user's.
|
|
70
97
|
|
|
@@ -74,12 +101,16 @@ If the user includes credentials, tokens, or secrets in a braindump, flag it and
|
|
|
74
101
|
|
|
75
102
|
List each status directory, reading **only frontmatter and the containing directory** — never item bodies. Show each item's date, title, status, and dependencies. Group by status in lifecycle order and give a count per status. Flag `inbox/` items first: they are waiting on a decision only a human can make. Then flag `backlog/` items whose dependencies are all `done` — those are the natural next candidates. Offer to open, triage, promote, or drop.
|
|
76
103
|
|
|
104
|
+
The frontmatter-only rule holds for browsing, which is a list and must stay cheap enough to run over the whole roadmap. **Triage** below is the one flow allowed into the body, and only as far as the executive summary.
|
|
105
|
+
|
|
77
106
|
A filename appearing in two status directories is an error: report it rather than guessing which one is current.
|
|
78
107
|
|
|
79
108
|
## Triage
|
|
80
109
|
|
|
81
110
|
Moving an `inbox/` item to `backlog/` means "we agree to do this". Moving it to `hold/` means "not now". Move the file and append the matching `history` entry. Triage is the one flow that exists purely because more than one person can submit work — do not skip it by promoting straight from `inbox/` unless the user says so.
|
|
82
111
|
|
|
112
|
+
Triage is the one flow that reads into the body, and it reads **the executive summary and nothing else**. Six labelled lines per item is what makes triaging a full inbox in one sitting possible; opening whole items is what makes triage something nobody ever gets round to. Show the summary, say which way you would go and why, and let the human decide. If an item has no executive summary, write one from what the item says before asking for a decision — a decision made without one is a decision made twice.
|
|
113
|
+
|
|
83
114
|
## Promote
|
|
84
115
|
|
|
85
116
|
Promotion is where the roadmap meets the lifecycle:
|