@antoneeo/agentic-sdlc-skill 1.41.0 → 1.43.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.
@@ -106,18 +106,31 @@ the first draft — the properties that make a rule survive a motivated reader a
106
106
  cheap to apply while writing and expensive to retrofit. `vision.md` §6 is the
107
107
  blind check that gates promotion to APPROVED.
108
108
 
109
+ **No section below is written before the owner interview** (`vision.md` §The owner
110
+ interview) and its approved north star. Until then — at bootstrap, or for an owner
111
+ not yet reached — the file is this stub, and nothing traces to it:
112
+
113
+ ```markdown
114
+ # Project Vision
115
+ Status: DRAFT
116
+ <!-- STUB: awaiting the owner interview (vision.md §The owner interview). Not a
117
+ Vision: no artifact traces to it. What the agent observed is in strategic/. -->
118
+ ```
119
+
109
120
  Sections below marked **[gate]** are load-bearing for that ruling; the others are
110
121
  orientation for humans. Keep the human ones — just know which is which.
111
122
 
112
123
  ```markdown
113
124
  # Project Vision
114
125
  Status: DRAFT
115
- <!-- Status: DRAFT (reconstructed by the agent, NOT a gating authority)
126
+ <!-- Status: DRAFT (written from the owner interview, NOT yet a gating authority)
116
127
  or APPROVED (by <who>, <date>) — only after the user's explicit confirmation
117
128
  AND the blind check in vision.md §6. -->
118
129
 
119
130
  ## North Star
120
- <!-- [gate, partly] The BENEFIT to be obtained — what the actor gets, never the
131
+ <!-- [gate, partly] One or two sentences IN THE OWNER'S WORDS, explicitly approved
132
+ before any other section was written (Gate 1) — cite the approval:
133
+ (approved: REQUEST_[unit].md#R<n>). The BENEFIT to be obtained — what the actor gets, never the
121
134
  mechanism, and never by comparison to another product (a comparative
122
135
  definition rots silently when the comparison target moves). Concrete enough
123
136
  that an obstacle to it is recognizable: that is what makes every Non-Goal
@@ -126,11 +139,15 @@ Status: DRAFT
126
139
  scale levels. Routing the reader to another file breaks the cold-read
127
140
  premise. -->
128
141
  ## Core Problem
129
- <!-- Human orientation: what goes wrong without this product. Carries no gate
130
- weight unless the admission test names it. -->
142
+ <!-- Interview question 1: ONE concrete case that today does not get the expected
143
+ result, with its example — never a missing feature. Cite the answer
144
+ (REQUEST_[unit].md#R<n>). Human orientation: carries no gate weight unless
145
+ the admission test names it. -->
131
146
  ## Actors
132
147
  <!-- [gate] the cast this product serves. One light line per actor:
133
148
  **Role** — primary goal; good UX = what a good experience means to them.
149
+ Interview question 3: who receives the benefit, who acts, and who has the
150
+ INITIATIVE — an actor that acts unprompted is named here, or it goes missing.
134
151
  The "good UX =" clauses are admissible work, not decoration — say so in the
135
152
  admission test. Define each actor ONCE here; use-cases (Standalone) / D-UC
136
153
  (Hybrid) reference them by role and never re-describe them (anti-DRY).
@@ -147,7 +164,14 @@ Status: DRAFT
147
164
  with BOTH branches answered, plus an anti-laundering clause naming the
148
165
  re-descriptions you expect. Omit the section if the product has none. -->
149
166
  ## Non-Goals
150
- <!-- [gate — the REJECT side; this is your ENTIRE rejection surface]
167
+ <!-- [gate — the REJECT side, with the Invariants]
168
+ A Non-Goal bounds SCOPE: it rejects a proposal that pursues what it names; it
169
+ never bans a behaviour the product already has and never creates an
170
+ obligation (obligations come from the North Star and the Success Signals). A
171
+ behaviour that must never happen is an Invariant, with its provenance.
172
+ PROVENANCE on every rule, at the end of its bullet: (source: owner
173
+ REQUEST_[unit].md#R<n> | higher Vision: "quoted line" | inference confirmed
174
+ REQUEST_[unit].md#R<n>). An unconfirmed author inference is not a rule.
151
175
  Derive every rule by the deletion test: remove it — if the benefit is still
152
176
  reachable, the rule does not belong (it spends a degree of freedom on
153
177
  nothing); if not, keep it and name the obstacle it removes. Constraints
@@ -167,7 +191,7 @@ Status: DRAFT
167
191
  clause. State the default for anything unreached, per path. -->
168
192
  ## Success Signals
169
193
  <!-- [gate] Each checkable against a NAMED artifact or command by someone who was
170
- not here. Not "we are the best" — a file, a command, a battery, and what the
194
+ not here, with its STARTING VALUE (interview question 4). Not "we are the best" — a file, a command, a battery, and what the
171
195
  result must be. -->
172
196
  ## Where the rest lives
173
197
  <!-- Pointers, so an absence reads as intentional rather than as a gap. Competitive
@@ -200,16 +224,33 @@ Only for features spanning multiple ANALYSIS documents or multiple milestones: o
200
224
  ```markdown
201
225
  # Feature Vision: [Name]
202
226
 
227
+ <!-- Written only after the owner interview (vision.md §The owner interview); the
228
+ same applies to a devPNT M-VISION. Each section cites the answer it comes
229
+ from: REQUEST_[feature].md#R<n>. -->
230
+ ## North Star
231
+ <!-- One or two sentences in the owner's words, explicitly approved before any
232
+ other section (Gate 1): (approved: REQUEST_[feature].md#R<n>). -->
203
233
  ## Problem
234
+ <!-- One concrete case that today does not get the expected result, with its
235
+ example — not a missing feature. -->
204
236
  ## Expected Benefit
237
+ <!-- What who obtains once solved: a result, not a function. -->
205
238
  ## Actors
206
239
  <!-- the cast this feature serves — usually a subset/refinement of the project
207
240
  Actors, or a distinct feature-local cast for internal-tooling work. One light
208
241
  line each: **Role** — primary goal; good UX = what good feels like.
242
+ Name who receives the benefit, who acts, and who has the initiative.
209
243
  Referenced by the use-cases, not re-described in them. -->
210
244
  ## Success Signals
245
+ <!-- Observable, each with its starting value. -->
211
246
  ## Non-Goals / Out of Scope
247
+ <!-- Scope this feature does not pursue. Not a ban on existing behaviour, and no
248
+ obligation: those come from the Benefit and the Signals. -->
212
249
  ## Related Constraints and Principles
250
+ <!-- Each with its provenance: (source: owner REQUEST_[feature].md#R<n> | higher
251
+ Vision: "quoted line" | inference confirmed REQUEST_[feature].md#R<n>). A
252
+ constraint imported from a higher Vision is asked about, never assumed to
253
+ apply here. -->
213
254
  ```
214
255
 
215
256
  ## ai_docs/solutions/ANALYSIS_[feature_name].md
@@ -241,7 +282,9 @@ checks: [marketing.funnel] # optional — extra portable checks to run on t
241
282
  or point to the project Vision's ## Actors — do not re-describe them here).
242
283
  This is the single home of the feature vision: the separate file
243
284
  VISION_[feature].md is created only if the feature spans multiple
244
- ANALYSIS documents or multiple milestones. -->
285
+ ANALYSIS documents or multiple milestones. A benefit that no existing
286
+ Vision names makes this section a Vision: write it after the owner
287
+ interview (vision.md §The owner interview). -->
245
288
 
246
289
  ## Use Cases / User Needs
247
290
  <!-- who needs this and why: the concrete use-cases / user-needs the change serves