Verify Agent Action
GitHubOfficialFirst committed by VrtxOmegaDistributed by GitHub
- Skill
- Review and audit
- Security
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
Verify Agent Action provides a structured, evidence-based methodology for reviewing proposed AI-agent operations. It treats approval packets as claims rather than proof, requiring a systematic audit of the decision path, action parameters, and supporting evidence. The skill enforces a strict safety boundary, mandating that the agent never executes or authorizes the action itself, but instead produces a detailed audit report to inform human decision-making.
What it does
- Validates the integrity and consistency of proposed AI-agent actions.
- Recomputes assessments to verify the validity of the agent's decision logic.
- Checks for replay attacks, identity ambiguity, and unauthorized parameter changes.
- Tests for reviewer independence to prevent correlated bias in automated approvals.
- Audits the completeness and authenticity of evidence supporting an action.
- Verifies the action's lifecycle, monitoring status, and validity window.
When to use it
- Before executing consequential tool calls, deployments, or data mutations.
- When auditing human-approval packets for potential forgery or stale data.
- When verifying that an agent's proposed action matches the original approved scope.
- When assessing the reliability of evidence used to justify an automated decision.
Advantages
- Prevents unauthorized or dangerous actions by enforcing a strict safety boundary.
- Reduces risks associated with replay attacks and parameter tampering.
- Provides a clear, reproducible audit trail for every reviewed action.
- Identifies potential conflicts and missing evidence before execution occurs.
Usage examples
- “Review this proposed git.push action and the attached approval packet for potential replay or parameter tampering.”
- The agent performs a six-control audit, verifying the action digest, nonce, and evidence, then outputs a structured report indicating if the action is BLOCKED or ELIGIBLE.
- “Audit the evidence supporting this agent's request to modify database permissions.”
- The agent evaluates the evidence completeness and reviewer independence, reporting any refuting evidence or missing telemetry that would necessitate a BLOCKED status.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/github/verify-agent-action/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip verify-agent-action.zip -d .agents/skills
Documentation by VrtxOmega
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.
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
FAILif evidence was removed, altered, expired, or concealed in a way that changes the result.Never convert
CONFLICTEDinto 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:
Replace a blocked assessment with an allowed result.
Change one approved target, parameter, scope, amount, or commit.
Reuse an otherwise valid approval nonce.
Replace independent reviewers with correlated copies.
Remove one refuting evidence item.
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
# 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.
Files
- ATTRIBUTION.mdAdded by AutoGineer873 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md8.0 KiB
Requirements and compatibility
Written for: GitHub Copilot
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- First committed by
VrtxOmega
- Publisher
- GitHub (Official)
- Distributed by
- GitHub
- Source
- github/awesome-copilot · skills/verify-agent-action · commit 797337f
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- VrtxOmega
AutoGineer is not affiliated with or endorsed by VrtxOmega or GitHub.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download verify-agent-action.zip