@nolrm/contextkit 1.1.0 → 1.1.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/README.md CHANGED
@@ -72,7 +72,7 @@ contextkit install claude # or: contextkit install (interactive picker)
72
72
  ck claude # creates CLAUDE.md + .claude/rules/ — skips if already up to date
73
73
  ck cursor # creates .cursor/rules/ (scoped .mdc files) — skips if already up to date
74
74
  ck copilot # creates .github/copilot-instructions.md
75
- ck codex # creates AGENTS.md
75
+ ck codex # creates AGENTS.md + .codex/skills/ (24 skills)
76
76
  ck opencode # creates AGENTS.md
77
77
  ck gemini # creates GEMINI.md + .gemini/settings.json
78
78
  ck aider # creates CONVENTIONS.md + .aider/rules.md
@@ -134,10 +134,11 @@ claude "create checkout flow for customer"
134
134
  @.contextkit Create checkout flow for customer
135
135
  ```
136
136
 
137
- **Codex CLI** — reads `AGENTS.md` automatically
137
+ **Codex CLI** — reads `AGENTS.md` automatically + skills in `.codex/skills/`
138
138
 
139
139
  ```bash
140
140
  codex "create checkout flow for customer"
141
+ # Skills available: $spec, $squad, $squad-auto, $squad-spec, $analyze, $ck, and more
141
142
  ```
142
143
 
143
144
  **OpenCode** — reads `AGENTS.md` automatically
@@ -450,7 +451,7 @@ ck install --force # regenerate all files, including user-customized standard
450
451
  ck claude # add or refresh Claude integration — skips if already up to date
451
452
  ck cursor # add or refresh Cursor integration — skips if already up to date
452
453
  ck copilot # add GitHub Copilot integration
453
- ck codex # add Codex CLI integration (AGENTS.md)
454
+ ck codex # add Codex CLI integration (AGENTS.md + .codex/skills/)
454
455
  ck opencode # add OpenCode integration (AGENTS.md)
455
456
  ck gemini # add Gemini CLI integration (GEMINI.md)
456
457
  ck aider # add Aider integration (CONVENTIONS.md)
@@ -7,17 +7,57 @@ class CodexIntegration extends BaseIntegration {
7
7
  this.name = 'codex';
8
8
  this.displayName = 'OpenAI Codex CLI';
9
9
  this.bridgeFiles = ['AGENTS.md'];
10
- this.generatedFiles = [];
11
- this.platformDir = '';
10
+ this.generatedFiles = [
11
+ '.codex/skills/analyze/SKILL.md',
12
+ '.codex/skills/review/SKILL.md',
13
+ '.codex/skills/refactor/SKILL.md',
14
+ '.codex/skills/test/SKILL.md',
15
+ '.codex/skills/doc/SKILL.md',
16
+ '.codex/skills/spec/SKILL.md',
17
+ '.codex/skills/spec-component/SKILL.md',
18
+ '.codex/skills/ck/SKILL.md',
19
+ '.codex/skills/squad/SKILL.md',
20
+ '.codex/skills/squad-architect/SKILL.md',
21
+ '.codex/skills/squad-dev/SKILL.md',
22
+ '.codex/skills/squad-test/SKILL.md',
23
+ '.codex/skills/squad-review/SKILL.md',
24
+ '.codex/skills/squad-auto/SKILL.md',
25
+ '.codex/skills/squad-reset/SKILL.md',
26
+ '.codex/skills/squad-doc/SKILL.md',
27
+ '.codex/skills/squad-go/SKILL.md',
28
+ '.codex/skills/squad-spec/SKILL.md',
29
+ '.codex/skills/doc-arch/SKILL.md',
30
+ '.codex/skills/doc-feature/SKILL.md',
31
+ '.codex/skills/doc-component/SKILL.md',
32
+ '.codex/skills/agent-push-checklist/SKILL.md',
33
+ '.codex/skills/context-budget/SKILL.md',
34
+ '.codex/skills/standards-aware/SKILL.md',
35
+ ];
36
+ this.platformDir = '.codex';
12
37
  }
13
38
 
14
39
  async generateFiles() {
15
- // Bridge file: AGENTS.md (auto-loaded by Codex CLI)
40
+ // Bridge file: AGENTS.md (auto-loaded by Codex)
16
41
  const bridgeContent = `# Project Standards (ContextKit)
17
42
 
18
43
  This project uses [ContextKit](https://github.com/nolrm/contextkit) for AI development standards.
19
44
 
20
- ${this.getStandardsBlock()}
45
+ ## Project Standards
46
+
47
+ Read these files before writing code:
48
+
49
+ - \`.contextkit/standards/code-style.md\` — Coding conventions and style rules
50
+ - \`.contextkit/standards/testing.md\` — Testing patterns and requirements
51
+ - \`.contextkit/standards/architecture.md\` — Architecture decisions and patterns
52
+ - \`.contextkit/standards/ai-guidelines.md\` — AI behavior and usage guidelines
53
+ - \`.contextkit/standards/workflows.md\` — Development workflows and processes
54
+ - \`.contextkit/standards/glossary.md\` — Project terminology and shortcuts
55
+
56
+ ## Product Context
57
+
58
+ - \`.contextkit/product/mission-lite.md\` — Product mission (condensed)
59
+ - \`.contextkit/product/decisions.md\` — Architecture Decision Records
60
+ - \`.contextkit/product/roadmap.md\` — Development roadmap
21
61
 
22
62
  ## Corrections Log
23
63
 
@@ -25,20 +65,357 @@ ${this.getStandardsBlock()}
25
65
 
26
66
  ## Quick Reference
27
67
 
28
- Before writing code, check the relevant standards files above. Always follow the project's established patterns and conventions.`;
68
+ Before writing code, always read the relevant standards files above. ContextKit skills are available in \`.codex/skills/\` — use them to run the spec and squad pipelines.`;
29
69
 
30
70
  await this.writeBridgeFile('AGENTS.md', bridgeContent);
71
+
72
+ // Skills
73
+ await this.writeGeneratedFile(
74
+ '.codex/skills/analyze/SKILL.md',
75
+ `---
76
+ name: analyze
77
+ description: Analyze project and generate customized standards
78
+ ---
79
+
80
+ Read \`.contextkit/commands/dev/analyze.md\` and execute the analysis workflow for this project.
81
+
82
+ Scan the codebase structure, detect frameworks and patterns, then generate customized standards files in \`.contextkit/standards/\`.
83
+ `
84
+ );
85
+
86
+ await this.writeGeneratedFile(
87
+ '.codex/skills/review/SKILL.md',
88
+ `---
89
+ name: review
90
+ description: Review current changes for correctness and standards compliance
91
+ ---
92
+
93
+ Read \`.contextkit/commands/dev/review.md\` and execute the review workflow.
94
+
95
+ Review current changes for correctness, standards compliance, and potential issues.
96
+ `
97
+ );
98
+
99
+ await this.writeGeneratedFile(
100
+ '.codex/skills/refactor/SKILL.md',
101
+ `---
102
+ name: refactor
103
+ description: Improve code structure without changing behavior
104
+ ---
105
+
106
+ Read \`.contextkit/commands/dev/refactor.md\` and execute the refactoring workflow.
107
+
108
+ Improve code structure without changing behavior, keeping tests green at every step.
109
+ `
110
+ );
111
+
112
+ await this.writeGeneratedFile(
113
+ '.codex/skills/test/SKILL.md',
114
+ `---
115
+ name: test
116
+ description: Generate or run tests covering happy paths, edge cases, and errors
117
+ ---
118
+
119
+ Read \`.contextkit/commands/dev/run-tests.md\` and execute the testing workflow.
120
+
121
+ Generate or run tests for the specified code, covering happy paths, edge cases, and errors.
122
+ `
123
+ );
124
+
125
+ await this.writeGeneratedFile(
126
+ '.codex/skills/doc/SKILL.md',
127
+ `---
128
+ name: doc
129
+ description: Add inline docs, README sections, and usage examples
130
+ ---
131
+
132
+ Read \`.contextkit/commands/docs/add-documentation.md\` and execute the documentation workflow.
133
+
134
+ Add inline docs, README sections, and usage examples for the specified code.
135
+ `
136
+ );
137
+
138
+ await this.writeGeneratedFile(
139
+ '.codex/skills/spec-component/SKILL.md',
140
+ `---
141
+ name: spec-component
142
+ description: Write a component spec (MD-first) before coding begins
143
+ ---
144
+
145
+ Read \`.contextkit/commands/dev/spec-component.md\` and execute the component spec workflow.
146
+
147
+ Write a component spec (MD-first) before any code is created. Scaffold the spec file colocated with the component and wait for review before coding begins.
148
+ `
149
+ );
150
+
151
+ await this.writeGeneratedFile(
152
+ '.codex/skills/spec/SKILL.md',
153
+ `---
154
+ name: spec
155
+ description: Turn a product overview into a reference spec — data model, API contracts, UX flows, and squad-ready stories
156
+ ---
157
+
158
+ Read \`.contextkit/commands/spec/spec.md\` and execute the spec pipeline workflow.
159
+
160
+ Single inline CTO pass per scope. Reads a product overview, identifies logical scopes, and writes a full SPEC.md per scope covering data model, API contracts, UX flows, stories, and copy-paste squad commands. Run once per scope — picks up where it left off automatically.
161
+ `
162
+ );
163
+
164
+ await this.writeGeneratedFile(
165
+ '.codex/skills/ck/SKILL.md',
166
+ `---
167
+ name: ck
168
+ description: Check project setup, standards status, and integrations
169
+ ---
170
+
171
+ Read \`.contextkit/commands/dev/health-check.md\` and execute the health check workflow.
172
+
173
+ Check project setup, standards status, and integrations. Report what needs attention.
174
+ `
175
+ );
176
+
177
+ // Squad skills
178
+ await this.writeGeneratedFile(
179
+ '.codex/skills/squad/SKILL.md',
180
+ `---
181
+ name: squad
182
+ description: Squad pipeline kickoff — create handoff file and write PO spec
183
+ ---
184
+
185
+ Read \`.contextkit/commands/squad/squad.md\` and execute the squad kickoff workflow.
186
+
187
+ Create the handoff file and write the PO spec for the given task. Pass the task description as input.
188
+
189
+ After kickoff, run \`$squad-auto\` to run the full pipeline hands-free, or step through manually with \`$squad-architect\` → \`$squad-dev\` → \`$squad-test\` → \`$squad-review\` → \`$squad-doc\`.
190
+ `
191
+ );
192
+
193
+ await this.writeGeneratedFile(
194
+ '.codex/skills/squad-architect/SKILL.md',
195
+ `---
196
+ name: squad-architect
197
+ description: Write technical implementation plan from PO spec (manual step 1/4)
198
+ ---
199
+
200
+ Read \`.contextkit/commands/squad/squad-architect.md\` and execute the architect workflow.
201
+
202
+ Read the PO spec from the handoff file and design the technical approach. Use \`$squad-auto\` to run all steps automatically.
203
+ `
204
+ );
205
+
206
+ await this.writeGeneratedFile(
207
+ '.codex/skills/squad-dev/SKILL.md',
208
+ `---
209
+ name: squad-dev
210
+ description: Implement code changes following architect plan (manual step 2/4)
211
+ ---
212
+
213
+ Read \`.contextkit/commands/squad/squad-dev.md\` and execute the dev workflow.
214
+
215
+ Follow the architect's plan to implement the code changes. Use \`$squad-auto\` to run all steps automatically.
216
+ `
217
+ );
218
+
219
+ await this.writeGeneratedFile(
220
+ '.codex/skills/squad-test/SKILL.md',
221
+ `---
222
+ name: squad-test
223
+ description: Write and run tests against acceptance criteria (manual step 3/4)
224
+ ---
225
+
226
+ Read \`.contextkit/commands/squad/squad-test.md\` and execute the test workflow.
227
+
228
+ Write and run tests against the PO's acceptance criteria. Use \`$squad-auto\` to run all steps automatically.
229
+ `
230
+ );
231
+
232
+ await this.writeGeneratedFile(
233
+ '.codex/skills/squad-review/SKILL.md',
234
+ `---
235
+ name: squad-review
236
+ description: Review full handoff and write pass/needs-work verdict (manual step 4/4)
237
+ ---
238
+
239
+ Read \`.contextkit/commands/squad/squad-review.md\` and execute the review workflow.
240
+
241
+ Review the full handoff (spec, plan, implementation, tests) and write the final verdict. Use \`$squad-auto\` to run all steps automatically.
242
+ `
243
+ );
244
+
245
+ await this.writeGeneratedFile(
246
+ '.codex/skills/squad-auto/SKILL.md',
247
+ `---
248
+ name: squad-auto
249
+ description: Auto-run full squad pipeline hands-free (architect → dev → test → review → doc)
250
+ ---
251
+
252
+ Read \`.contextkit/commands/squad/squad-auto.md\` and execute the pipeline runner workflow.
253
+
254
+ Run after \`$squad\` kickoff. Automatically runs architect → dev → test → review → doc for all tasks sequentially, hands-free.
255
+ `
256
+ );
257
+
258
+ await this.writeGeneratedFile(
259
+ '.codex/skills/squad-reset/SKILL.md',
260
+ `---
261
+ name: squad-reset
262
+ description: Delete squad state to start fresh
263
+ ---
264
+
265
+ Read \`.contextkit/commands/squad/squad-reset.md\` and execute the reset workflow.
266
+
267
+ Delete the current squad state (\`.contextkit/squad/\`) so you can start fresh.
268
+ `
269
+ );
270
+
271
+ await this.writeGeneratedFile(
272
+ '.codex/skills/squad-doc/SKILL.md',
273
+ `---
274
+ name: squad-doc
275
+ description: Document changes after review passes (manual step 5/5)
276
+ ---
277
+
278
+ Read \`.contextkit/commands/squad/squad-doc.md\` and execute the doc workflow.
279
+
280
+ After review passes, create or update companion .md files for every new/modified code file in this task.
281
+ `
282
+ );
283
+
284
+ await this.writeGeneratedFile(
285
+ '.codex/skills/squad-go/SKILL.md',
286
+ `---
287
+ name: squad-go
288
+ description: Extract tasks from conversation and run the full pipeline immediately — no checkpoint pause
289
+ ---
290
+
291
+ Read \`.contextkit/commands/squad/squad-go.md\` and execute the express pipeline workflow.
292
+
293
+ Reads tasks from the current conversation, writes PO specs, and immediately runs architect → dev → test → review → doc. No checkpoint pause — single invocation, hands-free.
294
+ `
295
+ );
296
+
297
+ await this.writeGeneratedFile(
298
+ '.codex/skills/squad-spec/SKILL.md',
299
+ `---
300
+ name: squad-spec
301
+ description: Implement every story in a spec scope — run /spec first to generate the scope
302
+ ---
303
+
304
+ Read \`.contextkit/commands/squad/squad-spec.md\` and execute it.
305
+
306
+ Processes one story per invocation. Pass the scope slug (e.g. \`01-identity-auth\`). Run \`$spec\` first to generate the scope, then \`$squad-spec [scope-slug]\` to implement it story by story.
307
+ `
308
+ );
309
+
310
+ // Doc skills
311
+ await this.writeGeneratedFile(
312
+ '.codex/skills/doc-arch/SKILL.md',
313
+ `---
314
+ name: doc-arch
315
+ description: Generate or update architecture documentation (Level 1)
316
+ ---
317
+
318
+ Read \`.contextkit/commands/docs/doc-arch.md\` and execute the architecture documentation workflow.
319
+
320
+ Detect the project stack, then generate or update \`docs/architecture.md\` with system boundaries, key flows, and stack-appropriate artifacts.
321
+ `
322
+ );
323
+
324
+ await this.writeGeneratedFile(
325
+ '.codex/skills/doc-feature/SKILL.md',
326
+ `---
327
+ name: doc-feature
328
+ description: Generate or update feature documentation (Level 2)
329
+ ---
330
+
331
+ Read \`.contextkit/commands/docs/doc-feature.md\` and execute the feature documentation workflow.
332
+
333
+ Detect the project stack, identify the target feature, then generate or update \`docs/features/<name>.md\`.
334
+ `
335
+ );
336
+
337
+ await this.writeGeneratedFile(
338
+ '.codex/skills/doc-component/SKILL.md',
339
+ `---
340
+ name: doc-component
341
+ description: Generate or update component documentation (Level 3)
342
+ ---
343
+
344
+ Read \`.contextkit/commands/docs/doc-component.md\` and execute the component documentation workflow.
345
+
346
+ Detect the project stack, read the target file, then create or update a colocated \`<name>.md\`.
347
+ `
348
+ );
349
+
350
+ // Agent skills
351
+ await this.writeGeneratedFile(
352
+ '.codex/skills/agent-push-checklist/SKILL.md',
353
+ `---
354
+ name: agent-push-checklist
355
+ description: Pre-push quality checklist for agents before git push
356
+ ---
357
+
358
+ Read \`.contextkit/commands/agents/agent-push-checklist.md\` and execute the agent push checklist workflow.
359
+
360
+ Run before pushing from an AI agent. Validates that changes are safe, tests pass, and the push is ready.
361
+ `
362
+ );
363
+
364
+ await this.writeGeneratedFile(
365
+ '.codex/skills/context-budget/SKILL.md',
366
+ `---
367
+ name: context-budget
368
+ description: Check context consumption and advise on compact, summarise, or continue
369
+ ---
370
+
371
+ Read \`.contextkit/commands/agents/context-budget.md\` and execute the context budget workflow.
372
+
373
+ Check how much context has been consumed and advise on whether to compact, summarise, or continue.
374
+ `
375
+ );
376
+
377
+ await this.writeGeneratedFile(
378
+ '.codex/skills/standards-aware/SKILL.md',
379
+ `---
380
+ name: standards-aware
381
+ description: Load and apply project standards before acting in an agentic context
382
+ ---
383
+
384
+ Read \`.contextkit/commands/agents/standards-aware.md\` and execute the standards-aware workflow.
385
+
386
+ Load and apply the project's ContextKit standards before taking action in an agentic context.
387
+ `
388
+ );
31
389
  }
32
390
 
33
391
  showUsage() {
34
392
  console.log('');
35
393
  console.log(chalk.bold(' Codex CLI Usage:'));
36
- console.log(' AGENTS.md is auto-loaded by Codex CLI');
37
- console.log(' Just run: codex "create a button component"');
38
- console.log(' Standards are automatically included via AGENTS.md');
394
+ console.log(' AGENTS.md is auto-loaded every session');
395
+ console.log(' Skills are installed in .codex/skills/');
39
396
  console.log('');
40
- console.log(chalk.dim(' Files created:'));
41
- console.log(chalk.dim(' AGENTS.md (bridge - auto-loaded)'));
397
+ console.log(chalk.dim(' Skills (use $skill-name in Codex):'));
398
+ console.log(chalk.dim(' $analyze — Analyze project and generate standards'));
399
+ console.log(chalk.dim(' $review — Review current changes'));
400
+ console.log(chalk.dim(' $refactor — Refactor code structure'));
401
+ console.log(chalk.dim(' $test — Generate or run tests'));
402
+ console.log(chalk.dim(' $doc — Add documentation'));
403
+ console.log(chalk.dim(' $doc-arch — Architecture docs (Level 1)'));
404
+ console.log(chalk.dim(' $doc-feature — Feature docs (Level 2)'));
405
+ console.log(chalk.dim(' $doc-component — Component docs (Level 3)'));
406
+ console.log(chalk.dim(''));
407
+ console.log(chalk.dim(' Squad pipeline:'));
408
+ console.log(chalk.dim(' $squad "task" — Kickoff: create handoff + PO spec'));
409
+ console.log(chalk.dim(' $squad-auto — Auto-run full pipeline (recommended)'));
410
+ console.log(chalk.dim(' $squad-go — Extract tasks from conversation and run'));
411
+ console.log(chalk.dim(' $squad-spec [scope] — Implement all stories in a spec scope'));
412
+ console.log(chalk.dim(' $squad-architect / $squad-dev / $squad-test / $squad-review'));
413
+ console.log(chalk.dim(''));
414
+ console.log(chalk.dim(' Spec pipeline:'));
415
+ console.log(chalk.dim(' $spec [scope] — Run spec pipeline for next or named scope'));
416
+ console.log(chalk.dim(''));
417
+ console.log(chalk.dim(' Health check:'));
418
+ console.log(chalk.dim(' $ck — Check project setup and standards status'));
42
419
  }
43
420
  }
44
421
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nolrm/contextkit",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
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": {