diff --git a/.github/workflows/agent-performance-analyzer.lock.yml b/.github/workflows/agent-performance-analyzer.lock.yml
index be53ed89596..1b3e70bbbc2 100644
--- a/.github/workflows/agent-performance-analyzer.lock.yml
+++ b/.github/workflows/agent-performance-analyzer.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/agent-performance-analyzer.md b/.github/workflows/agent-performance-analyzer.md
index 3f4f6317646..27455ca56ed 100644
--- a/.github/workflows/agent-performance-analyzer.md
+++ b/.github/workflows/agent-performance-analyzer.md
@@ -577,8 +577,4 @@ Your effectiveness is measured by:
Execute all phases systematically and maintain an objective, data-driven approach to agent performance analysis.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/ai-moderator.lock.yml b/.github/workflows/ai-moderator.lock.yml
index cea637232e6..ba2818da0ad 100644
--- a/.github/workflows/ai-moderator.lock.yml
+++ b/.github/workflows/ai-moderator.lock.yml
@@ -23,6 +23,10 @@
# For more information: https://github.github.com/gh-aw/introduction/overview/
#
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - CODEX_API_KEY
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/ai-moderator.md b/.github/workflows/ai-moderator.md
index a203932bd59..994fdaad19f 100644
--- a/.github/workflows/ai-moderator.md
+++ b/.github/workflows/ai-moderator.md
@@ -204,8 +204,4 @@ If no spam was detected, you may still update the log to remove stale entries, b
- Provide clear reasoning for each detection in your analysis
- Only take action if you have high confidence in the detection
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/archie.lock.yml b/.github/workflows/archie.lock.yml
index 675f9c49de6..6a3fa8ce002 100644
--- a/.github/workflows/archie.lock.yml
+++ b/.github/workflows/archie.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/mcp/serena-go.md
# - shared/mcp/serena.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/archie.md b/.github/workflows/archie.md
index affb45afd95..d2680c691f5 100644
--- a/.github/workflows/archie.md
+++ b/.github/workflows/archie.md
@@ -234,8 +234,4 @@ A successful Archie run:
Examine the current context, analyze any linked references, generate your Mermaid diagrams using Serena, validate them, and post your visualization comment!
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/architecture-guardian.lock.yml b/.github/workflows/architecture-guardian.lock.yml
index e918b294b2c..e354dab88f4 100644
--- a/.github/workflows/architecture-guardian.lock.yml
+++ b/.github/workflows/architecture-guardian.lock.yml
@@ -24,6 +24,10 @@
#
# Daily analysis of commits from the last 24 hours to detect code structure violations in Go and JavaScript files, such as large files, oversized functions, high export counts, and import cycles
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - GH_AW_AGENT_TOKEN
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/architecture-guardian.md b/.github/workflows/architecture-guardian.md
index 5a38648ac1e..a7e0d8aa043 100644
--- a/.github/workflows/architecture-guardian.md
+++ b/.github/workflows/architecture-guardian.md
@@ -304,8 +304,4 @@ Thresholds from `.architecture.yml` (or defaults):
> 🏛️ *To configure thresholds, add a `.architecture.yml` file to the repository root.*
```
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/artifacts-summary.lock.yml b/.github/workflows/artifacts-summary.lock.yml
index 1467721f63e..b7856b9c047 100644
--- a/.github/workflows/artifacts-summary.lock.yml
+++ b/.github/workflows/artifacts-summary.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/reporting.md
# - shared/safe-output-app.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/artifacts-summary.md b/.github/workflows/artifacts-summary.md
index b9275fd604e..ba04e311b32 100644
--- a/.github/workflows/artifacts-summary.md
+++ b/.github/workflows/artifacts-summary.md
@@ -92,8 +92,4 @@ Create an issue with a markdown table like this:
- Consider artifact retention policies in your analysis
- Include both successful and failed runs in the analysis, ignore cancelled runs
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml
index c6beaf053a8..f1cdb8fe4ca 100644
--- a/.github/workflows/audit-workflows.lock.yml
+++ b/.github/workflows/audit-workflows.lock.yml
@@ -31,6 +31,8 @@
# - shared/repo-memory-standard.md
# - shared/reporting.md
# - shared/trending-charts-simple.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/audit-workflows.md b/.github/workflows/audit-workflows.md
index 72242b656a3..53db90c37ad 100644
--- a/.github/workflows/audit-workflows.md
+++ b/.github/workflows/audit-workflows.md
@@ -96,8 +96,4 @@ Memory structure: `/tmp/gh-aw/repo-memory/default/{audits,patterns,metrics}/*.js
Always create discussion with findings and update repo memory.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/auto-triage-issues.lock.yml b/.github/workflows/auto-triage-issues.lock.yml
index 44b41198ed5..a769273bb24 100644
--- a/.github/workflows/auto-triage-issues.lock.yml
+++ b/.github/workflows/auto-triage-issues.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/github-guard-policy.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/auto-triage-issues.md b/.github/workflows/auto-triage-issues.md
index c6f74e59524..7935f4ad71e 100644
--- a/.github/workflows/auto-triage-issues.md
+++ b/.github/workflows/auto-triage-issues.md
@@ -290,8 +290,4 @@ When running on schedule, create a discussion report following these formatting
- Label accuracy: ≥90% (minimal maintainer corrections needed)
- False positive rate: <10%
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/blog-auditor.lock.yml b/.github/workflows/blog-auditor.lock.yml
index dd016956246..742f0befc81 100644
--- a/.github/workflows/blog-auditor.lock.yml
+++ b/.github/workflows/blog-auditor.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/daily-audit-discussion.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/blog-auditor.md b/.github/workflows/blog-auditor.md
index 2d419ef7cac..ddb9fb2a938 100644
--- a/.github/workflows/blog-auditor.md
+++ b/.github/workflows/blog-auditor.md
@@ -299,8 +299,4 @@ A successful audit:
Begin your audit now. Navigate to the blog using Playwright, capture the accessibility snapshot, extract and validate code snippets, validate all criteria, and report your findings.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/bot-detection.lock.yml b/.github/workflows/bot-detection.lock.yml
index ad510cc4014..d9a20f9fb00 100644
--- a/.github/workflows/bot-detection.lock.yml
+++ b/.github/workflows/bot-detection.lock.yml
@@ -24,6 +24,10 @@
#
# Investigates suspicious repository activity and maintains a single triage issue
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/bot-detection.md b/.github/workflows/bot-detection.md
index c0432f0973e..4351f0c341c 100644
--- a/.github/workflows/bot-detection.md
+++ b/.github/workflows/bot-detection.md
@@ -922,8 +922,4 @@ Map score → severity:
If you cannot verify a signal from available data, score it as `0` and do not infer.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/brave.lock.yml b/.github/workflows/brave.lock.yml
index 7d2270a14ea..0f818892087 100644
--- a/.github/workflows/brave.lock.yml
+++ b/.github/workflows/brave.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/mcp/brave.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - BRAVE_API_KEY
diff --git a/.github/workflows/brave.md b/.github/workflows/brave.md
index 66c100204df..d74cffe7998 100644
--- a/.github/workflows/brave.md
+++ b/.github/workflows/brave.md
@@ -132,8 +132,4 @@ Your search summary should be formatted as a comment with:
Remember: Your goal is to provide valuable, actionable information from web searches that helps resolve the issue or improve the pull request.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/ci-coach.lock.yml b/.github/workflows/ci-coach.lock.yml
index 45a4a41ce7e..80e8c8741cb 100644
--- a/.github/workflows/ci-coach.lock.yml
+++ b/.github/workflows/ci-coach.lock.yml
@@ -30,6 +30,8 @@
# - shared/jqschema.md
# - shared/ci-data-analysis.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_CI_TRIGGER_TOKEN
diff --git a/.github/workflows/ci-coach.md b/.github/workflows/ci-coach.md
index 324ca2ba2f4..ccef9c3a9ed 100644
--- a/.github/workflows/ci-coach.md
+++ b/.github/workflows/ci-coach.md
@@ -350,8 +350,4 @@ The CI Coach workflow must NEVER alter test code (`*_test.go` files) in ways tha
Begin your analysis now. Study the CI configuration, analyze the run data, and identify concrete opportunities to make the test suite more efficient while minimizing costs. If you propose changes to the CI workflow, validate them by running the build, lint, and test commands before creating a pull request. Only create a PR if all validations pass.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/claude-code-user-docs-review.lock.yml b/.github/workflows/claude-code-user-docs-review.lock.yml
index 9f679d21609..8f327d4fef1 100644
--- a/.github/workflows/claude-code-user-docs-review.lock.yml
+++ b/.github/workflows/claude-code-user-docs-review.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/daily-audit-discussion.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/claude-code-user-docs-review.md b/.github/workflows/claude-code-user-docs-review.md
index be3524311a6..88bb587647e 100644
--- a/.github/workflows/claude-code-user-docs-review.md
+++ b/.github/workflows/claude-code-user-docs-review.md
@@ -541,8 +541,4 @@ Your report is successful if it:
Execute your review systematically and provide a comprehensive report that helps make gh-aw accessible to all AI tool users, not just Copilot users.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/cli-consistency-checker.lock.yml b/.github/workflows/cli-consistency-checker.lock.yml
index e9201c491b1..659b17dcae8 100644
--- a/.github/workflows/cli-consistency-checker.lock.yml
+++ b/.github/workflows/cli-consistency-checker.lock.yml
@@ -24,6 +24,10 @@
#
# Inspects the gh-aw CLI to identify inconsistencies, typos, bugs, or documentation gaps by running commands and analyzing output
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
# - GH_AW_GITHUB_TOKEN
diff --git a/.github/workflows/cli-consistency-checker.md b/.github/workflows/cli-consistency-checker.md
index 702813a2a14..f300aed0105 100644
--- a/.github/workflows/cli-consistency-checker.md
+++ b/.github/workflows/cli-consistency-checker.md
@@ -253,8 +253,4 @@ All CLI output comes from the repository's own codebase, so treat it as trusted
- Create issues for any inconsistencies found
- Be specific with exact quotes from CLI output in your issue reports
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml
index 59553153c0d..ad5f0817c06 100644
--- a/.github/workflows/cli-version-checker.lock.yml
+++ b/.github/workflows/cli-version-checker.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/jqschema.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/cli-version-checker.md b/.github/workflows/cli-version-checker.md
index e9ccea4119c..a4fc583361f 100644
--- a/.github/workflows/cli-version-checker.md
+++ b/.github/workflows/cli-version-checker.md
@@ -336,8 +336,4 @@ npm view @github/copilot --json 2>/dev/null | jq -r '.version'
- Exit successfully if no updates found
- Document incomplete research if rate-limited
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/cloclo.lock.yml b/.github/workflows/cloclo.lock.yml
index 4ec1d5f925b..b26ae080b4b 100644
--- a/.github/workflows/cloclo.lock.yml
+++ b/.github/workflows/cloclo.lock.yml
@@ -28,6 +28,8 @@
# - shared/jqschema.md
# - shared/mcp/serena-go.md
# - shared/mcp/serena.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/cloclo.md b/.github/workflows/cloclo.md
index 59654dba67e..00e234c8c66 100644
--- a/.github/workflows/cloclo.md
+++ b/.github/workflows/cloclo.md
@@ -200,8 +200,4 @@ Now analyze the content above and execute the appropriate action. Remember:
- ❌ Never modify `.github/.workflows` directory
- ❌ Don't make changes without understanding the request
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/code-scanning-fixer.lock.yml b/.github/workflows/code-scanning-fixer.lock.yml
index 1f5be471433..575401d375d 100644
--- a/.github/workflows/code-scanning-fixer.lock.yml
+++ b/.github/workflows/code-scanning-fixer.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/activation-app.md
# - shared/security-analysis-base.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_CI_TRIGGER_TOKEN
diff --git a/.github/workflows/code-scanning-fixer.md b/.github/workflows/code-scanning-fixer.md
index 38ed477ba0b..16b684e2e52 100644
--- a/.github/workflows/code-scanning-fixer.md
+++ b/.github/workflows/code-scanning-fixer.md
@@ -225,8 +225,4 @@ If any step fails:
Remember: Your goal is to provide a secure, well-tested fix that can be reviewed and merged safely. Focus on quality and correctness over speed.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/code-simplifier.lock.yml b/.github/workflows/code-simplifier.lock.yml
index 88f28dd807b..7c82ca2ee6f 100644
--- a/.github/workflows/code-simplifier.lock.yml
+++ b/.github/workflows/code-simplifier.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/activation-app.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/code-simplifier.md b/.github/workflows/code-simplifier.md
index 222a042bdb2..9cd1d950845 100644
--- a/.github/workflows/code-simplifier.md
+++ b/.github/workflows/code-simplifier.md
@@ -403,8 +403,4 @@ Your output MUST either:
Begin your code simplification analysis now. Find recently modified code, assess simplification opportunities, apply improvements while preserving functionality, validate changes, and create a PR if beneficial.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml
index cd70100a8d3..398dfc4ebac 100644
--- a/.github/workflows/commit-changes-analyzer.lock.yml
+++ b/.github/workflows/commit-changes-analyzer.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/commit-changes-analyzer.md b/.github/workflows/commit-changes-analyzer.md
index 9c8bd01f78b..0c035451268 100644
--- a/.github/workflows/commit-changes-analyzer.md
+++ b/.github/workflows/commit-changes-analyzer.md
@@ -265,8 +265,4 @@ If any of these conditions occur, explain clearly in the discussion:
Make the error message helpful so the user knows how to correct the input.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/contribution-check.lock.yml b/.github/workflows/contribution-check.lock.yml
index 992d7c15ffe..e2481f3dba0 100644
--- a/.github/workflows/contribution-check.lock.yml
+++ b/.github/workflows/contribution-check.lock.yml
@@ -23,6 +23,10 @@
# For more information: https://github.github.com/gh-aw/introduction/overview/
#
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Frontmatter env variables:
# - TARGET_REPOSITORY: (main workflow)
#
diff --git a/.github/workflows/contribution-check.md b/.github/workflows/contribution-check.md
index 4cd4cf2e5c4..04936faa915 100644
--- a/.github/workflows/contribution-check.md
+++ b/.github/workflows/contribution-check.md
@@ -252,8 +252,4 @@ If any subagent call failed (❓), also apply `outdated`.
- Close the previous report issue when creating a new one (`close-older-issues: true`).
- Be constructive in assessments — these reports help maintainers prioritize, not gatekeep.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml
index f00e68eb52c..0b2b63ce8a0 100644
--- a/.github/workflows/copilot-agent-analysis.lock.yml
+++ b/.github/workflows/copilot-agent-analysis.lock.yml
@@ -32,6 +32,8 @@
# - shared/repo-memory-standard.md
# - shared/reporting.md
# - shared/copilot-pr-analysis-base.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/copilot-agent-analysis.md b/.github/workflows/copilot-agent-analysis.md
index 62bb64e3956..1bc562019be 100644
--- a/.github/workflows/copilot-agent-analysis.md
+++ b/.github/workflows/copilot-agent-analysis.md
@@ -478,8 +478,4 @@ A successful **concise** analysis:
**Remember**: Less is more. Focus on key metrics and notable changes only.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/copilot-cli-deep-research.lock.yml b/.github/workflows/copilot-cli-deep-research.lock.yml
index e91fee6de43..440f3849581 100644
--- a/.github/workflows/copilot-cli-deep-research.lock.yml
+++ b/.github/workflows/copilot-cli-deep-research.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/copilot-cli-deep-research.md b/.github/workflows/copilot-cli-deep-research.md
index 3e966e12d44..22e9fc3ca5f 100644
--- a/.github/workflows/copilot-cli-deep-research.md
+++ b/.github/workflows/copilot-cli-deep-research.md
@@ -441,8 +441,4 @@ A successful research report should:
**Remember**: The goal is to help the team make better use of Copilot CLI's capabilities and improve the overall quality of agentic workflows in this repository.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/copilot-pr-merged-report.lock.yml b/.github/workflows/copilot-pr-merged-report.lock.yml
index c36d9e315a9..dafdfb32faf 100644
--- a/.github/workflows/copilot-pr-merged-report.lock.yml
+++ b/.github/workflows/copilot-pr-merged-report.lock.yml
@@ -32,6 +32,8 @@
# - shared/jqschema.md
# - shared/reporting.md
# - shared/copilot-pr-analysis-base.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/copilot-pr-merged-report.md b/.github/workflows/copilot-pr-merged-report.md
index 474d6cd810c..306492568ae 100644
--- a/.github/workflows/copilot-pr-merged-report.md
+++ b/.github/workflows/copilot-pr-merged-report.md
@@ -262,8 +262,4 @@ A successful report:
Begin your analysis now. Use the `gh` mcp-script tool for all GitHub CLI operations.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml
index f0c7e8afca1..42f971823b0 100644
--- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml
+++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml
@@ -34,6 +34,8 @@
# - shared/repo-memory-standard.md
# - shared/reporting.md
# - shared/copilot-pr-analysis-base.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/copilot-pr-nlp-analysis.md b/.github/workflows/copilot-pr-nlp-analysis.md
index a7151136bef..1be61cb7aee 100644
--- a/.github/workflows/copilot-pr-nlp-analysis.md
+++ b/.github/workflows/copilot-pr-nlp-analysis.md
@@ -479,8 +479,4 @@ Store reusable components and historical data:
**Remember**: Focus on identifying actionable patterns in Copilot PR conversations that can inform prompt improvements, development practices, and collaboration quality.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/copilot-pr-prompt-analysis.lock.yml b/.github/workflows/copilot-pr-prompt-analysis.lock.yml
index 94eb621e40e..4664f5b1b8a 100644
--- a/.github/workflows/copilot-pr-prompt-analysis.lock.yml
+++ b/.github/workflows/copilot-pr-prompt-analysis.lock.yml
@@ -32,6 +32,8 @@
# - shared/repo-memory-standard.md
# - shared/reporting.md
# - shared/copilot-pr-analysis-base.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/copilot-pr-prompt-analysis.md b/.github/workflows/copilot-pr-prompt-analysis.md
index 06d5d28a5f3..bccdbaf8295 100644
--- a/.github/workflows/copilot-pr-prompt-analysis.md
+++ b/.github/workflows/copilot-pr-prompt-analysis.md
@@ -304,8 +304,4 @@ A successful analysis:
**Remember**: The goal is to help developers write better prompts that lead to more successful PR merges.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/copilot-session-insights.lock.yml b/.github/workflows/copilot-session-insights.lock.yml
index e2f9cfb2d7d..b2b18ad2630 100644
--- a/.github/workflows/copilot-session-insights.lock.yml
+++ b/.github/workflows/copilot-session-insights.lock.yml
@@ -34,6 +34,8 @@
# - shared/reporting.md
# - shared/session-analysis-charts.md
# - shared/session-analysis-strategies.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/copilot-session-insights.md b/.github/workflows/copilot-session-insights.md
index 7645b0a58f6..c6576176c0e 100644
--- a/.github/workflows/copilot-session-insights.md
+++ b/.github/workflows/copilot-session-insights.md
@@ -462,8 +462,4 @@ A successful analysis includes:
Begin your analysis by verifying the downloaded session data, loading historical context from cache memory, and proceeding through the analysis phases systematically.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/craft.lock.yml b/.github/workflows/craft.lock.yml
index b62bf9caadf..2507d2e6f99 100644
--- a/.github/workflows/craft.lock.yml
+++ b/.github/workflows/craft.lock.yml
@@ -24,6 +24,10 @@
#
# Generates new agentic workflow markdown files based on user requests when invoked with /craft command
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - GH_AW_CI_TRIGGER_TOKEN
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/craft.md b/.github/workflows/craft.md
index 8345cb4ebfc..4967060b7ac 100644
--- a/.github/workflows/craft.md
+++ b/.github/workflows/craft.md
@@ -285,8 +285,4 @@ Now analyze the user's request: "${{ steps.sanitized.outputs.text }}"
5. Push changes using `push-to-pull-request-branch`
6. Report success with details
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-assign-issue-to-user.lock.yml b/.github/workflows/daily-assign-issue-to-user.lock.yml
index 164f45879fd..5503fbed8f6 100644
--- a/.github/workflows/daily-assign-issue-to-user.lock.yml
+++ b/.github/workflows/daily-assign-issue-to-user.lock.yml
@@ -26,6 +26,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/observability-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/daily-assign-issue-to-user.md b/.github/workflows/daily-assign-issue-to-user.md
index b7517b264e0..1ea3b1cb7e0 100644
--- a/.github/workflows/daily-assign-issue-to-user.md
+++ b/.github/workflows/daily-assign-issue-to-user.md
@@ -46,8 +46,4 @@ If you find a match:
If no unassigned issue exists, exit successfully without taking action.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-choice-test.lock.yml b/.github/workflows/daily-choice-test.lock.yml
index 5cb5d629d0d..7833e832555 100644
--- a/.github/workflows/daily-choice-test.lock.yml
+++ b/.github/workflows/daily-choice-test.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/observability-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/daily-choice-test.md b/.github/workflows/daily-choice-test.md
index 37bcd9a5880..d5ee796f3e9 100644
--- a/.github/workflows/daily-choice-test.md
+++ b/.github/workflows/daily-choice-test.md
@@ -80,8 +80,4 @@ Make your selection based on the day of the week:
Provide a brief explanation of why you chose this configuration.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-cli-performance.lock.yml b/.github/workflows/daily-cli-performance.lock.yml
index 4be9e7e0867..63f12c13012 100644
--- a/.github/workflows/daily-cli-performance.lock.yml
+++ b/.github/workflows/daily-cli-performance.lock.yml
@@ -30,6 +30,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/daily-cli-performance.md b/.github/workflows/daily-cli-performance.md
index 35e7d9cd814..bbef64451f7 100644
--- a/.github/workflows/daily-cli-performance.md
+++ b/.github/workflows/daily-cli-performance.md
@@ -688,8 +688,4 @@ Each entry contains:
Begin your daily performance analysis now!
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml
index 70554e09c45..deeac66b1d0 100644
--- a/.github/workflows/daily-code-metrics.lock.yml
+++ b/.github/workflows/daily-code-metrics.lock.yml
@@ -32,6 +32,8 @@
# - shared/reporting.md
# - shared/daily-audit-base.md
# - shared/trends.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/daily-code-metrics.md b/.github/workflows/daily-code-metrics.md
index 8c7119c26ac..16089a8186c 100644
--- a/.github/workflows/daily-code-metrics.md
+++ b/.github/workflows/daily-code-metrics.md
@@ -446,8 +446,4 @@ This ensures the quality score reflects actionable source code volatility, not n
- Embed charts in discussion report with analysis
- Store metrics to repo memory, create discussion report with visualizations
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-compiler-quality.lock.yml b/.github/workflows/daily-compiler-quality.lock.yml
index 193302fa9de..614ecec8729 100644
--- a/.github/workflows/daily-compiler-quality.lock.yml
+++ b/.github/workflows/daily-compiler-quality.lock.yml
@@ -33,6 +33,8 @@
# - shared/reporting.md
# - shared/daily-audit-base.md
# - shared/go-source-analysis.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/daily-compiler-quality.md b/.github/workflows/daily-compiler-quality.md
index fbf10ff6f45..b49a2de2899 100644
--- a/.github/workflows/daily-compiler-quality.md
+++ b/.github/workflows/daily-compiler-quality.md
@@ -613,8 +613,4 @@ A successful analysis run:
Begin your analysis now. Remember to use Serena's semantic capabilities to provide deep, meaningful insights into code quality beyond surface-level metrics.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml
index c75398c5e84..41ab0abd653 100644
--- a/.github/workflows/daily-doc-updater.lock.yml
+++ b/.github/workflows/daily-doc-updater.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/github-guard-policy.md
# - shared/observability-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/daily-doc-updater.md b/.github/workflows/daily-doc-updater.md
index 88aa5d615c0..b5a1bb9ff22 100644
--- a/.github/workflows/daily-doc-updater.md
+++ b/.github/workflows/daily-doc-updater.md
@@ -287,8 +287,4 @@ This PR updates the documentation based on features merged in the last 24 hours.
Good luck! Your documentation updates help keep our project accessible and up-to-date.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-fact.lock.yml b/.github/workflows/daily-fact.lock.yml
index bc87ab2d36f..e50a9714fd5 100644
--- a/.github/workflows/daily-fact.lock.yml
+++ b/.github/workflows/daily-fact.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"93d0d7c0ae9f28180fe7cc31e8a31ae5ea3604d9dda125e3b75eeb5866f3903e","strict":true,"agent_id":"codex","agent_model":"gpt-5.1-codex-mini"}
+# gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"087516dc88025dd89019452469f1177a3a7b379170fede1e453ae98f1fdb17fc","strict":true,"agent_id":"codex","agent_model":"gpt-5.1-codex-mini"}
# gh-aw-manifest: {"version":1,"secrets":["CODEX_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_ENDPOINT","GH_AW_OTEL_HEADERS","GITHUB_TOKEN","OPENAI_API_KEY"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"de0fac2e4500dabe0009e67214ff5f5447ce83dd","version":"v6.0.2"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"373c709c69115d41ff229c7e5df9f8788daa9553","version":"v9"},{"repo":"actions/setup-node","sha":"53b83947a5a98c8d113130e565377fae1a50d02f","version":"v6.3.0"},{"repo":"actions/setup-python","sha":"a309ff8b426b58ec0e2a45f0f869d46889d02405","version":"v6.2.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.25.23"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.25.23"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.25.23"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.2.22"},{"image":"ghcr.io/github/github-mcp-server:v1.0.0"},{"image":"node:lts-alpine","digest":"sha256:01743339035a5c3c11a373cd7c83aeab6ed1457b55da6a69e014a95ac4e4700b","pinned_image":"node:lts-alpine@sha256:01743339035a5c3c11a373cd7c83aeab6ed1457b55da6a69e014a95ac4e4700b"}]}
# ___ _ _
# / _ \ | | (_)
@@ -28,6 +28,8 @@
# Imports:
# - shared/mcp/mempalace.md
# - shared/observability-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# inlined-imports: true
#
@@ -192,21 +194,21 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_4c557f6aa507730a_EOF'
+ cat << 'GH_AW_PROMPT_bcb1c4d11baeb93e_EOF'
- GH_AW_PROMPT_4c557f6aa507730a_EOF
+ GH_AW_PROMPT_bcb1c4d11baeb93e_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_4c557f6aa507730a_EOF'
+ cat << 'GH_AW_PROMPT_bcb1c4d11baeb93e_EOF'
Tools: add_comment, missing_tool, missing_data, noop
- GH_AW_PROMPT_4c557f6aa507730a_EOF
+ GH_AW_PROMPT_bcb1c4d11baeb93e_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_4c557f6aa507730a_EOF'
+ cat << 'GH_AW_PROMPT_bcb1c4d11baeb93e_EOF'
The following GitHub context information is available for this workflow:
{{#if __GH_AW_GITHUB_ACTOR__ }}
@@ -235,9 +237,9 @@ jobs:
{{/if}}
- GH_AW_PROMPT_4c557f6aa507730a_EOF
+ GH_AW_PROMPT_bcb1c4d11baeb93e_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_4c557f6aa507730a_EOF'
+ cat << 'GH_AW_PROMPT_bcb1c4d11baeb93e_EOF'
@@ -334,7 +336,7 @@ jobs:
{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
```
- GH_AW_PROMPT_4c557f6aa507730a_EOF
+ GH_AW_PROMPT_bcb1c4d11baeb93e_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@373c709c69115d41ff229c7e5df9f8788daa9553 # v9
@@ -552,9 +554,9 @@ jobs:
mkdir -p "${RUNNER_TEMP}/gh-aw/safeoutputs"
mkdir -p /tmp/gh-aw/safeoutputs
mkdir -p /tmp/gh-aw/mcp-logs/safeoutputs
- cat > "${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" << 'GH_AW_SAFE_OUTPUTS_CONFIG_195ef789b2c64936_EOF'
+ cat > "${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" << 'GH_AW_SAFE_OUTPUTS_CONFIG_8039b2a2550ac16d_EOF'
{"add_comment":{"max":1,"target":"4750"},"create_report_incomplete_issue":{},"missing_data":{},"missing_tool":{},"noop":{"max":1,"report-as-issue":"true"},"report_incomplete":{}}
- GH_AW_SAFE_OUTPUTS_CONFIG_195ef789b2c64936_EOF
+ GH_AW_SAFE_OUTPUTS_CONFIG_8039b2a2550ac16d_EOF
- name: Write Safe Outputs Tools
env:
GH_AW_TOOLS_META_JSON: |
@@ -740,7 +742,7 @@ jobs:
DOCKER_SOCK_GID=$(stat -c '%g' /var/run/docker.sock 2>/dev/null || echo '0')
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -e GITHUB_AW_OTEL_TRACE_ID -e GITHUB_AW_OTEL_PARENT_SPAN_ID -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.2.22'
- cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_e0a52995a75c5f27_EOF
+ cat > "${RUNNER_TEMP}/gh-aw/mcp-config/config.toml" << GH_AW_MCP_CONFIG_1b4b127ec8d7bd00_EOF
[history]
persistence = "none"
@@ -769,11 +771,11 @@ jobs:
[mcp_servers.safeoutputs."guard-policies".write-sink]
accept = ["*"]
- GH_AW_MCP_CONFIG_e0a52995a75c5f27_EOF
+ GH_AW_MCP_CONFIG_1b4b127ec8d7bd00_EOF
# Generate JSON config for MCP gateway
GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node)
- cat << GH_AW_MCP_CONFIG_e0a52995a75c5f27_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs"
+ cat << GH_AW_MCP_CONFIG_1b4b127ec8d7bd00_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs"
{
"mcpServers": {
"github": {
@@ -857,7 +859,7 @@ jobs:
}
}
}
- GH_AW_MCP_CONFIG_e0a52995a75c5f27_EOF
+ GH_AW_MCP_CONFIG_1b4b127ec8d7bd00_EOF
- name: Mount MCP servers as CLIs
id: mount-mcp-clis
continue-on-error: true
diff --git a/.github/workflows/daily-fact.md b/.github/workflows/daily-fact.md
index 533f26fbcc9..f2ca05a498a 100644
--- a/.github/workflows/daily-fact.md
+++ b/.github/workflows/daily-fact.md
@@ -131,8 +131,4 @@ This ensures tomorrow's verse celebrates something new.
Now, analyze the recent activity and compose one poetic fact to share in discussion #4750.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-file-diet.lock.yml b/.github/workflows/daily-file-diet.lock.yml
index dcfb76c6fd4..309733bc961 100644
--- a/.github/workflows/daily-file-diet.lock.yml
+++ b/.github/workflows/daily-file-diet.lock.yml
@@ -33,6 +33,8 @@
# - shared/reporting.md
# - shared/go-source-analysis.md
# - shared/safe-output-app.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/daily-file-diet.md b/.github/workflows/daily-file-diet.md
index 0cfe385e8bd..d65224e6cff 100644
--- a/.github/workflows/daily-file-diet.md
+++ b/.github/workflows/daily-file-diet.md
@@ -288,8 +288,4 @@ Use Serena to:
Begin your analysis now. Find the largest Go source file, assess if it needs refactoring, and create an issue only if necessary.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml
index db6b838af27..0bbef664323 100644
--- a/.github/workflows/daily-firewall-report.lock.yml
+++ b/.github/workflows/daily-firewall-report.lock.yml
@@ -31,6 +31,8 @@
# - shared/reporting.md
# - shared/daily-audit-base.md
# - shared/trending-charts-simple.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/daily-firewall-report.md b/.github/workflows/daily-firewall-report.md
index 4fb1aec2883..f338612513f 100644
--- a/.github/workflows/daily-firewall-report.md
+++ b/.github/workflows/daily-firewall-report.md
@@ -511,8 +511,4 @@ Ensure the discussion body:
A GitHub discussion in the "audits" category containing a comprehensive daily firewall analysis report.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-issues-report.lock.yml b/.github/workflows/daily-issues-report.lock.yml
index dbc01fcf6d9..2f3a7221db9 100644
--- a/.github/workflows/daily-issues-report.lock.yml
+++ b/.github/workflows/daily-issues-report.lock.yml
@@ -36,6 +36,8 @@
# - shared/reporting.md
# - shared/daily-audit-base.md
# - shared/trends.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/daily-issues-report.md b/.github/workflows/daily-issues-report.md
index b6e8a9c531d..49e2ff4818d 100644
--- a/.github/workflows/daily-issues-report.md
+++ b/.github/workflows/daily-issues-report.md
@@ -364,8 +364,4 @@ A successful run will:
Begin your analysis now. Load the data, run the Python analysis, generate charts, and create the discussion report.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml
index b521d47e0cb..2b29acb597d 100644
--- a/.github/workflows/daily-news.lock.yml
+++ b/.github/workflows/daily-news.lock.yml
@@ -34,6 +34,8 @@
# - shared/reporting.md
# - shared/reporting-otlp.md
# - shared/trends.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/daily-news.md b/.github/workflows/daily-news.md
index 558503e5593..37ccd8c8097 100644
--- a/.github/workflows/daily-news.md
+++ b/.github/workflows/daily-news.md
@@ -495,8 +495,4 @@ Create a new GitHub discussion with a title containing today's date (e.g., "Dail
Only a new discussion should be created, do not close or update any existing discussions.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-observability-report.lock.yml b/.github/workflows/daily-observability-report.lock.yml
index f6ec9eaf6f2..74943f25423 100644
--- a/.github/workflows/daily-observability-report.lock.yml
+++ b/.github/workflows/daily-observability-report.lock.yml
@@ -30,6 +30,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/daily-audit-base.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - CODEX_API_KEY
diff --git a/.github/workflows/daily-observability-report.md b/.github/workflows/daily-observability-report.md
index 0a6b464f7a4..15726ae23bf 100644
--- a/.github/workflows/daily-observability-report.md
+++ b/.github/workflows/daily-observability-report.md
@@ -390,8 +390,4 @@ A successful run will:
Begin your analysis now. Download the logs, analyze observability coverage, and create the discussion report.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-performance-summary.lock.yml b/.github/workflows/daily-performance-summary.lock.yml
index 4cf6c00988c..69f44db38fe 100644
--- a/.github/workflows/daily-performance-summary.lock.yml
+++ b/.github/workflows/daily-performance-summary.lock.yml
@@ -32,6 +32,8 @@
# - shared/reporting.md
# - shared/daily-audit-base.md
# - shared/trending-charts-simple.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/daily-performance-summary.md b/.github/workflows/daily-performance-summary.md
index 03455d3c88a..5dd602ee31e 100644
--- a/.github/workflows/daily-performance-summary.md
+++ b/.github/workflows/daily-performance-summary.md
@@ -496,8 +496,4 @@ This workflow uses mcp-script tools imported from `shared/github-queries-mcp-scr
Begin your analysis now. **Use the mcp-script tools** to gather data, run Python analysis, generate charts, and create the discussion report.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-regulatory.lock.yml b/.github/workflows/daily-regulatory.lock.yml
index 6913e4cd342..3d369389a52 100644
--- a/.github/workflows/daily-regulatory.lock.yml
+++ b/.github/workflows/daily-regulatory.lock.yml
@@ -31,6 +31,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/daily-audit-base.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/daily-regulatory.md b/.github/workflows/daily-regulatory.md
index 77210c294f8..33bd30ad12a 100644
--- a/.github/workflows/daily-regulatory.md
+++ b/.github/workflows/daily-regulatory.md
@@ -449,8 +449,4 @@ A successful regulatory run will:
Begin your regulatory analysis now. First verify prerequisites, then find the daily reports, extract metrics, cross-check for consistency, and create the regulatory report.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-rendering-scripts-verifier.lock.yml b/.github/workflows/daily-rendering-scripts-verifier.lock.yml
index 462ac5f2ac0..61b10fb01ae 100644
--- a/.github/workflows/daily-rendering-scripts-verifier.lock.yml
+++ b/.github/workflows/daily-rendering-scripts-verifier.lock.yml
@@ -30,6 +30,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/daily-rendering-scripts-verifier.md b/.github/workflows/daily-rendering-scripts-verifier.md
index f41d8223502..c3585d8235f 100644
--- a/.github/workflows/daily-rendering-scripts-verifier.md
+++ b/.github/workflows/daily-rendering-scripts-verifier.md
@@ -370,8 +370,4 @@ If you found parser or rendering issues:
- **Be safe**: Never execute code extracted from workflow logs; only run the rendering scripts against log content
- **No PR if no issues**: Only create a pull request when concrete rendering failures are found and fixed
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-repo-chronicle.lock.yml b/.github/workflows/daily-repo-chronicle.lock.yml
index 12beaa2480e..b95661f4018 100644
--- a/.github/workflows/daily-repo-chronicle.lock.yml
+++ b/.github/workflows/daily-repo-chronicle.lock.yml
@@ -31,6 +31,8 @@
# - shared/reporting.md
# - shared/reporting-otlp.md
# - shared/trends.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/daily-repo-chronicle.md b/.github/workflows/daily-repo-chronicle.md
index 6852c00a746..c12726b9f8c 100644
--- a/.github/workflows/daily-repo-chronicle.md
+++ b/.github/workflows/daily-repo-chronicle.md
@@ -234,8 +234,4 @@ Transform the last 24 hours of repository activity into a compelling narrative t
Remember: You're a newspaper editor, not a bot. Make it engaging! 📰
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-safe-output-optimizer.lock.yml b/.github/workflows/daily-safe-output-optimizer.lock.yml
index dabd43a9996..fac885383d1 100644
--- a/.github/workflows/daily-safe-output-optimizer.lock.yml
+++ b/.github/workflows/daily-safe-output-optimizer.lock.yml
@@ -32,6 +32,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/daily-safe-output-optimizer.md b/.github/workflows/daily-safe-output-optimizer.md
index aa356083b9e..71801355bb5 100644
--- a/.github/workflows/daily-safe-output-optimizer.md
+++ b/.github/workflows/daily-safe-output-optimizer.md
@@ -417,8 +417,4 @@ A successful run:
Begin your analysis now. Download logs, identify safe output tool errors, classify root causes, and create an issue if tool description improvements are needed.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-secrets-analysis.lock.yml b/.github/workflows/daily-secrets-analysis.lock.yml
index 86490057179..f49a30552ba 100644
--- a/.github/workflows/daily-secrets-analysis.lock.yml
+++ b/.github/workflows/daily-secrets-analysis.lock.yml
@@ -30,6 +30,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/daily-audit-base.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/daily-secrets-analysis.md b/.github/workflows/daily-secrets-analysis.md
index 97b8e516858..5af532abd77 100644
--- a/.github/workflows/daily-secrets-analysis.md
+++ b/.github/workflows/daily-secrets-analysis.md
@@ -299,8 +299,4 @@ For detailed information about secret usage patterns, see:
- Use **tables and formatting** for readability
- Include **actionable recommendations**
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-semgrep-scan.lock.yml b/.github/workflows/daily-semgrep-scan.lock.yml
index 0578e5f77c0..44d85d15398 100644
--- a/.github/workflows/daily-semgrep-scan.lock.yml
+++ b/.github/workflows/daily-semgrep-scan.lock.yml
@@ -29,6 +29,8 @@
# - shared/mcp/semgrep.md
# - shared/observability-otlp.md
# - shared/security-analysis-base.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/daily-semgrep-scan.md b/.github/workflows/daily-semgrep-scan.md
index 9b0870daf99..e101826e826 100644
--- a/.github/workflows/daily-semgrep-scan.md
+++ b/.github/workflows/daily-semgrep-scan.md
@@ -26,8 +26,4 @@ features:
Scan the repository for SQL injection vulnerabilities using Semgrep.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-syntax-error-quality.lock.yml b/.github/workflows/daily-syntax-error-quality.lock.yml
index 34fd2dc972a..a163965ffad 100644
--- a/.github/workflows/daily-syntax-error-quality.lock.yml
+++ b/.github/workflows/daily-syntax-error-quality.lock.yml
@@ -29,6 +29,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/daily-syntax-error-quality.md b/.github/workflows/daily-syntax-error-quality.md
index 26e97f6346a..efe9f587b34 100644
--- a/.github/workflows/daily-syntax-error-quality.md
+++ b/.github/workflows/daily-syntax-error-quality.md
@@ -438,8 +438,4 @@ A successful analysis run:
Begin your analysis now. Focus on evaluating error messages from a developer experience perspective - imagine you're a developer encountering this error for the first time and ask: "Would this help me fix the problem quickly?"
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-team-evolution-insights.lock.yml b/.github/workflows/daily-team-evolution-insights.lock.yml
index 32a889043e0..c15be83c56b 100644
--- a/.github/workflows/daily-team-evolution-insights.lock.yml
+++ b/.github/workflows/daily-team-evolution-insights.lock.yml
@@ -30,6 +30,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/daily-audit-base.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/daily-team-evolution-insights.md b/.github/workflows/daily-team-evolution-insights.md
index 4409cc17bfe..db3ae4718ea 100644
--- a/.github/workflows/daily-team-evolution-insights.md
+++ b/.github/workflows/daily-team-evolution-insights.md
@@ -297,8 +297,4 @@ Always create a GitHub Discussion with your findings using this structure:
Begin your analysis now. Gather the data, identify the patterns, and create an insightful discussion about the team's evolution.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml
index 3aaab2bd434..ebb51d8f1b0 100644
--- a/.github/workflows/daily-team-status.lock.yml
+++ b/.github/workflows/daily-team-status.lock.yml
@@ -35,6 +35,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/daily-team-status.md b/.github/workflows/daily-team-status.md
index 4dbb716974f..d6a0940ee2b 100644
--- a/.github/workflows/daily-team-status.md
+++ b/.github/workflows/daily-team-status.md
@@ -58,8 +58,4 @@ Create an upbeat daily status report for the team as a GitHub issue.
1. Gather recent activity from the repository
2. Create a new GitHub issue with your findings and insights
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-testify-uber-super-expert.lock.yml b/.github/workflows/daily-testify-uber-super-expert.lock.yml
index 9016c81e8be..cfbeb695671 100644
--- a/.github/workflows/daily-testify-uber-super-expert.lock.yml
+++ b/.github/workflows/daily-testify-uber-super-expert.lock.yml
@@ -33,6 +33,8 @@
# - shared/reporting.md
# - shared/go-source-analysis.md
# - shared/safe-output-app.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/daily-testify-uber-super-expert.md b/.github/workflows/daily-testify-uber-super-expert.md
index 1f499d7cd0a..c2bb5e09373 100644
--- a/.github/workflows/daily-testify-uber-super-expert.md
+++ b/.github/workflows/daily-testify-uber-super-expert.md
@@ -529,8 +529,4 @@ Use Serena to:
Begin your analysis now. Load the cache, select a test file, perform deep quality analysis, create an issue with specific improvements, and update the cache.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/daily-workflow-updater.lock.yml b/.github/workflows/daily-workflow-updater.lock.yml
index 79320522362..b9ec4f1888a 100644
--- a/.github/workflows/daily-workflow-updater.lock.yml
+++ b/.github/workflows/daily-workflow-updater.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/observability-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_CI_TRIGGER_TOKEN
diff --git a/.github/workflows/daily-workflow-updater.md b/.github/workflows/daily-workflow-updater.md
index 8041d8c8128..f9b0bbfac3d 100644
--- a/.github/workflows/daily-workflow-updater.md
+++ b/.github/workflows/daily-workflow-updater.md
@@ -209,8 +209,4 @@ git status
Good luck keeping our GitHub Actions up to date!
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/deep-report.lock.yml b/.github/workflows/deep-report.lock.yml
index 4846e884e01..958ae124bdd 100644
--- a/.github/workflows/deep-report.lock.yml
+++ b/.github/workflows/deep-report.lock.yml
@@ -30,6 +30,8 @@
# - shared/jqschema.md
# - shared/reporting.md
# - shared/weekly-issues-data-fetch.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/deep-report.md b/.github/workflows/deep-report.md
index b9a019e81e1..9200a0db4cf 100644
--- a/.github/workflows/deep-report.md
+++ b/.github/workflows/deep-report.md
@@ -364,8 +364,4 @@ List all reports and data sources analyzed:
1. **Create GitHub Issues**: For each of the 7 actionable tasks identified (if any), create a GitHub issue using the safe-outputs create-issue capability
2. **Create Discussion Report**: Create a new GitHub discussion titled "DeepReport Intelligence Briefing - [Today's Date]" in the "reports" category with your full analysis (including the identified actionable tasks)
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/delight.lock.yml b/.github/workflows/delight.lock.yml
index a55e5eea370..28670038f5f 100644
--- a/.github/workflows/delight.lock.yml
+++ b/.github/workflows/delight.lock.yml
@@ -30,6 +30,8 @@
# - shared/jqschema.md
# - shared/repo-memory-standard.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/delight.md b/.github/workflows/delight.md
index e2fb448976d..45d1cbc6997 100644
--- a/.github/workflows/delight.md
+++ b/.github/workflows/delight.md
@@ -535,8 +535,4 @@ For additional examples, see the [tools documentation](/tools/overview).
Begin your targeted analysis now! Select 1-2 files per category, evaluate them against enterprise software design principles, create a focused report, and generate 1-2 single-file improvement tasks.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/dependabot-burner.lock.yml b/.github/workflows/dependabot-burner.lock.yml
index 0475aa2542e..138a3819cd9 100644
--- a/.github/workflows/dependabot-burner.lock.yml
+++ b/.github/workflows/dependabot-burner.lock.yml
@@ -26,6 +26,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/dependabot-burner.md b/.github/workflows/dependabot-burner.md
index be25be2660b..e43f39f928a 100644
--- a/.github/workflows/dependabot-burner.md
+++ b/.github/workflows/dependabot-burner.md
@@ -21,8 +21,4 @@ features:
- Find all open Dependabot PRs.
- Create bundle issues, each for exactly **one runtime + one manifest file**.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/dependabot-go-checker.lock.yml b/.github/workflows/dependabot-go-checker.lock.yml
index 02f517029cf..2111bf9963d 100644
--- a/.github/workflows/dependabot-go-checker.lock.yml
+++ b/.github/workflows/dependabot-go-checker.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/dependabot-go-checker.md b/.github/workflows/dependabot-go-checker.md
index 08e36a00418..f16032f1160 100644
--- a/.github/workflows/dependabot-go-checker.md
+++ b/.github/workflows/dependabot-go-checker.md
@@ -468,8 +468,4 @@ make test-unit
- Test on multiple browsers if possible
```
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml
index 723f10b6b24..b65401d85f9 100644
--- a/.github/workflows/dev-hawk.lock.yml
+++ b/.github/workflows/dev-hawk.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/dev-hawk.md b/.github/workflows/dev-hawk.md
index 7b607896785..2f4a213f57b 100644
--- a/.github/workflows/dev-hawk.md
+++ b/.github/workflows/dev-hawk.md
@@ -250,8 +250,4 @@ If any are false, provide analysis in comment but don't create a task.
**Security**: Process only workflow_dispatch runs (filtered by `if`), same-repo PRs only, don't execute untrusted code from logs
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/dev.lock.yml b/.github/workflows/dev.lock.yml
index d3e8b0e7e7d..4bf80ea5210 100644
--- a/.github/workflows/dev.lock.yml
+++ b/.github/workflows/dev.lock.yml
@@ -24,6 +24,10 @@
#
# Daily status report for gh-aw project
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
# - GH_AW_GITHUB_TOKEN
diff --git a/.github/workflows/dev.md b/.github/workflows/dev.md
index 1b63e5e6a1c..c5924b10856 100644
--- a/.github/workflows/dev.md
+++ b/.github/workflows/dev.md
@@ -47,8 +47,4 @@ Generate a daily status report for the gh-aw project, focusing on documentation
Keep the report informative but concise.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml
index ad69d7baef4..8fbc57d6c8c 100644
--- a/.github/workflows/developer-docs-consolidator.lock.yml
+++ b/.github/workflows/developer-docs-consolidator.lock.yml
@@ -30,6 +30,8 @@
# - shared/mcp/serena-go.md
# - shared/mcp/serena.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/developer-docs-consolidator.md b/.github/workflows/developer-docs-consolidator.md
index 1360df40607..8bd19c00e76 100644
--- a/.github/workflows/developer-docs-consolidator.md
+++ b/.github/workflows/developer-docs-consolidator.md
@@ -628,8 +628,4 @@ A successful consolidation run:
Begin the consolidation process now. Use Serena for analysis, **directly apply changes** to adjust tone and formatting, add helpful Mermaid diagrams, consolidate into the instructions file, and report your findings through both a discussion and pull request.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml
index fffe51a5ff2..776406a59ae 100644
--- a/.github/workflows/dictation-prompt.lock.yml
+++ b/.github/workflows/dictation-prompt.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_CI_TRIGGER_TOKEN
diff --git a/.github/workflows/dictation-prompt.md b/.github/workflows/dictation-prompt.md
index 2235b1bfbb2..dbb8386c168 100644
--- a/.github/workflows/dictation-prompt.md
+++ b/.github/workflows/dictation-prompt.md
@@ -126,8 +126,4 @@ Use the create-pull-request tool to submit your changes with:
- ✅ Includes instructions for removing filler words and improving text clarity
- ✅ Pull request created with changes
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/discussion-task-miner.lock.yml b/.github/workflows/discussion-task-miner.lock.yml
index b0017ecc4c2..10252190ed6 100644
--- a/.github/workflows/discussion-task-miner.lock.yml
+++ b/.github/workflows/discussion-task-miner.lock.yml
@@ -30,6 +30,8 @@
# - shared/jqschema.md
# - shared/repo-memory-standard.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/discussion-task-miner.md b/.github/workflows/discussion-task-miner.md
index cd3c9578672..449a6ee1e12 100644
--- a/.github/workflows/discussion-task-miner.md
+++ b/.github/workflows/discussion-task-miner.md
@@ -327,8 +327,4 @@ Good examples of discussions to mine:
❌ Creating more than 5 issues per run
❌ Creating issues already tracked in processed-discussions.json or extracted-tasks.json
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/docs-noob-tester.lock.yml b/.github/workflows/docs-noob-tester.lock.yml
index 9b36df09916..bede09e82db 100644
--- a/.github/workflows/docs-noob-tester.lock.yml
+++ b/.github/workflows/docs-noob-tester.lock.yml
@@ -30,6 +30,8 @@
# - shared/docs-server-lifecycle.md
# - shared/keep-it-short.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/docs-noob-tester.md b/.github/workflows/docs-noob-tester.md
index 311da6511eb..621fbb2f192 100644
--- a/.github/workflows/docs-noob-tester.md
+++ b/.github/workflows/docs-noob-tester.md
@@ -228,8 +228,4 @@ You've successfully completed this task if you:
- Provided actionable recommendations
- Created a discussion with clear findings and screenshots
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/draft-pr-cleanup.lock.yml b/.github/workflows/draft-pr-cleanup.lock.yml
index 92c4cd2b902..a48b8f7bcd1 100644
--- a/.github/workflows/draft-pr-cleanup.lock.yml
+++ b/.github/workflows/draft-pr-cleanup.lock.yml
@@ -24,6 +24,10 @@
#
# Automated cleanup policy for stale draft pull requests to reduce clutter and improve triage efficiency
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
# - GH_AW_GITHUB_TOKEN
diff --git a/.github/workflows/draft-pr-cleanup.md b/.github/workflows/draft-pr-cleanup.md
index b1da7c3c94c..4d317c0da3f 100644
--- a/.github/workflows/draft-pr-cleanup.md
+++ b/.github/workflows/draft-pr-cleanup.md
@@ -263,8 +263,4 @@ PRs closed:
Execute the cleanup policy systematically and maintain consistency in how you calculate inactivity and apply actions.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml
index 4ef8f200a5f..3e9c0030220 100644
--- a/.github/workflows/example-workflow-analyzer.lock.yml
+++ b/.github/workflows/example-workflow-analyzer.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/daily-audit-discussion.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/example-workflow-analyzer.md b/.github/workflows/example-workflow-analyzer.md
index f457b495536..b9e8398d1fc 100644
--- a/.github/workflows/example-workflow-analyzer.md
+++ b/.github/workflows/example-workflow-analyzer.md
@@ -53,8 +53,4 @@ Analyze the collected data and provide:
Create a discussion with your findings and actionable recommendations for improving CI/CD reliability and performance.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/firewall-escape.lock.yml b/.github/workflows/firewall-escape.lock.yml
index 96ea888eb53..a3b77535897 100644
--- a/.github/workflows/firewall-escape.lock.yml
+++ b/.github/workflows/firewall-escape.lock.yml
@@ -24,6 +24,10 @@
#
# Security testing to find escape paths in the AWF (Agent Workflow Firewall)
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
# - GH_AW_GITHUB_TOKEN
diff --git a/.github/workflows/firewall-escape.md b/.github/workflows/firewall-escape.md
index 3be9911c3af..104e59c7ece 100644
--- a/.github/workflows/firewall-escape.md
+++ b/.github/workflows/firewall-escape.md
@@ -389,8 +389,4 @@ Append your techniques to the log (use `- [x]` for completed techniques):
**Remember: This is authorized security testing. Study the implementation, think creatively, reference prior attempts, and try your absolute best to break out with NEW innovative techniques!**
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/functional-pragmatist.lock.yml b/.github/workflows/functional-pragmatist.lock.yml
index aee27471ea8..ba0d74fadb1 100644
--- a/.github/workflows/functional-pragmatist.lock.yml
+++ b/.github/workflows/functional-pragmatist.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/functional-pragmatist.md b/.github/workflows/functional-pragmatist.md
index 3bdc2e3a6c8..8c14042bb1f 100644
--- a/.github/workflows/functional-pragmatist.md
+++ b/.github/workflows/functional-pragmatist.md
@@ -688,8 +688,4 @@ Begin your functional/immutability analysis now:
4. **Apply tasteful, moderate improvements** that enhance clarity and safety while maintaining Go's pragmatic style
5. **Update cache** with the processed package before finishing
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/github-mcp-structural-analysis.lock.yml b/.github/workflows/github-mcp-structural-analysis.lock.yml
index 344dfff3cd5..39d4ea682b7 100644
--- a/.github/workflows/github-mcp-structural-analysis.lock.yml
+++ b/.github/workflows/github-mcp-structural-analysis.lock.yml
@@ -29,6 +29,8 @@
# - shared/daily-audit-discussion.md
# - shared/python-dataviz.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/github-mcp-structural-analysis.md b/.github/workflows/github-mcp-structural-analysis.md
index 11c8f86a75c..a5fffc1ed8c 100644
--- a/.github/workflows/github-mcp-structural-analysis.md
+++ b/.github/workflows/github-mcp-structural-analysis.md
@@ -364,8 +364,4 @@ A successful analysis:
- ✅ Provides recommendations for tool selection
- ✅ Maintains 30-day rolling window of data
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/github-mcp-tools-report.lock.yml b/.github/workflows/github-mcp-tools-report.lock.yml
index 1b5d386fd2c..4957df93f8b 100644
--- a/.github/workflows/github-mcp-tools-report.lock.yml
+++ b/.github/workflows/github-mcp-tools-report.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/daily-audit-discussion.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/github-mcp-tools-report.md b/.github/workflows/github-mcp-tools-report.md
index 6ad13f00210..193c7bd9213 100644
--- a/.github/workflows/github-mcp-tools-report.md
+++ b/.github/workflows/github-mcp-tools-report.md
@@ -526,8 +526,4 @@ Begin your tool discovery now. Follow these steps:
14. **Generate report**: Create the final markdown report including change tracking, source links, and inconsistency detection
15. **Publish**: Create a GitHub discussion with the complete tools report
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/github-remote-mcp-auth-test.lock.yml b/.github/workflows/github-remote-mcp-auth-test.lock.yml
index c5a3b4ad10d..17d1d23c471 100644
--- a/.github/workflows/github-remote-mcp-auth-test.lock.yml
+++ b/.github/workflows/github-remote-mcp-auth-test.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/daily-audit-discussion.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/github-remote-mcp-auth-test.md b/.github/workflows/github-remote-mcp-auth-test.md
index e88b88108a5..d6ed8d6062f 100644
--- a/.github/workflows/github-remote-mcp-auth-test.md
+++ b/.github/workflows/github-remote-mcp-auth-test.md
@@ -190,8 +190,4 @@ Authentication with GitHub Actions token is working correctly.
**On Failure**:
Create a discussion with the error details as described above.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml
index a8a7e3d2242..b55abcbc080 100644
--- a/.github/workflows/glossary-maintainer.lock.yml
+++ b/.github/workflows/glossary-maintainer.lock.yml
@@ -30,6 +30,8 @@
# - ../skills/documentation/SKILL.md
# - shared/mcp/serena-go.md
# - shared/mcp/serena.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/glossary-maintainer.md b/.github/workflows/glossary-maintainer.md
index c34b33ea920..6288887a03d 100644
--- a/.github/workflows/glossary-maintainer.md
+++ b/.github/workflows/glossary-maintainer.md
@@ -367,8 +367,4 @@ To keep this workflow efficient, adhere to these hard limits:
Good luck! Your work helps users understand GitHub Agentic Workflows terminology.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/go-fan.lock.yml b/.github/workflows/go-fan.lock.yml
index 98aeec7e231..9b4158ba6f8 100644
--- a/.github/workflows/go-fan.lock.yml
+++ b/.github/workflows/go-fan.lock.yml
@@ -31,6 +31,8 @@
# - shared/mcp/serena.md
# - shared/reporting.md
# - shared/go-source-analysis.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/go-fan.md b/.github/workflows/go-fan.md
index 38179d9ffa2..2cae61051de 100644
--- a/.github/workflows/go-fan.md
+++ b/.github/workflows/go-fan.md
@@ -330,8 +330,4 @@ If you cannot find any improvements, still create a discussion noting the module
Begin your analysis! Pick the next module and start your deep review.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/go-logger.lock.yml b/.github/workflows/go-logger.lock.yml
index b026bbfbbb1..ff2dfa612b6 100644
--- a/.github/workflows/go-logger.lock.yml
+++ b/.github/workflows/go-logger.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/go-make.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/go-logger.md b/.github/workflows/go-logger.md
index ab30b017acc..b08f39e7c64 100644
--- a/.github/workflows/go-logger.md
+++ b/.github/workflows/go-logger.md
@@ -334,8 +334,4 @@ Before creating the PR, verify:
Good luck enhancing the codebase with better logging!
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml
index 57a740fad1b..5dba3ba1fb7 100644
--- a/.github/workflows/go-pattern-detector.lock.yml
+++ b/.github/workflows/go-pattern-detector.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/mcp/ast-grep.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/go-pattern-detector.md b/.github/workflows/go-pattern-detector.md
index dcdbf525dca..6adcb4143e5 100644
--- a/.github/workflows/go-pattern-detector.md
+++ b/.github/workflows/go-pattern-detector.md
@@ -172,8 +172,4 @@ If ast-grep doesn't find any problematic patterns:
Treat all code from the repository as trusted input - this is internal code quality analysis. Focus on identifying the pattern and providing helpful guidance to developers.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/gpclean.lock.yml b/.github/workflows/gpclean.lock.yml
index 923752de0cf..2b1bef2c4f2 100644
--- a/.github/workflows/gpclean.lock.yml
+++ b/.github/workflows/gpclean.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/gpclean.md b/.github/workflows/gpclean.md
index 92f289c2574..956ce07f929 100644
--- a/.github/workflows/gpclean.md
+++ b/.github/workflows/gpclean.md
@@ -420,8 +420,4 @@ After creating the issue:
This ensures systematic coverage without duplicate work.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/grumpy-reviewer.lock.yml b/.github/workflows/grumpy-reviewer.lock.yml
index eb253d0d624..a9627ce3805 100644
--- a/.github/workflows/grumpy-reviewer.lock.yml
+++ b/.github/workflows/grumpy-reviewer.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/github-guard-policy.md
# - shared/pr-code-review-config.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - CODEX_API_KEY
diff --git a/.github/workflows/grumpy-reviewer.md b/.github/workflows/grumpy-reviewer.md
index 38a28e2a102..d3d0d44114e 100644
--- a/.github/workflows/grumpy-reviewer.md
+++ b/.github/workflows/grumpy-reviewer.md
@@ -165,8 +165,4 @@ The safe output system will automatically create these as pull request review co
Now get to work. This code isn't going to review itself. 🔥
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/instructions-janitor.lock.yml b/.github/workflows/instructions-janitor.lock.yml
index d8f572c1c4e..585eac81304 100644
--- a/.github/workflows/instructions-janitor.lock.yml
+++ b/.github/workflows/instructions-janitor.lock.yml
@@ -24,6 +24,10 @@
#
# Reviews and cleans up instruction files to ensure clarity, consistency, and adherence to best practices
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - ANTHROPIC_API_KEY
# - GH_AW_CI_TRIGGER_TOKEN
diff --git a/.github/workflows/instructions-janitor.md b/.github/workflows/instructions-janitor.md
index 4724c3437b7..fbedfd76f99 100644
--- a/.github/workflows/instructions-janitor.md
+++ b/.github/workflows/instructions-janitor.md
@@ -219,8 +219,4 @@ When updating instructions for AI agents:
Your updates help keep AI agents effective and accurate when creating agentic workflows.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/issue-arborist.lock.yml b/.github/workflows/issue-arborist.lock.yml
index 57fbf2e3c35..85e17c047a9 100644
--- a/.github/workflows/issue-arborist.lock.yml
+++ b/.github/workflows/issue-arborist.lock.yml
@@ -29,6 +29,8 @@
# - shared/github-guard-policy.md
# - shared/jqschema.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - CODEX_API_KEY
diff --git a/.github/workflows/issue-arborist.md b/.github/workflows/issue-arborist.md
index 77423458aa2..3fd03e8b35f 100644
--- a/.github/workflows/issue-arborist.md
+++ b/.github/workflows/issue-arborist.md
@@ -212,8 +212,4 @@ Your discussion should include:
- When creating parent issues, include references to all related sub-issues in the body
- Link all related issues as sub-issues immediately after creating the parent issue
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/issue-triage-agent.lock.yml b/.github/workflows/issue-triage-agent.lock.yml
index 58c2cbdd3f4..6bcb8495772 100644
--- a/.github/workflows/issue-triage-agent.lock.yml
+++ b/.github/workflows/issue-triage-agent.lock.yml
@@ -27,6 +27,8 @@
# Imports:
# - shared/github-guard-policy.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/issue-triage-agent.md b/.github/workflows/issue-triage-agent.md
index cc47c3b2b1e..a6067033598 100644
--- a/.github/workflows/issue-triage-agent.md
+++ b/.github/workflows/issue-triage-agent.md
@@ -84,8 +84,4 @@ This provides both per-issue context and batch visibility.
- `good-first-issue`: Marks issues that are suitable for newcomers to the project, often with simpler scope.
- `community`: Indicates that the issue is related to community engagement, such as events, discussions, or contributions that don't fit into the other categories. From authors who are not contributors to the codebase but are engaging with the project in other ways.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/jsweep.lock.yml b/.github/workflows/jsweep.lock.yml
index 3a8ccf26846..c8229d218e8 100644
--- a/.github/workflows/jsweep.lock.yml
+++ b/.github/workflows/jsweep.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/mcp/serena.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/jsweep.md b/.github/workflows/jsweep.md
index 815f6954070..d0a7ffbbd7f 100644
--- a/.github/workflows/jsweep.md
+++ b/.github/workflows/jsweep.md
@@ -290,8 +290,4 @@ After cleaning the file, adding/improving tests, and **successfully passing all
Begin by checking cache-memory for previously cleaned files, then find and clean the next `.cjs` file!
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/layout-spec-maintainer.lock.yml b/.github/workflows/layout-spec-maintainer.lock.yml
index 702c76e4416..7f7eeb356de 100644
--- a/.github/workflows/layout-spec-maintainer.lock.yml
+++ b/.github/workflows/layout-spec-maintainer.lock.yml
@@ -24,6 +24,10 @@
#
# Maintains scratchpad/layout.md with patterns of file paths, folder names, and artifact names used in lock.yml files
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
# - GH_AW_CI_TRIGGER_TOKEN
diff --git a/.github/workflows/layout-spec-maintainer.md b/.github/workflows/layout-spec-maintainer.md
index cc4996374cf..61b64ed9d56 100644
--- a/.github/workflows/layout-spec-maintainer.md
+++ b/.github/workflows/layout-spec-maintainer.md
@@ -331,8 +331,4 @@ This helps improve efficiency over time and avoids re-discovering the same patte
Good luck maintaining our layout specification!
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/lockfile-stats.lock.yml b/.github/workflows/lockfile-stats.lock.yml
index 22ec2b66a1b..3c5e81a8d9d 100644
--- a/.github/workflows/lockfile-stats.lock.yml
+++ b/.github/workflows/lockfile-stats.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/daily-audit-discussion.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/lockfile-stats.md b/.github/workflows/lockfile-stats.md
index b0bdab7779f..c64145db307 100644
--- a/.github/workflows/lockfile-stats.md
+++ b/.github/workflows/lockfile-stats.md
@@ -357,8 +357,4 @@ Your output MUST:
Begin your analysis now. Collect the data systematically, perform thorough statistical analysis, and generate an insightful report that helps understand the structure and patterns of agentic workflows in this repository.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml
index 57434b3cf38..ea2092f9533 100644
--- a/.github/workflows/mcp-inspector.lock.yml
+++ b/.github/workflows/mcp-inspector.lock.yml
@@ -44,6 +44,8 @@
# - shared/mcp/slack.md
# - shared/mcp/tavily.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - AZURE_CLIENT_ID
diff --git a/.github/workflows/mcp-inspector.md b/.github/workflows/mcp-inspector.md
index 1c3dd27a51e..17123b66b36 100644
--- a/.github/workflows/mcp-inspector.md
+++ b/.github/workflows/mcp-inspector.md
@@ -95,8 +95,4 @@ Generate:
Save to `/tmp/gh-aw/cache-memory/mcp-inspections/[DATE].json` and create discussion in "audits" category.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/mergefest.lock.yml b/.github/workflows/mergefest.lock.yml
index 81ddff7634e..78684d59a03 100644
--- a/.github/workflows/mergefest.lock.yml
+++ b/.github/workflows/mergefest.lock.yml
@@ -24,6 +24,10 @@
#
# Automatically merges the main branch into pull request branches when invoked with /mergefest command
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
# - GH_AW_CI_TRIGGER_TOKEN
diff --git a/.github/workflows/mergefest.md b/.github/workflows/mergefest.md
index 3be8cd08e43..2adb6e4a9f5 100644
--- a/.github/workflows/mergefest.md
+++ b/.github/workflows/mergefest.md
@@ -351,8 +351,4 @@ Merged `` into ``
[Any important notes about the merge, conflicts, or excluded files]
```
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/org-health-report.lock.yml b/.github/workflows/org-health-report.lock.yml
index 87de436e51f..50958f37425 100644
--- a/.github/workflows/org-health-report.lock.yml
+++ b/.github/workflows/org-health-report.lock.yml
@@ -30,6 +30,8 @@
# - shared/jqschema.md
# - shared/python-dataviz.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/org-health-report.md b/.github/workflows/org-health-report.md
index 19e184a7a7d..8dc5221adcd 100644
--- a/.github/workflows/org-health-report.md
+++ b/.github/workflows/org-health-report.md
@@ -500,8 +500,4 @@ A successful health report:
Begin the organization health report analysis now. Follow the phases in order, add appropriate delays, and generate a comprehensive report for maintainers.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/pdf-summary.lock.yml b/.github/workflows/pdf-summary.lock.yml
index 9181fd442a8..ef67dfdcbdb 100644
--- a/.github/workflows/pdf-summary.lock.yml
+++ b/.github/workflows/pdf-summary.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/mcp/markitdown.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/pdf-summary.md b/.github/workflows/pdf-summary.md
index 6c4f9533284..a2adc9e92a6 100644
--- a/.github/workflows/pdf-summary.md
+++ b/.github/workflows/pdf-summary.md
@@ -208,8 +208,4 @@ Example structure for stored analysis:
Remember: Your goal is to help users understand external resources in the context of their repository by converting them to markdown, providing insightful analysis, and building persistent knowledge over time.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/plan.lock.yml b/.github/workflows/plan.lock.yml
index 819acfb3c53..13cfdbfe1c4 100644
--- a/.github/workflows/plan.lock.yml
+++ b/.github/workflows/plan.lock.yml
@@ -24,6 +24,10 @@
#
# Generates project plans and task breakdowns when invoked with /plan command in issues or PRs
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/plan.md b/.github/workflows/plan.md
index 2b403e0f8c5..74d390f6451 100644
--- a/.github/workflows/plan.md
+++ b/.github/workflows/plan.md
@@ -140,8 +140,4 @@ Review instructions in `.github/instructions/*.instructions.md` if you need guid
3. After creating all issues successfully, if this was triggered from a discussion in the "Ideas" category, close the discussion with a comment summarizing the plan and resolution reason "RESOLVED"
{{/if}}
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
\ No newline at end of file
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml
index 97c63218330..4c8020638a9 100644
--- a/.github/workflows/poem-bot.lock.yml
+++ b/.github/workflows/poem-bot.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/poem-bot.md b/.github/workflows/poem-bot.md
index cc4f96e291d..479757729cc 100644
--- a/.github/workflows/poem-bot.md
+++ b/.github/workflows/poem-bot.md
@@ -195,8 +195,4 @@ Use the safe-outputs capabilities to:
Examine the current context and create your masterpiece! Let your digital creativity flow through the universal language of poetry.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/portfolio-analyst.lock.yml b/.github/workflows/portfolio-analyst.lock.yml
index adf74afa841..bfb54300b5f 100644
--- a/.github/workflows/portfolio-analyst.lock.yml
+++ b/.github/workflows/portfolio-analyst.lock.yml
@@ -30,6 +30,8 @@
# - shared/jqschema.md
# - shared/reporting.md
# - shared/trending-charts-simple.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/portfolio-analyst.md b/.github/workflows/portfolio-analyst.md
index 9142182d0ee..6a3f7766f95 100644
--- a/.github/workflows/portfolio-analyst.md
+++ b/.github/workflows/portfolio-analyst.md
@@ -591,8 +591,4 @@ print("✅ All charts generated")
Begin your analysis now. **FIRST**: Generate all 4 required charts from `/tmp/portfolio-logs/summary.json` and upload them as assets. **THEN**: Create the dashboard-style discussion with embedded chart URLs. Read from the pre-downloaded JSON file at `/tmp/portfolio-logs/summary.json` to get real execution data for all workflows. This file contains everything you need: summary metrics and individual run data. DO NOT attempt to call `gh aw logs` or any `gh` commands - they will not work. Move fast, focus on high-impact issues, deliver actionable recommendations based on actual costs, and make the report visual and scannable.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/pr-nitpick-reviewer.lock.yml b/.github/workflows/pr-nitpick-reviewer.lock.yml
index e6520e15466..f760d4b7c15 100644
--- a/.github/workflows/pr-nitpick-reviewer.lock.yml
+++ b/.github/workflows/pr-nitpick-reviewer.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/pr-code-review-config.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/pr-nitpick-reviewer.md b/.github/workflows/pr-nitpick-reviewer.md
index 8154987cb55..bcbca3b49de 100644
--- a/.github/workflows/pr-nitpick-reviewer.md
+++ b/.github/workflows/pr-nitpick-reviewer.md
@@ -387,8 +387,4 @@ A successful review:
Now begin your review! 🔍
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/pr-triage-agent.lock.yml b/.github/workflows/pr-triage-agent.lock.yml
index e9099ee989d..8a180ced0a4 100644
--- a/.github/workflows/pr-triage-agent.lock.yml
+++ b/.github/workflows/pr-triage-agent.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/github-guard-policy.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/pr-triage-agent.md b/.github/workflows/pr-triage-agent.md
index e4fa00bd260..03272b13bb7 100644
--- a/.github/workflows/pr-triage-agent.md
+++ b/.github/workflows/pr-triage-agent.md
@@ -449,8 +449,4 @@ Your effectiveness is measured by:
Execute all phases systematically and maintain consistency in scoring and recommendations across all PRs.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml
index a41f7d9f226..3d23191de46 100644
--- a/.github/workflows/prompt-clustering-analysis.lock.yml
+++ b/.github/workflows/prompt-clustering-analysis.lock.yml
@@ -32,6 +32,8 @@
# - shared/python-nlp.md
# - shared/reporting.md
# - shared/trending-charts-simple.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/prompt-clustering-analysis.md b/.github/workflows/prompt-clustering-analysis.md
index 34cdf201d33..4c287bc7572 100644
--- a/.github/workflows/prompt-clustering-analysis.md
+++ b/.github/workflows/prompt-clustering-analysis.md
@@ -634,8 +634,4 @@ If workflow logs unavailable for most PRs:
Now analyze the prompts and generate your comprehensive report!
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/python-data-charts.lock.yml b/.github/workflows/python-data-charts.lock.yml
index 67ba0b86ed6..9f6dff253ab 100644
--- a/.github/workflows/python-data-charts.lock.yml
+++ b/.github/workflows/python-data-charts.lock.yml
@@ -29,6 +29,8 @@
# - shared/python-dataviz.md
# - shared/trends.md
# - shared/charts-with-trending.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/python-data-charts.md b/.github/workflows/python-data-charts.md
index 11e95f866d1..3c74e96da6d 100644
--- a/.github/workflows/python-data-charts.md
+++ b/.github/workflows/python-data-charts.md
@@ -178,8 +178,4 @@ This report contains data visualizations and trending analysis generated using P
Refer to the Charts with Trending Guide (imported above) for complete examples, trending patterns, cache-memory integration, and best practices.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml
index 5207d52a25a..e9cc1770f24 100644
--- a/.github/workflows/q.lock.yml
+++ b/.github/workflows/q.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/mcp/serena-go.md
# - shared/mcp/serena.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/q.md b/.github/workflows/q.md
index 9c2fb40b0fd..6b5fca78b68 100644
--- a/.github/workflows/q.md
+++ b/.github/workflows/q.md
@@ -420,8 +420,4 @@ You are Q - the expert who provides agents with the best tools for their mission
Begin your investigation now. Gather live data, analyze it thoroughly, make targeted improvements, validate your changes, and create a pull request with your optimizations.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/refiner.lock.yml b/.github/workflows/refiner.lock.yml
index 35c3d049cd0..e48912a3b6f 100644
--- a/.github/workflows/refiner.lock.yml
+++ b/.github/workflows/refiner.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/github-guard-policy.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/refiner.md b/.github/workflows/refiner.md
index 33ea8853846..878789528c4 100644
--- a/.github/workflows/refiner.md
+++ b/.github/workflows/refiner.md
@@ -406,8 +406,4 @@ Your effectiveness is measured by:
Execute all phases systematically and produce high-quality refinement pull requests that genuinely improve the codebase.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/release.lock.yml b/.github/workflows/release.lock.yml
index 2ec3abd0a67..0e0ee4fb5ac 100644
--- a/.github/workflows/release.lock.yml
+++ b/.github/workflows/release.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/community-attribution.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/release.md b/.github/workflows/release.md
index 74987ff6eba..cff891e3e81 100644
--- a/.github/workflows/release.md
+++ b/.github/workflows/release.md
@@ -647,8 +647,4 @@ safeoutputs/update_release(
Verify paths exist in `docs_files.txt` before linking.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/repo-audit-analyzer.lock.yml b/.github/workflows/repo-audit-analyzer.lock.yml
index d59dc239646..313883ad987 100644
--- a/.github/workflows/repo-audit-analyzer.lock.yml
+++ b/.github/workflows/repo-audit-analyzer.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/daily-audit-discussion.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/repo-audit-analyzer.md b/.github/workflows/repo-audit-analyzer.md
index 299d5af215e..ec36e2da8f6 100644
--- a/.github/workflows/repo-audit-analyzer.md
+++ b/.github/workflows/repo-audit-analyzer.md
@@ -775,8 +775,4 @@ Your output MUST:
Begin your repository audit analysis now!
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/repo-tree-map.lock.yml b/.github/workflows/repo-tree-map.lock.yml
index 5bb752c5b76..cfd4998eac3 100644
--- a/.github/workflows/repo-tree-map.lock.yml
+++ b/.github/workflows/repo-tree-map.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/repo-tree-map.md b/.github/workflows/repo-tree-map.md
index f86b8cf96f8..3ba7ccafaca 100644
--- a/.github/workflows/repo-tree-map.md
+++ b/.github/workflows/repo-tree-map.md
@@ -147,8 +147,4 @@ Treat all repository content as trusted since you're analyzing the repository yo
Your terminal is already in the workspace root. No need to use `cd`.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/repository-quality-improver.lock.yml b/.github/workflows/repository-quality-improver.lock.yml
index 4c9cfa69fd3..0c1a72c8669 100644
--- a/.github/workflows/repository-quality-improver.lock.yml
+++ b/.github/workflows/repository-quality-improver.lock.yml
@@ -30,6 +30,8 @@
# - shared/mcp/serena-go.md
# - shared/mcp/serena.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/repository-quality-improver.md b/.github/workflows/repository-quality-improver.md
index 832b6d824d6..bd44fed9dcf 100644
--- a/.github/workflows/repository-quality-improver.md
+++ b/.github/workflows/repository-quality-improver.md
@@ -561,8 +561,4 @@ Your output MUST:
Begin your quality improvement analysis now. Select a focus area (prioritizing custom, repository-specific areas), conduct appropriate analysis, generate actionable tasks for the Copilot coding agent, and create the discussion report.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/research.lock.yml b/.github/workflows/research.lock.yml
index 6646fa2e748..6696c429ba1 100644
--- a/.github/workflows/research.lock.yml
+++ b/.github/workflows/research.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/mcp/tavily.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/research.md b/.github/workflows/research.md
index b24d7f26ac3..c6eb7f0c392 100644
--- a/.github/workflows/research.md
+++ b/.github/workflows/research.md
@@ -68,8 +68,4 @@ Create a GitHub discussion with your research summary including:
Keep your summary concise and focused on the most important information.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml
index 79cb236200e..9717d4ae9c7 100644
--- a/.github/workflows/safe-output-health.lock.yml
+++ b/.github/workflows/safe-output-health.lock.yml
@@ -30,6 +30,8 @@
# - shared/daily-audit-discussion.md
# - shared/jqschema.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/safe-output-health.md b/.github/workflows/safe-output-health.md
index e9511d550f3..2c013507e7f 100644
--- a/.github/workflows/safe-output-health.md
+++ b/.github/workflows/safe-output-health.md
@@ -358,8 +358,4 @@ A successful audit:
Begin your audit now. Collect the logs, analyze safe output job failures thoroughly, cluster errors, identify root causes, and create a discussion with your findings and recommendations.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/schema-consistency-checker.lock.yml b/.github/workflows/schema-consistency-checker.lock.yml
index fc87686eb49..436c1994e61 100644
--- a/.github/workflows/schema-consistency-checker.lock.yml
+++ b/.github/workflows/schema-consistency-checker.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/daily-audit-discussion.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/schema-consistency-checker.md b/.github/workflows/schema-consistency-checker.md
index fef08922a9f..f0651351a4a 100644
--- a/.github/workflows/schema-consistency-checker.md
+++ b/.github/workflows/schema-consistency-checker.md
@@ -361,8 +361,4 @@ A successful run:
Begin your analysis now. Check the cache, choose a strategy, execute it, and report your findings in a discussion.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml
index 12e917f42fb..d56a895f443 100644
--- a/.github/workflows/scout.lock.yml
+++ b/.github/workflows/scout.lock.yml
@@ -33,6 +33,8 @@
# - shared/mcp/microsoft-docs.md
# - shared/mcp/tavily.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/scout.md b/.github/workflows/scout.md
index e0c7f3fa46d..c6dc36cb222 100644
--- a/.github/workflows/scout.md
+++ b/.github/workflows/scout.md
@@ -218,8 +218,4 @@ After completing your research, **always label the triggering issue or pull requ
Remember: Your goal is to provide valuable, actionable intelligence that helps resolve the issue or improve the pull request. Make every search count and synthesize information effectively.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
\ No newline at end of file
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/security-compliance.lock.yml b/.github/workflows/security-compliance.lock.yml
index c4194720728..59b9271f235 100644
--- a/.github/workflows/security-compliance.lock.yml
+++ b/.github/workflows/security-compliance.lock.yml
@@ -24,6 +24,10 @@
#
# Fix critical vulnerabilities before audit deadline with full tracking and reporting
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/security-compliance.md b/.github/workflows/security-compliance.md
index 308e699477a..b53ad260cc8 100644
--- a/.github/workflows/security-compliance.md
+++ b/.github/workflows/security-compliance.md
@@ -294,8 +294,4 @@ gh issue list --label "campaign:security-compliance-${{ github.run_id }}" --json
cat memory/campaigns/security-compliance-${{ github.run_id }}/metrics/$(date +%Y-%m-%d).json
```
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/security-review.lock.yml b/.github/workflows/security-review.lock.yml
index eb34fdda255..2cb11618e24 100644
--- a/.github/workflows/security-review.lock.yml
+++ b/.github/workflows/security-review.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/pr-code-review-config.md
# - shared/security-analysis-base.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/security-review.md b/.github/workflows/security-review.md
index 24df0987395..2938cee73aa 100644
--- a/.github/workflows/security-review.md
+++ b/.github/workflows/security-review.md
@@ -240,8 +240,4 @@ Use cache memory at `/tmp/gh-aw/cache-memory/` to:
Begin your security review. 🔒
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml
index e6daad0476d..59b56106dd4 100644
--- a/.github/workflows/semantic-function-refactor.lock.yml
+++ b/.github/workflows/semantic-function-refactor.lock.yml
@@ -30,6 +30,8 @@
# - shared/mcp/serena.md
# - shared/reporting.md
# - shared/go-source-analysis.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/semantic-function-refactor.md b/.github/workflows/semantic-function-refactor.md
index a5e5b0e902d..4cfe0c39fd7 100644
--- a/.github/workflows/semantic-function-refactor.md
+++ b/.github/workflows/semantic-function-refactor.md
@@ -466,8 +466,4 @@ This analysis is successful when:
**Objective**: Improve code organization and reduce duplication by identifying refactoring opportunities through semantic function clustering and duplicate detection. Focus on high-impact, actionable findings that developers can implement.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/sergo.lock.yml b/.github/workflows/sergo.lock.yml
index b6451b9a2fe..063a9c94890 100644
--- a/.github/workflows/sergo.lock.yml
+++ b/.github/workflows/sergo.lock.yml
@@ -30,6 +30,8 @@
# - shared/mcp/serena-go.md
# - shared/mcp/serena.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/sergo.md b/.github/workflows/sergo.md
index 0066f57558c..02a63dc917d 100644
--- a/.github/workflows/sergo.md
+++ b/.github/workflows/sergo.md
@@ -622,8 +622,4 @@ A successful Sergo run delivers:
Begin your analysis! Scan Serena tools, pick your strategy, and dive deep into the Go codebase to discover meaningful improvements.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/shared/noop-reminder.md b/.github/workflows/shared/noop-reminder.md
new file mode 100644
index 00000000000..77cca08c1be
--- /dev/null
+++ b/.github/workflows/shared/noop-reminder.md
@@ -0,0 +1,5 @@
+**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
+
+```json
+{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
+```
diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml
index 3f9f5675126..72e313a6dbb 100644
--- a/.github/workflows/smoke-claude.lock.yml
+++ b/.github/workflows/smoke-claude.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"701178290a9893ac79bd323cb68380ac1e4f0c5ad2873cbedd2724413c240713","agent_id":"claude"}
+# gh-aw-metadata: {"schema_version":"v3","frontmatter_hash":"79e2a7bb8b55dd046421af2bd3d2d7b69d7f91c9537311f80f635f68a9f8f5d2","agent_id":"claude"}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_PLUGINS_TOKEN","GITHUB_TOKEN","TAVILY_API_KEY"],"actions":[{"repo":"actions/cache/restore","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/cache/save","sha":"27d5ce7f107fe9357f9df03efb73ab90386fccae","version":"v5.0.5"},{"repo":"actions/checkout","sha":"de0fac2e4500dabe0009e67214ff5f5447ce83dd","version":"v6.0.2"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"373c709c69115d41ff229c7e5df9f8788daa9553","version":"v9"},{"repo":"actions/setup-go","sha":"4a3601121dd01d1626a1e23e37211e3254c1c06c","version":"v6.4.0"},{"repo":"actions/setup-node","sha":"53b83947a5a98c8d113130e565377fae1a50d02f","version":"v6.3.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"bcafcacb16a39f128d818304e6c9c0c18556b85f","version":"v7.1.0"},{"repo":"docker/setup-buildx-action","sha":"4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd","version":"v4"},{"repo":"github/codeql-action/upload-sarif","sha":"7fc6561ed893d15cec696e062df840b21db27eb0","version":"v4.35.2"},{"repo":"microsoft/apm-action","sha":"a190b0b1a91031057144dc136acf9757a59c9e4d","version":"v1.4.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.25.23"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.25.23"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.25.23"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.2.22"},{"image":"ghcr.io/github/github-mcp-server:v1.0.0"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"},{"image":"mcr.microsoft.com/playwright/mcp","digest":"sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2","pinned_image":"mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"},{"image":"node:lts-alpine","digest":"sha256:01743339035a5c3c11a373cd7c83aeab6ed1457b55da6a69e014a95ac4e4700b","pinned_image":"node:lts-alpine@sha256:01743339035a5c3c11a373cd7c83aeab6ed1457b55da6a69e014a95ac4e4700b"}]}
# ___ _ _
# / _ \ | | (_)
@@ -36,6 +36,8 @@
# - shared/mcp/serena.md
# - shared/mcp/tavily.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# inlined-imports: true
#
@@ -247,9 +249,9 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_1e442924eec9de24_EOF'
+ cat << 'GH_AW_PROMPT_1ff941a307e33158_EOF'
- GH_AW_PROMPT_1e442924eec9de24_EOF
+ GH_AW_PROMPT_1ff941a307e33158_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
@@ -257,12 +259,12 @@ jobs:
cat "${RUNNER_TEMP}/gh-aw/prompts/agentic_workflows_guide.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_1e442924eec9de24_EOF'
+ cat << 'GH_AW_PROMPT_1ff941a307e33158_EOF'
Tools: add_comment(max:2), create_issue, close_pull_request, update_pull_request, create_pull_request_review_comment(max:5), submit_pull_request_review, resolve_pull_request_review_thread(max:5), add_labels, add_reviewer(max:2), push_to_pull_request_branch, create_code_scanning_alert, missing_tool, missing_data, noop, post_slack_message
- GH_AW_PROMPT_1e442924eec9de24_EOF
+ GH_AW_PROMPT_1ff941a307e33158_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_push_to_pr_branch.md"
- cat << 'GH_AW_PROMPT_1e442924eec9de24_EOF'
+ cat << 'GH_AW_PROMPT_1ff941a307e33158_EOF'
The following GitHub context information is available for this workflow:
@@ -295,9 +297,9 @@ jobs:
- **Note**: If a branch you need is not in the list above and is not listed as an additional fetched ref, it has NOT been checked out. For private repositories you cannot fetch it without proper authentication. If the branch is required and not available, exit with an error and ask the user to add it to the `fetch:` option of the `checkout:` configuration (e.g., `fetch: ["refs/pulls/open/*"]` for all open PR refs, or `fetch: ["main", "feature/my-branch"]` for specific branches).
- GH_AW_PROMPT_1e442924eec9de24_EOF
+ GH_AW_PROMPT_1ff941a307e33158_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_1e442924eec9de24_EOF'
+ cat << 'GH_AW_PROMPT_1ff941a307e33158_EOF'
@@ -680,7 +682,7 @@ jobs:
{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
```
- GH_AW_PROMPT_1e442924eec9de24_EOF
+ GH_AW_PROMPT_1ff941a307e33158_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@373c709c69115d41ff229c7e5df9f8788daa9553 # v9
@@ -970,9 +972,9 @@ jobs:
mkdir -p "${RUNNER_TEMP}/gh-aw/safeoutputs"
mkdir -p /tmp/gh-aw/safeoutputs
mkdir -p /tmp/gh-aw/mcp-logs/safeoutputs
- cat > "${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" << 'GH_AW_SAFE_OUTPUTS_CONFIG_92e7f58ea2766ba1_EOF'
+ cat > "${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" << 'GH_AW_SAFE_OUTPUTS_CONFIG_12c35d07cbe22e8f_EOF'
{"add_comment":{"hide_older_comments":true,"max":2},"add_labels":{"allowed":["smoke-claude"]},"add_reviewer":{"max":2,"target":"*"},"close_pull_request":{"max":1,"staged":true},"create_code_scanning_alert":{"driver":"Smoke Claude"},"create_issue":{"close_older_issues":true,"close_older_key":"smoke-claude","expires":2,"group":true,"labels":["automation","testing"],"max":1},"create_pull_request_review_comment":{"max":5,"side":"RIGHT","target":"*"},"create_report_incomplete_issue":{},"missing_data":{},"missing_tool":{},"noop":{"max":1,"report-as-issue":"true"},"post_slack_message":{"description":"Post a message to a fictitious Slack channel (smoke test only — no real Slack integration)","inputs":{"channel":{"default":"#general","description":"Slack channel name to post to","required":false,"type":"string"},"message":{"description":"Message text to post","required":false,"type":"string"}}},"push_to_pull_request_branch":{"allowed_files":["smoke-test-files/smoke-claude-push-test.md"],"if_no_changes":"warn","labels":["smoke-claude"],"max_patch_size":1024,"protected_files":["package.json","bun.lockb","bunfig.toml","deno.json","deno.jsonc","deno.lock","global.json","NuGet.Config","Directory.Packages.props","mix.exs","mix.lock","go.mod","go.sum","stack.yaml","stack.yaml.lock","pom.xml","build.gradle","build.gradle.kts","settings.gradle","settings.gradle.kts","gradle.properties","package-lock.json","yarn.lock","pnpm-lock.yaml","npm-shrinkwrap.json","requirements.txt","Pipfile","Pipfile.lock","pyproject.toml","setup.py","setup.cfg","Gemfile","Gemfile.lock","uv.lock","CODEOWNERS","CLAUDE.md","AGENTS.md"],"protected_path_prefixes":[".github/",".agents/",".claude/"],"staged":true,"target":"*"},"report_incomplete":{},"resolve_pull_request_review_thread":{"max":5},"submit_pull_request_review":{"footer":"always","max":1},"update_pull_request":{"allow_body":true,"allow_title":true,"max":1,"target":"*"}}
- GH_AW_SAFE_OUTPUTS_CONFIG_92e7f58ea2766ba1_EOF
+ GH_AW_SAFE_OUTPUTS_CONFIG_12c35d07cbe22e8f_EOF
- name: Write Safe Outputs Tools
env:
GH_AW_TOOLS_META_JSON: |
@@ -1414,7 +1416,7 @@ jobs:
- name: Write MCP Scripts Config
run: |
mkdir -p "${RUNNER_TEMP}/gh-aw/mcp-scripts/logs"
- cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/tools.json" << 'GH_AW_MCP_SCRIPTS_TOOLS_f5fe5c621b57eb62_EOF'
+ cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/tools.json" << 'GH_AW_MCP_SCRIPTS_TOOLS_2650d30056d4e365_EOF'
{
"serverName": "mcpscripts",
"version": "1.0.0",
@@ -1566,8 +1568,8 @@ jobs:
}
]
}
- GH_AW_MCP_SCRIPTS_TOOLS_f5fe5c621b57eb62_EOF
- cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/mcp-server.cjs" << 'GH_AW_MCP_SCRIPTS_SERVER_e403052bc04b4dae_EOF'
+ GH_AW_MCP_SCRIPTS_TOOLS_2650d30056d4e365_EOF
+ cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/mcp-server.cjs" << 'GH_AW_MCP_SCRIPTS_SERVER_ab4386e686261a5c_EOF'
const path = require("path");
const { startHttpServer } = require("./mcp_scripts_mcp_server_http.cjs");
const configPath = path.join(__dirname, "tools.json");
@@ -1581,12 +1583,12 @@ jobs:
console.error("Failed to start mcp-scripts HTTP server:", error);
process.exit(1);
});
- GH_AW_MCP_SCRIPTS_SERVER_e403052bc04b4dae_EOF
+ GH_AW_MCP_SCRIPTS_SERVER_ab4386e686261a5c_EOF
chmod +x "${RUNNER_TEMP}/gh-aw/mcp-scripts/mcp-server.cjs"
- name: Write MCP Scripts Tool Files
run: |
- cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/gh.sh" << 'GH_AW_MCP_SCRIPTS_SH_GH_cad3acc11e078d8c_EOF'
+ cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/gh.sh" << 'GH_AW_MCP_SCRIPTS_SH_GH_3f037928c8983f03_EOF'
#!/bin/bash
# Auto-generated mcp-script tool: gh
# Execute any gh CLI command. This tool is accessible as 'mcpscripts-gh'. Provide the full command after 'gh' (e.g., args: 'pr list --limit 5'). The tool will run: gh . Use single quotes ' for complex args to avoid shell interpretation issues.
@@ -1597,9 +1599,9 @@ jobs:
echo " token: ${GH_AW_GH_TOKEN:0:6}..."
GH_TOKEN="$GH_AW_GH_TOKEN" gh $INPUT_ARGS
- GH_AW_MCP_SCRIPTS_SH_GH_cad3acc11e078d8c_EOF
+ GH_AW_MCP_SCRIPTS_SH_GH_3f037928c8983f03_EOF
chmod +x "${RUNNER_TEMP}/gh-aw/mcp-scripts/gh.sh"
- cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/github-discussion-query.sh" << 'GH_AW_MCP_SCRIPTS_SH_GITHUB-DISCUSSION-QUERY_2a0410d8e5ff263e_EOF'
+ cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/github-discussion-query.sh" << 'GH_AW_MCP_SCRIPTS_SH_GITHUB-DISCUSSION-QUERY_e26de5d9f22a9887_EOF'
#!/bin/bash
# Auto-generated mcp-script tool: github-discussion-query
# Query GitHub discussions with jq filtering support. Without --jq, returns schema and data size info. Use --jq '.' to get all data, or specific jq expressions to filter.
@@ -1734,9 +1736,9 @@ jobs:
EOF
fi
- GH_AW_MCP_SCRIPTS_SH_GITHUB-DISCUSSION-QUERY_2a0410d8e5ff263e_EOF
+ GH_AW_MCP_SCRIPTS_SH_GITHUB-DISCUSSION-QUERY_e26de5d9f22a9887_EOF
chmod +x "${RUNNER_TEMP}/gh-aw/mcp-scripts/github-discussion-query.sh"
- cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/github-issue-query.sh" << 'GH_AW_MCP_SCRIPTS_SH_GITHUB-ISSUE-QUERY_a9e14fa84975cbe6_EOF'
+ cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/github-issue-query.sh" << 'GH_AW_MCP_SCRIPTS_SH_GITHUB-ISSUE-QUERY_e4ae118d08120ece_EOF'
#!/bin/bash
# Auto-generated mcp-script tool: github-issue-query
# Query GitHub issues with jq filtering support. Without --jq, returns schema and data size info. Use --jq '.' to get all data, or specific jq expressions to filter.
@@ -1815,9 +1817,9 @@ jobs:
fi
- GH_AW_MCP_SCRIPTS_SH_GITHUB-ISSUE-QUERY_a9e14fa84975cbe6_EOF
+ GH_AW_MCP_SCRIPTS_SH_GITHUB-ISSUE-QUERY_e4ae118d08120ece_EOF
chmod +x "${RUNNER_TEMP}/gh-aw/mcp-scripts/github-issue-query.sh"
- cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/github-pr-query.sh" << 'GH_AW_MCP_SCRIPTS_SH_GITHUB-PR-QUERY_a76d3f0731c1d980_EOF'
+ cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/github-pr-query.sh" << 'GH_AW_MCP_SCRIPTS_SH_GITHUB-PR-QUERY_bef1bf992dd51ed6_EOF'
#!/bin/bash
# Auto-generated mcp-script tool: github-pr-query
# Query GitHub pull requests with jq filtering support. Without --jq, returns schema and data size info. Use --jq '.' to get all data, or specific jq expressions to filter.
@@ -1902,9 +1904,9 @@ jobs:
fi
- GH_AW_MCP_SCRIPTS_SH_GITHUB-PR-QUERY_a76d3f0731c1d980_EOF
+ GH_AW_MCP_SCRIPTS_SH_GITHUB-PR-QUERY_bef1bf992dd51ed6_EOF
chmod +x "${RUNNER_TEMP}/gh-aw/mcp-scripts/github-pr-query.sh"
- cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/go.sh" << 'GH_AW_MCP_SCRIPTS_SH_GO_64e1c0ed5c0168bd_EOF'
+ cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/go.sh" << 'GH_AW_MCP_SCRIPTS_SH_GO_b2dc33ab72156a95_EOF'
#!/bin/bash
# Auto-generated mcp-script tool: go
# Execute any Go command. This tool is accessible as 'mcpscripts-go'. Provide the full command after 'go' (e.g., args: 'test ./...'). The tool will run: go . Use single quotes ' for complex args to avoid shell interpretation issues.
@@ -1915,9 +1917,9 @@ jobs:
go $INPUT_ARGS
- GH_AW_MCP_SCRIPTS_SH_GO_64e1c0ed5c0168bd_EOF
+ GH_AW_MCP_SCRIPTS_SH_GO_b2dc33ab72156a95_EOF
chmod +x "${RUNNER_TEMP}/gh-aw/mcp-scripts/go.sh"
- cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/make.sh" << 'GH_AW_MCP_SCRIPTS_SH_MAKE_61200eb70394697d_EOF'
+ cat > "${RUNNER_TEMP}/gh-aw/mcp-scripts/make.sh" << 'GH_AW_MCP_SCRIPTS_SH_MAKE_97eb02f03d43280c_EOF'
#!/bin/bash
# Auto-generated mcp-script tool: make
# Execute any Make target. This tool is accessible as 'mcpscripts-make'. Provide the target name(s) (e.g., args: 'build'). The tool will run: make . Use single quotes ' for complex args to avoid shell interpretation issues.
@@ -1927,7 +1929,7 @@ jobs:
echo "make $INPUT_ARGS"
make $INPUT_ARGS
- GH_AW_MCP_SCRIPTS_SH_MAKE_61200eb70394697d_EOF
+ GH_AW_MCP_SCRIPTS_SH_MAKE_97eb02f03d43280c_EOF
chmod +x "${RUNNER_TEMP}/gh-aw/mcp-scripts/make.sh"
- name: Generate MCP Scripts Server Config
@@ -2003,7 +2005,7 @@ jobs:
export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host --group-add '"${DOCKER_SOCK_GID}"' -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_MCP_SCRIPTS_PORT -e GH_AW_MCP_SCRIPTS_API_KEY -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -e GH_AW_GH_TOKEN -e GH_DEBUG -e GH_TOKEN -e TAVILY_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.2.22'
GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node)
- cat << GH_AW_MCP_CONFIG_440ec385917e58e8_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs"
+ cat << GH_AW_MCP_CONFIG_7f02447c1d397bd6_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs"
{
"mcpServers": {
"agenticworkflows": {
@@ -2145,7 +2147,7 @@ jobs:
"payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}"
}
}
- GH_AW_MCP_CONFIG_440ec385917e58e8_EOF
+ GH_AW_MCP_CONFIG_7f02447c1d397bd6_EOF
- name: Download activation artifact
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
@@ -2958,7 +2960,7 @@ jobs:
echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
- name: Configure Safe Outputs Custom Scripts
run: |
- cat > "${RUNNER_TEMP}/gh-aw/actions/safe_output_script_post_slack_message.cjs" << 'GH_AW_SAFE_OUTPUT_SCRIPT_POST_SLACK_MESSAGE_d86d1f6f5593dd8f_EOF'
+ cat > "${RUNNER_TEMP}/gh-aw/actions/safe_output_script_post_slack_message.cjs" << 'GH_AW_SAFE_OUTPUT_SCRIPT_POST_SLACK_MESSAGE_2a6f3bff52cbca0a_EOF'
// @ts-check
///
// Auto-generated safe-output script handler: post-slack-message
@@ -2978,7 +2980,7 @@ jobs:
}
module.exports = { main };
- GH_AW_SAFE_OUTPUT_SCRIPT_POST_SLACK_MESSAGE_d86d1f6f5593dd8f_EOF
+ GH_AW_SAFE_OUTPUT_SCRIPT_POST_SLACK_MESSAGE_2a6f3bff52cbca0a_EOF
- name: Process Safe Outputs
id: process_safe_outputs
uses: actions/github-script@373c709c69115d41ff229c7e5df9f8788daa9553 # v9
diff --git a/.github/workflows/smoke-claude.md b/.github/workflows/smoke-claude.md
index f0c108614fc..71933360e48 100644
--- a/.github/workflows/smoke-claude.md
+++ b/.github/workflows/smoke-claude.md
@@ -228,8 +228,4 @@ timeout-minutes: 10
If all non-skipped tests pass, use the `add_labels` tool to add the label `smoke-claude` to the pull request (omit the `item_number` parameter to auto-target the triggering PR if this workflow was triggered by a pull_request event).
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml
index 90acac8b212..71dca7b2fbb 100644
--- a/.github/workflows/smoke-codex.lock.yml
+++ b/.github/workflows/smoke-codex.lock.yml
@@ -32,6 +32,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - CODEX_API_KEY
diff --git a/.github/workflows/smoke-codex.md b/.github/workflows/smoke-codex.md
index e0a10e0dc08..919c79cbdb8 100644
--- a/.github/workflows/smoke-codex.md
+++ b/.github/workflows/smoke-codex.md
@@ -116,8 +116,4 @@ If all tests pass and this workflow was triggered by a `pull_request` event:
- Use the `unassign_from_user` safe-output tool to unassign the user `githubactionagent` from the pull request (this is a fictitious user used for testing; use `item_number: ${{ github.event.pull_request.number }}`)
- Use the `add_smoked_label` safe-output action tool to add the label `smoked` to the pull request (call it with `{"labels": "smoked", "number": "${{ github.event.pull_request.number }}"}`)
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/smoke-copilot-arm.lock.yml b/.github/workflows/smoke-copilot-arm.lock.yml
index d3c954a5761..c0d88858303 100644
--- a/.github/workflows/smoke-copilot-arm.lock.yml
+++ b/.github/workflows/smoke-copilot-arm.lock.yml
@@ -33,6 +33,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/smoke-copilot-arm.md b/.github/workflows/smoke-copilot-arm.md
index 4e4388e4a65..6e360e87e5f 100644
--- a/.github/workflows/smoke-copilot-arm.md
+++ b/.github/workflows/smoke-copilot-arm.md
@@ -164,8 +164,4 @@ If all tests pass:
- Use the `add_labels` safe-output tool to add the label `smoke-copilot-arm` to the pull request
- Use the `remove_labels` safe-output tool to remove the label `smoke` from the pull request
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml
index 2d674d0ac81..bfa1b732b19 100644
--- a/.github/workflows/smoke-copilot.lock.yml
+++ b/.github/workflows/smoke-copilot.lock.yml
@@ -32,6 +32,8 @@
# - shared/mcp/serena-go.md
# - shared/mcp/serena.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/smoke-copilot.md b/.github/workflows/smoke-copilot.md
index f289babafba..a1172e11e10 100644
--- a/.github/workflows/smoke-copilot.md
+++ b/.github/workflows/smoke-copilot.md
@@ -195,8 +195,4 @@ If all tests pass and this workflow was triggered by a pull_request event:
- Use the `add_labels` safe-output tool to add the label `smoke-copilot` to the pull request (omit the `item_number` parameter to auto-target the triggering PR)
- Use the `remove_labels` safe-output tool to remove the label `smoke` from the pull request (omit the `item_number` parameter to auto-target the triggering PR)
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/smoke-crush.lock.yml b/.github/workflows/smoke-crush.lock.yml
index fab2d9d1911..95b45c2d9d0 100644
--- a/.github/workflows/smoke-crush.lock.yml
+++ b/.github/workflows/smoke-crush.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/gh.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/smoke-crush.md b/.github/workflows/smoke-crush.md
index 2ea78b61b1d..30ef05b2937 100644
--- a/.github/workflows/smoke-crush.md
+++ b/.github/workflows/smoke-crush.md
@@ -72,8 +72,4 @@ Add a **very brief** comment (max 5-10 lines) to the current pull request with:
If all tests pass, use the `add_labels` safe-output tool to add the label `smoke-crush` to the pull request.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/smoke-gemini.lock.yml b/.github/workflows/smoke-gemini.lock.yml
index ebb3acdab60..ca4a0fd7dbf 100644
--- a/.github/workflows/smoke-gemini.lock.yml
+++ b/.github/workflows/smoke-gemini.lock.yml
@@ -30,6 +30,8 @@
# - shared/observability-otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GEMINI_API_KEY
diff --git a/.github/workflows/smoke-gemini.md b/.github/workflows/smoke-gemini.md
index 40c10b9f10d..c06d4737cbe 100644
--- a/.github/workflows/smoke-gemini.md
+++ b/.github/workflows/smoke-gemini.md
@@ -81,8 +81,4 @@ timeout-minutes: 10
If all tests pass and this workflow was triggered by a pull_request event, use the `add_labels` safe-output tool to add the label `smoke-gemini` to the pull request (omit the `item_number` parameter to auto-target the triggering PR).
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/smoke-multi-pr.lock.yml b/.github/workflows/smoke-multi-pr.lock.yml
index 0e6c690b248..8f4f7779243 100644
--- a/.github/workflows/smoke-multi-pr.lock.yml
+++ b/.github/workflows/smoke-multi-pr.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/observability-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/smoke-multi-pr.md b/.github/workflows/smoke-multi-pr.md
index 46b3798a475..ac6453f339c 100644
--- a/.github/workflows/smoke-multi-pr.md
+++ b/.github/workflows/smoke-multi-pr.md
@@ -92,8 +92,4 @@ Both PRs must be created successfully. After creating both PRs, add a comment to
- Confirmation that multi-PR creation is working
- Confirmation that CRLF line endings were handled correctly (PR 2)
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/smoke-project.lock.yml b/.github/workflows/smoke-project.lock.yml
index f4c9eb731dd..0060b6556fd 100644
--- a/.github/workflows/smoke-project.lock.yml
+++ b/.github/workflows/smoke-project.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/observability-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/smoke-project.md b/.github/workflows/smoke-project.md
index b7228a890e1..2b5f2fbb19c 100644
--- a/.github/workflows/smoke-project.md
+++ b/.github/workflows/smoke-project.md
@@ -143,8 +143,4 @@ Do not re-create draft items but use their returned temporary-ids for the update
- `start_date`: Optional date in "YYYY-MM-DD" format (if you want to represent the run start)
- `target_date`: Optional date in "YYYY-MM-DD" format (if you want to represent the run target/end)
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/smoke-temporary-id.lock.yml b/.github/workflows/smoke-temporary-id.lock.yml
index bf74e81143e..a6d977858b0 100644
--- a/.github/workflows/smoke-temporary-id.lock.yml
+++ b/.github/workflows/smoke-temporary-id.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/observability-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/smoke-temporary-id.md b/.github/workflows/smoke-temporary-id.md
index 416b02bd112..5e0a4a30098 100644
--- a/.github/workflows/smoke-temporary-id.md
+++ b/.github/workflows/smoke-temporary-id.md
@@ -121,8 +121,4 @@ After the issues are created, verify they are properly linked by adding a commen
**Success Criteria**: All 3 issues created, all temporary ID references resolved, parent-child relationships established.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/smoke-test-tools.lock.yml b/.github/workflows/smoke-test-tools.lock.yml
index 0b2ecfb5512..1bc11c8efc7 100644
--- a/.github/workflows/smoke-test-tools.lock.yml
+++ b/.github/workflows/smoke-test-tools.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/observability-otlp.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/smoke-test-tools.md b/.github/workflows/smoke-test-tools.md
index 186e6a76ca5..655474f8a5b 100644
--- a/.github/workflows/smoke-test-tools.md
+++ b/.github/workflows/smoke-test-tools.md
@@ -118,8 +118,4 @@ If any tool is missing:
2. Mark overall status as FAIL
3. Include the error message from the failed version check
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/smoke-workflow-call.lock.yml b/.github/workflows/smoke-workflow-call.lock.yml
index ad2b12193c6..980bb9bc8bf 100644
--- a/.github/workflows/smoke-workflow-call.lock.yml
+++ b/.github/workflows/smoke-workflow-call.lock.yml
@@ -24,6 +24,10 @@
#
# Reusable workflow to validate checkout from fork works correctly in workflow_call context
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/smoke-workflow-call.md b/.github/workflows/smoke-workflow-call.md
index 5daa77cb4e3..d65551240dc 100644
--- a/.github/workflows/smoke-workflow-call.md
+++ b/.github/workflows/smoke-workflow-call.md
@@ -69,8 +69,4 @@ Add a comment summarizing the checkout validation results:
- Whether the checkout succeeded (based on git commands working without errors)
- Overall status: ✅ PASS or ❌ FAIL
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/spec-enforcer.lock.yml b/.github/workflows/spec-enforcer.lock.yml
index b81595f95d1..71a19aaf57b 100644
--- a/.github/workflows/spec-enforcer.lock.yml
+++ b/.github/workflows/spec-enforcer.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/spec-enforcer.md b/.github/workflows/spec-enforcer.md
index 574192c2f31..0474bb33fb1 100644
--- a/.github/workflows/spec-enforcer.md
+++ b/.github/workflows/spec-enforcer.md
@@ -363,8 +363,4 @@ All tests are derived from README.md specifications, not from implementation sou
- ✅ Round-robin rotation advances correctly
- ✅ PR created with test changes
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/spec-extractor.lock.yml b/.github/workflows/spec-extractor.lock.yml
index ee641af905e..34b3d5c7781 100644
--- a/.github/workflows/spec-extractor.lock.yml
+++ b/.github/workflows/spec-extractor.lock.yml
@@ -30,6 +30,8 @@
# - shared/mcp/serena.md
# - shared/reporting.md
# - shared/go-source-analysis.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_CI_TRIGGER_TOKEN
diff --git a/.github/workflows/spec-extractor.md b/.github/workflows/spec-extractor.md
index 8a6cebf53dd..d07e9a055d5 100644
--- a/.github/workflows/spec-extractor.md
+++ b/.github/workflows/spec-extractor.md
@@ -369,8 +369,4 @@ This PR updates README.md specifications for the following packages:
- ✅ Round-robin rotation advances correctly
- ✅ PR created with specification changes
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/spec-librarian.lock.yml b/.github/workflows/spec-librarian.lock.yml
index c1d43f764ff..9f31b286f15 100644
--- a/.github/workflows/spec-librarian.lock.yml
+++ b/.github/workflows/spec-librarian.lock.yml
@@ -30,6 +30,8 @@
# - shared/mcp/serena.md
# - shared/reporting.md
# - shared/go-source-analysis.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - GH_AW_AGENT_TOKEN
diff --git a/.github/workflows/spec-librarian.md b/.github/workflows/spec-librarian.md
index 9c2ffa79117..86f8029f48e 100644
--- a/.github/workflows/spec-librarian.md
+++ b/.github/workflows/spec-librarian.md
@@ -340,8 +340,4 @@ The following specifications are outdated:
- ✅ Quality scores assigned to each specification
- ✅ Issue created if problems found, or noop if all is well
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/stale-repo-identifier.lock.yml b/.github/workflows/stale-repo-identifier.lock.yml
index 56413de1890..dc309f5a5ea 100644
--- a/.github/workflows/stale-repo-identifier.lock.yml
+++ b/.github/workflows/stale-repo-identifier.lock.yml
@@ -30,6 +30,8 @@
# - shared/jqschema.md
# - shared/reporting.md
# - shared/trending-charts-simple.md
+# Includes:
+# - shared/noop-reminder.md
#
# Frontmatter env variables:
# - ORGANIZATION: (main workflow)
diff --git a/.github/workflows/stale-repo-identifier.md b/.github/workflows/stale-repo-identifier.md
index ab3e64d6192..428f3d553e2 100644
--- a/.github/workflows/stale-repo-identifier.md
+++ b/.github/workflows/stale-repo-identifier.md
@@ -367,8 +367,4 @@ To avoid GitHub API rate limits:
- Print summary statistics to stdout
- Be clear and actionable in recommendations
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml
index 952dd34df64..07774159cd8 100644
--- a/.github/workflows/static-analysis-report.lock.yml
+++ b/.github/workflows/static-analysis-report.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/static-analysis-report.md b/.github/workflows/static-analysis-report.md
index 6468e383e39..11196a8b733 100644
--- a/.github/workflows/static-analysis-report.md
+++ b/.github/workflows/static-analysis-report.md
@@ -503,8 +503,4 @@ A successful static analysis scan:
Begin your static analysis scan now. Read and parse the compilation output from `/tmp/gh-aw/compile-output.txt`, analyze the findings from all four tools (zizmor, poutine, actionlint, runner-guard), cluster them, generate fix suggestions, create up to 3 issues for critical runner-guard findings, and create an issue with your complete analysis.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/step-name-alignment.lock.yml b/.github/workflows/step-name-alignment.lock.yml
index fa1b4199af0..55fb78c28b9 100644
--- a/.github/workflows/step-name-alignment.lock.yml
+++ b/.github/workflows/step-name-alignment.lock.yml
@@ -24,6 +24,10 @@
#
# Scans step names in .lock.yml files and aligns them with step intent and project glossary
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - ANTHROPIC_API_KEY
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/step-name-alignment.md b/.github/workflows/step-name-alignment.md
index 30d6b4f9c27..4cd4d185542 100644
--- a/.github/workflows/step-name-alignment.md
+++ b/.github/workflows/step-name-alignment.md
@@ -463,8 +463,4 @@ To keep token consumption predictable:
Good luck! Your work helps maintain a consistent, professional codebase with clear, accurate step names that align with project terminology.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/sub-issue-closer.lock.yml b/.github/workflows/sub-issue-closer.lock.yml
index 829ebc3d864..a8416a23173 100644
--- a/.github/workflows/sub-issue-closer.lock.yml
+++ b/.github/workflows/sub-issue-closer.lock.yml
@@ -24,6 +24,10 @@
#
# Scheduled workflow that recursively closes parent issues when all sub-issues are 100% complete
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/sub-issue-closer.md b/.github/workflows/sub-issue-closer.md
index e57babd2473..371152bf12d 100644
--- a/.github/workflows/sub-issue-closer.md
+++ b/.github/workflows/sub-issue-closer.md
@@ -143,8 +143,4 @@ During processing, maintain clear logging:
- Always verify the completion status before closing an issue
- Add clear, informative comments when closing issues for transparency
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/super-linter.lock.yml b/.github/workflows/super-linter.lock.yml
index bbfa1d09e2f..1b9ca0462c6 100644
--- a/.github/workflows/super-linter.lock.yml
+++ b/.github/workflows/super-linter.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/super-linter.md b/.github/workflows/super-linter.md
index 618bd125c22..98fbcad4c01 100644
--- a/.github/workflows/super-linter.md
+++ b/.github/workflows/super-linter.md
@@ -210,8 +210,4 @@ docker run --rm \
Treat linter output as potentially sensitive. Do not expose credentials, API keys, or other secrets that might appear in file paths or error messages.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml
index 25da79eee4e..d33497c6fce 100644
--- a/.github/workflows/technical-doc-writer.lock.yml
+++ b/.github/workflows/technical-doc-writer.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - ../agents/technical-doc-writer.agent.md
# - ../skills/documentation/SKILL.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/technical-doc-writer.md b/.github/workflows/technical-doc-writer.md
index 7d3bca8934e..daab33d42a4 100644
--- a/.github/workflows/technical-doc-writer.md
+++ b/.github/workflows/technical-doc-writer.md
@@ -156,8 +156,4 @@ Keep your feedback specific, actionable, and empathetic. Focus on the most impac
You have access to cache-memory for persistent storage across runs, which you can use to track documentation patterns and improvement suggestions.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/terminal-stylist.lock.yml b/.github/workflows/terminal-stylist.lock.yml
index 036ee779455..c047f22aacd 100644
--- a/.github/workflows/terminal-stylist.lock.yml
+++ b/.github/workflows/terminal-stylist.lock.yml
@@ -30,6 +30,8 @@
# - shared/mcp/serena-go.md
# - shared/mcp/serena.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/terminal-stylist.md b/.github/workflows/terminal-stylist.md
index 85c265aa09e..8103e129424 100644
--- a/.github/workflows/terminal-stylist.md
+++ b/.github/workflows/terminal-stylist.md
@@ -148,8 +148,4 @@ Create a discussion with:
**Objective**: Ensure consistent, well-formatted, and accessible console output throughout the codebase using modern Charmbracelet ecosystem best practices.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/test-create-pr-error-handling.lock.yml b/.github/workflows/test-create-pr-error-handling.lock.yml
index bc33ef88b32..cf50eebd740 100644
--- a/.github/workflows/test-create-pr-error-handling.lock.yml
+++ b/.github/workflows/test-create-pr-error-handling.lock.yml
@@ -24,6 +24,10 @@
#
# Test workflow to verify create_pull_request error handling
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - ANTHROPIC_API_KEY
# - GH_AW_CI_TRIGGER_TOKEN
diff --git a/.github/workflows/test-create-pr-error-handling.md b/.github/workflows/test-create-pr-error-handling.md
index 9ffe81714ed..5ea84c42c6c 100644
--- a/.github/workflows/test-create-pr-error-handling.md
+++ b/.github/workflows/test-create-pr-error-handling.md
@@ -50,8 +50,4 @@ Please call the `create_pull_request` tool with:
Then report the exact error message you received.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/test-dispatcher.lock.yml b/.github/workflows/test-dispatcher.lock.yml
index cc1f8bad782..543ea8b5d0f 100644
--- a/.github/workflows/test-dispatcher.lock.yml
+++ b/.github/workflows/test-dispatcher.lock.yml
@@ -23,6 +23,10 @@
# For more information: https://github.github.com/gh-aw/introduction/overview/
#
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/test-dispatcher.md b/.github/workflows/test-dispatcher.md
index bc75b9449e8..f0fc7831067 100644
--- a/.github/workflows/test-dispatcher.md
+++ b/.github/workflows/test-dispatcher.md
@@ -68,8 +68,4 @@ Or in the agent's output format:
}
```
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/test-project-url-default.lock.yml b/.github/workflows/test-project-url-default.lock.yml
index 1cb24bbc680..c63c0a6e81f 100644
--- a/.github/workflows/test-project-url-default.lock.yml
+++ b/.github/workflows/test-project-url-default.lock.yml
@@ -23,6 +23,10 @@
# For more information: https://github.github.com/gh-aw/introduction/overview/
#
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
# - GH_AW_GITHUB_MCP_SERVER_TOKEN
diff --git a/.github/workflows/test-project-url-default.md b/.github/workflows/test-project-url-default.md
index 8700bc03662..1cc36255026 100644
--- a/.github/workflows/test-project-url-default.md
+++ b/.github/workflows/test-project-url-default.md
@@ -60,8 +60,4 @@ running the workflow.
The agent must always provide the project URL explicitly in the output message.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/tidy.lock.yml b/.github/workflows/tidy.lock.yml
index cb4819d8dba..ebaa52fda49 100644
--- a/.github/workflows/tidy.lock.yml
+++ b/.github/workflows/tidy.lock.yml
@@ -24,6 +24,10 @@
#
# Automatically formats and tidies code files (Go, JS, TypeScript) when code changes are pushed or on command
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
# - GH_AW_CI_TRIGGER_TOKEN
diff --git a/.github/workflows/tidy.md b/.github/workflows/tidy.md
index d9a71042881..a217973f254 100644
--- a/.github/workflows/tidy.md
+++ b/.github/workflows/tidy.md
@@ -140,8 +140,4 @@ The repository has all necessary tools installed:
Start by checking for existing tidy pull requests, then proceed with the tidying process.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml
index 57a9b8d1388..0ab1247d6b0 100644
--- a/.github/workflows/typist.lock.yml
+++ b/.github/workflows/typist.lock.yml
@@ -30,6 +30,8 @@
# - shared/mcp/serena-go.md
# - shared/mcp/serena.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/typist.md b/.github/workflows/typist.md
index 375523fad6f..4eff25a4b56 100644
--- a/.github/workflows/typist.md
+++ b/.github/workflows/typist.md
@@ -505,8 +505,4 @@ This analysis is successful when:
**Objective**: Improve type safety and code maintainability by identifying and recommending fixes for duplicated type definitions and untyped usages in the Go codebase.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/ubuntu-image-analyzer.lock.yml b/.github/workflows/ubuntu-image-analyzer.lock.yml
index 7034ccd99ca..14ae787cd06 100644
--- a/.github/workflows/ubuntu-image-analyzer.lock.yml
+++ b/.github/workflows/ubuntu-image-analyzer.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/activation-app.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/ubuntu-image-analyzer.md b/.github/workflows/ubuntu-image-analyzer.md
index 600b9509a4a..a71f8061c1a 100644
--- a/.github/workflows/ubuntu-image-analyzer.md
+++ b/.github/workflows/ubuntu-image-analyzer.md
@@ -489,8 +489,4 @@ If you cannot find the "Included Software" URL in logs:
Good luck! Your analysis helps developers understand and replicate the GitHub Actions runner environment.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml
index 48784451ae3..d47c7545a79 100644
--- a/.github/workflows/unbloat-docs.lock.yml
+++ b/.github/workflows/unbloat-docs.lock.yml
@@ -28,6 +28,8 @@
# Imports:
# - shared/docs-server-lifecycle.md
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
diff --git a/.github/workflows/unbloat-docs.md b/.github/workflows/unbloat-docs.md
index 47210a01079..128de074a51 100644
--- a/.github/workflows/unbloat-docs.md
+++ b/.github/workflows/unbloat-docs.md
@@ -478,8 +478,4 @@ A successful run:
Begin by scanning the docs directory and selecting the best candidate for improvement!
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/video-analyzer.lock.yml b/.github/workflows/video-analyzer.lock.yml
index 0846be5f8c9..3882ebc5dc1 100644
--- a/.github/workflows/video-analyzer.lock.yml
+++ b/.github/workflows/video-analyzer.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/ffmpeg.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/video-analyzer.md b/.github/workflows/video-analyzer.md
index 0a55d15bbf7..6818df1dcfc 100644
--- a/.github/workflows/video-analyzer.md
+++ b/.github/workflows/video-analyzer.md
@@ -168,8 +168,4 @@ Create your issue with the following markdown structure:
*Generated using ffmpeg via GitHub Agentic Workflows*
```
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/weekly-editors-health-check.lock.yml b/.github/workflows/weekly-editors-health-check.lock.yml
index 684e6109902..41c6b495621 100644
--- a/.github/workflows/weekly-editors-health-check.lock.yml
+++ b/.github/workflows/weekly-editors-health-check.lock.yml
@@ -24,6 +24,10 @@
#
# Checks that the workflow editors listed in the documentation are still valid, takes Playwright screenshots, and opens a PR to update the docs with preview images
#
+# Resolved workflow manifest:
+# Includes:
+# - shared/noop-reminder.md
+#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
# - GH_AW_CI_TRIGGER_TOKEN
diff --git a/.github/workflows/weekly-editors-health-check.md b/.github/workflows/weekly-editors-health-check.md
index a3a2525abee..dbee98b6c06 100644
--- a/.github/workflows/weekly-editors-health-check.md
+++ b/.github/workflows/weekly-editors-health-check.md
@@ -140,8 +140,4 @@ Example body (rows reflect whatever editors were discovered in Step 0):
- If no screenshots were successfully taken and no documentation changes are needed, do **not** open a pull request. Instead, exit successfully after logging the results.
- Always attempt all editors before deciding whether to create a PR.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/weekly-issue-summary.lock.yml b/.github/workflows/weekly-issue-summary.lock.yml
index 0ee4c460417..253468616be 100644
--- a/.github/workflows/weekly-issue-summary.lock.yml
+++ b/.github/workflows/weekly-issue-summary.lock.yml
@@ -31,6 +31,8 @@
# - shared/python-dataviz.md
# - shared/reporting.md
# - shared/trends.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/weekly-issue-summary.md b/.github/workflows/weekly-issue-summary.md
index 79667acc93d..1e5b4898c15 100644
--- a/.github/workflows/weekly-issue-summary.md
+++ b/.github/workflows/weekly-issue-summary.md
@@ -156,8 +156,4 @@ Follow the **Report Formatting Guidelines** in `shared/reporting.md` to structur
- Detailed issue lists wrapped in `` tags
- Critical information (overview, trends, statistics, recommendations) always visible
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/weekly-safe-outputs-spec-review.lock.yml b/.github/workflows/weekly-safe-outputs-spec-review.lock.yml
index a221da88dec..f307c725cd2 100644
--- a/.github/workflows/weekly-safe-outputs-spec-review.lock.yml
+++ b/.github/workflows/weekly-safe-outputs-spec-review.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/github-guard-policy.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/weekly-safe-outputs-spec-review.md b/.github/workflows/weekly-safe-outputs-spec-review.md
index 4a08f30b2cf..3e74052d4da 100644
--- a/.github/workflows/weekly-safe-outputs-spec-review.md
+++ b/.github/workflows/weekly-safe-outputs-spec-review.md
@@ -259,8 +259,4 @@ You have successfully completed this task when:
- A pull request has been created (if updates were made), OR
- Confirmation that no updates are needed has been logged
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/workflow-generator.lock.yml b/.github/workflows/workflow-generator.lock.yml
index bec7fd53161..3832d185f73 100644
--- a/.github/workflows/workflow-generator.lock.yml
+++ b/.github/workflows/workflow-generator.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/github-guard-policy.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/workflow-generator.md b/.github/workflows/workflow-generator.md
index dc179a0a034..b4821c741af 100644
--- a/.github/workflows/workflow-generator.md
+++ b/.github/workflows/workflow-generator.md
@@ -112,8 +112,4 @@ This issue has been assigned to an AI agent for workflow design. The agent will:
The workflow designer agent will have clear instructions in the issue body about what it needs to do.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/workflow-health-manager.lock.yml b/.github/workflows/workflow-health-manager.lock.yml
index 85abdd6c916..e0696f65c1f 100644
--- a/.github/workflows/workflow-health-manager.lock.yml
+++ b/.github/workflows/workflow-health-manager.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/workflow-health-manager.md b/.github/workflows/workflow-health-manager.md
index b845640cc02..0b41f9f0729 100644
--- a/.github/workflows/workflow-health-manager.md
+++ b/.github/workflows/workflow-health-manager.md
@@ -453,8 +453,4 @@ Your effectiveness is measured by:
Execute all phases systematically and maintain a proactive approach to workflow health management.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/workflow-normalizer.lock.yml b/.github/workflows/workflow-normalizer.lock.yml
index 5b3ff329435..828ed290974 100644
--- a/.github/workflows/workflow-normalizer.lock.yml
+++ b/.github/workflows/workflow-normalizer.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/workflow-normalizer.md b/.github/workflows/workflow-normalizer.md
index e7fecff841a..f780a0e36cb 100644
--- a/.github/workflows/workflow-normalizer.md
+++ b/.github/workflows/workflow-normalizer.md
@@ -235,8 +235,4 @@ Create a summary comment or discussion showing:
Remember: The goal is to create a consistent, delightful user experience across all workflow reports by applying sound design principles and clear communication patterns.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}
diff --git a/.github/workflows/workflow-skill-extractor.lock.yml b/.github/workflows/workflow-skill-extractor.lock.yml
index 684e0067fcf..63d080fc029 100644
--- a/.github/workflows/workflow-skill-extractor.lock.yml
+++ b/.github/workflows/workflow-skill-extractor.lock.yml
@@ -27,6 +27,8 @@
# Resolved workflow manifest:
# Imports:
# - shared/reporting.md
+# Includes:
+# - shared/noop-reminder.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
diff --git a/.github/workflows/workflow-skill-extractor.md b/.github/workflows/workflow-skill-extractor.md
index 909741ab385..7955f785312 100644
--- a/.github/workflows/workflow-skill-extractor.md
+++ b/.github/workflows/workflow-skill-extractor.md
@@ -157,8 +157,4 @@ Use this priority rubric:
- Keep recommendations concrete and actionable.
- If no action is needed, call `noop` with a brief explanation.
-**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
-
-```json
-{"noop": {"message": "No action needed: [brief explanation of what was analyzed and why]"}}
-```
+{{#import shared/noop-reminder.md}}