Fix slide-deck-maintainer: require explicit safe output tool calls#15200
Fix slide-deck-maintainer: require explicit safe output tool calls#15200
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates the slide-deck-maintainer workflow instructions to require an explicit safe output tool call (e.g., noop or create_pull_request) to prevent false “no safe outputs” failures.
Changes:
- Added a required “Report Your Actions” step with
noopguidance for no-change runs and clarification that safe outputs are MCP tools (not bash-invoked). - Renumbered the PR creation step and clarified calling
create_pull_request. - Replaced the prose summary with an actionable completion checklist emphasizing the required tool call.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "message": "Slide deck maintenance complete - no changes needed", | ||
| "details": { | ||
| "slides_reviewed": 49, | ||
| "layout_issues_found": 0, | ||
| "content_errors_found": 0, | ||
| "sources_checked": ["code", "docs", "workflows"], | ||
| "focus_mode": "${{ inputs.focus }}", | ||
| "next_recommended_focus": "feature-deep-dive or area to review next" | ||
| } |
There was a problem hiding this comment.
The noop example JSON hard-codes values like slides_reviewed: 49 and zeros, which may be copied verbatim and produce misleading run metadata. Consider using placeholders (e.g., <number> / <string>), or explicitly label these as example values and instruct the agent to replace them with actual counts from the current run.
| } | ||
| ``` | ||
|
|
||
| **Why this matters**: The `noop` tool records that you completed your work successfully |
There was a problem hiding this comment.
These lines include trailing whitespace at the end of the line. Trailing spaces can cause noisy diffs and may fail markdown linting in some repos; remove the trailing whitespace.
| **Why this matters**: The `noop` tool records that you completed your work successfully | |
| **Why this matters**: The `noop` tool records that you completed your work successfully |
| **Important Note**: Safe output tools (`noop`, `create_pull_request`, etc.) are MCP tools | ||
| available through your standard tool calling interface. Call them directly - do NOT try to |
There was a problem hiding this comment.
These lines include trailing whitespace at the end of the line. Trailing spaces can cause noisy diffs and may fail markdown linting in some repos; remove the trailing whitespace.
| - Source areas scanned (code/workflows/docs) | ||
| - PR link (if created) | ||
| - Next recommended focus area for the next run | ||
| **Remember**: Safe output tools are MCP tools - call them through your tool interface, |
There was a problem hiding this comment.
These lines include trailing whitespace at the end of the line. Trailing spaces can cause noisy diffs and may fail markdown linting in some repos; remove the trailing whitespace.
| **Remember**: Safe output tools are MCP tools - call them through your tool interface, | |
| **Remember**: Safe output tools are MCP tools - call them through your tool interface, |
The slide-deck-maintainer workflow completed successfully but generated a false failure because the agent never called any safe output tools (noop or create_pull_request).
Agent attempted to verify safe output tool availability via bash commands (
npm --prefix /tmp/gh-aw/actions ls | grep safeoutputs), hit permission errors, and incorrectly concluded tools were unavailable. Safe output tools are MCP tools called via the tool interface, not bash commands.Changes
Added Step 9: Report Your Actions (REQUIRED)
nooptool example for no-change scenarios with structured completion detailsRenumbered Step 10: Create Pull Request
create_pull_requesttoolAdded Completion Checklist
Example
When no changes are needed, agent must call:
{ "message": "Slide deck maintenance complete - no changes needed", "details": { "slides_reviewed": 49, "layout_issues_found": 0, "content_errors_found": 0, "sources_checked": ["code", "docs", "workflows"], "focus_mode": "${{ inputs.focus }}", "next_recommended_focus": "feature-deep-dive" } }This pattern prevents false failures in periodic maintenance workflows that complete without making code changes.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.