Skip to content

feat: add spec-kit reviewer agents and rename RFC vocabulary to plan - #31

Merged
MrPointer merged 3 commits into
mainfrom
feature/speckit-canonical-plan
Sep 14, 2026
Merged

MrPointer merged 3 commits into
mainfrom
feature/speckit-canonical-plan

Conversation

@MrPointer

Copy link
Copy Markdown
Owner

📝 Summary

The timors-agentic-workflow Spec Kit preset named its normative planning document "RFC", which collided with the separate real-RFC workflow, and it shipped no reviewer agents that its role-binding could actually select. This branch renames the preset's planning vocabulary from "RFC" to "plan", adds five reviewer agents (for both Claude Code and opencode) that fulfill the preset's reviewer roles, and reworks the reviewer constraint from the misleading "read-only" wording to an explicit no-modification rule.

Key Decisions

🔤 RFC → plan vocabulary rename

Renamed the preset's planning artifacts, references, identifiers, and review-report paths from "RFC" to "plan" (for example references/rfc-planning.md → references/plan-lifecycle.md, rfc-design/rfc-clarity/tasks-rfc-fidelity reviewers → plan-design/plan-clarity/tasks-plan-fidelity). This removes the name clash with the unrelated real-RFC workflow, whose own documents intentionally keep the "RFC" term.

🤖 Preset reviewer agents

Added five reviewer agents matching the preset's roles: plan-design, plan-clarity, tasks-plan-fidelity, tasks-executability, and component-docs. Each has a shared base template in .chezmoitemplates/ consumed by thin Claude (dot_claude/agents/) and opencode (private_dot_config/opencode/agents/) wrappers. Names are tier-prefixed (<tier>-<role>) so the preset's description-based binding can select a single clear fit; the preset scope lives in the description, not the name.

🛡️ Reviewer constraint reworded

Replaced "read-only" across the preset and the new agents with an explicit rule: a reviewer does not modify the artifacts it reviews and writes only its review report, outside the reviewed set. "Read-only" was self-contradictory because reviewers must write their reports; the object-stated wording removes that trap.

🔄 Before & After

Area Before After
Planning vocabulary Preset used "RFC" for its normative plan, clashing with the real-RFC workflow Preset uses "plan" throughout; real-RFC workflow keeps "RFC"
Reviewer agents Preset defined reviewer roles but shipped no bindable agents Five tier-prefixed reviewer agents for Claude and opencode, on a shared base
Reviewer constraint "Read-only", contradicting the requirement to write reports No-modification rule: writes only its report, outside the reviewed set

The timors-agentic-workflow preset used "RFC" as the label for the
normative design document, carried over from an older workflow where an
RFC was a separate file. In this preset plan.md plays that role, so the
extra term added a false concept for readers of both Spec Kit and the
preset.

Switch "RFC" to "plan" across preset prose, structured review
identifiers, generated report paths, reviewer packet filenames, and the
reference filename, and update the preset architecture doc to match. The
separate RFC-document workflow and its reviewer agents are left
untouched.
The timors-agentic-workflow preset expects five independent reviewer
roles, bound by matching each role description to a candidate agent
description. This repository supplied no agents that fit those roles.

Add five global reviewer agents, one per preset role, for both Claude
Code and opencode, sharing a base body per role in .chezmoitemplates.
Names carry the provider-neutral tier prefix used by the worker naming
convention (most-capable, mid-tier); preset scoping lives in the agent
description, which is the actual binding input.
The word "read-only" implied a reviewer writes nothing, yet every
reviewer must write its review report. That ambiguity is a trap for a
human or an agent reading the preset.

State the constraint by its object instead: a reviewer does not modify
the reviewed artifacts, and its only output is its review report, written
outside the reviewed set. Reword the review lifecycle, binding, and
documentation references, and add an explicit Output line to each
reviewer packet.
@MrPointer
MrPointer force-pushed the feature/speckit-canonical-plan branch from 464409b to 8af38d9 Compare September 14, 2026 11:55
@MrPointer
MrPointer merged commit 23ab604 into main Sep 14, 2026
5 checks passed
@MrPointer
MrPointer deleted the feature/speckit-canonical-plan branch September 14, 2026 12:00
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