Help us improve
Share bugs, ideas, or general feedback.
From midnight-verify
Compact-specific claim classification and method routing. Determines what kind of Compact claim is being verified and which verification method applies: execution (compile+run), source inspection, or both. Loaded by the /midnight-verify:verify command alongside the hub skill. Provides the claim type → method routing table and guidance on negative testing.
npx claudepluginhub devrelaicom/midnight-expert --plugin midnight-verifyHow this skill is triggered — by the user, by Claude, or both
Slash command
/midnight-verify:verify-compactThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill classifies Compact-related claims and determines which verification method to use. The /midnight-verify:verify command loads this alongside the `midnight-verify:verify-correctness` hub skill.
Verification by compilation and execution. Translates a Compact claim into a minimal test contract, compiles it with the Compact CLI, runs the compiled output with @midnight-ntwrk/compact-runtime, and interprets the result. Loaded by the contract-writer agent. Covers workspace setup (lazy init), contract writing, compilation, runner script creation, execution, and result interpretation. References midnight-tooling:compact-cli for compilation details.
This skill should be used when extracting testable claims from Midnight documentation or source content. Covers how to identify verifiable statements about Compact syntax, types, APIs, compiler behavior, and runtime errors. Defines the JSON output schema for structured claim lists. Relevant when asked to "extract claims", "find testable statements", "parse documentation for verifiable facts", or "produce a claim list from content chunks". Used by the claim-extractor agent in the midnight-fact-check pipeline.
This skill should be used when reviewing Compact smart contract code, TypeScript witness implementations, or test files for a Midnight project. Applies when a user asks to "review my Compact contract", "audit this smart contract", "check my Midnight code", or "run a code review checklist". Provides category-specific checklists covering privacy, security, cryptographic correctness, token economics, concurrency, compilation, performance, architecture, code quality, testing, and documentation, plus mechanical verification via /midnight-verify:verify.
Share bugs, ideas, or general feedback.
This skill classifies Compact-related claims and determines which verification method to use. The /midnight-verify:verify command loads this alongside the midnight-verify:verify-correctness hub skill.
When you receive a Compact-related claim, classify it using this table to determine which sub-agent(s) to dispatch:
| Claim Type | Example | Dispatch |
|---|---|---|
| Syntax validity | "You can cast with as" | @"midnight-verify:contract-writer (agent)" |
| Type behavior | "Uint arithmetic widens the result type" | @"midnight-verify:contract-writer (agent)" |
| Stdlib function exists | "persistentHash is in the standard library" | @"midnight-verify:contract-writer (agent)" |
| Stdlib function behavior | "persistentHash returns Bytes<32>" | @"midnight-verify:contract-writer (agent)" |
| Return value semantics | "Tuples are 0-indexed" | @"midnight-verify:contract-writer (agent)" |
| Disclosure rules | "Ledger writes require disclose()" | @"midnight-verify:contract-writer (agent)" |
| Compiler error behavior | "Assigning a Field value to Uint<8> is a type error" | @"midnight-verify:contract-writer (agent)" |
| Language feature count | "Compact exports 57 unique primitives" | @"midnight-verify:source-investigator (agent)" |
| Internal implementation | "The Compact compiler is written in Scheme" | @"midnight-verify:source-investigator (agent)" |
| Architecture/design rationale | "Compact uses Field as the base numeric type because..." | @"midnight-verify:source-investigator (agent)" |
| Cross-component behavior | "Compiled output is compatible with compact-runtime v0.X" | both @"midnight-verify:contract-writer (agent)" and @"midnight-verify:source-investigator (agent)" concurrently |
| Performance claims | "MerkleTree operations cost more gates than Map" | @"midnight-verify:contract-writer (agent)" (can measure circuit metrics at compile time) |
| Circuit constraint structure | "this contract produces N constraints" | @"midnight-verify:zkir-checker (agent)" (inspection) |
| Compiled ZKIR properties | "disclosure compiles to declare_pub_input" | @"midnight-verify:zkir-checker (agent)" (inspection) |
| Constraint correctness | "guard circuit correctly constrains authority hash" | @"midnight-verify:zkir-checker (agent)" (checker) + @"midnight-verify:contract-writer (agent)" (concurrent) |
When in doubt: If the claim involves observable runtime behavior, prefer @"midnight-verify:contract-writer (agent)". If it's about what exists in the codebase or how something is implemented internally, prefer @"midnight-verify:source-investigator (agent)". If it could benefit from both, dispatch both concurrently.
Some claims are best verified by testing what should not work. Guide @"midnight-verify:contract-writer (agent)" to consider negative tests:
A compilation error or runtime error in a negative test is evidence that confirms the claim, not a test failure.
Sub-agents may load these compact-core skills to inform what to test or where to look. These are hints only — never cite skill content as evidence in the verdict.
compact-core:compact-standard-library skill — expected function signatures, what functions existcompact-core:compact-structure skill — how to structure a test contract (pragma, imports, exports)compact-core:compact-language-ref skill — syntax reference, type system, operators, castingcompact-core:compact-privacy-disclosure skill — disclosure rules and patterns to testmidnight-tooling:compact-cli skill — expected compiler behavior, flags, output structureLoad only what's relevant to the specific claim. Do not load all skills for every verification.