Skip to content

feat: add /spec-quick — fast path to the spec artifact - #15

Open
anachronicsofa wants to merge 1 commit into
mainfrom
feat/spec-quick
Open

feat: add /spec-quick — fast path to the spec artifact#15
anachronicsofa wants to merge 1 commit into
mainfrom
feat/spec-quick

Conversation

@anachronicsofa

@anachronicsofa anachronicsofa commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

/spec-dc's review loop dispatches two fresh subagents per round until double approval (~3 rounds), so every round re-reads the spec and re-opens the cited code from scratch — up to six subagent runs plus four full readings of the file. reviewer-fast's checklist is largely a subset of reviewer-pro's, the command's own Phase 4 re-checks grounding / no-HOW / testability / structure a third time, and "all seven sections, each substantial" fights "no boilerplate" — the padding that wins then feeds the loop more surface to argue about.

This adds /spec-quick: the same artifact (same path, same heading names, same contract with /plan-dc) under a bounded budget. /spec-dc is unchanged and stays the default for large or risky features; /plan-dc and /execute-dc keep the full dual loop, since they measure an artifact against an upstream one — adversarial redundancy there buys something the spec boundary doesn't.

Changes

  • New command templates/.claude/commands/spec-quick.md (+ local .claude/commands/ copy):
    • one AskUserQuestion batch maximum — anything still open becomes a stated assumption in Constraints & Out of Scope
    • research capped at one Explore or ~5 targeted greps, citing only paths actually opened
    • five required sections; Success Criteria and Non-Functional Requirements emitted only when they carry real content
    • one spec-dc/reviewer-pro pass, no second round — skipped entirely for ≤3 functional requirements with no existing-code integration
    • final verification is grep '^## ' instead of a full re-read; no closing menu, it prints the next command
  • Reuses the existing spec-dc/reviewer-pro agent — no new agent files.
  • Wiring: DOTCONTEXT_COMMANDS (so opencode .opencode/command/ and Copilot .github/prompts/ get it), init.sh, the update.sh managed set (delivers it to existing installs), help.sh, the AGENTS.md ## Workflows table, README, CLAUDE.md, CONTEXT.md.
  • update notice for AGENTS.md-only harnesses (Gemini/Cursor/Codex) — that file is a create-only seed, so its Workflows table isn't rewritten.
  • ADR-020 → v1.3 with a new §3a recording the fast path and why it is scoped to the spec boundary only.
  • Rebuilt dotcontext (1927 lines).
/spec-dc /spec-quick
Clarifying questions 0..N batches at most one batch
Research extensive, parallel Explore sweeps one Explore or ~5 greps
Sections all seven mandatory five required, 2 conditional
Review 2 reviewers × up to 3 rounds, fresh each round 1 reviewer-pro pass, or none
Final verification full re-read of the file grep on the headings
Closing AskUserQuestion menu prints the next command

Architectural Impact

The change is in the control flow of the spec boundary — where review happens and how many times the artifact is read:

flowchart TD
    R[Feature request] --> C{Clarity check}

    C -->|/spec-dc| D1[0..N question batches]
    D1 --> D2[Extensive research]
    D2 --> D3[Write 7 mandatory sections]
    D3 --> D4[reviewer-pro + reviewer-fast<br/>fresh subagents]
    D4 -->|either reports gaps| D3
    D4 -->|both APPROVED| D5[Phase 4: full re-read]
    D5 --> D6[AskUserQuestion menu]

    C -->|/spec-quick| Q1[1 question batch max]
    Q1 --> Q2[1 Explore or ~5 greps]
    Q2 --> Q3[Write 5 required sections<br/>+ 2 conditional]
    Q3 --> G{"≤3 FRs and no<br/>existing-code integration?"}
    G -->|yes| Q5
    G -->|no| Q4[1 reviewer-pro pass]
    Q4 --> Q5["grep '^## '"]

    D6 --> S[".context/specs/spec-ts-slug.md"]
    Q5 --> S
    S --> P[/plan-dc/]

    style D4 fill:#ffe0e0,stroke:#c00
    style Q4 fill:#e0ffe0,stroke:#0a0
Loading

Both paths converge on the same artifact with the same heading anchors, so /plan-dc is untouched and there is no format rework when you start with one and switch to the other.

Type

  • Skill / template (no src/ change)
  • CLI behavior (src/ change — rebuilt the dotcontext binary)
  • Docs / ADR
  • Other

Checklist

  • Ran make build and committed the rebuilt dotcontext (CI fails if it's out of sync with src/)
  • bash -n passes and I tested locally (./dotcontext --help, ./dotcontext doctor → 13 passed / 0 failed; the 2 warnings are pre-existing)
  • New command ships with description + argument-hint frontmatter and is wired into init.sh + update.sh + DOTCONTEXT_COMMANDS (no new skill or agent file in this PR)
  • Checked .context/decisions/ — this conflicted with ADR-020 §3 ("all three commands end with a dual-reviewer loop until double APPROVED"); resolved by updating ADR-020 to v1.3 with a new §3a, per the CLAUDE.md decision-compliance rule
  • Conventional-commit style on commits (feat:)

Test plan

  • make build → 1927 lines; bash -n dotcontext clean
  • ./dotcontext --help lists /spec-quick under Workflows
  • ./dotcontext doctor.claude/commands/ — 15 command(s) (was 14)
  • templates/.claude/commands/spec-quick.md and .claude/commands/spec-quick.md are byte-identical
  • grep '^## ' on the command confirms the five required spec headings match /spec-dc's names exactly (the anchors /plan-dc relies on)
  • Not covered: /spec-quick has not been run end-to-end on a real feature — the prompt itself is unexercised. Worth a first run on something small before merging.
  • dotcontext init in a scratch dir emits spec-quick.md for Claude / opencode / Copilot
  • dotcontext update in an existing install offers the new command and prints the AGENTS.md notice
  • Edge case to watch: reviewer-pro flagging a missing Success Criteria / Non-Functional Requirements section despite the prompt telling it they're optional here

Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added the /spec-quick command for creating lean behavior specifications with limited clarification, research, and review.
    • Integrated /spec-quick into setup, template generation, updates, and CLI help across supported workflows.
  • Documentation

    • Updated workflow guides, references, and templates to document /spec-quick, its output, and its streamlined process.
    • Added guidance for manually registering the workflow where automatic updates are unavailable.

/spec-dc's review loop dispatches two fresh subagents per round until double
approval (~3 rounds), so every round re-reads the spec and re-opens the cited
code from scratch — up to six subagent runs. reviewer-fast's checklist is largely
a subset of reviewer-pro's, the command's own final verification re-checks
grounding/no-HOW/testability/structure a third time, and "all seven sections,
each substantial" fights "no boilerplate" — producing padding that feeds the loop
more surface to argue about.

/spec-quick produces the same artifact — same path, same heading names, same
contract with /plan-dc — under a bounded budget:

- one AskUserQuestion batch maximum; anything still open becomes a stated
  assumption in Constraints & Out of Scope
- research capped at one Explore subagent or ~5 targeted greps, citing only
  paths actually opened
- five required sections; Success Criteria and Non-Functional Requirements are
  emitted only when they carry real content
- one spec-dc/reviewer-pro pass, no second round — skipped entirely for a spec
  with <=3 functional requirements and no existing-code integration
- final verification is `grep '^## '` instead of a full re-read
- no closing question menu; it prints the next command

/spec-dc is unchanged and stays the default for large or risky features.
/plan-dc and /execute-dc keep the full dual loop — they measure an artifact
against an upstream one, so adversarial redundancy there buys something the
spec boundary doesn't.

Wired into DOTCONTEXT_COMMANDS (so opencode/Copilot get it), init.sh, the
update.sh managed set (delivers it to existing installs), help.sh, the AGENTS.md
## Workflows table, README, CLAUDE.md and CONTEXT.md. Reuses the existing
spec-dc/reviewer-pro agent — no new agent files. update also prints a notice
for AGENTS.md-only harnesses, whose Workflows table is create-only.

ADR-020 -> v1.3 records the fast path and why it is scoped to the spec boundary.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

Adds /spec-quick as a bounded fast-path behavior-spec workflow, defines its command template and ADR documentation, wires it into CLI setup and template updates, and documents it across project guidance and command references.

Changes

Spec Quick workflow

Layer / File(s) Summary
Define the spec-quick workflow
.claude/commands/spec-quick.md, templates/.claude/commands/spec-quick.md
Adds bounded clarification and research, fixed specification headings, conditional single-pass review, mechanical checks, reporting, and stuck-state handling.
Wire command distribution and updates
dotcontext, src/commands/*, src/setup/agents.sh
Includes spec-quick in command generation, Claude initialization, managed template updates, help output, and update notices.
Record workflow contracts and guidance
.context/decisions/020-spec-plan-execute-workflow.md, .context/CONTEXT.md, templates/AGENTS.md
Updates ADR-020 to version 1.3 and documents the fast path, shared artifact, and exact heading requirements.
Document command availability
README.md, CLAUDE.md
Adds spec-quick to command inventories and describes its usage and reduced review flow.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested reviewers: nicholastn1

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding the new /spec-quick fast-path command.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/spec-quick

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.claude/commands/spec-quick.md:
- Around line 158-162: Update the “If You Get Stuck” section in both
.claude/commands/spec-quick.md (lines 158-162) and
templates/.claude/commands/spec-quick.md (lines 158-162) so three failed
attempts trigger a bounded escalation without issuing another clarification
question batch, preserving the one-question-batch contract.
- Around line 113-115: The review-skip predicate in both
.claude/commands/spec-quick.md lines 113-115 and
templates/.claude/commands/spec-quick.md lines 113-115 must require no
integration with existing code at all, while retaining the ≤3 functional
requirements limit. Update both distributed templates consistently and preserve
the instruction to state in chat when the review is skipped.
- Around line 117-129: Update the reviewer-dispatch instructions in both
.claude/commands/spec-quick.md (lines 117-129) and
templates/.claude/commands/spec-quick.md (lines 117-129) so Claude environments
use the existing Task-based spec-dc/reviewer-pro path, while non-Claude emitted
templates use a portable or harness-native reviewer mechanism or explicit
fallback. Preserve the reviewer prompt, checklist, and APPROVED/defect response
contract across both dispatch paths.

In @.context/CONTEXT.md:
- Line 22: Update the module-tree documentation near the command directory entry
to state that .claude/commands/ contains 14 templates, reflecting the addition
of /spec-quick; leave the surrounding documentation unchanged.

In @.context/decisions/020-spec-plan-execute-workflow.md:
- Around line 192-193: Reorder the ADR history entries so version 1.2 dated
2026-07-17 appears before version 1.3 dated 2026-07-30, preserving the content
of both entries and chronological ordering.

In `@README.md`:
- Line 145: Update the `.context/specs/` entry in README.md to state that
behavior specs are generated by both `/spec-dc` and `/spec-quick`, while
preserving the existing description and formatting.

In `@src/commands/init.sh`:
- Around line 106-109: The command download loop unconditionally overwrites
existing user command files. Update the loop in src/commands/init.sh (lines
106-109) to use create-only or managed-update behavior, then apply the same safe
behavior to the bundled implementation in dotcontext (lines 789-792), keeping
both implementations synchronized.

In `@src/commands/update.sh`:
- Around line 477-485: The new /spec-quick notice is unreachable when managed
templates are already current because the update flow returns first. In
src/commands/update.sh around the notice block, move or invoke the notice
evaluation before that early return, preserving its existing conditions and
messaging; apply the same control-flow fix in dotcontext around the
corresponding bundled notice block.

In `@templates/AGENTS.md`:
- Line 105: Update the opencode command-directory reference in the surrounding
workflow guidance to use the singular `.opencode/command/` path emitted by
`src/setup/agents.sh`, replacing the incorrect `.opencode/commands/` form.
- Around line 118-122: Update the language guidance for spec-dc and spec-quick
to use the full precedence: feature-request language, then Q&A language, then
the repository’s primary language, and finally English. Preserve the existing
requirements that prose follows this language while headings remain exactly as
written and filenames use ASCII kebab-case; leave plan-dc and execute-dc in
English.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 2dddcbf0-fd55-4962-bc0b-5f987da1b299

📥 Commits

Reviewing files that changed from the base of the PR and between 38231bc and 23dee84.

📒 Files selected for processing (12)
  • .claude/commands/spec-quick.md
  • .context/CONTEXT.md
  • .context/decisions/020-spec-plan-execute-workflow.md
  • CLAUDE.md
  • README.md
  • dotcontext
  • src/commands/help.sh
  • src/commands/init.sh
  • src/commands/update.sh
  • src/setup/agents.sh
  • templates/.claude/commands/spec-quick.md
  • templates/AGENTS.md

Comment on lines +113 to +115
**Skip the review entirely** when the spec is small: **≤3 functional requirements AND** no
integration with existing code beyond the paths you opened in Step 2. Say in chat that you
skipped it and why.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

The review-skip predicate is inconsistent in both distributed templates.

Both templates allow review skipping for small specs that integrate with existing code, while ADR-020 requires no existing-code integration.

  • .claude/commands/spec-quick.md#L113-L115: change the predicate to require no existing-code integration at all.
  • templates/.claude/commands/spec-quick.md#L113-L115: apply the same corrected predicate.
📍 Affects 2 files
  • .claude/commands/spec-quick.md#L113-L115 (this comment)
  • templates/.claude/commands/spec-quick.md#L113-L115
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/commands/spec-quick.md around lines 113 - 115, The review-skip
predicate in both .claude/commands/spec-quick.md lines 113-115 and
templates/.claude/commands/spec-quick.md lines 113-115 must require no
integration with existing code at all, while retaining the ≤3 functional
requirements limit. Update both distributed templates consistently and preserve
the instruction to state in chat when the review is skipped.

Comment on lines +117 to +129
Otherwise dispatch **one** `spec-dc/reviewer-pro` subagent (Task tool), substituting real values:

```text
Review the behavior spec at: <SPEC PATH>.
The original request (the yardstick) was: <ORIGINAL REQUEST + clarifying Q&A>.

Apply your agent definition's checklist. This spec came from /spec-quick: `Success Criteria` and
`Non-Functional Requirements` are OPTIONAL there — their absence is NOT a defect. The spec is
expected to be in the request's language; a non-English spec is not a defect, but a spec in the
wrong language is.

Reply with ONLY the word APPROVED, or list each defect with its section / file:path / request
line and a concrete fix.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== locate spec-quick files =="
git ls-files | grep -E '(^|/)\.claude/commands/spec-quick\.md$|(^|/)spec-quick\.md$|templates/.claude/commands/spec-quick\.md$' || true

echo
echo "== file sizes =="
for f in $(git ls-files | grep -E '(^|/)\.claude/commands/spec-quick\.md$|(^|/)templates/\.claude/commands/spec-quick\.md$|(^|/)templates/.claude/commands/spec-quick\.md$'); do
  wc -l "$f"
done

echo
echo "== relevant snippets =="
for f in $(git ls-files | grep -E '(^|/)\.claude/commands/spec-quick\.md$|(^|/)templates/.claude/commands/spec-quick\.md$'); do
  echo "--- $f"
  sed -n '1,170p' "$f" | nl -ba | sed -n '90,150p'
done

echo
echo "== occurrences of Task/tool and reviewer definitions =="
rg -n "Task|spec-dc/reviewer-pro|reviewer-pro|subagent|Apply your agent definition|Success Criteria|Non-Functional Requirements" .claude/commands/spec-quick.md templates/.claude/commands/spec-quick.md || true

echo
echo "== repository references to distributed template emission or Target harness =="
rg -n "distributed|template|harness|Claude\s*(Task|command)|Task\(|subagent|spec-quick|spec-dc/reviewer-pro|Non-Claude|non-Claude" -S . --glob '!node_modules' --glob '!dist' --glob '!build' | head -n 200

Repository: goca-se/dotcontext

Length of output: 457


🏁 Script executed:

#!/bin/bash
set -euo pipefail

for f in .claude/commands/spec-quick.md templates/.claude/commands/spec-quick.md; do
  echo "--- $f"
  awk 'NR>=90 && NR<=150 { printf "%d:%s\n", NR, $0 }' "$f"
  echo
done

echo "== occurrences in target files =="
for f in .claude/commands/spec-quick.md templates/.claude/commands/spec-quick.md; do
  echo "--- $f"
  grep -nE "Task|spec-dc/reviewer-pro|reviewer-pro|subagent|Apply your agent definition|Success Criteria|Non-Functional Requirements" "$f" || true
done

echo "== repository references to distributed template emission or Target harness =="
grep -RIn -E "distributed|template|harness|Claude\s*(Task|command)|Task\(|subagent|spec-quick|spec-dc/reviewer-pro|Non-Claude|non-Claude" . --exclude-dir=node_modules --exclude-dir=dist --exclude-dir=build | head -n 200 || true

Repository: goca-se/dotcontext

Length of output: 36032


Make the reviewer dispatch work for all emitted templates.

.claude/commands/spec-quick.md and templates/.claude/commands/spec-quick.md both dispatch spec-dc/reviewer-pro using Claude’s Task tool only. Since this workflow is also installed/copied non-Claude style, use a Claude-only path for Claude and a portable/harness-native reviewer path or fallback for the other templates.

📍 Affects 2 files
  • .claude/commands/spec-quick.md#L117-L129 (this comment)
  • templates/.claude/commands/spec-quick.md#L117-L129
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/commands/spec-quick.md around lines 117 - 129, Update the
reviewer-dispatch instructions in both .claude/commands/spec-quick.md (lines
117-129) and templates/.claude/commands/spec-quick.md (lines 117-129) so Claude
environments use the existing Task-based spec-dc/reviewer-pro path, while
non-Claude emitted templates use a portable or harness-native reviewer mechanism
or explicit fallback. Preserve the reviewer prompt, checklist, and
APPROVED/defect response contract across both dispatch paths.

Comment on lines +158 to +162
## If You Get Stuck

Three failed attempts at the same step → stop, explain what's blocking you, and ask how to
proceed with `AskUserQuestion` (or the harness's native structured-question tool). Never loop
indefinitely.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

The one-question-batch contract is contradicted in both templates.

Both templates prohibit a second batch and then request one in the stuck path.

  • .claude/commands/spec-quick.md#L158-L162: escalate without issuing another clarification batch.
  • templates/.claude/commands/spec-quick.md#L158-L162: apply the same bounded escalation behavior.
📍 Affects 2 files
  • .claude/commands/spec-quick.md#L158-L162 (this comment)
  • templates/.claude/commands/spec-quick.md#L158-L162
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/commands/spec-quick.md around lines 158 - 162, Update the “If You
Get Stuck” section in both .claude/commands/spec-quick.md (lines 158-162) and
templates/.claude/commands/spec-quick.md (lines 158-162) so three failed
attempts trigger a bounded escalation without issuing another clarification
question batch, preserving the one-question-batch contract.

Comment thread .context/CONTEXT.md
| `ADR (Architectural Decision Record)` | Documents a significant architectural decision with context, alternatives, and consequences |
| `Skill` | Step-by-step guide for a recurring pattern or task in the codebase |
| `Spec` / `Plan` | Spec = behavior contract, the WHAT (`/spec-dc`, `.context/specs/`); Plan = implementation plan with 100% traceability, the HOW (`/plan-dc`, `.context/plans/`) |
| `Spec` / `Plan` | Spec = behavior contract, the WHAT (`/spec-dc` or the fast-path `/spec-quick`, `.context/specs/`); Plan = implementation plan with 100% traceability, the HOW (`/plan-dc`, `.context/plans/`) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Update the stale command-count documentation.

The module tree at Line 46 still says .claude/commands/ contains 13 templates, but the registry now contains 14 after adding /spec-quick.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.context/CONTEXT.md at line 22, Update the module-tree documentation near
the command directory entry to state that .claude/commands/ contains 14
templates, reflecting the addition of /spec-quick; leave the surrounding
documentation unchanged.

Comment on lines +192 to 193
| 1.3 | 2026-07-30 | Added `/spec-quick` (§3a) — a fast path at the spec boundary: one question batch, bounded research, five required sections (Success Criteria + NFR conditional), a single `reviewer-pro` pass with no second round, `grep`-based final check, no closing menu. `/spec-dc` unchanged; `/plan-dc` and `/execute-dc` keep the dual loop |
| 1.2 | 2026-07-17 | `/spec-dc` writes the spec in the **language of the original request** (Portuguese request → Portuguese spec; defaults to the repo's primary language, then English). Prose only — the seven section headings and the filename slug stay ASCII structural anchors `/plan-dc` relies on. `/plan-dc` and `/execute-dc` are unchanged (English) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Keep the ADR history chronological.

Version 1.3 dated July 30, 2026 appears before version 1.2 dated July 17, 2026. Move 1.3 below 1.2 so the history reflects the actual sequence.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.context/decisions/020-spec-plan-execute-workflow.md around lines 192 - 193,
Reorder the ADR history entries so version 1.2 dated 2026-07-17 appears before
version 1.3 dated 2026-07-30, preserving the content of both entries and
chronological ordering.

Comment thread README.md
│ ├── code-review.md # Code review command
│ ├── commit.md # Smart commit command
│ ├── spec-dc.md # Write a behavior spec (the WHAT)
│ ├── spec-quick.md # Same spec, fast path (one review pass)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Mention /spec-quick in the generated spec-directory description.

The .context/specs/ entry at Line 136 still says behavior specs are produced by /spec-dc only. Update it to mention both /spec-dc and /spec-quick.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 145, Update the `.context/specs/` entry in README.md to
state that behavior specs are generated by both `/spec-dc` and `/spec-quick`,
while preserving the existing description and formatting.

Comment thread src/commands/init.sh
Comment on lines +106 to 109
for c in setup-context code-review spec-dc spec-quick plan-dc execute-dc add-decision add-skill \
add-command create-pr pr-comment deep-context fix-bug commit; do
download "${BASE_URL}/templates/.claude/commands/${c}.md" ".claude/commands/${c}.md"
done

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

The new init command can overwrite user content.

Both bundled and source implementations add spec-quick to an unconditional download loop.

  • src/commands/init.sh#L106-L109: use create-only or managed-update behavior for existing command files.
  • dotcontext#L789-L792: keep the bundled implementation synchronized with that safe behavior.
📍 Affects 2 files
  • src/commands/init.sh#L106-L109 (this comment)
  • dotcontext#L789-L792
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/commands/init.sh` around lines 106 - 109, The command download loop
unconditionally overwrites existing user command files. Update the loop in
src/commands/init.sh (lines 106-109) to use create-only or managed-update
behavior, then apply the same safe behavior to the bundled implementation in
dotcontext (lines 789-792), keeping both implementations synchronized.

Source: Coding guidelines

Comment thread src/commands/update.sh
Comment on lines +477 to +485
# ── Notice: /spec-quick is new (ADR-020 v1.3) ──────────────────────────────
# Claude gets it via managed_templates and opencode/Copilot via the re-emit above,
# but AGENTS.md is a create-only seed, so its "## Workflows" table stays as-is.
if [ -f "AGENTS.md" ] && ! grep -q "spec-quick" "AGENTS.md" 2>/dev/null; then
echo ""
print_yellow "New: /spec-quick -- the fast path to the same spec artifact (ADR-020 v1.3)."
print_gray " One question batch, bounded research, a single reviewer pass. /spec-dc is unchanged."
print_gray " Gemini/Cursor/Codex: add it to the '## Workflows' table in AGENTS.md (not auto-updated)."
fi

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

The update notice is unreachable on the no-change path.

Both implementations return before evaluating the new notice when managed templates are already current.

  • src/commands/update.sh#L477-L485: evaluate the notice before the early return.
  • dotcontext#L1379-L1387: apply the same control-flow fix in the bundled executable.
📍 Affects 2 files
  • src/commands/update.sh#L477-L485 (this comment)
  • dotcontext#L1379-L1387
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/commands/update.sh` around lines 477 - 485, The new /spec-quick notice is
unreachable when managed templates are already current because the update flow
returns first. In src/commands/update.sh around the notice block, move or invoke
the notice evaluation before that early return, preserving its existing
conditions and messaging; apply the same control-flow fix in dotcontext around
the corresponding bundled notice block.

Comment thread templates/AGENTS.md
| --- | --- |
| `setup-context` | Analyze the codebase and populate `.context/` |
| `spec-dc` | Write a behavior spec — the WHAT, with dual review (step 1 of spec → plan → execute) |
| `spec-quick` | Same spec artifact, fast path — bounded research, one review pass (use for small/clear features) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Use the adapter’s actual opencode directory.

The surrounding guidance documents .opencode/commands/, but src/setup/agents.sh emits .opencode/command/. Correct the directory name so the new workflow points to the actual generated location.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@templates/AGENTS.md` at line 105, Update the opencode command-directory
reference in the surrounding workflow guidance to use the singular
`.opencode/command/` path emitted by `src/setup/agents.sh`, replacing the
incorrect `.opencode/commands/` form.

Comment thread templates/AGENTS.md
Comment on lines +118 to +122
When running **`spec-dc`** or **`spec-quick`**, write the spec artifact in the **same language the user
used to describe the feature** (a Portuguese request produces a Portuguese spec), defaulting to the
repository's primary language, then English. This applies to the spec's prose only — keep the section
headings **exactly as written in the template** (English), and the filename slug in ASCII kebab-case;
both are structural anchors that `plan-dc` relies on. `plan-dc` and `execute-dc` stay in English.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Include the Q&A language fallback.

The command template falls back from request language to Q&A language, then repository language; this canonical guidance omits the Q&A fallback. Mirror the full precedence so multilingual clarification produces consistent specs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@templates/AGENTS.md` around lines 118 - 122, Update the language guidance for
spec-dc and spec-quick to use the full precedence: feature-request language,
then Q&A language, then the repository’s primary language, and finally English.
Preserve the existing requirements that prose follows this language while
headings remain exactly as written and filenames use ASCII kebab-case; leave
plan-dc and execute-dc in English.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant