@nolrm/contextkit 1.0.2 → 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 CHANGED
@@ -162,7 +162,7 @@ ContextKit installs reusable slash commands for supported platforms:
162
162
  | `/doc-arch` | Generate architecture docs — stack-aware (Level 1). Output: `docs/<topic>.md`, or `docs/architecture.md` if no topic given. Pass a topic name, PR number, or leave blank to infer from branch. |
163
163
  | `/doc-feature` | Generate feature-level docs (`docs/features/<name>.md`) — stack-aware (Level 2) |
164
164
  | `/doc-component` | Generate component-level docs colocated with the target file — stack-aware (Level 3) |
165
- | `/spec` | Turn a product overview into an implementation-ready spec — UX flows, DB schema, API contracts, and phased build plan |
165
+ | `/spec` | Turn a product overview into a reference spec — data model, API contracts, UX flows, and squad-ready stories. Single CTO pass per scope. |
166
166
  | `/spec-component` | Write a component spec (MD-first) before any code is created |
167
167
  | `/squad` | Kick off a squad task — one task or many (auto-detects batch mode). Pushes back with clarifying questions if the task is vague. |
168
168
  | `/squad-architect` | Design the technical plan from the PO spec |
@@ -170,6 +170,7 @@ ContextKit installs reusable slash commands for supported platforms:
170
170
  | `/squad-test` | Classify test levels, write and run tests against acceptance criteria |
171
171
  | `/squad-review` | Review the full pipeline and give a verdict |
172
172
  | `/squad-doc` | Create companion `.md` files for new/modified code after review passes |
173
+ | `/squad-spec [scope]` | Load a spec scope and run the full pipeline for every story. Use with `/loop /clear /squad-spec [scope]` for context-safe continuous execution. |
173
174
  | `/squad-go` | Extract tasks from the current conversation and run the full pipeline immediately — no second command needed |
174
175
  | `/squad-auto` | Auto-run the full pipeline after `/squad` kickoff (sequential) |
175
176
  | `/squad-auto-parallel` | Auto-run the pipeline in parallel using Claude Code agents (Claude Code only) |
@@ -277,46 +278,36 @@ If you have a screenshot, mockup, or design image relevant to the task, paste or
277
278
 
278
279
  ## Spec Pipeline
279
280
 
280
- The spec pipeline turns a high-level product overview into an implementation-ready spec. It runs before the squad — producing the UX flows, DB schema, API contracts, and phased build plan that make stories possible.
281
+ The spec pipeline turns a high-level product overview into a full reference spec data model, API contracts, UX flows, and squad-ready stories. It runs before the squad, one scope at a time.
281
282
 
282
283
  ```bash
283
284
  /spec # Start or continue — picks up the next unchecked scope automatically
284
285
  /spec 02-jobs # Run a specific scope by name
285
286
  /spec --redo 01-identity-auth # Re-run a completed scope from scratch
287
+ /spec --reset # Delete the entire spec/ folder and start over
286
288
  ```
287
289
 
288
290
  ### How It Works
289
291
 
290
- `/spec` reads a product overview file (`PROJECT_OVERVIEW.md`, `OVERVIEW.md`, `BRIEF.md`, or any `.md` file you point it to) and runs a multi-round pipeline for each scope:
292
+ Each `/spec` run is a single inline CTO pass no sub-agents, no revision rounds. The CTO reads the overview and any prior scope specs (for consistency), then writes the full `SPEC.md` for that scope.
291
293
 
292
- | Round | Who runs | What happens |
293
- |-------|----------|-------------|
294
- | 0 — Brief | CTO | Reads the overview, defines scope boundaries, writes a brief all agents share |
295
- | 1 — Domain experts | UX, Data, Systems, Planner (parallel) | Each produces their section independently from the brief |
296
- | 2 — Challenges | CTO | Reads all four sections, writes challenges — gaps, contradictions, missing decisions |
297
- | 3 — Revisions | UX, Data, Systems, Planner (parallel) | Each addresses the CTO's challenges, flags unresolvable items as OPEN DECISIONs |
298
- | Final — Author | CTO | Resolves open decisions, writes the unified `SPEC.md` |
294
+ Each `SPEC.md` contains: data model (full schema + ERD), API contracts (all endpoints with request/response), UX flows (key journeys and edge cases), a story table with sizes and dependencies, and copy-paste `/squad` commands for every story.
299
295
 
300
296
  ### Output Structure
301
297
 
302
- Each scope produces a folder with all working artifacts and a final `SPEC.md`:
298
+ Each scope produces one `SPEC.md`. Progress and index files track the full project:
303
299
 
304
300
  ```
305
301
  spec/
306
302
  PROGRESS.md ← scope checklist, updated after each run
307
- INDEX.md ← master TOC linking all SPEC.md files
303
+ INDEX.md ← links to every completed SPEC.md
308
304
 
309
305
  01-identity-auth/
310
- 00-brief.md CTO's scoping brief
311
- 01-ux.md ← UX flows and screens
312
- 02-data.md ← DB schema and relationships
313
- 03-systems.md ← API contracts and services
314
- 04-plan.md ← build phases and stories
315
- 05-challenges.md ← CTO's Round 2 challenges
316
- SPEC.md ← final unified spec for this scope
317
- ```
306
+ SPEC.md full spec for this scope
318
307
 
319
- Run `/spec` once per scope. Each run appends to `spec/INDEX.md`. When all scopes are done, feed individual `SPEC.md` files into `/squad` as implementation tasks.
308
+ 02-jobs-scheduling/
309
+ SPEC.md
310
+ ```
320
311
 
321
312
  ### First Run
322
313
 
@@ -324,6 +315,19 @@ On the first run, the CTO reads the entire overview and identifies all logical s
324
315
 
325
316
  If no standard overview file is found, `/spec` lists all `.md` files in the directory and asks you to pick.
326
317
 
318
+ ### From Spec to Squad
319
+
320
+ Each `SPEC.md` ends with a `### Squad Commands` section — copy-paste `/squad` commands for every story. Run them one at a time, or use `/squad-spec` to implement an entire scope automatically:
321
+
322
+ ```bash
323
+ # Option 1 — one story at a time
324
+ /squad "S1 — Workspace schema: create workspaces table with RLS policies"
325
+ /squad-auto
326
+
327
+ # Option 2 — entire scope, context-safe
328
+ /loop /clear /squad-spec 01-identity-auth
329
+ ```
330
+
327
331
  ---
328
332
 
329
333
  ## Hooks & Quality Gates
@@ -985,6 +985,10 @@ Any design decisions, trade-offs, or open questions to resolve before coding.
985
985
  `${this.repoUrl}/commands/squad/squad-go.md`,
986
986
  '.contextkit/commands/squad/squad-go.md'
987
987
  );
988
+ await this.downloadManager.downloadFile(
989
+ `${this.repoUrl}/commands/squad/squad-spec.md`,
990
+ '.contextkit/commands/squad/squad-spec.md'
991
+ );
988
992
  await this.downloadManager.downloadFile(
989
993
  `${this.repoUrl}/commands/dev/health-check.md`,
990
994
  '.contextkit/commands/dev/health-check.md'
@@ -995,38 +999,6 @@ Any design decisions, trade-offs, or open questions to resolve before coding.
995
999
  `${this.repoUrl}/commands/spec/spec.md`,
996
1000
  '.contextkit/commands/spec/spec.md'
997
1001
  );
998
- await this.downloadManager.downloadFile(
999
- `${this.repoUrl}/commands/spec/spec-init.md`,
1000
- '.contextkit/commands/spec/spec-init.md'
1001
- );
1002
- await this.downloadManager.downloadFile(
1003
- `${this.repoUrl}/commands/spec/spec-brief.md`,
1004
- '.contextkit/commands/spec/spec-brief.md'
1005
- );
1006
- await this.downloadManager.downloadFile(
1007
- `${this.repoUrl}/commands/spec/spec-ux.md`,
1008
- '.contextkit/commands/spec/spec-ux.md'
1009
- );
1010
- await this.downloadManager.downloadFile(
1011
- `${this.repoUrl}/commands/spec/spec-data.md`,
1012
- '.contextkit/commands/spec/spec-data.md'
1013
- );
1014
- await this.downloadManager.downloadFile(
1015
- `${this.repoUrl}/commands/spec/spec-systems.md`,
1016
- '.contextkit/commands/spec/spec-systems.md'
1017
- );
1018
- await this.downloadManager.downloadFile(
1019
- `${this.repoUrl}/commands/spec/spec-planner.md`,
1020
- '.contextkit/commands/spec/spec-planner.md'
1021
- );
1022
- await this.downloadManager.downloadFile(
1023
- `${this.repoUrl}/commands/spec/spec-challenge.md`,
1024
- '.contextkit/commands/spec/spec-challenge.md'
1025
- );
1026
- await this.downloadManager.downloadFile(
1027
- `${this.repoUrl}/commands/spec/spec-author.md`,
1028
- '.contextkit/commands/spec/spec-author.md'
1029
- );
1030
1002
 
1031
1003
  // Download doc family commands
1032
1004
  await this.downloadManager.downloadFile(
@@ -348,36 +348,8 @@ class UpdateCommand {
348
348
  '.contextkit/commands/spec/spec.md'
349
349
  );
350
350
  await this.downloadManager.downloadFile(
351
- `${this.repoUrl}/commands/spec/spec-init.md`,
352
- '.contextkit/commands/spec/spec-init.md'
353
- );
354
- await this.downloadManager.downloadFile(
355
- `${this.repoUrl}/commands/spec/spec-brief.md`,
356
- '.contextkit/commands/spec/spec-brief.md'
357
- );
358
- await this.downloadManager.downloadFile(
359
- `${this.repoUrl}/commands/spec/spec-ux.md`,
360
- '.contextkit/commands/spec/spec-ux.md'
361
- );
362
- await this.downloadManager.downloadFile(
363
- `${this.repoUrl}/commands/spec/spec-data.md`,
364
- '.contextkit/commands/spec/spec-data.md'
365
- );
366
- await this.downloadManager.downloadFile(
367
- `${this.repoUrl}/commands/spec/spec-systems.md`,
368
- '.contextkit/commands/spec/spec-systems.md'
369
- );
370
- await this.downloadManager.downloadFile(
371
- `${this.repoUrl}/commands/spec/spec-planner.md`,
372
- '.contextkit/commands/spec/spec-planner.md'
373
- );
374
- await this.downloadManager.downloadFile(
375
- `${this.repoUrl}/commands/spec/spec-challenge.md`,
376
- '.contextkit/commands/spec/spec-challenge.md'
377
- );
378
- await this.downloadManager.downloadFile(
379
- `${this.repoUrl}/commands/spec/spec-author.md`,
380
- '.contextkit/commands/spec/spec-author.md'
351
+ `${this.repoUrl}/commands/squad/squad-spec.md`,
352
+ '.contextkit/commands/squad/squad-spec.md'
381
353
  );
382
354
 
383
355
  // Download doc family commands
@@ -26,6 +26,7 @@ class ClaudeIntegration extends BaseIntegration {
26
26
  '.claude/skills/squad-reset/SKILL.md',
27
27
  '.claude/skills/squad-doc/SKILL.md',
28
28
  '.claude/skills/squad-go/SKILL.md',
29
+ '.claude/skills/squad-spec/SKILL.md',
29
30
  '.claude/skills/spec/SKILL.md',
30
31
  '.claude/skills/spec-component/SKILL.md',
31
32
  '.claude/skills/ck/SKILL.md',
@@ -490,6 +491,24 @@ Use \`/squad\` instead when you want to review specs before execution starts.
490
491
  `
491
492
  );
492
493
 
494
+ await this.writeGeneratedFile(
495
+ '.claude/skills/squad-spec/SKILL.md',
496
+ `---
497
+ description: Implement every story in a spec scope — loops continuously with context cleared between stories. Run /spec first to generate the scope.
498
+ argument-hint: '[scope-slug]'
499
+ allowed-tools: Read, Edit, Write, Glob, Grep, Bash
500
+ effort: high
501
+ context: fork
502
+ ---
503
+
504
+ Read \`.contextkit/commands/squad/squad-spec.md\` and execute it.
505
+
506
+ Processes one story per invocation. Run with \`/loop /clear /squad-spec [scope]\` to implement all stories continuously with a clean context between each one.
507
+
508
+ Run \`/spec\` first to generate the scope, then \`/squad-spec [scope-slug]\` to implement it.
509
+ `
510
+ );
511
+
493
512
  // Doc family skills
494
513
  await this.writeGeneratedFile(
495
514
  '.claude/skills/doc-arch/SKILL.md',
@@ -610,7 +629,8 @@ Load and apply the project's ContextKit standards before taking action in an age
610
629
  console.log(chalk.dim(' /squad-review — Review and write verdict'));
611
630
  console.log(
612
631
  chalk.dim(
613
- ' /squad-go — Extract tasks from conversation and run full pipeline'
632
+ ' /squad-go — Extract tasks from conversation and run full pipeline',
633
+ ' /squad-spec [scope] — Load a spec scope and run the full pipeline for every story'
614
634
  )
615
635
  );
616
636
  console.log(chalk.dim(' /squad-auto — Auto-run full pipeline (recommended)'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nolrm/contextkit",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "ContextKit - Context Engineering + Agentic AI Pipelines. Scaffold structured standards for AI assistants and run autonomous multi-role pipelines (PO → Architect → Dev → Test → Review → Doc) grounded by that same context layer. Works with Cursor, Claude Code, Copilot, Codex, Gemini, Aider, and more.",
5
5
  "main": "lib/index.js",
6
6
  "bin": {