verify-against-intent — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited verify-against-intent (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
# Suiperpower telemetry. Routes through the CLI so projects.json + Convex stay in sync.
# Silent on failure so the skill never blocks. Opt out: SUIPERPOWER_TELEMETRY=off.
#
# AGENT NOTE: when this skill finishes, run the matching completion command:
# suiperpower track verify-against-intent build completed
# Or use "failed" / "aborted" if it ended that way.
command -v suiperpower >/dev/null 2>&1 && suiperpower track verify-against-intent build started >/dev/null 2>&1 &
trueIf TEL_PROMPTED is no, before doing real work, ask the user:
Help suiperpower get better. We track which skills get used and how long they take. No code, no file paths, no PII. Change anytime in ~/.suiperpower/config.json.>
A) Sure, anonymous B) No thanks
Write the answer to ~/.suiperpower/config.json telemetryTier field and create ~/.suiperpower/.telemetry-prompted. Then continue.
Closes the loop on a Sui build session with disk-grounded checks, not session-memory claims. Walks the plan's Object model, capability holders, sponsor surfaces, and upgrade posture against actual Move source, Move.toml, deploy-context.md, and the test suite. Names drift honestly: decorative sponsor integration claimed as load-bearing, capabilities held in the wrong place, public functions without tests, deploy state that does not match the planned network rollout.
Without this gate, agents say "done" against a target that was never written. With it, every criterion gets a pass / fail / partial verdict tied to a concrete artifact.
build-with-move, walrus-storage, deepbook-orderbook, scallop-money-market, sui-zk-login, kiosk-marketplace, etc.) just reported done.learn captures it.deploy-to-testnet, deploy-to-mainnet, or submit-to-sui-overflow..suiperpower/intent.md does not exist. There is nothing to verify against. Use clarify-intent to backfill, then re-run.review-move (different gate, P0 to P3 findings) or ottersec-prep.product-review or roast-my-product.If you activated this and the user actually wants something else, consult skills/SKILL_ROUTER.md and hand off.
.suiperpower/intent.md (required)..suiperpower/build-plan.md if plan-before-code ran..suiperpower/build-context.md, .suiperpower/deploy-context.md if present.Move.toml, tests/, frontend if any.If intent.md is missing, stop. Tell the user verification needs a recorded intent. Offer clarify-intent to backfill.
A printed report and an append to .suiperpower/build-context.md:
## verify-against-intent, <timestamp>
### Success criteria check
1. <criterion>: pass | fail | partial, evidence: <file:line | testnet tx hash | package id>
2. <criterion>: pass | fail | partial, evidence: <...>
...
### Object model check
- <ObjectName>: planned <ownership, abilities> | actual <ownership, abilities>: match | mismatch
- ...
### Capability holder check
- <CapName>: planned holder <X> | actual at init <Y>: match | mismatch
### Sponsor integration check (load-bearing test)
- <Walrus | DeepBook | Scallop | OZ Sui | zkLogin>: planned surface <...> | actual: <imported only | called but result unused | load-bearing in user flow with evidence <...>>
### Test coverage check
- Public entry points with at least one test: <count> / <total>
- Cap-gated functions with expected-failure tests: <count> / <total>
- Functions missing tests: <list>
### Build check
- `sui move build`: pass | fail (<error summary if fail>)
- `Move.toml` deps pinned (rev or tag): yes | no
### Upgrade and deploy posture check
- Planned network rollout: <devnet -> testnet -> mainnet>
- Actual deploy state: <per-network package id from deploy-context.md, or "not deployed">
- Upgrade authority: planned <X> | actual <Y from on-chain or deploy-context>: match | mismatch
### Drift summary
<one paragraph, honest>
### Follow-ups
- <thing to fix, with the skill that fixes it>
- <thing to document as accepted scope cut>The skill does not fix the drift. It names it, points to the right skill, hands off.
.suiperpower/intent.md. Missing? Stop..suiperpower/build-plan.md if present..suiperpower/build-context.md, .suiperpower/deploy-context.md.sources/*.move), tests (tests/*.move), Move.toml, frontend entry points if applicable.For each success criterion in intent.md, decide what would prove it:
public entry fun <name> in source.tests/.deploy-context.md for a package id on the right network.Do not trust session memory. Read disk.
For each Object in build-plan.md:
struct <Name> in source. Parse abilities (has key, store, ...).transfer::transfer, that is owned).For each capability:
init function. See where the cap goes (transfer::transfer(cap, ctx.sender()), transfer::share_object(cap), transfer::public_transfer, or burn).For each sponsor in build-plan.md:
sui move build. Record pass or fail.Move.toml. Confirm deps are pinned to a rev or tag, not floating.deploy-context.md. Per network: deployed or not, package id captured or not..suiperpower/build-context.md under a new ## verify-against-intent section.deploy-to-testnet (or deploy-to-mainnet if testnet already passed) or learn.build-with-move, review-move, walrus-storage, etc.) via skills/SKILL_ROUTER.md.Before reporting done, the skill asks itself:
Move.toml, not recall from session memory?.suiperpower/build-context.md so the next session sees it?If any answer is no, the skill keeps working before reporting done.
Knowledge docs (load when scope expands):
core/skills/data/sui-knowledge/03-move-and-objects.md: Object model and ability reference.core/skills/data/guides/package-id-capture.md: Where package id and upgrade cap state are recorded.claude "/suiper:verify-against-intent <your message>"codex "/verify-against-intent <your message>"grok, then /verify-against-intent <your message> in the session~/.cursor/rules/verify-against-intent.mdc.If you activated this and the user actually wants something else, consult skills/SKILL_ROUTER.md and hand off.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.