Skip to content

Ask Every Question Through the Interface's Prompt, Blocking or Not - #1838

Merged
ptr727 merged 7 commits into
developfrom
feature/ask-every-question-as-dialog
Sep 25, 2026
Merged

ptr727 merged 7 commits into
developfrom
feature/ask-every-question-as-dialog

Conversation

@ptr727

@ptr727 ptr727 commented Sep 25, 2026

Copy link
Copy Markdown
Owner

Summary

A non-blocking question, or a closing offer of more work, was allowed as inline prose ("A single inline question is fine"), so it landed at the end of long reports where it was lost, and it carried no recommendation. The rule only reached a session through agent-conduct, whose triggers covered blocking questions but not offers, and the unattended-handoff orchestrator had no statement about asking at all.

  • GOVERNANCE.md "Communicating with the User": every question that is asked goes through the interface's prompt mechanism, blocking or not, an offer included. The numbered list is the fallback where no prompt exists, and it opens the message rather than closing it. Whether a question is asked now or parked as an issue stays with the parking bullet.
  • agent-conduct: fires whenever about to ask the user anything or offer more work. The description's leading sentence, which duplicated the trigger list and carried a stale count, is removed, taking the description from 1426 to 1266 characters.
  • session-handoff: "The Parked Decision Queue" intro names the reordered form bullets by their current openings.
  • unattended-handoff: the orchestrator's final message "writes nothing else and asks nothing".
  • Generated includes and distributions regenerated.

Review

Six local strict review passes recorded. Findings fixed: a stale bullet reference in session-handoff, a conflict between the new bullet and the parking bullet, and three defects in an orchestrator closing-prompt design that was then removed on the maintainer's call.

Declined, maintainer's call: the claim that the parking bullet does not rule on a non-blocking, unrecorded question. That bullet already says a question may be recorded "because the work can continue without the answer", which leaves the agent the choice, and either way an asked question goes as a prompt.

🤖 Generated with Claude Code

ptr727 and others added 6 commits September 25, 2026 14:51
A non-blocking question or a closing offer of more work was allowed as
inline prose, so it landed at the end of long reports where it was lost,
and it carried no recommendation. Every question now goes through the
prompt mechanism with the numbered list as the fallback opening the
message, agent-conduct fires on any question or offer, and the
unattended-handoff orchestrator asks a present maintainer through the
prompt rather than in its final report.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… a Stale Count

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 25, 2026 22:08
@ptr727 ptr727 added skills Agent skill agents Agents instructions labels Sep 25, 2026
@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: f3837c03-b42b-44f7-beb2-f9386a751c81


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.

Copilot AI 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.

Copilot review overview

🟢 Approval recommended

The contract change is consistently applied across the canonical sources and regenerated copies, with only minor readability nits called out in the source skill text.

Review effort: Lite
Findings: 2 Low severity

Open (2)
What changed in this PR

Updates the fleet communication contract so that all user questions (blocking or not, including “want me to…?” offers) must be asked via the interface prompt mechanism rather than embedded in prose, and propagates that rule through the skills that surface it at decision moments.

Changes:

  • Replace the “numbered list / inline question” guidance with a stricter “prompt-only” rule, keeping numbered lists as the fallback when no prompt mechanism exists.
  • Expand agent-conduct’s trigger language to include offers of additional work as user questions.
  • Regenerate skill distributions so the rule is reflected consistently across source and generated copies.
File Description
GOVERNANCE.md Defines the new “ask every question via prompt” rule and clarifies fallback behavior.
.github/​skills/​unattended-handoff/​SKILL.md Updates the orchestrator’s ending behavior statement (generated copy).
.github/​skills/​session-handoff/​SKILL.md Updates the parked-decision explanation to reference the new bullet (generated copy).
.github/​skills/​agent-conduct/​SKILL.md Updates agent-conduct trigger description and included governance excerpt (generated copy).
.claude-plugin/​fleet-skills/​skills/​unattended-handoff/​SKILL.md Regenerated Claude plugin copy of the updated skill.
.claude-plugin/​fleet-skills/​skills/​session-handoff/​SKILL.md Regenerated Claude plugin copy of the updated skill.
.claude-plugin/​fleet-skills/​skills/​agent-conduct/​SKILL.md Regenerated Claude plugin copy of the updated skill.
.claude-plugin/​fleet-skills/​.source-digests/​unattended-handoff Updates source digest after regeneration.
.claude-plugin/​fleet-skills/​.source-digests/​session-handoff Updates source digest after regeneration.
.claude-plugin/​fleet-skills/​.source-digests/​agent-conduct Updates source digest after regeneration.
.agents/​skills/​unattended-handoff/​SKILL.md Source-of-truth skill text updated to state the orchestrator “asks nothing”.
.agents/​skills/​session-handoff/​SKILL.md Source-of-truth skill text updated to reference the new governance bullet.
.agents/​skills/​agent-conduct/​SKILL.md Source-of-truth skill description updated to trigger on offers of more work.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .agents/skills/agent-conduct/SKILL.md Outdated
Comment thread .agents/skills/unattended-handoff/SKILL.md Outdated
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings September 25, 2026 22:15

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

There are small but concrete documentation-quality issues (an awkward phrase in the new governance bullet and a reintroduced awkward line wrap) that should be corrected before merging.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Low severity

Open (1)
Resolved since last review (2)
Previously missed (1)

In code that hasn't changed since last review

Low severity Awkward wording around parking bullet dependency

GOVERNANCE.md:223

The phrase "is the parking bullet's to settle" is grammatically awkward; reword to make the dependency on the parking bullet clear.

Comment thread .agents/skills/unattended-handoff/SKILL.md
@ptr727

ptr727 commented Sep 25, 2026

Copy link
Copy Markdown
Owner Author

The phrase "is the parking bullet's to settle" is grammatically awkward; reword to make the dependency on the parking bullet clear. (GOVERNANCE.md:223)

Declining as a pure preference, per fleet-code-review "Review the Change" item 5. The sentence names the bullet it depends on by its exact opening words ("A question filed as an issue is parked rather than asked"), so the dependency is already explicit, and three local strict review passes read it as unambiguous. No rule or reader-visible failure turns on the phrasing.

@ptr727
ptr727 merged commit 1e692d4 into develop Sep 25, 2026
9 checks passed
@ptr727
ptr727 deleted the feature/ask-every-question-as-dialog branch September 25, 2026 23:50
ptr727 added a commit that referenced this pull request Sep 26, 2026
… Fixes to Main (#1839)

Promotes `develop` to `main`.

## Carried

- #1830: stops the prose gate reading a `#` after `$` or `${` as a
comment marker, per #1646.
- #1832: corrects the comment on the `pr_review.py` quota-refusal
remedy, per #1647.
- #1834: accepts an absent, empty, or wildcard SessionEnd matcher as
covering every exit reason, per #1638.
- #1838: routes every question and every offer of more work through the
interface's prompt mechanism, blocking or not.
- #1841: describes a SessionEnd matcher by its shape in the installer
report, following #1834.

Closes #1646
Closes #1647
Closes #1638

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agents Agents instructions skills Agent skill

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants