move-unit-testing

move-unit-testing is a skill for Claude Code, Codex from mission69b/t2000. It costs 52 tokens per session (2,416 once invoked), scanned A, original, MIT.

A testing guide for Move smart contracts on Sui, including test names, assertions, test setup, and cleanup.

In plain words
What is it for?
Use it when adding or reviewing unit tests for Move modules, including tests for successful actions and expected failures.
Why use it?
It avoids outdated testing patterns and makes tests clearer and more reliable.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/mission69b/t2000/move-unit-testing
Any agent
npx skills add mission69b/t2000 --skill move-unit-testing
Clone the repo
git clone --depth 1 https://github.com/mission69b/t2000

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for move-unit-testing

README.md
[![agentmods](https://agentmods.dev/badge/skills/mission69b/t2000/move-unit-testing.svg)](https://agentmods.dev/skills/mission69b/t2000/move-unit-testing)
Your own site
<a href="https://agentmods.dev/skills/mission69b/t2000/move-unit-testing"><img src="https://agentmods.dev/badge/skills/mission69b/t2000/move-unit-testing.svg" alt="Measured on agentmods" height="20"></a>
Per session 52 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,416 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00052 $0.02416
Opus 5 $0.00026 $0.01208
Sonnet 5 $0.00010 $0.00483
Haiku 4.5 $0.00005 $0.00242

Measured 4d ago against content hash 053749f2ea36, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

move-unit-testing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/move-unit-testing/SKILL.md · 288 lines

How it starts

The opening of the file, as written. The whole thing — 288 lines — stays where its author put it; the contents beside it link to each section on GitHub.

move-unit-testing

MCP tool: When available in your environment, also query the Sui documentation MCP server (https://sui.mcp.kapa.ai) for up-to-date answers. Use it for verification and for details not covered by these reference files.

Overview

AI agents consistently use outdated or suboptimal patterns when writing Move unit tests. This skill covers the correct testing conventions from the official Sui Move code quality checklist and testing documentation.

All patterns sourced from https://move-book.com/guides/code-quality-checklist and https://move-book.com/testing/

No test_ Prefix in Test Modules

Test functions inside _tests modules should NOT be prefixed with test_. The module name already indicates these are tests. Use descriptive names that read as statements.

// WRONG — redundant prefix
module my_package::my_module_tests;

#[test]
fun test_create_pool() { /* ... */ }

#[test]
fun test_swap_fails_on_zero() { /* ... */ }

// CORRECT — descriptive statement names
module my_package::my_module_tests;

#[test]
fun create_pool_with_initial_liquidity() { /* ... */ }

#[test]
fun swap_aborts_on_zero_input() { /* ... */ }

Use assert_eq! Instead of assert! for Comparisons

assert_eq! displays both values on failure, making debugging much easier. Never use assert!(x == y) or assert!(x == y, 0) for equality checks.

// WRONG — no diagnostic info on failure
assert!(result == 100);
assert!(result == expected_value, 0);

// CORRECT — shows both values on failure
use std::unit_test::assert_eq;

assert_eq!(result, 100);
assert_eq!(result, expected_value);

Use plain assert! only for boolean conditions where there's nothing to compare:

// assert! is fine for boolean checks
assert!(is_valid);
assert!(vec.length() > 0);

No Abort Codes in Test assert!

Do not pass numeric abort codes to assert! in tests. They can accidentally match application error codes and confuse debugging.

// WRONG — numeric code may collide with app errors
assert!(is_success, 0);
assert!(balance > 0, 1);

// CORRECT — no abort code
assert!(is_success);
assert!(balance > 0);

Read the full file on GitHub · 288 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 288 lines · 52 tokens per session scan A 053749f2ea36

Subscribe to this mod's changes

move-unit-testing is a skill published in the GitHub repository mission69b/t2000 (23 stars, last pushed yesterday), licensed MIT. It adds 52 tokens to every session and 2,416 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

swarmwage-publish

Publish your agent's capabilities to the Swarmwage registry and earn USDC for each call. Lets your agent advertise services (image generation, audio transcription, charting, custom domain workflows…) on the open agent hire protocol — other AI agents discover you, hire you with one function call, and pay you in USDC on…

Swarmwage/swarmwage · 78 tokens

agentservices

Access paid data APIs for AI agents including crypto prices, technical indicators, DeFi yields, on-chain analytics (whale tracking, exchange flows, stablecoin flows), market intelligence (sentiment, trends, competitor analysis, content gaps, ad copy), portfolio intelligence, DeFi strategy optimization, web search and…

vbkotecha/agentservices-api · 140 tokens

aisa-skill

Skill "aisa-skill" from vbkotecha/agentservices-api, covering agentservices — paid apis for ai agents, quick start, install the x402 client, make a paid api call (agent wallet required) and what agents can do.

vbkotecha/agentservices-api · 0 tokens

swarmwage-hire

Discover, inspect, dry-run, hire, and pay AI capabilities through Swarmwage. Start with wallet-free capability search and x402 reliability checks; use a dedicated USDC wallet only for real hires or paid external x402 calls.

Swarmwage/swarmwage · 55 tokens

calibrate-claim-confidence

When the agent's epistemic state (GCCRF) indicates low empowerment and falling certainty, hedges out confident absolutes ("definitely", "always", "100%") in outgoing messages.

Bitterbot-AI/bitterbot-desktop · 46 tokens

ai-ml-governance

Governs models and AI systems in production — intended use, evaluation, monitoring, human oversight, documentation, and the decision to deploy or retire. Use this before deploying a model or AI feature, when defining evaluation criteria, when a model's behavior has drifted, when assessing AI risk or regulatory…

cbrock84/headcount · 83 tokens