Skip to content

Reference AGENTS.md's Unresolved-Rule Line Instead of Copying It - #1074

Merged
ptr727 merged 2 commits into
developfrom
feature/1070-local-strict-review-template-ref
Aug 29, 2026
Merged

Reference AGENTS.md's Unresolved-Rule Line Instead of Copying It#1074
ptr727 merged 2 commits into
developfrom
feature/1070-local-strict-review-template-ref

Conversation

@ptr727

@ptr727ptr727 commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Fixes#1070.

local-strict-review/SKILL.md's subagent-briefing template copied the closing sentence of AGENTS.md's own template ("If a rule you were given does not cover what you find, stop and report it. Do not guess, and do not read a governance file to resolve it.") verbatim into its fenced instantiation, instead of only referencing it. That risks silent drift if AGENTS.md's template wording changes later.

Fix: dropped the copied line from the fenced template block, added one prose sentence outside the fence pointing at AGENTS.md's own template line instead. Applied to the canonical source (.agents/skills/local-strict-review/SKILL.md) and regenerated the two mirrored copies (.claude-plugin/fleet-skills/, .github/skills/) via scripts/build_dist.py.

Ran local-strict-review against this branch's own diff before pushing (dogfooding it, per the issue's own subject): it confirmed the fix's core claim (the referenced line is verbatim-present in AGENTS.md) and caught one real prose-convention slip — the new sentence was hard-wrapped across two physical lines, the one paragraph in the file breaking its own single-line-per-paragraph convention (.markdownlint-cli2.jsonc disables MD013 deliberately for this file's long-paragraph style). Fixed before this push.

scripts/build_dist.py --check, scripts/prose_lint.py, scripts/repo_gate.py, and scripts/host_gate.py all pass.

Summary by CodeRabbit

  • Documentation

    • Updated review guidance to improve briefing formatting and clarify how unresolved rules are communicated.
    • Standardized instructions across supported review workflows for a more consistent review experience.
    • Clarified the expected closing statement when applicable rules do not fully resolve a finding.
  • Chores

    • Refreshed supporting metadata to keep workflow resources synchronized.

local-strict-review/SKILL.md's subagent-briefing template restated
AGENTS.md's own closing line verbatim; point at it instead so it can't
drift out of sync. Regenerated the two mirrored copies via
build_dist.py.
CopilotAI lite review requested due to automatic review settings August 29, 2026 01:18
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Reference canonical unresolved-rule guidance in local strict review

🐞 Bug fix📝 Documentation🕐 Less than 10 minutes

Grey Divider

AI Description

• Replaces duplicated unresolved-rule wording with a reference to AGENTS.md’s canonical template.
• Regenerates Claude and GitHub skill mirrors to preserve source consistency.
• Refreshes the distribution digest after canonical skill changes.
Diagram

graph TD
A["AGENTS.md"] --> B["Source skill"] --> C["Build script"] --> D["Claude mirror"]
C --> E["GitHub mirror"]
C --> F["Source digest"]
Loading
High-Level Assessment

Referencing the canonical AGENTS.md template from the hand-authored skill is the appropriate approach because it removes duplicated governance wording while preserving the requirement to quote that wording into each subagent brief. Regenerating both mirrors and the digest through the existing distribution workflow keeps all published copies synchronized.

Files changed (4) +7 / -7

Bug fix (1) +2 / -2
SKILL.mdReference canonical unresolved-rule guidance+2/-2

Reference canonical unresolved-rule guidance

• Removes the copied unresolved-rule sentence from the fenced briefing template. Adds an instruction to close each brief with the canonical line quoted directly from 'AGENTS.md', preventing wording drift.

.agents/skills/local-strict-review/SKILL.md

Documentation (2) +4 / -4
SKILL.mdRegenerate Claude skill mirror+2/-2

Regenerate Claude skill mirror

• Propagates the canonical-reference instruction into the generated Claude plugin copy of the local strict review skill.

.claude-plugin/fleet-skills/skills/local-strict-review/SKILL.md

SKILL.mdRegenerate GitHub skill mirror+2/-2

Regenerate GitHub skill mirror

• Propagates the canonical-reference instruction into the generated GitHub-compatible copy of the local strict review skill.

.github/skills/local-strict-review/SKILL.md

Other (1) +1 / -1
.source-digestRefresh generated source digest+1/-1

Refresh generated source digest

• Updates the plugin distribution digest to reflect the canonical skill source change.

.claude-plugin/fleet-skills/.source-digest

@coderabbitai

coderabbitaiBot commented Aug 29, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c34d408e-cf5f-4280-a570-7bb0ea58c35c

📥 Commits

Reviewing files that changed from the base of the PR and between edce525 and 1022227.

📒 Files selected for processing (4)
  • .agents/skills/local-strict-review/SKILL.md
  • .claude-plugin/fleet-skills/.source-digest
  • .claude-plugin/fleet-skills/skills/local-strict-review/SKILL.md
  • .github/skills/local-strict-review/SKILL.md

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The three mirrored local-strict-review skill files now reference AGENTS.md for the unresolved-rule line instead of copying fallback text. The fleet source digest was updated.

Changes

Local strict review briefing

Layer / File(s)Summary
Replace copied unresolved-rule guidance
.agents/skills/local-strict-review/SKILL.md, .claude-plugin/fleet-skills/skills/local-strict-review/SKILL.md, .github/skills/local-strict-review/SKILL.md, .claude-plugin/fleet-skills/.source-digest
The mirrored briefings close the template block and instruct the subagent to quote the unresolved-rule line from AGENTS.md. The stored source digest value was updated.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk:⚪ Minimal · up to 10222

This change removes duplicated template wording and references the authoritative rule instead, keeping the canonical and mirrored documentation aligned; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: referencing AGENTS.md's unresolved-rule line instead of copying it.
Linked Issues check✅ PassedThe pull request removes the copied unresolved-rule wording and replaces it with an AGENTS.md reference in the canonical skill and both mirrored copies. The source digest was also updated. This satisf…
Out of Scope Changes check✅ PassedAll changes support issue #1070. The mirrored skill updates and source-digest change are consistent with the stated regeneration workflow. No unrelated code changes are present.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Full details: Linked Issues check

Explanation

The pull request removes the copied unresolved-rule wording and replaces it with an AGENTS.md reference in the canonical skill and both mirrored copies. The source digest was also updated. This satisfies issue #1070.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (4 skipped: 4 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/1070-local-strict-review-template-ref

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

@qodo-code-review

qodo-code-reviewBot commented Aug 29, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0)📘 Rule violations (0)📜 Skill insights (0)

Grey Divider


Action required

1. PR title lacks Title Case⊘ Outdated📜 Skill insight⚙ Maintainability
Description
The title leaves significant words such as unresolved-rule, line, instead, copying, and it
lowercase. This violates both title-case requirements, including the combined title rule with error
severity.
Code

.agents/skills/local-strict-review/SKILL.md[53]

+Close the brief with the same unresolved-rule line as `AGENTS.md`'s own template, quoted from there rather than restated here.
Relevance

●●● Strong

Accepted capitalization and wording corrections show the team enforces deterministic prose
conventions; title-case is similarly explicit and local.

PR-#12
PR-#589

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The supplied PR metadata gives the title as `Reference AGENTS.md's unresolved-rule line instead of
copying it`; the cited rules require significant words to be capitalized, while only designated
short bind words such as of remain lowercase. The diff pointer anchors the finding to the
canonical changed file because PR-title metadata has no file location in the diff.

Rule 2826422: Enforce Title Case for Pull Request Titles with Lowercase Short Bind Words
.agents/skills/local-strict-review/SKILL.md[53-53]
Skill: comment-and-doc-style

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
Change the PR title to Title Case: `Reference AGENTS.md's Unresolved-Rule Line Instead of Copying It`.
## Issue Context
The title is imperative, within 72 characters, and has no trailing period, but its significant words are not capitalized. Rule 2826820 declares this requirement with error severity, while rule 2826422 independently requires Title Case.
## Fix Focus Areas
- .agents/skills/local-strict-review/SKILL.md[53-53]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 72 rules
✅ Skills: 5 invoked
comment-and-doc-style
dotnet-codestyle
python-codestyle
shell-codestyle
workflow-ci-contract
Review mode: ⚖️ Balanced

Grey Divider

Tip of the day
💡 Did you know, you can group findings by type and pick your Finding display, from Minimal to Full

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread.agents/skills/local-strict-review/SKILL.md Outdated

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The new guidance that replaces the removed template line is outside the fenced brief block and can be missed when the block is copied, leaving the subagent brief shape incomplete.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR updates the local-strict-review skill to avoid duplicating (and potentially drifting from) the canonical “unresolved rule” closing line in AGENTS.md, then regenerates the mirrored skill distributions.

Changes:

  • Removed the verbatim unresolved-rule closing sentence from the local-strict-review subagent-brief template block.
  • Added a prose instruction to reference AGENTS.md’s canonical template line instead of restating it.
  • Regenerated mirrored copies under .github/skills/ and .claude-plugin/fleet-skills/ (including updating .source-digest).
File summaries
FileDescription
.agents/skills/local-strict-review/SKILL.mdCanonical skill source updated to stop verbatim-copying the unresolved-rule line.
.github/skills/local-strict-review/SKILL.mdRegenerated mirror reflecting the canonical skill change.
.claude-plugin/fleet-skills/skills/local-strict-review/SKILL.mdRegenerated mirror reflecting the canonical skill change.
.claude-plugin/fleet-skills/.source-digestUpdated digest for the regenerated fleet-skills distribution.
Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 3
  • Review effort level: Lite

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread.agents/skills/local-strict-review/SKILL.md Outdated
Comment thread.github/skills/local-strict-review/SKILL.md Outdated
Comment thread.claude-plugin/fleet-skills/skills/local-strict-review/SKILL.md Outdated
CodeRabbit caught a copy-paste completeness gap: the round-1 fix moved
the unresolved-rule pointer entirely outside the fenced template, so
pasting just the fence dropped it. Moved the reference back inside the
fence, phrased to point at AGENTS.md rather than restate its wording.
CopilotAI review requested due to automatic review settings August 29, 2026 02:43
@ptr727ptr727 changed the title Reference AGENTS.md's unresolved-rule line instead of copying itReference AGENTS.md's Unresolved-Rule Line Instead of Copying ItAug 29, 2026
@ptr727

Copy link
Copy Markdown
OwnerAuthor

Qodo finding "PR title lacks Title Case": fixed, title changed to "Reference AGENTS.md's Unresolved-Rule Line Instead of Copying It" (Title Case). Qodo's own badge already shows this struck through as outdated.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

The new template line reads as if it includes AGENTS.md's closing sentence, but it is only a reference, so it should be reworded for unambiguous prompting.

Review details

Suppressed comments (3)

.agents/skills/local-strict-review/SKILL.md:52

  • The new line says to "Close with" AGENTS.md's unresolved-rule closing line, but this text is only a reference to that line. Reword to make it clear the template ends with a reference (not the closing sentence itself), to avoid ambiguity for someone copy/pasting this block as a subagent prompt.
Close with the unresolved-rule closing line from `AGENTS.md` "Context and Delegation
Discipline", referenced rather than restated here.

.github/skills/local-strict-review/SKILL.md:52

  • The new line says to "Close with" AGENTS.md's unresolved-rule closing line, but this text is only a reference to that line. Reword to make it clear the template ends with a reference (not the closing sentence itself), to avoid ambiguity for someone copy/pasting this block as a subagent prompt.
Close with the unresolved-rule closing line from `AGENTS.md` "Context and Delegation
Discipline", referenced rather than restated here.

.claude-plugin/fleet-skills/skills/local-strict-review/SKILL.md:52

  • The new line says to "Close with" AGENTS.md's unresolved-rule closing line, but this text is only a reference to that line. Reword to make it clear the template ends with a reference (not the closing sentence itself), to avoid ambiguity for someone copy/pasting this block as a subagent prompt.
Close with the unresolved-rule closing line from `AGENTS.md` "Context and Delegation
Discipline", referenced rather than restated here.
  • Files reviewed: 4/4 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@ptr727

Copy link
Copy Markdown
OwnerAuthor

Qodo suppressed finding (3x, one per mirror, ".../SKILL.md:52"): "the new line says to 'Close with' AGENTS.md's unresolved-rule closing line, but this text is only a reference to that line ... reword to make it clear the template ends with a reference (not the closing sentence itself)."

Declined: the fence already establishes this exact instructional pattern one line earlier, verbatim, line 45: "Rules that bind this task: quote code-review's "Review the Change" section into the prompt" — that line is likewise an instruction to fetch and insert external content at instantiation time, not literal text to paste. The new closing line (line 51-52) follows the same established convention, and this PR's own local-strict-review dogfooding runs (see PR description) instantiated the brief correctly both times, ending with the literal AGENTS.md line rather than the reference sentence itself, confirming the pattern already reads as intended within this file.

@ptr727
ptr727 merged commit 5117355 into developAug 29, 2026
9 checks passed
@qodo-code-review

Copy link
Copy Markdown

Qodo suppressed finding (3x, one per mirror, ".../SKILL.md:52"): "the new line says to 'Close with' AGENTS.md's unresolved-rule closing line, but this text is only a reference to that line ... reword to make it clear the template ends with a reference (not the closing sentence itself)."

Declined: the fence already establishes this exact instructional pattern one line earlier, verbatim, line 45: "Rules that bind this task: quote code-review's "Review the Change" section into the prompt" — that line is likewise an instruction to fetch and insert external content at instantiation time, not literal text to paste. The new closing line (line 51-52) follows the same established convention, and this PR's own local-strict-review dogfooding runs (see PR description) instantiated the brief correctly both times, ending with the literal AGENTS.md line rather than the reference sentence itself, confirming the pattern already reads as intended within this file.

Your rationale is sound. The wording at lines 51–52 follows the established line-45 convention: it instructs the instantiated prompt to include external text, rather than treating the reference itself as literal output. The reported concern is therefore not actionable; the corresponding Qodo finding is already marked outdated (finding 1).

@ptr727
ptr727 deleted the feature/1070-local-strict-review-template-ref branch August 29, 2026 02:48
ptr727 added a commit that referenced this pull request Aug 29, 2026
Follow-up to #1074 (issue #1070), found by the develop -> main promotion
PR (#1077)'s own review.
Copilot sharpened Qodo's earlier ambiguity finding on the same line: the
closing-reference sentence sat inside the fenced subagent-brief template
with no field-name prefix, unlike the template's other five fields
(Task/Paths/Rules that bind this task/Return/Bounds), so it read as
literal content handed to the subagent rather than an instruction to
whoever assembles the brief — and the subagent has no access to
`AGENTS.md` to resolve it.
Fix: gave it its own `Close:` field, phrased the same way line 45
already resolves the identical pattern (inserting canonical content into
the prompt at assembly time rather than restating it): `quote X into the
prompt`.
Ran `local-strict-review` against this branch's diff before pushing; no
blocking findings (one purely stylistic comma-splice nit, not a rule
violation, left as-is).
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Documentation**
* Updated review guidance to require quoting the exact unresolved-rule
closing line, “Context and Delegation Discipline,” rather than referring
to it indirectly.
* Synchronized the same instruction across all distributed review
guidance.
* Refreshed associated source metadata to reflect the updated guidance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
ptr727 added a commit that referenced this pull request Aug 29, 2026
Follow-up to #1074/#1079 (issue #1070), found by the develop -> main
promotion PR (#1077)'s second review round.
Copilot flagged the `Close:` field #1079 introduced as a non-canonical
key: `AGENTS.md`'s own template ("Context and Delegation Discipline")
has exactly 5 labeled fields (Task/Paths/Rules that bind this
task/Return/Bounds) followed by one unlabeled trailing sentence, not a
6th labeled field. `local-strict-review/SKILL.md`'s own "Running It"
section says to follow that exact shape.
Round 1 fix (commit 2778010): dropped the `Close:` label, went back to
an unlabeled trailing line in the same position `AGENTS.md`'s own
closing sentence occupies, kept #1079's "quote X into the prompt"
phrasing. A fresh Copilot round then flagged that this still read as an
imperative instruction addressed to the subagent, who cannot fulfil it
(no AGENTS.md access) - the same ambiguity #1079 had already addressed
once.
Round 2 fix (commit 2faa0e0, current): replaced the imperative sentence
with an explicit angle-bracket placeholder, matching `AGENTS.md`'s own
template syntax exactly (which uses `<...>` for every field value). This
is the second use of that convention in this file, not a new one -
`<target>` already appears the same way at line 40. Fails safe if pasted
unsubstituted: an obvious unfilled token rather than a misleading
instruction.
Ran `local-strict-review` against this branch's diff before each push,
explicitly asked to hunt for a reason a further round could still be
needed. Round 2's review: no confirmed defect, and a specific, honest
assessment of why this shape is unlikely to bounce again (matches an
established in-file convention, fails safe, closes every prior round's
concern simultaneously).
Sign up for freeto 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.

2 participants

@ptr727