verify-agent-action
Makes your agent review important actions before executing them. It checks commands, deployments, or data changes to ensure safety and accuracy.
What it does
Checks if an action planned by an AI or requested by a human is safe and correct before it's executed. It ensures everything is as it should be to prevent errors or unwanted actions.
When to use it
- ✓Before an AI performs an important action (like sending an email or making a purchase).
- ✓When you need to be sure an approval matches the exact action to be performed.
- ✓When checking if evidence of an action is real and hasn't been tampered with.
Example of what to ask your AI
“Verify that the action of sending this report to client X is correct and safe.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
This system compares the details of the proposed action with available approvals and evidence. It checks if everything matches exactly, if permissions are correct, and if there are no signs of tampering or forgery.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add github/awesome-copilot --skill verify-agent-actionOr download just the file:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/verify-agent-action/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
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
INCONCLUSIVEwhen required evidence is unavailable.
Set this field in every final result:
{"execution_authorized": false}
Collect the review packet
Request only the artifacts needed for the review:
- The original user or system request.
- The exact proposed action:
- operation or tool name
- target resource
- complete parameters
- filesystem and network scope
- maximum execution count
- not-before and expiry times
- The assessment that claims the action is justified.
- The source evidence and policy used by that assessment.
- The approval record, including approver identity, role, action digest, nonce, audience, issue time, expiry, and use count.
- The latest monitoring events and expected heartbeat interval.
- 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:
{
"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
FAILif the received result differs from recomputation. - Mark
INCONCLUSIVEwhen 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
FAILif 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
FAILfor a reused nonce, wrong audience, expired approval, future-dated approval, excessive use count, revoked identity, or role mismatch. - Mark
INCONCLUSIVEif 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.
…
FAQ
What happens if something is incorrect?
If there are any inconsistencies or doubts, the action will not be allowed, and the system will flag the issue to be corrected before any execution.
Why can't I just trust the AI?
AI is a powerful tool, but an extra layer of security is important for consequential actions, ensuring the original intent is maintained and unexpected errors don't occur.
What does 'fail closed' mean?
It means that in case of doubt or a problem, the system refuses to execute the action for safety, rather than trying to guess or proceeding with a potentially risky action.
Details
Original description by the author
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, o
repo: github/awesome-copilot
Popularity
- GitHub stars
- 40k
- Ranking position
- #5414
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
acquire-codebase-knowledge
Helps your agent understand and document an existing code project. It's useful for onboarding new people or getting an overview of the architecture.
github/awesome-copilot
acreadiness-assess
Enables your agent to assess a project's readiness for AI and generate a report. It's useful for understanding how well a project is prepared to use AI tools.
github/awesome-copilot
acreadiness-generate-instructions
Helps your agent create instructions for AI tools based on an assessment. It's useful for improving how AI interacts with code and closing identified gaps.
github/awesome-copilot
acreadiness-policy
Enables your agent to help define or apply policies for AI project assessment. It's useful for standardizing how projects are evaluated and ensuring compliance.
github/awesome-copilot
Similar skills
agent-architecture-audit
Makes your agent check if everything is working correctly. It finds and fixes problems in AI systems, ensuring they perform as expected.
affaan-m/ECC
agent-eval
Helps your agent compare different AI coding tools. It measures which one is faster, cheaper, and more reliable for specific tasks.
affaan-m/ECC
agent-harness-construction
Makes your agent better understand how to perform tasks. It optimizes the tools and instructions the agent uses to increase its chances of success.
affaan-m/ECC