Skip to content

Add an SDK Tier Audit skill and agentic workflow#1503

Open
jeffhandley wants to merge 7 commits intomodelcontextprotocol:mainfrom
jeffhandley:jeffhandley/conformance-workflow
Open

Add an SDK Tier Audit skill and agentic workflow#1503
jeffhandley wants to merge 7 commits intomodelcontextprotocol:mainfrom
jeffhandley:jeffhandley/conformance-workflow

Conversation

@jeffhandley
Copy link
Copy Markdown
Contributor

Introduce an SDK Tier Audit skill and agentic workflow to automate weekly runs of the audit, producing an issue in this repo to capture the audit report.

The workflow offers execution modes for:

  1. Scheduled execution, running every Thursday morning.
  2. Manual workflow dispatch at any time, optionally choosing to only run the repo health audit (skipping conformance tests) and either creating an issue or just logging the output to the action summary.

Other notes:

  • When an issue is created, previously generated issues will be automatically closed by the compiled workflow.
  • The issue files is tagged with automation Created or managed by automation and having this label excludes it from the triage SLA.
  • This utilizes a Copilot PAT pool for selecting the PAT to use for the agentic portion of the workflow, rather than relying on a single team member's PAT.
  • The workflow prevents concurrent duplicate runs, canceling any current runs with the same (conformance + repo health) or (repo health) scope.

Example results:

  1. Issue: [C# SDK Tier Audit] 2026-04-05 - Tier 1 (jeffhandley/modelcontextprotocol-csharp-sdk#20)
  2. Workflow run: https://github.com/jeffhandley/modelcontextprotocol-csharp-sdk/actions/runs/23997090115#summary-69987008877

jeffhandley and others added 7 commits April 4, 2026 20:43
Add a weekly agentic workflow that performs SEP-1730 tier audits of the
C# MCP SDK using the mcp-sdk-tier-audit skill from the conformance
repository. The workflow:

- Runs weekly on Thursdays (fuzzy ~6:30am EST) and on manual dispatch
- Supports two scopes: Conformance + Repo Health (default) and Repo Health
- Allows overriding the C# SDK and conformance repo/branch targets
- Files issues with tier results, auto-closing previous audit issues
- Uses a dedicated AUDIT_PAT pool for Copilot engine authentication
- Skips scheduled runs on forks; allows manual dispatch anywhere

The audit logic is extracted into a reusable skill at
.github/skills/sdk-tier-audit/SKILL.md with cross-platform instructions
(macOS/Linux and Windows) so it can also be invoked locally.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add 'output' input: 'Create Issue' (default) or 'Action Summary'
  When 'Action Summary', the report is written to the step summary
  and uploaded as an artifact but no issue is created.

- Condense repo/branch inputs into owner/repo:branch format:
  csharp_sdk: 'modelcontextprotocol/csharp-sdk:main'
  conformance: 'modelcontextprotocol/conformance:main'
  Parsed with bash parameter expansion (${var%%:*} / ${var#*:})

- Add post-steps to upload /tmp/audit-report.md as an artifact
  (90-day retention, ignore if missing)

- Executive summary now uses bullet points instead of a paragraph

- Audit report always written to $GITHUB_STEP_SUMMARY regardless
  of output mode, so the summary page always shows results

- Agent writes a single /tmp/audit-report.md combining executive
  summary + assessment + remediation, used for both issue body
  and action summary

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add tools.github.min-integrity: approved for content guard policy
- Add pull-requests: read permission (required by default toolsets)
- Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true env var to opt into
  Node 24 early and suppress the Node 20 deprecation warning
- Add max: 1 to create-issue safe output for explicit limit

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Two issues fixed:

1. Tier logic: The prompt was telling the agent to 'Apply tier logic'
   itself (Step 2.4). Now the prompt explicitly says: 'Do not apply
   your own tier logic or scoring — use only the conformance skill's
   thresholds, rules, and templates.' All tier determination is
   delegated to the conformance repo's mcp-sdk-tier-audit skill.

2. Action summary: The report was not appearing on the workflow
   summary page because the agent wasn't writing to
   $GITHUB_STEP_SUMMARY reliably. Now Step 3 is restructured with
   explicit requirements:
   - MUST write /tmp/audit-report.md (artifact)
   - MUST cat it to $GITHUB_STEP_SUMMARY (action summary)
   - Both required BEFORE Step 4 (publish)
   - 'Action Summary' mode now explicitly calls noop
   - Issue body must be identical to the action summary content

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jeffhandley jeffhandley self-assigned this Apr 5, 2026
@jeffhandley jeffhandley added the area-infrastructure Related to repo infrastructure label Apr 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure Related to repo infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant