@pasko70/pibo 3.1.4 → 3.2.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 -2
- package/dist/apps/chat-ui/assets/{dist-BcUbdOKJ.js → dist-BAXv9edD.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-BOqsX6_s.js → dist-CiwafO2k.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-qDZ-CdlK.js → dist-DD2HRAgt.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-DkpIJ_Pp.js → dist-NsHPx2KS.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-a0mykCz7.js → dist-jgYATWSF.js} +1 -1
- package/dist/apps/chat-ui/assets/index-BTzIdlcK.css +1 -0
- package/dist/apps/chat-ui/assets/index-C-s68zrN.js +228 -0
- package/dist/apps/chat-ui/index.html +2 -2
- package/dist/apps/chat-vscode-web/assets/{index-SluZr_-r.css → index-b18ZkEo0.css} +1 -1
- package/dist/apps/chat-vscode-web/assets/index-nHYofa-e.js +43 -0
- package/dist/apps/chat-vscode-web/index.html +2 -2
- package/dist/setup/cli.js +5 -5
- package/docs/project/guides/pibo-on-windows-via-wsl.md +292 -0
- package/docs/project/guides/pibo-vscode-ext-quickstart.md +287 -0
- package/docs/project/installation-profiles.md +134 -0
- package/docs/project/operations/index.md +10 -0
- package/docs/{ops → project/operations}/install-developer-host.md +19 -0
- package/docs/{ops → project/operations}/install-user-host.md +19 -0
- package/docs/{ops → project/operations}/upgrade-user-to-developer-host.md +19 -0
- package/docs/{ops → project/operations}/vscode-extension-release.md +19 -0
- package/npm-shrinkwrap.json +4 -3
- package/package.json +17 -3
- package/skills/builtin/pibo-agent-runtime-adapter/references/testing-migration-and-validation.md +3 -1
- package/skills/builtin/pibo-spec-writing/SKILL.md +110 -168
- package/skills/builtin/prd/SKILL.md +18 -0
- package/dist/apps/chat-ui/assets/index-CmqRSbBU.css +0 -1
- package/dist/apps/chat-ui/assets/index-G2ic-FSG.js +0 -228
- package/dist/apps/chat-vscode-web/assets/index-zQ1fNz5K.js +0 -43
- package/docs/README.md +0 -34
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pibo-spec-writing
|
|
3
|
-
description: Defines how Pibo
|
|
3
|
+
description: Defines how Pibo current domain specifications and supporting plans, proposals, technical designs, product requirements, task ledgers, and decisions are written and reviewed. Use this whenever the user asks to create, review, rewrite, compare, or implement a spec; mentions requirements, acceptance criteria, scope, roadmap, proposal, design plan, tasks, OpenSpec, Spec Kit, GSD, or spec-driven development; or asks where project documentation should live.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Pibo Spec Writing
|
|
7
7
|
|
|
8
8
|
Use this skill when creating or reviewing specs for Pibo. A good Pibo spec is behavior-first, scoped, testable, concise, and traceable to implementation work. Keep implementation details out of the spec unless they are externally visible constraints.
|
|
9
9
|
|
|
10
|
+
Before writing, read `docs/index.md` and `docs/project/documentation-profile.md`. Keep this host-owned `SKILL.md` in its native format; apply OKF metadata only to concepts under `docs/`.
|
|
11
|
+
|
|
10
12
|
## Core principles
|
|
11
13
|
|
|
12
|
-
Write specs so another agent can
|
|
14
|
+
Write current specs so another agent can understand and verify implemented behavior without reading the original chat. Put behavior that is not implemented in a Plan.
|
|
13
15
|
|
|
14
16
|
1. Start with why the change matters.
|
|
15
17
|
2. Define the observable behavior, not the code shape.
|
|
@@ -17,65 +19,73 @@ Write specs so another agent can implement and verify the work without reading t
|
|
|
17
19
|
4. Make every requirement testable.
|
|
18
20
|
5. Add scenarios or acceptance criteria for each important behavior.
|
|
19
21
|
6. Track assumptions and open questions instead of hiding them.
|
|
20
|
-
7.
|
|
22
|
+
7. Give every requirement a stable ID and exact source/test traceability at the checked commit.
|
|
21
23
|
8. Use clear prose: active voice, concrete words, short paragraphs, and no puffery.
|
|
22
|
-
9. For user-facing UI, CLI, TUI, gateway, runtime, or agent-routing
|
|
24
|
+
9. For user-facing UI, CLI, TUI, gateway, runtime, or agent-routing behavior, name the concrete source, test, build, browser, and Pibo2 evidence that applies instead of assuming unit tests are enough.
|
|
23
25
|
|
|
24
26
|
## Where specs live
|
|
25
27
|
|
|
26
|
-
Follow the
|
|
28
|
+
Follow the five-root Pibo OKF profile:
|
|
27
29
|
|
|
28
30
|
```text
|
|
29
31
|
docs/
|
|
30
|
-
project/ Current
|
|
31
|
-
specs/
|
|
32
|
-
plans/
|
|
33
|
-
reports/ Investigation, validation, and
|
|
34
|
-
legacy/
|
|
32
|
+
project/ Current governance, architecture, decisions, guides, operations, references, and status
|
|
33
|
+
specs/ Implemented current contracts only
|
|
34
|
+
plans/ Intended changes, acceptance, risks, and rollback
|
|
35
|
+
reports/ Investigation, validation, incidents, research, feedback, evidence, and artifacts
|
|
36
|
+
legacy/ Superseded material, completed packets, closed plans, and handoffs
|
|
35
37
|
```
|
|
36
38
|
|
|
37
|
-
Do not create
|
|
39
|
+
Do not create another top-level directory under `docs/`. Every concept requires profile frontmatter, migration-ledger ownership, generated-index coverage through `npm run docs:indexes:write`, and an explicit `docs/log.md` entry.
|
|
40
|
+
|
|
41
|
+
Write visible single-line `title`, `description`, and tag values. Do not use bidi controls, format characters, default-ignorable code points, U+2800 BRAILLE PATTERN BLANK, the blank fillers U+115F, U+1160, U+17B4, U+17B5, U+3164, or U+FFA0, or labels composed only of whitespace and combining marks. Normal visible Unicode and normalized accented text are valid.
|
|
42
|
+
|
|
43
|
+
The complete approved type vocabulary is:
|
|
44
|
+
|
|
45
|
+
- `project/`: `Documentation Profile`, `Architecture`, `Design System`, `Decision Record`, `Guide`, `Runbook`, `Reference`, `Status`.
|
|
46
|
+
- `specs/`: `Specification`.
|
|
47
|
+
- `plans/`: `Plan`, `Change Proposal`, `Technical Design`, `Product Requirement`, `Task Ledger`.
|
|
48
|
+
- `reports/`: `Evidence Report`, `Validation Report`, `Investigation Report`, `Incident Report`, `Coverage Report`, `Review Record`, `Release Record`, `Research`, `Feedback`, `Reference`, `Status`.
|
|
49
|
+
- `legacy/`: `Historical Record`.
|
|
38
50
|
|
|
39
|
-
Use `docs/
|
|
51
|
+
Use the compact templates in `docs/project/references/okf-concept-templates.md`. Requirement IDs need at least two semantic uppercase components before the numeric suffix, for example `PROD-CTX-001`, `WP02-DATA-STORE-001`, or `PIBO-ROUTING-REQ-001`. The `REQ` component is optional; a repository-global `REQ-001` is invalid.
|
|
52
|
+
|
|
53
|
+
Only a fence-aware ATX heading whose content starts exactly with the case-sensitive marker `Requirement:` is a formal body requirement. Put one raw, unformatted ASCII ID immediately after the marker, then separate its prose title with a colon or whitespace. Every frontmatter requirement ID needs exactly one explicit heading, and every valid explicit heading needs one frontmatter owner. Formatting, links, escapes, trailing punctuation, Unicode lookalikes, invisible or control characters, malformed IDs, and missing tokens are invalid in the ID position. Plain headings such as `RFC-9110 semantics`, `ISO-8601 timestamps`, `HTTP-404 responses`, dates, prose, and unmarked ID-looking text are ordinary headings.
|
|
54
|
+
|
|
55
|
+
Do not write raw `<!--` or `-->` anywhere outside fenced code in a current Specification, including inline-code or escaped examples. The validator rejects both delimiters and parses requirements from unchanged non-fenced source lines. Use visible prose or fenced examples instead. Use CommonMark fences: a backtick opener's info string cannot contain a backtick, and a closer must use the opener character with at least the opener length. An invalid opener does not protect example content from validation. LF, CRLF, and lone CR are equivalent line endings for scanning.
|
|
40
56
|
|
|
41
57
|
## Choose the right spec shape
|
|
42
58
|
|
|
43
|
-
###
|
|
59
|
+
### Current domain specification
|
|
44
60
|
|
|
45
|
-
Use
|
|
61
|
+
Use one domain-scoped Specification for durable behavior implemented at the checked code baseline. Do not mix target behavior into a current specification.
|
|
46
62
|
|
|
47
63
|
Good path:
|
|
48
64
|
|
|
49
65
|
```text
|
|
50
|
-
docs/specs
|
|
66
|
+
docs/specs/<domain>/<spec-name>.md
|
|
51
67
|
```
|
|
52
68
|
|
|
53
|
-
|
|
69
|
+
Choose a stable product or technical domain such as authentication, routing, tools, gateway, API, or UI. Do not create a broad `docs/specs/capabilities/` catch-all. Do not create new change packets under `docs/specs/changes/`; that existing tree is migration input whose implemented facts must fold into canonical domain specifications.
|
|
54
70
|
|
|
55
|
-
### Change
|
|
71
|
+
### Change plan
|
|
56
72
|
|
|
57
|
-
Use a
|
|
73
|
+
Use a Plan when proposing a feature, fix, or migration. Put supporting rationale in a Decision Record under `docs/project/decisions/` when it must outlive the plan.
|
|
58
74
|
|
|
59
75
|
Good path:
|
|
60
76
|
|
|
61
77
|
```text
|
|
62
|
-
docs/
|
|
63
|
-
proposal.md
|
|
64
|
-
spec.md
|
|
65
|
-
design.md # include when technical choices matter
|
|
66
|
-
tasks.md # include when ready to implement
|
|
78
|
+
docs/plans/<change-name>.md
|
|
67
79
|
```
|
|
68
80
|
|
|
69
|
-
###
|
|
81
|
+
### Phased plan
|
|
70
82
|
|
|
71
|
-
Use
|
|
83
|
+
Use one Plan with phases for multi-step work that needs a roadmap.
|
|
72
84
|
|
|
73
85
|
Good path:
|
|
74
86
|
|
|
75
87
|
```text
|
|
76
|
-
docs/
|
|
77
|
-
spec.md
|
|
78
|
-
context.md # implementation decisions, references, existing-code notes
|
|
88
|
+
docs/plans/<change-name>.md
|
|
79
89
|
```
|
|
80
90
|
|
|
81
91
|
## Required structure for most Pibo specs
|
|
@@ -83,110 +93,54 @@ docs/specs/phases/<NN-phase-name>/
|
|
|
83
93
|
Use this template unless the task clearly needs a smaller artifact.
|
|
84
94
|
|
|
85
95
|
```markdown
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
[
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
## Scope
|
|
106
|
-
|
|
107
|
-
### In Scope
|
|
108
|
-
|
|
109
|
-
- [Concrete behavior or deliverable]
|
|
110
|
-
|
|
111
|
-
### Out of Scope
|
|
112
|
-
|
|
113
|
-
- [Excluded item] — [reason]
|
|
114
|
-
|
|
115
|
-
## Requirements
|
|
116
|
-
|
|
117
|
-
### Requirement: [Name]
|
|
118
|
-
|
|
119
|
-
The system MUST/SHALL [observable behavior].
|
|
120
|
-
|
|
121
|
-
#### Current
|
|
122
|
-
|
|
123
|
-
[Current behavior or absence of behavior.]
|
|
124
|
-
|
|
125
|
-
#### Target
|
|
126
|
-
|
|
127
|
-
[Desired behavior.]
|
|
128
|
-
|
|
129
|
-
#### Acceptance
|
|
130
|
-
|
|
131
|
-
[Concrete pass/fail check.]
|
|
132
|
-
|
|
133
|
-
#### Scenario: [Name]
|
|
134
|
-
|
|
135
|
-
- GIVEN [state]
|
|
136
|
-
- WHEN [action/event]
|
|
137
|
-
- THEN [expected outcome]
|
|
138
|
-
|
|
139
|
-
## Edge Cases
|
|
140
|
-
|
|
141
|
-
- [Boundary, failure, permission, concurrency, or empty-state case]
|
|
142
|
-
|
|
143
|
-
## Constraints
|
|
144
|
-
|
|
145
|
-
- **Compatibility:** ...
|
|
146
|
-
- **Security / Privacy:** ...
|
|
147
|
-
- **Performance:** ...
|
|
148
|
-
- **Dependencies:** ...
|
|
149
|
-
|
|
150
|
-
## Success Criteria
|
|
151
|
-
|
|
152
|
-
- [ ] SC-001: [Measurable or directly observable outcome]
|
|
153
|
-
- [ ] SC-002: [Another pass/fail outcome]
|
|
154
|
-
|
|
155
|
-
## Assumptions and Open Questions
|
|
156
|
-
|
|
157
|
-
### Assumptions
|
|
158
|
-
|
|
159
|
-
- [Reasonable default taken to keep progress moving]
|
|
160
|
-
|
|
161
|
-
### Open Questions
|
|
96
|
+
---
|
|
97
|
+
type: "Specification"
|
|
98
|
+
title: "<name>"
|
|
99
|
+
description: "<one-sentence implemented contract.>"
|
|
100
|
+
tags: ["<subject>"]
|
|
101
|
+
status: "draft"
|
|
102
|
+
authority: "normative"
|
|
103
|
+
generated: { by: "<actor/version>", at: "<ISO-8601 datetime>" }
|
|
104
|
+
traceability:
|
|
105
|
+
commit: "<40-character checked commit>"
|
|
106
|
+
requirements:
|
|
107
|
+
- id: "PIBO-EXAMPLE-001"
|
|
108
|
+
status: "implemented"
|
|
109
|
+
sources: [{ path: "src/example.ts", symbol: "publicSurface" }]
|
|
110
|
+
tests: [{ path: "test/example.test.mjs", name: "proves the behavior" }]
|
|
111
|
+
public: ["<command, route, type, table, or plugin id>"]
|
|
112
|
+
failures: ["<failure or security behavior>"]
|
|
113
|
+
confidence: "high"
|
|
114
|
+
---
|
|
162
115
|
|
|
163
|
-
|
|
116
|
+
# Scope
|
|
117
|
+
# Current behavior
|
|
118
|
+
# Requirements and invariants
|
|
119
|
+
## Requirement: PIBO-EXAMPLE-001: <Implemented behavior>
|
|
120
|
+
# Interfaces and ownership
|
|
121
|
+
# Failure and security behavior
|
|
122
|
+
# Known limits
|
|
123
|
+
# Verification and traceability
|
|
124
|
+
# Related concepts
|
|
125
|
+
```
|
|
164
126
|
|
|
165
|
-
|
|
127
|
+
Use `status: stable` only after source and test reconciliation. Add `verified` only after an actual check; authorship or a passing formatter is not verification.
|
|
166
128
|
|
|
167
|
-
|
|
168
|
-
|---|---|---|---|
|
|
169
|
-
| REQ-001 | [Scenario] | [Plan or task] | Pending |
|
|
170
|
-
```
|
|
129
|
+
Requirement `confidence` is exactly `high`, `medium`, or `low`. Do not invent numeric levels, extra labels, or synonyms.
|
|
171
130
|
|
|
172
131
|
## Minimal spec
|
|
173
132
|
|
|
174
|
-
For small
|
|
133
|
+
For a small implemented contract, keep the required frontmatter and traceability above, then use the shortest body that remains verifiable:
|
|
175
134
|
|
|
176
135
|
```markdown
|
|
177
|
-
#
|
|
178
|
-
|
|
179
|
-
##
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
### In Scope
|
|
183
|
-
### Out of Scope
|
|
184
|
-
## Requirements
|
|
185
|
-
## Acceptance Criteria
|
|
186
|
-
## Assumptions / Open Questions
|
|
136
|
+
# Scope
|
|
137
|
+
# Current behavior
|
|
138
|
+
## Requirement: PIBO-EXAMPLE-001: <Implemented behavior>
|
|
139
|
+
# Failure behavior
|
|
140
|
+
# Verification
|
|
187
141
|
```
|
|
188
142
|
|
|
189
|
-
Use
|
|
143
|
+
Use a Plan, not a Specification, when the behavior will be implemented later.
|
|
190
144
|
|
|
191
145
|
## Requirement rules
|
|
192
146
|
|
|
@@ -195,7 +149,7 @@ Write requirements as behavior contracts.
|
|
|
195
149
|
Good:
|
|
196
150
|
|
|
197
151
|
```markdown
|
|
198
|
-
### Requirement: Dev gateway status is discoverable
|
|
152
|
+
### Requirement: PIBO-GATEWAY-001: Dev gateway status is discoverable
|
|
199
153
|
|
|
200
154
|
The CLI MUST show whether the dev gateway is running, its PID when known, and the command to inspect logs.
|
|
201
155
|
|
|
@@ -208,7 +162,7 @@ The CLI MUST show whether the dev gateway is running, its PID when known, and th
|
|
|
208
162
|
Weak:
|
|
209
163
|
|
|
210
164
|
```markdown
|
|
211
|
-
### Requirement: Improve gateway status
|
|
165
|
+
### Requirement: PIBO-GATEWAY-001: Improve gateway status
|
|
212
166
|
Make gateway status better and more robust.
|
|
213
167
|
```
|
|
214
168
|
|
|
@@ -228,6 +182,16 @@ If visual or behavioral parity is required, add acceptance checks that compare t
|
|
|
228
182
|
|
|
229
183
|
For user-facing UI, CLI, TUI, gateway, runtime, auth, or agent-routing specs, include at least one realistic validation scenario for the default user path when feasible. Fake data, demo mode, mocks, and render snapshots are useful, but they should not be the only acceptance evidence for behavior users will exercise directly unless the real path is unavailable or explicitly out of scope.
|
|
230
184
|
|
|
185
|
+
Record concrete verification evidence where it applies:
|
|
186
|
+
|
|
187
|
+
- source evidence: exact paths, symbols, commands, routes, types, tables, or other public surfaces inspected;
|
|
188
|
+
- test evidence: exact test paths, cases, and commands run;
|
|
189
|
+
- build evidence: the exact build or type-check command and result;
|
|
190
|
+
- browser evidence: the exercised user flow, relevant viewport, and console, network, or DOM checks;
|
|
191
|
+
- Pibo2 evidence: the worker, session, command, or runtime flow and its observable result.
|
|
192
|
+
|
|
193
|
+
Do not replace these facts with an undefined verification scale. Set requirement `confidence` to exactly one of `high`, `medium`, or `low`, and use it only for confidence in the traced claim, not as a substitute for evidence.
|
|
194
|
+
|
|
231
195
|
## Scenario rules
|
|
232
196
|
|
|
233
197
|
Prefer GIVEN / WHEN / THEN for user-visible behavior and system contracts. Use WHEN / THEN only for simple event-response behavior.
|
|
@@ -239,57 +203,36 @@ Cover at least:
|
|
|
239
203
|
- invalid input or permission failure
|
|
240
204
|
- migration or compatibility path when relevant
|
|
241
205
|
|
|
242
|
-
##
|
|
206
|
+
## Plan structure
|
|
243
207
|
|
|
244
|
-
Use `
|
|
208
|
+
Use a `Plan` concept under `docs/plans/` to explain intent before implementation.
|
|
245
209
|
|
|
246
210
|
```markdown
|
|
247
|
-
#
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
### New Capabilities
|
|
256
|
-
- `<kebab-name>`: [brief behavior area]
|
|
257
|
-
|
|
258
|
-
### Modified Capabilities
|
|
259
|
-
- `<existing-name>`: [changed behavior]
|
|
260
|
-
|
|
261
|
-
## Impact
|
|
262
|
-
|
|
263
|
-
- **Code:** ...
|
|
264
|
-
- **APIs / CLI:** ...
|
|
265
|
-
- **Data:** ...
|
|
266
|
-
- **Auth / Security:** ...
|
|
267
|
-
- **Docs:** ...
|
|
211
|
+
# Context
|
|
212
|
+
# Goal
|
|
213
|
+
# Non-goals
|
|
214
|
+
# Work
|
|
215
|
+
# Acceptance
|
|
216
|
+
# Risks and rollback
|
|
217
|
+
# Completion and successors
|
|
268
218
|
```
|
|
269
219
|
|
|
270
220
|
## Design structure
|
|
271
221
|
|
|
272
|
-
Use `
|
|
222
|
+
Use a `Decision Record` under `docs/project/decisions/` when technical choices must outlive the plan. Use `type: "Decision Record"` and `authority: "supporting"`.
|
|
273
223
|
|
|
274
224
|
```markdown
|
|
275
|
-
#
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
- **Choice:** ...
|
|
282
|
-
- **Rationale:** ...
|
|
283
|
-
- **Alternatives considered:** ...
|
|
284
|
-
|
|
285
|
-
## Risks / Trade-offs
|
|
286
|
-
## Migration / Rollback
|
|
287
|
-
## Open Questions
|
|
225
|
+
# Context
|
|
226
|
+
# Decision
|
|
227
|
+
# Alternatives
|
|
228
|
+
# Consequences
|
|
229
|
+
# Rollback
|
|
230
|
+
# Evidence
|
|
288
231
|
```
|
|
289
232
|
|
|
290
233
|
## Tasks structure
|
|
291
234
|
|
|
292
|
-
|
|
235
|
+
Keep executable tasks in the owning Plan only after the goal and acceptance conditions are stable enough to act on.
|
|
293
236
|
|
|
294
237
|
```markdown
|
|
295
238
|
# Tasks: [Change]
|
|
@@ -312,15 +255,14 @@ Tasks should be small enough for one agent session. Include file paths and valid
|
|
|
312
255
|
|
|
313
256
|
Before treating a spec as ready, check:
|
|
314
257
|
|
|
315
|
-
- [ ] The
|
|
316
|
-
- [ ]
|
|
317
|
-
- [ ] Scope has both in-scope and out-of-scope items.
|
|
258
|
+
- [ ] The file is a conformant OKF concept under `docs/specs/` and has one ledger owner.
|
|
259
|
+
- [ ] Every claim describes implemented behavior at `traceability.commit`.
|
|
318
260
|
- [ ] Requirements use MUST or SHALL for mandatory behavior.
|
|
319
261
|
- [ ] Each requirement has acceptance checks or scenarios.
|
|
320
262
|
- [ ] Edge cases include failure and empty-state behavior where relevant.
|
|
321
|
-
- [ ]
|
|
322
|
-
- [ ]
|
|
323
|
-
- [ ]
|
|
263
|
+
- [ ] Every requirement names exact source paths, symbols or public surfaces, tests or an explicit source-inspected gap, failure behavior, and `confidence` set to `high`, `medium`, or `low`.
|
|
264
|
+
- [ ] Planned work and open product choices live in a Plan; durable rationale lives in a Decision Record.
|
|
265
|
+
- [ ] Generated indexes and the explicit `docs/log.md` entry link the concept.
|
|
324
266
|
- [ ] The spec is concise, concrete, and free of promotional language.
|
|
325
267
|
|
|
326
268
|
## Writing style
|
|
@@ -10,6 +10,24 @@ license: MIT
|
|
|
10
10
|
|
|
11
11
|
Design comprehensive, production-grade Product Requirements Documents (PRDs) that bridge the gap between business vision and technical execution. This skill works for modern software systems, ensuring that requirements are clearly defined.
|
|
12
12
|
|
|
13
|
+
## Pibo documentation contract
|
|
14
|
+
|
|
15
|
+
When saving a PRD in this repository, read `docs/index.md` and `docs/project/documentation-profile.md`. A PRD describes intended work, so save it as a conformant `Plan` under `docs/plans/`, with `authority: "directive"`; never save planned behavior as a current Specification. Use the required profile fields, lowercase kebab-case, one migration-ledger record, generated indexes, and an explicit `docs/log.md` entry. Keep this runtime-loaded `SKILL.md` in its native frontmatter format.
|
|
16
|
+
|
|
17
|
+
Start a saved PRD with:
|
|
18
|
+
|
|
19
|
+
```yaml
|
|
20
|
+
---
|
|
21
|
+
type: "Plan"
|
|
22
|
+
title: "<title>"
|
|
23
|
+
description: "<one-sentence intended outcome.>"
|
|
24
|
+
tags: ["<subject>"]
|
|
25
|
+
status: "draft"
|
|
26
|
+
authority: "directive"
|
|
27
|
+
generated: { by: "<actor/version>", at: "<ISO-8601 datetime>" }
|
|
28
|
+
---
|
|
29
|
+
```
|
|
30
|
+
|
|
13
31
|
## When to Use
|
|
14
32
|
|
|
15
33
|
Use this skill when:
|