@dzhechkov/skills-feature-adr 1.3.28 → 1.3.30

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
@@ -117,11 +117,11 @@ knobs (via the workflow `args`, or offered interactively at the planning checkpo
117
117
  | `planner: 'codex'` | 6 Plan | plan on Codex's top model (Claude fallback) |
118
118
  | `coder: 'codex-fallback'` | 7 Code | Claude first; **if the Claude Code limit is exhausted mid-run → retry on Codex** |
119
119
  | `qeReviewer: 'codex-fallback'` | 8 QE/tests | same fallback for the review/testing stage |
120
- | `codexModel: 'gpt-5-codex'` | — | which Codex model (`gpt-5-codex` default · `gpt-5` · `o3` · `auto`) |
120
+ | `codexModel: 'auto'` | — | which Codex model (`auto` default (Codex self-selects) · or an id your account exposes (e.g. `gpt-5.5`)) |
121
121
 
122
122
  **Scenario — never stall on a rate limit:** a long L/XL feature hits the Claude Code session limit while
123
123
  writing code. Without this the run stalls; with `coder: 'codex-fallback'` the pipeline logs *"Claude
124
- unavailable (limit?) — falling back to Codex gpt-5-codex"* and finishes the code + tests on Codex, no
124
+ unavailable (limit?) — falling back to Codex auto"* and finishes the code + tests on Codex, no
125
125
  restart and no lost work.
126
126
 
127
127
  ```bash
@@ -135,7 +135,7 @@ printenv OPENAI_API_KEY | codex login --with-api-key
135
135
  // ultracode (the deterministic workflow form): plan on Codex, code+QE fall back to Codex on Claude-limit:
136
136
  Workflow({ scriptPath: '.claude/workflows/feature-adr.js',
137
137
  args: { slug: 'add-oauth', description: '…', tier: 'M',
138
- planner: 'codex', coder: 'codex-fallback', qeReviewer: 'codex-fallback', codexModel: 'gpt-5-codex' } })
138
+ planner: 'codex', coder: 'codex-fallback', qeReviewer: 'codex-fallback', codexModel: 'auto' } }) // 'auto' = Codex picks top; or pin e.g. 'gpt-5.5'
139
139
  ```
140
140
 
141
141
  Omit the Codex knobs entirely for today's all-Claude behavior. The run result reports
@@ -179,14 +179,14 @@ In the **ultracode workflow form**, feature-adr can hand steps to [Codex](https:
179
179
  2. **Never stall on a rate limit** — the killer feature: `coder: 'codex-fallback'` +
180
180
  `qeReviewer: 'codex-fallback'`. Claude writes the code/tests as usual; but if a long L/XL run hits
181
181
  the **Claude Code session limit mid-Step-7/8**, the pipeline auto-retries that step on Codex
182
- (`gpt-5-codex` by default) instead of stalling — no restart, no lost work.
182
+ (`auto` by default) instead of stalling — no restart, no lost work.
183
183
 
184
184
  ```bash
185
185
  # one-time headless login (VPS, no browser):
186
186
  codex login --device-auth # approve the printed code+URL on your phone/laptop
187
187
 
188
188
  # then, when launching a run, pass the knobs (or accept the interactive pre-flight offer):
189
- # planner: 'codex' | coder: 'codex-fallback' | qeReviewer: 'codex-fallback' | codexModel: 'gpt-5-codex'
189
+ # planner: 'codex' | coder: 'codex-fallback' | qeReviewer: 'codex-fallback' | codexModel: 'auto'
190
190
  ```
191
191
 
192
192
  Omit the knobs for the all-Claude default. Full reference: `.claude/rules/feature-adr-ultracode.md`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dzhechkov/skills-feature-adr",
3
- "version": "1.3.28",
3
+ "version": "1.3.30",
4
4
  "description": "Adaptive Feature Development skill pack for Claude Code — 11-step pipeline with Complexity Router (S/M/L/XL), ADR-driven architecture, 15 agentic-qe skills, multi-agent fleet QE. Supports --full-qe, --full-qe-extended, --with-learning, and --knowledge-extractor modes.",
5
5
  "bin": {
6
6
  "skills-feature-adr": "./bin/cli.js"
@@ -36,7 +36,7 @@ overridable via `args`:
36
36
  | `planner` | 6 (Plan) | `claude` (default) · `codex` | `codex` → Step-6 plans on Codex, Claude fallback |
37
37
  | `coder` | 7 (Code) | `claude` (default) · `codex` · `codex-fallback` | `codex-fallback` → Claude first, **on limit-exhaustion (null) → Codex** |
38
38
  | `qeReviewer` | 8 (QE/tests) | `claude` (default) · `codex` · `codex-fallback` | same fallback, for the QE/testing stage |
39
- | `codexModel` | — | `gpt-5-codex` (default) · `gpt-5` · `o3` · `auto` | which Codex model to use |
39
+ | `codexModel` | — | `auto` (default — Codex self-selects the top available) · or a specific id your account exposes (e.g. `gpt-5.5`, `gpt-5.4`) | which Codex model to use |
40
40
 
41
41
  The result reports `plannerUsed` / `coderUsed` / `qeReviewerUsed` / `codexModel` so you can see who did what.
42
42
 
@@ -48,24 +48,24 @@ If `ready`, ASK the user once (skip all of this if not ready — Claude does eve
48
48
  1. *"Plan (Step 6) on the top Codex model?"* → set `planner: 'codex'`.
49
49
  2. *"Fall back to Codex for code + tests/QE (Step 7/8) if the Claude Code limit is exhausted?"* →
50
50
  set `coder: 'codex-fallback'`, `qeReviewer: 'codex-fallback'`.
51
- 3. *"Which Codex model?"* (`gpt-5-codex` / `gpt-5` / `o3` / `auto`) → **write it into codex config so the
51
+ 3. *"Which Codex model?"* (`auto` Codex self-selects or a specific id your account exposes; model ids are account/version-specific, so verify via the runtime rather than assuming) → **write it into codex config so the
52
52
  `codex:codex-rescue` runtime picks it up**, then pass `codexModel`:
53
53
  ```bash
54
- printf '\nmodel = "gpt-5-codex"\n' >> ~/.codex/config.toml # or -c model=... per invocation
54
+ printf '\nmodel = "gpt-5.5"\n' >> ~/.codex/config.toml # pin a REAL id your account has (auto = default; verify: ask the codex runtime what -m ids it accepts)
55
55
  ```
56
56
  For the interactive SKILL (plain `/feature-adr`), make the same three offers at the planning checkpoint.
57
57
 
58
58
  **Scenario (the reason this exists):** a long L/XL run hits the Claude Code session limit mid-Step-7.
59
59
  Without this, the Code agent returns null and the run stalls. With `coder: 'codex-fallback'`, feature-adr
60
- detects the null, logs *"Claude unavailable (limit?) — falling back to Codex gpt-5-codex"*, and finishes
60
+ detects the null, logs *"Claude unavailable (limit?) — falling back to Codex auto"*, and finishes
61
61
  the code + tests on Codex — no restart, no lost work.
62
62
 
63
63
  **Example invocations:**
64
64
  ```js
65
- // Plan on Codex, code+QE fall back to Codex only if Claude runs out, gpt-5-codex:
65
+ // Plan on Codex, code+QE fall back to Codex only if Claude runs out, auto:
66
66
  Workflow({ scriptPath: '.claude/workflows/feature-adr.js',
67
67
  args: { slug: 'add-x', description: '…', tier: 'M',
68
- planner: 'codex', coder: 'codex-fallback', qeReviewer: 'codex-fallback', codexModel: 'gpt-5-codex' } })
68
+ planner: 'codex', coder: 'codex-fallback', qeReviewer: 'codex-fallback', codexModel: 'auto' } }) // 'auto' = Codex picks top; or pin e.g. 'gpt-5.5'
69
69
 
70
70
  // All-Claude (the default — omit the Codex knobs entirely):
71
71
  Workflow({ scriptPath: '.claude/workflows/feature-adr.js', args: { slug: 'add-x', description: '…', tier: 'M' } })
@@ -363,13 +363,13 @@ to Codex — always ASKING first, always with a Claude fallback (never blocks):
363
363
  - **Code (Step 7) + tests/QE (Step 8) FALLBACK** → `args.coder: 'codex-fallback'`, `args.qeReviewer:
364
364
  'codex-fallback'`: Claude runs first, and only if the **Claude Code limit is exhausted mid-run** (the
365
365
  agent returns null) does the SAME task retry on Codex — so a long build never stalls on a rate limit.
366
- - **Model choice** → `args.codexModel` (`gpt-5-codex` default · `gpt-5` · `o3` · `auto`).
366
+ - **Model choice** → `args.codexModel` (`auto` default (Codex self-selects) · or an id your account exposes (e.g. `gpt-5.5`)).
367
367
 
368
368
  *Scenario:* an L/XL run hits the session limit during coding → with `coder: 'codex-fallback'` feature-adr
369
- logs *"Claude unavailable (limit?) — falling back to Codex gpt-5-codex"* and finishes on Codex, no restart.
369
+ logs *"Claude unavailable (limit?) — falling back to Codex auto"* and finishes on Codex, no restart.
370
370
 
371
371
  *Example:* `Workflow({ scriptPath: '.claude/workflows/feature-adr.js', args: { slug, description, tier:
372
- 'M', planner: 'codex', coder: 'codex-fallback', qeReviewer: 'codex-fallback', codexModel: 'gpt-5-codex' } })`.
372
+ 'M', planner: 'codex', coder: 'codex-fallback', qeReviewer: 'codex-fallback', codexModel: 'auto' } }) // 'auto' = Codex picks top; or pin e.g. 'gpt-5.5'`.
373
373
 
374
374
  Pre-flight, if Codex is `ready` (`codex-companion setup --json`), the orchestrator asks these three
375
375
  before launching; plain `/feature-adr` offers the same at the planning checkpoint. Omit the Codex knobs
@@ -1,6 +1,6 @@
1
1
  export const meta = {
2
2
  name: 'feature-adr',
3
- description: 'Canonical /feature-adr --full-qe-extended pipeline as a reusable workflow: router+RECALL then design(ADR, applies learned patterns) then plan then code then agentic-qe QE+TEACH, producing features/<slug>/00-09 artifacts. MANDATORY in-process self-learning loop (Step-0 recall, apply, Step-8 teach). OPTIONAL Codex routing: args.planner=codex (Step-6), args.coder/qeReviewer='codex-fallback' (Step-7/8 fall back to Codex gpt-5-codex when Claude limits exhaust; args.codexModel picks the model). Hybrid checkpoints (S/M autonomous; L/XL stop-after-plan).',
3
+ description: 'Canonical /feature-adr --full-qe-extended pipeline as a reusable workflow: router+RECALL then design(ADR, applies learned patterns) then plan then code then agentic-qe QE+TEACH, producing features/<slug>/00-09 artifacts. MANDATORY in-process self-learning loop (Step-0 recall, apply, Step-8 teach). OPTIONAL Codex routing: args.planner=codex (Step-6), args.coder/qeReviewer='codex-fallback' (Step-7/8 fall back to Codex when Claude limits exhaust; args.codexModel default 'auto' (Codex self-selects top; account-specific)). Hybrid checkpoints (S/M autonomous; L/XL stop-after-plan).',
4
4
  whenToUse: 'ultracode + a feature implementation. Invoke via Workflow({scriptPath:".claude/workflows/feature-adr.js", args:{slug, description, code, tier, stopAfter, planner, coder, qeReviewer, codexModel}}) instead of an ad-hoc orchestration, so every feature ships with an ADR + inline agentic-qe QE + self-learning.',
5
5
  phases: [
6
6
  { title: 'Router', detail: 'Step 0 - classify + self-learning recall' },
@@ -89,9 +89,11 @@ if (stopHere) {
89
89
  // Codex fallback config (opt-in). CODER/QE_REVIEWER ∈ 'claude'|'codex'|'codex-fallback'. On
90
90
  // 'codex-fallback' the Claude agent runs FIRST; if it returns null (e.g. the Claude Code session limit
91
91
  // is exhausted mid-code/mid-QE — exactly the failure we hit before), the SAME task is retried on the
92
- // codex:codex-rescue runtime (model = args.codexModel, default gpt-5-codex). The model is set into
93
- // ~/.codex/config.toml by the orchestrator at pre-flight; the hint below reinforces it.
94
- const CODEX_MODEL = A.codexModel || 'gpt-5-codex'
92
+ // codex:codex-rescue runtime. args.codexModel is DEFAULT 'auto' (Codex self-selects the top model
93
+ // available to the account model ids are account/version-specific and move ahead of any static
94
+ // default, so 'auto' is the portable choice). To hard-pin a specific id (e.g. this account's top is
95
+ // gpt-5.5), the orchestrator writes it into ~/.codex/config.toml at pre-flight; the hint below only nudges.
96
+ const CODEX_MODEL = A.codexModel || 'auto'
95
97
  const CODEX_HINT = ' (If you are the Codex runtime, prefer the ' + CODEX_MODEL + ' model.)'
96
98
  const CODER = (A.coder === 'codex' || A.coder === 'codex-fallback') ? A.coder : 'claude'
97
99
  const QE_REVIEWER = (A.qeReviewer === 'codex' || A.qeReviewer === 'codex-fallback') ? A.qeReviewer : 'claude'