@kynetic-ai/spec 0.8.0 → 0.9.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/dist/acp/client.d.ts +7 -0
- package/dist/acp/client.d.ts.map +1 -1
- package/dist/acp/client.js +10 -0
- package/dist/acp/client.js.map +1 -1
- package/dist/cli/batch-exec.d.ts.map +1 -1
- package/dist/cli/batch-exec.js +47 -23
- package/dist/cli/batch-exec.js.map +1 -1
- package/dist/cli/commands/agents.d.ts +1 -1
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +2 -1
- package/dist/cli/commands/agents.js.map +1 -1
- package/dist/cli/commands/batch.js +1 -1
- package/dist/cli/commands/batch.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +4 -6
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/item.d.ts.map +1 -1
- package/dist/cli/commands/item.js +13 -2
- package/dist/cli/commands/item.js.map +1 -1
- package/dist/cli/commands/merge-driver.d.ts.map +1 -1
- package/dist/cli/commands/merge-driver.js +8 -3
- package/dist/cli/commands/merge-driver.js.map +1 -1
- package/dist/cli/commands/ralph.d.ts +53 -0
- package/dist/cli/commands/ralph.d.ts.map +1 -1
- package/dist/cli/commands/ralph.js +342 -81
- package/dist/cli/commands/ralph.js.map +1 -1
- package/dist/cli/commands/session/commands.d.ts.map +1 -1
- package/dist/cli/commands/session/commands.js +8 -0
- package/dist/cli/commands/session/commands.js.map +1 -1
- package/dist/cli/commands/session/compact.d.ts +13 -0
- package/dist/cli/commands/session/compact.d.ts.map +1 -0
- package/dist/cli/commands/session/compact.js +207 -0
- package/dist/cli/commands/session/compact.js.map +1 -0
- package/dist/cli/commands/session/log.d.ts +2 -0
- package/dist/cli/commands/session/log.d.ts.map +1 -1
- package/dist/cli/commands/session/log.js +12 -2
- package/dist/cli/commands/session/log.js.map +1 -1
- package/dist/cli/commands/setup.d.ts +4 -0
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +55 -6
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +16 -13
- package/dist/cli/commands/task.js.map +1 -1
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +34 -25
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/validators.d.ts +4 -0
- package/dist/cli/validators.d.ts.map +1 -1
- package/dist/cli/validators.js +12 -0
- package/dist/cli/validators.js.map +1 -1
- package/dist/parser/shadow.d.ts.map +1 -1
- package/dist/parser/shadow.js +170 -72
- package/dist/parser/shadow.js.map +1 -1
- package/dist/parser/skill-render.d.ts +14 -0
- package/dist/parser/skill-render.d.ts.map +1 -1
- package/dist/parser/skill-render.js +14 -4
- package/dist/parser/skill-render.js.map +1 -1
- package/dist/parser/validate.d.ts.map +1 -1
- package/dist/parser/validate.js +35 -32
- package/dist/parser/validate.js.map +1 -1
- package/dist/parser/yaml.d.ts.map +1 -1
- package/dist/parser/yaml.js +4 -2
- package/dist/parser/yaml.js.map +1 -1
- package/dist/ralph/index.d.ts +1 -1
- package/dist/ralph/index.d.ts.map +1 -1
- package/dist/ralph/index.js +1 -1
- package/dist/ralph/index.js.map +1 -1
- package/dist/ralph/subagent.d.ts +31 -0
- package/dist/ralph/subagent.d.ts.map +1 -1
- package/dist/ralph/subagent.js +91 -18
- package/dist/ralph/subagent.js.map +1 -1
- package/dist/sessions/store.d.ts +57 -0
- package/dist/sessions/store.d.ts.map +1 -1
- package/dist/sessions/store.js +337 -9
- package/dist/sessions/store.js.map +1 -1
- package/package.json +1 -1
- package/plugin/.claude-plugin/marketplace.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/plugins/kspec/skills/create-workflow/SKILL.md +11 -1
- package/plugin/plugins/kspec/skills/{observations → observe}/SKILL.md +1 -1
- package/plugin/plugins/kspec/skills/plan/SKILL.md +11 -1
- package/plugin/plugins/kspec/skills/review/SKILL.md +2 -0
- package/plugin/plugins/kspec/skills/task-work/SKILL.md +11 -1
- package/plugin/plugins/kspec/skills/triage-automation/SKILL.md +1 -0
- package/plugin/plugins/kspec/skills/triage-inbox/SKILL.md +1 -1
- package/plugin/plugins/kspec/skills/writing-specs/SKILL.md +1 -1
- package/templates/agents-sections/01-quick-start.md +1 -0
- package/templates/skills/create-workflow/SKILL.md +11 -1
- package/templates/skills/manifest.yaml +1 -1
- package/templates/skills/plan/SKILL.md +11 -1
- package/templates/skills/review/SKILL.md +2 -0
- package/templates/skills/task-work/SKILL.md +11 -1
- package/templates/skills/triage-automation/SKILL.md +1 -0
- package/templates/skills/triage-inbox/SKILL.md +1 -1
- package/templates/skills/writing-specs/SKILL.md +1 -1
- /package/templates/skills/{observations → observe}/SKILL.md +0 -0
|
@@ -133,6 +133,16 @@ git add templates/skills/<name>/SKILL.md
|
|
|
133
133
|
git commit -m "feat: add <name> skill for workflow integration"
|
|
134
134
|
```
|
|
135
135
|
|
|
136
|
+
### Cross-Skill Consistency Check (When Updating Existing Skills)
|
|
137
|
+
|
|
138
|
+
If your workflow or wording change is cross-cutting, run this quick consistency pass before committing:
|
|
139
|
+
|
|
140
|
+
1. List related skills/templates that describe the same concept (for example: `codex`, `pr-review`, `local-review`, review templates).
|
|
141
|
+
2. Verify each related file is either updated in the same PR or explicitly noted as intentionally unchanged.
|
|
142
|
+
3. Add a short checklist in PR notes showing which related files were reviewed.
|
|
143
|
+
|
|
144
|
+
This prevents partial updates where one skill changes but sibling skills keep outdated guidance.
|
|
145
|
+
|
|
136
146
|
## Step Design Guidelines
|
|
137
147
|
|
|
138
148
|
### Action Steps
|
|
@@ -231,5 +241,5 @@ kspec agents generate
|
|
|
231
241
|
## Integration
|
|
232
242
|
|
|
233
243
|
- **`/kspec:reflect`** — Session reflections surface patterns worth formalizing
|
|
234
|
-
- **`/kspec:
|
|
244
|
+
- **`/kspec:observe`** — Friction observations may reveal missing workflows
|
|
235
245
|
- **`kspec agents generate`** — Regenerate after creating workflows
|
|
@@ -281,6 +281,16 @@ kspec task set @task-slug --depends-on @other-task
|
|
|
281
281
|
kspec plan get @plan-slug
|
|
282
282
|
```
|
|
283
283
|
|
|
284
|
+
If derived tasks are too generic to execute without chat history, add a structured task note immediately:
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
kspec task note @task-slug "Execution context:
|
|
288
|
+
- Background: why this task exists
|
|
289
|
+
- Scope: concrete boundaries for this task
|
|
290
|
+
- Files: exact files/areas to touch
|
|
291
|
+
- Verification: commands/tests to run"
|
|
292
|
+
```
|
|
293
|
+
|
|
284
294
|
## Plan Lifecycle
|
|
285
295
|
|
|
286
296
|
```
|
|
@@ -340,4 +350,4 @@ kspec validate --alignment
|
|
|
340
350
|
- **`/kspec:writing-specs`** — Spec authoring details (types, AC format, traits)
|
|
341
351
|
- **`/kspec:task-work`** — After specs are created, work on derived tasks
|
|
342
352
|
- **`/kspec:triage`** — Inbox items may trigger plan creation
|
|
343
|
-
- **`/kspec:
|
|
353
|
+
- **`/kspec:observe`** — Friction during planning becomes observations
|
|
@@ -109,6 +109,7 @@ grep -rn "// AC: @spec-ref" tests/
|
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
Each AC listed in the spec output must have a corresponding annotation. Missing annotations are MUST-FIX.
|
|
112
|
+
Before accepting coverage, confirm each annotation matches the AC text from `kspec item get @spec-ref` (not only the `ac-N` label).
|
|
112
113
|
|
|
113
114
|
## Trait AC Coverage
|
|
114
115
|
|
|
@@ -149,6 +150,7 @@ If a trait AC genuinely doesn't apply to this spec, annotate it with a reason:
|
|
|
149
150
|
```
|
|
150
151
|
|
|
151
152
|
The annotation must exist so coverage tooling can track it.
|
|
153
|
+
Annotations must be standalone line comments (`// AC:` or `# AC:`), not embedded inside block/JSDoc comments.
|
|
152
154
|
|
|
153
155
|
### No Traits?
|
|
154
156
|
|
|
@@ -120,6 +120,16 @@ Note when you:
|
|
|
120
120
|
- Encounter a blocker
|
|
121
121
|
- Complete a significant piece
|
|
122
122
|
|
|
123
|
+
For tasks that are missing standalone context (for example, generic derived notes), add one structured note before deep implementation work:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
kspec task note @ref "Execution context:
|
|
127
|
+
- Background: why this task matters
|
|
128
|
+
- Scope: what is in/out for this task
|
|
129
|
+
- Files: exact files expected to change
|
|
130
|
+
- Verification: tests/commands that prove completion"
|
|
131
|
+
```
|
|
132
|
+
|
|
123
133
|
### 5. Commit
|
|
124
134
|
|
|
125
135
|
Include task and spec trailers:
|
|
@@ -315,5 +325,5 @@ kspec session start
|
|
|
315
325
|
- **`/kspec:writing-specs`** — Create specs before deriving tasks
|
|
316
326
|
- **`/kspec:plan`** — Plans create specs that become tasks
|
|
317
327
|
- **`/kspec:review`** — Review checks AC coverage and code quality
|
|
318
|
-
- **`/kspec:
|
|
328
|
+
- **`/kspec:observe`** — Capture friction found during task work
|
|
319
329
|
- **`/kspec:reflect`** — Session reflection after completing tasks
|
|
@@ -67,6 +67,7 @@ For each task shown:
|
|
|
67
67
|
- Is the spec appropriate for this task?
|
|
68
68
|
- Are the ACs adequate and testable?
|
|
69
69
|
- Does the task have sufficient context?
|
|
70
|
+
- Can the task be executed from task data alone (without hidden chat/session context)?
|
|
70
71
|
- If yes: `kspec task set @ref --automation eligible`
|
|
71
72
|
- If no: Fix issues or mark `needs_review` with specific reason
|
|
72
73
|
|
|
@@ -228,5 +228,5 @@ At session end, provide summary:
|
|
|
228
228
|
## Integration
|
|
229
229
|
|
|
230
230
|
- **`/kspec:reflect`** — Session reflection may generate inbox items for triage
|
|
231
|
-
- **`/kspec:
|
|
231
|
+
- **`/kspec:observe`** — Captures systemic patterns found during triage
|
|
232
232
|
- **`kspec session start`** — Shows inbox count for triage awareness
|
|
@@ -350,5 +350,5 @@ The derived task gets `spec_ref: @feature-slug` automatically.
|
|
|
350
350
|
- **`/kspec:plan`** — Plans create specs via import or manual creation
|
|
351
351
|
- **`/kspec:task-work`** — Tasks reference specs; AC guides implementation
|
|
352
352
|
- **`/kspec:triage`** — Inbox items may reveal spec gaps
|
|
353
|
-
- **`/kspec:
|
|
353
|
+
- **`/kspec:observe`** — Friction may indicate missing specs
|
|
354
354
|
- **`/kspec:review`** — Reviews check AC coverage
|
|
@@ -20,3 +20,4 @@ Verify shadow branch health with `kspec shadow status` if you encounter issues.
|
|
|
20
20
|
5. **Always confirm** — Ask before creating or modifying spec items.
|
|
21
21
|
6. **Batch mutations** — Use `kspec batch` for 2+ sequential write operations (one atomic commit).
|
|
22
22
|
7. **Regenerate agent instructions** — Run `kspec agents generate` after changing conventions, workflows, or skills. These are the inputs to `kspec-agents.md`.
|
|
23
|
+
8. **Edit skill sources, not rendered output** — Do not edit `.agents/skills/` directly. Core skills live in `templates/skills/` (+ `templates/skills/manifest.yaml`), while project/local skills live in `.kspec/skills/`. Regenerate rendered files with `kspec skill render`/`kspec setup`.
|
|
@@ -126,6 +126,16 @@ git add templates/skills/<name>/SKILL.md
|
|
|
126
126
|
git commit -m "feat: add <name> skill for workflow integration"
|
|
127
127
|
```
|
|
128
128
|
|
|
129
|
+
### Cross-Skill Consistency Check (When Updating Existing Skills)
|
|
130
|
+
|
|
131
|
+
If your workflow or wording change is cross-cutting, run this quick consistency pass before committing:
|
|
132
|
+
|
|
133
|
+
1. List related skills/templates that describe the same concept (for example: `codex`, `pr-review`, `local-review`, review templates).
|
|
134
|
+
2. Verify each related file is either updated in the same PR or explicitly noted as intentionally unchanged.
|
|
135
|
+
3. Add a short checklist in PR notes showing which related files were reviewed.
|
|
136
|
+
|
|
137
|
+
This prevents partial updates where one skill changes but sibling skills keep outdated guidance.
|
|
138
|
+
|
|
129
139
|
## Step Design Guidelines
|
|
130
140
|
|
|
131
141
|
### Action Steps
|
|
@@ -224,5 +234,5 @@ kspec agents generate
|
|
|
224
234
|
## Integration
|
|
225
235
|
|
|
226
236
|
- **`{skill:reflect}`** — Session reflections surface patterns worth formalizing
|
|
227
|
-
- **`{skill:
|
|
237
|
+
- **`{skill:observe}`** — Friction observations may reveal missing workflows
|
|
228
238
|
- **`kspec agents generate`** — Regenerate after creating workflows
|
|
@@ -9,7 +9,7 @@ skills:
|
|
|
9
9
|
platforms:
|
|
10
10
|
- claude-code
|
|
11
11
|
- codex
|
|
12
|
-
- id:
|
|
12
|
+
- id: observe
|
|
13
13
|
name: Observations
|
|
14
14
|
description: Capture and act on systemic patterns — friction, successes, questions, and ideas. The feedback loop that drives process improvement.
|
|
15
15
|
platforms:
|
|
@@ -274,6 +274,16 @@ kspec task set @task-slug --depends-on @other-task
|
|
|
274
274
|
kspec plan get @plan-slug
|
|
275
275
|
```
|
|
276
276
|
|
|
277
|
+
If derived tasks are too generic to execute without chat history, add a structured task note immediately:
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
kspec task note @task-slug "Execution context:
|
|
281
|
+
- Background: why this task exists
|
|
282
|
+
- Scope: concrete boundaries for this task
|
|
283
|
+
- Files: exact files/areas to touch
|
|
284
|
+
- Verification: commands/tests to run"
|
|
285
|
+
```
|
|
286
|
+
|
|
277
287
|
## Plan Lifecycle
|
|
278
288
|
|
|
279
289
|
```
|
|
@@ -333,4 +343,4 @@ kspec validate --alignment
|
|
|
333
343
|
- **`{skill:writing-specs}`** — Spec authoring details (types, AC format, traits)
|
|
334
344
|
- **`{skill:task-work}`** — After specs are created, work on derived tasks
|
|
335
345
|
- **`{skill:triage}`** — Inbox items may trigger plan creation
|
|
336
|
-
- **`{skill:
|
|
346
|
+
- **`{skill:observe}`** — Friction during planning becomes observations
|
|
@@ -102,6 +102,7 @@ grep -rn "// AC: @spec-ref" tests/
|
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
Each AC listed in the spec output must have a corresponding annotation. Missing annotations are MUST-FIX.
|
|
105
|
+
Before accepting coverage, confirm each annotation matches the AC text from `kspec item get @spec-ref` (not only the `ac-N` label).
|
|
105
106
|
|
|
106
107
|
## Trait AC Coverage
|
|
107
108
|
|
|
@@ -142,6 +143,7 @@ If a trait AC genuinely doesn't apply to this spec, annotate it with a reason:
|
|
|
142
143
|
```
|
|
143
144
|
|
|
144
145
|
The annotation must exist so coverage tooling can track it.
|
|
146
|
+
Annotations must be standalone line comments (`// AC:` or `# AC:`), not embedded inside block/JSDoc comments.
|
|
145
147
|
|
|
146
148
|
### No Traits?
|
|
147
149
|
|
|
@@ -113,6 +113,16 @@ Note when you:
|
|
|
113
113
|
- Encounter a blocker
|
|
114
114
|
- Complete a significant piece
|
|
115
115
|
|
|
116
|
+
For tasks that are missing standalone context (for example, generic derived notes), add one structured note before deep implementation work:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
kspec task note @ref "Execution context:
|
|
120
|
+
- Background: why this task matters
|
|
121
|
+
- Scope: what is in/out for this task
|
|
122
|
+
- Files: exact files expected to change
|
|
123
|
+
- Verification: tests/commands that prove completion"
|
|
124
|
+
```
|
|
125
|
+
|
|
116
126
|
### 5. Commit
|
|
117
127
|
|
|
118
128
|
Include task and spec trailers:
|
|
@@ -308,5 +318,5 @@ kspec session start
|
|
|
308
318
|
- **`{skill:writing-specs}`** — Create specs before deriving tasks
|
|
309
319
|
- **`{skill:plan}`** — Plans create specs that become tasks
|
|
310
320
|
- **`{skill:review}`** — Review checks AC coverage and code quality
|
|
311
|
-
- **`{skill:
|
|
321
|
+
- **`{skill:observe}`** — Capture friction found during task work
|
|
312
322
|
- **`{skill:reflect}`** — Session reflection after completing tasks
|
|
@@ -61,6 +61,7 @@ For each task shown:
|
|
|
61
61
|
- Is the spec appropriate for this task?
|
|
62
62
|
- Are the ACs adequate and testable?
|
|
63
63
|
- Does the task have sufficient context?
|
|
64
|
+
- Can the task be executed from task data alone (without hidden chat/session context)?
|
|
64
65
|
- If yes: `kspec task set @ref --automation eligible`
|
|
65
66
|
- If no: Fix issues or mark `needs_review` with specific reason
|
|
66
67
|
|
|
@@ -221,5 +221,5 @@ At session end, provide summary:
|
|
|
221
221
|
## Integration
|
|
222
222
|
|
|
223
223
|
- **`{skill:reflect}`** — Session reflection may generate inbox items for triage
|
|
224
|
-
- **`{skill:
|
|
224
|
+
- **`{skill:observe}`** — Captures systemic patterns found during triage
|
|
225
225
|
- **`kspec session start`** — Shows inbox count for triage awareness
|
|
@@ -343,5 +343,5 @@ The derived task gets `spec_ref: @feature-slug` automatically.
|
|
|
343
343
|
- **`{skill:plan}`** — Plans create specs via import or manual creation
|
|
344
344
|
- **`{skill:task-work}`** — Tasks reference specs; AC guides implementation
|
|
345
345
|
- **`{skill:triage}`** — Inbox items may reveal spec gaps
|
|
346
|
-
- **`{skill:
|
|
346
|
+
- **`{skill:observe}`** — Friction may indicate missing specs
|
|
347
347
|
- **`{skill:review}`** — Reviews check AC coverage
|
|
File without changes
|