Skip to main content
skill GitHub Copilot official · GitHub

verify-agent-action — GitHub Copilot skill: what it does

Audits proposed AI agent actions, deployments, and approvals before execution. It checks parameters, nonces, and telemetry, never authorizing or running actions on its own.

Install into GitHub Copilot · Skills CLI (Vercel) All methods and platforms ↓
npx skills add github/awesome-copilot --skill verify-agent-action
Open on GitHub

What verify-agent-action does

This skill audits proposed agent actions before any sensitive tool runs, deployment triggers, or credentials change. It treats plausible approval records as claims rather than proof. Crucially, it never authorizes, executes, or mutates resources itself, always outputting {"execution_authorized": false}.

The workflow runs six strict controls. It normalizes target resources and parameters without dropping flags like force or scope constraints, checks nonces to block replay attacks, and assesses reviewer independence across models and prompts. Telemetry is verified against expected heartbeats, because silence is not treated as a healthy state.

Results fall into ELIGIBLE_FOR_HUMAN_DECISION, ELIGIBLE_WITH_CONTROLS, BLOCKED, or INCONCLUSIVE. Install this skill if your agents handle destructive commands or live environments and need a formal gate before human sign-off.

What it helps with

  • Verify agent action parameters against original approval records
  • Block replay attacks by checking single-use nonces and expiration
  • Evaluate reviewer independence across models and prompts
  • Catch stale telemetry and missing heartbeat signals before execution

Example prompts for the agent

  • Verify this approval packet before running git.push to origin
  • Run verify-agent-action to inspect parameters and reviewer independence
  • Audit this tool invocation for expired timestamps and missing telemetry

How to install verify-agent-action

1Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill verify-agent-action

2GitHub CLI

gh skill install github/awesome-copilot verify-agent-action

3Manually: put the files in place

.github/skills/verify-agent-action/SKILL.md

From the same set554

The whole set →
git-commit official github This skill reviews Git changes, stages related files, and creates Conventional Commits. Use it when you want an agent to make one commit or split work into separate commits. GitHub Copilot 47,165installs excalidraw-diagram-generator official github Turn a plain-language description into an Excalidraw diagram. Useful for mapping processes, system structure, and relationships between entities. GitHub Copilot 31,639installs multi-stage-dockerfile official github This skill guides GitHub Copilot in writing multi-stage Dockerfiles for different languages and frameworks. Use it when the final runtime image should contain fewer build dependencies. GitHub Copilot 29,688installs documentation-writer official github Skill that turns the agent into a technical writer following the Diátaxis framework: tutorials, how-to guides, reference, and explanation. Proposes structure before writing. GitHub Copilot 27,757installs prd official github Turns a feature idea into a structured PRD with user stories, technical requirements, and risks. Use it when planning a software feature or an AI-powered one. GitHub Copilot 24,035installs refactor official github This skill reshapes existing code without changing its external behavior. Use it for gradual cleanup of large functions, duplication, weak types, and code smells. GitHub Copilot 22,321installs java-springboot official github Gives GitHub Copilot Spring Boot development practices, from project layout to tests and security. Use it when writing or reviewing Java application code. GitHub Copilot 21,272installs create-readme official github This skill reviews a project and creates a structured README.md. Use it when the repository needs clear documentation based on its actual files and code. GitHub Copilot 19,081installs

Similar

application-integration-troubleshooting official google Diagnoses failed, stuck, or silent Google Cloud Application Integration and Integration Connectors runs. Use it when HTTP 200 does not match the work completed. Claude Code Gemini CLI CX Codex 16installs signing-entitlements official OpenAI Diagnoses macOS code signing, App Sandbox, and Gatekeeper failures. Useful when a binary or app bundle refuses to launch on macOS. CX Codex GP ChatGPT 60installs packaging-notarization official OpenAI This skill checks macOS app archives, signing, and notarization readiness. Use it when preparing a build for distribution or investigating failures that appear only in distributed builds. CX Codex GP ChatGPT 56installs git-guardrails-claude-code Matt Pocock This skill adds a Claude Code hook that stops risky Git commands before they run. Use it when an agent must not push or discard working-tree changes. Claude Code 499,069installs ponytail-review DietrichGebert ponytail-review reviews a change beyond the diff, checking connected code, bugs, risks, load, tests, speed, and unnecessary code. Use it for PRs and commits. Claude Code CX Codex Cursor +1 56,300installs ponytail-audit DietrichGebert It audits a repository and ranks bugs, risks, and redundant code in a one-shot report. Use it when you need a review without code changes. Claude Code CX Codex Cursor +1 44,800installs security-audit cloudflare Reviews codebases and APIs for vulnerabilities using safe sandboxing. Fits pre-release security reviews, pen-test triage, and architecture checks. Claude Code CX Codex Cursor +1 52,200installs security-and-hardening addyosmani Guides threat modeling and security checks for code that handles user input, authentication, sessions, or external services. Use it when building a feature that accepts untrusted data or reviewing code before release. Claude Code CX Codex Cursor +1 69,400installs

Questions about verify-agent-action

How do I install verify-agent-action in GitHub Copilot?

Run npx skills add github/awesome-copilot --skill verify-agent-action or install via GitHub CLI with gh skill install github/awesome-copilot verify-agent-action. You can also place it in .github/skills/verify-agent-action/SKILL.md.

What does verify-agent-action do?

It audits proposed agent operations against approvals, verifying exact parameters, nonce uniqueness, reviewer independence, and telemetry. It produces an evidence-based report without running the command.

Can this skill authorize an action automatically?

No, the skill explicitly prohibits converting the review into execution authority. Every review outputs {"execution_authorized": false}, leaving the final trigger to external policy or human approval.

Source text

SKILL.md · MIT
---
name: verify-agent-action
description: 'Review a proposed AI-agent action or human-approval packet before execution. Use when an agent wants to run a consequential tool, command, deployment, message, purchase, credential operation, or data mutation; when checking whether approval still matches the exact action; or when auditing action evidence for forged results, parameter swaps, replay, correlated reviewers, missing evidence, expiry, or stale monitoring. Produce an evidence-based review only—never execute or authorize the action.'
---

# Verify Agent Action

Treat a plausible approval screen as a claim, not proof. Verify the complete
decision path before a human or an external enforcement point decides whether
to act.

## Preserve the safety boundary

- Never execute, approve, sign, send, purchase, deploy, or mutate anything.
- Never convert this review into execution authority.
- Never infer missing evidence, identities, timestamps, or parameters.
- Treat a valid schema, checksum, or signature as insufficient by itself.
- Treat signatures as evidence of attribution and integrity, not factual truth.
- Keep supporting and refuting evidence separate; do not average conflict away.
- Fail closed on a material mismatch. Use `INCONCLUSIVE` when required evidence
  is unavailable.

Set this field in every final result:

```json
{"execution_authorized": false}
```

## Collect the review packet

Request only the artifacts needed for the review:

1. The original user or system request.
2. The exact proposed action:
   - operation or tool name
   - target resource
   - complete parameters
   - filesystem and network scope
   - maximum execution count
   - not-before and expiry times
3. The assessment that claims the action is justified.
4. The source evidence and policy used by that assessment.
5. The approval record, including approver identity, role, action digest, nonce,
   audience, issue time, expiry, and use count.
6. The latest monitoring events and expected heartbeat interval.
7. The current trusted time and any prior nonce-use record.

List missing fields before analysis. Do not silently substitute defaults.

## Build the exact action identity

Create one normalized action object without dropping fields:

```json
{
  "operation": "git.push",
  "target": "owner/repository",
  "parameters": {
    "branch": "fix/example",
    "commit": "40-character-sha",
    "remote": "origin"
  },
  "filesystem_scope": [],
  "network_scope": ["github.com:443"],
  "execution_count": 1,
  "not_before": "RFC3339 timestamp",
  "expires_at": "RFC3339 timestamp"
}
```

Use a project-specified canonicalization and digest algorithm when provided.
Otherwise, report that cryptographic identity cannot be independently verified;
still compare every field structurally.

Never normalize away a security-relevant distinction such as:

- branch, commit, repository, environment, recipient, amount, currency, or host
- recursive, force, overwrite, privileged, destructive, or dry-run flags
- filesystem roots, CIDRs, ports, domains, execution counts, or expiry

## Run the six controls

Evaluate every control as `PASS`, `FAIL`, `INCONCLUSIVE`, or `NOT_APPLICABLE`.

### 1. Recompute the assessment

- Re-run the declared deterministic evaluator from the declared source inputs
  when its implementation is available.
- Compare the complete canonical result, not selected fields.
- Mark `FAIL` if the received result differs from recomputation.
- Mark `INCONCLUSIVE` when only schema validation, an internal checksum, or an
  unverifiable evaluator claim is available.

### 2. Match the exact approved action

- Compare the proposed action with the action bound into the approval.
- Compare the complete normalized object and its digest.
- Mark `FAIL` if any material field changed after approval.
- Treat a broad target or scope as a mismatch when the evidence justifies only
  a narrower action.

### 3. Reject replay and identity ambiguity

- Verify the nonce is unique and unused.
- Verify subject, audience, issuer, approver role, issue time, not-before time,
  expiry, and maximum use count.
- Mark `FAIL` for a reused nonce, wrong audience, expired approval, future-dated
  approval, excessive use count, revoked identity, or role mismatch.
- Mark `INCONCLUSIVE` if no trustworthy replay store or time source exists.

### 4. Test reviewer independence

Build a dependence table for every reviewer or evaluator:

| Dimension | Compare |
|---|---|
| Model | family, version, fine-tune |
| Provider | account and control plane |
| Prompt | shared template or ancestry |
| Retrieval | overlapping sources and indexes |
| Tools | shared evaluator code and runtime |
| Operator | common owner or approval authority |

Do not count correlated reviewers as independent quorum members. Mark `FAIL` if
the policy requires independent approval and the remaining independent set is
too small.

### 5. Preserve evidence and contradiction

- Inventory every evidence identifier referenced by the assessment.
- Confirm each item is present, authenticatable, within its validity window,
  and relevant to the claim.
- Record support and refutation independently:

| Support | Refutation | Epistemic state |
|---|---|---|
| absent | absent | `UNDETERMINED` |
| present | absent | `SUPPORTED_ONLY` |
| absent | present | `REFUTED_ONLY` |
| present | present | `CONFLICTED` |

- Mark `FAIL` if evidence was removed, altered, expired, or concealed in a way
  that changes the result.
- Never convert `CONFLICTED` into a numeric average that appears safe.

### 6. Verify lifecycle and monitoring

- Confirm the action is inside its validity window.
- Verify monitoring-event signatures or integrity evidence when available.
- Check sequence numbers, previous-event digests, and expected heartbeat
  cadence.
- Treat missing, stale, reordered, or broken-chain telemetry as a failure when
  policy requires continuous monitoring.
- Do not interpret silence as health.

## Challenge convenient conclusions

Before producing the final result, attempt these mutations mentally or with
project-provided test fixtures:

1. Replace a blocked assessment with an allowed result.
2. Change one approved target, parameter, scope, amount, or commit.
3. Reuse an otherwise valid approval nonce.
4. Replace independent reviewers with correlated copies.
5. Remove one refuting evidence item.
6. Stop the monitoring heartbeat after approval.

If any mutation would pass the reviewed controls, record the affected control
as `FAIL`; do not merely recommend future hardening.

## Determine the review result

Use exactly one result:

- `ELIGIBLE_FOR_HUMAN_DECISION`: all required controls pass.
- `ELIGIBLE_WITH_CONTROLS`: no required control fails, and explicit external
  controls can resolve the listed conditions before execution.
- `BLOCKED`: at least one required control fails or the action exceeds the
  justified scope.
- `INCONCLUSIVE`: no required control is proven false, but evidence needed for
  a safe decision is missing or unverifiable.

`ELIGIBLE_FOR_HUMAN_DECISION` is not approval. A human authority and a separate
enforcement point remain responsible for any real action.

## Report in this format

```markdown
# Agent Action Review

## Result
- Review result: BLOCKED | INCONCLUSIVE | ELIGIBLE_WITH_CONTROLS |
  ELIGIBLE_FOR_HUMAN_DECISION
- Execution authorized: false
- Exact action digest: <verified value or NOT_VERIFIED>

## Action
- Operation:
- Target:
- Material parameters:
- Scope:
- Validity window:
- Maximum uses:

## Control matrix
| Control | Status | Evidence | Reason |
|---|---|---|---|
| Recomputed assessment | PASS/FAIL/INCONCLUSIVE/N/A | ... | ... |
| Exact action binding | ... | ... | ... |
| Replay and identity | ... | ... | ... |
| Reviewer independence | ... | ... | ... |
| Evidence completeness | ... | ... | ... |
| Monitoring freshness | ... | ... | ... |

## Supporting evidence
- ...

## Refuting evidence and defeaters
- ...

## Required next action
- State the smallest concrete step that could change the result.

## Boundaries
- State what this review did not prove.
```

Lead with the result and the exact reason. Prefer a reproducible blocker over a
confidence score.

© github · MIT · github/awesome-copilot

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor