Skip to content

agent-conduct Surfaces Two Rules That Have No Home Outside It, Against Its Own Claim to Carry Only Includes #1594

Open

Description

@ptr727

.agents/skills/agent-conduct/SKILL.md states twice that every rule it surfaces has its home in a governance file and is carried as a generated include rather than a copy:

The full rules stay in GOVERNANCE.md ("Verification Discipline", "Communicating with the User", "Durable Knowledge and Self-Improvement"), which keeps authority, and each of those three sections is carried here whole, as a generated include that scripts/build_dist.py fills from the section and holds to it

and in the frontmatter:

The GOVERNANCE.md sections this skill surfaces keep the full rules, and the skill carries each of them whole as a generated include rather than as a summary.

Both are false of the file. The ## Before Assuming moment states two hand-authored rules whose text appears nowhere in GOVERNANCE.md, AGENTS.md, CODESTYLE.md, or WORKFLOW.md:

  • "Ask when the user can cheaply confirm"
  • "The irreversible step (merging, publishing, releasing, force-pushing, deleting, changing branch protection) stays the maintainer's"

grep -c 'cheaply' and grep -c 'irreversible' each return 0 across all four files. So one of the five moments surfaces rules that exist only inside a skill, which is what AGENTS.md "Where the Rules Live" says must not happen: "A Skill that needs a rule's full text to work in isolation carries it as a generated include from the rule's home rather than as a copy, per the skill-lifecycle Skill, so the text cannot drift undetected."

Either those two rules belong in GOVERNANCE.md "Communicating with the User" and the skill should include them, or they are genuinely skill-local and the two claims above need narrowing to the three sections they actually describe. The second reading is weaker, because the irreversible-step rule is fleet law that binds whether or not a session loaded this skill, and it currently reaches no carrying repository at all except through .github/skills/.

A second, smaller inconsistency in the same file: the frontmatter triggers on "about to report success or completion of any task" while the body's Before Claiming Done says "before reporting success on anything non-trivial". Two thresholds for one moment, and nothing says which binds.

Surfaced by carried-content review passes on feature/blocked-upstream-issue-rule. That change touched the frontmatter and the durable-knowledge moment; neither of these findings is its doing.

Activity

  1. added
    pre-existingReview finding classed pre-existing per local-strict-review Disposing of Findings
    proseA defect in rule or procedure text
    on Sep 14, 2026
  2. ptr727 commented on Nov 1, 2026

    @ptr727
    OwnerAuthor

    Decision needed (decision triage, 2026-11-01)

    Question: Should the two hand-authored rules in agent-conduct's "Before Assuming" ("Ask when the user can cheaply confirm" and "The irreversible step ... stays the maintainer's") move into GOVERNANCE.md, or should the skill's "Why This Exists" claim that its rules live in GOVERNANCE.md be narrowed?

    Options, recommended first:

    1. Move both into "Communicating with the User" (recommended): Already included whole in agent-conduct and session-handoff, so no new include region, and "Before Assuming" becomes a pointer; the irreversible-step rule then reaches every carrier through GOVERNANCE.md. Also drop the skill's "non-trivial" qualifier (absent from GOVERNANCE.md) so the section decides the threshold. Edits a carried section, so a resync is owed. No work in flight.
    2. Split: ask-rule to Communicating, irreversible to Write Safety: The closer topical home for the irreversible rule, matching the host block, but agent-conduct does not include Write Safety, so it needs a second include or a pointer. No work in flight.
    3. Narrow the skill's claim, keep the rules skill-local: Smallest edit, but fleet law reaches carriers only as a copy inside a skill, the case AGENTS.md says must not happen. No work in flight.

    Evidence: Rules at agent-conduct SKILL.md:72-73, and cheaply and irreversible count 0 in GOVERNANCE.md, AGENTS.md, CODESTYLE.md, WORKFLOW.md. SKILL.md:26: "The full rules stay in GOVERNANCE.md". 6e6a35f (#1807) already narrowed the frontmatter and removed the "any task" trigger. The body's "non-trivial" (SKILL.md:34) is the remaining threshold mismatch.

    Blocks: none

  3. added
    decisionA question waiting on the maintainer, alone or beside whatever else the issue carries
    on Nov 1, 2026
  4. ptr727 commented on Nov 1, 2026

    @ptr727
    OwnerAuthor

    Maintainer answer (decision triage, 2026-11-01): Option 1: move both rules into GOVERNANCE.md 'Communicating with the User', make agent-conduct 'Before Assuming' a pointer, and drop the skill's 'non-trivial' qualifier. A fleet resync is owed. This is now work for the next burndown round.

  5. removed
    decisionA question waiting on the maintainer, alone or beside whatever else the issue carries
    on Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    pre-existingReview finding classed pre-existing per local-strict-review Disposing of FindingsproseA defect in rule or procedure textskillsAgent skill

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions