From midnight-verify
SDK/TypeScript claim classification and method routing. Determines what kind of SDK claim is being verified and which verification method applies: type-checking (tsc --noEmit), devnet E2E testing, source inspection, or package checks. Handles both claims about the SDK API itself and verification of user code that uses the SDK. Loaded by the /midnight-verify:verify command alongside the hub skill.
How this skill is triggered — by the user, by Claude, or both
Slash command
/midnight-verify:verify-sdkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill classifies SDK/TypeScript claims and determines which verification method to use. The /midnight-verify:verify command loads this alongside the `midnight-verify:verify-correctness` hub skill.
This skill classifies SDK/TypeScript 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 an SDK-related claim, classify it using this table to determine which agent(s) to dispatch:
| Claim Type | Example | Dispatch |
|---|---|---|
| API function exists | "deployContract is exported from contracts" | @"midnight-verify:type-checker (agent)" |
| Function signature / return type | "deployContract returns DeployedContract" | @"midnight-verify:type-checker (agent)" |
| Type/interface shape | "MidnightProviders has a walletProvider field" | @"midnight-verify:type-checker (agent)" |
| Import path correctness | "import { deployContract } from '@midnight-ntwrk/midnight-js-contracts'" | @"midnight-verify:type-checker (agent)" |
| Error class hierarchy | "CallTxFailedError extends TxFailedError" | @"midnight-verify:type-checker (agent)" |
| Package exists / version | "@midnight-ntwrk/midnight-js-contracts is at version 4.0.2" | @"devs:deps-maintenance (agent)" (fallback: run npm view directly) |
| Export count / package structure | "contracts package exports 91 symbols" | @"midnight-verify:source-investigator (agent)" |
| Implementation details | "httpClientProofProvider retries 3 times with exponential backoff" | @"midnight-verify:source-investigator (agent)" |
| Provider internal behavior | "LevelDB provider encrypts with AES-256-GCM" | @"midnight-verify:source-investigator (agent)" |
| Deploy/call lifecycle behavior | "deployContract deploys and returns a contract address" | @"midnight-verify:sdk-tester (agent)" |
| Transaction pipeline behavior | "submitCallTx proves, balances, submits, and waits" | @"midnight-verify:sdk-tester (agent)" |
| State query behavior | "getPublicStates returns on-chain ledger state" | @"midnight-verify:sdk-tester (agent)" |
| Claim Type | Example | Dispatch |
|---|---|---|
| DApp code type-correctness | "This provider setup code is valid" | @"midnight-verify:type-checker (agent)" |
| Witness implementation | "This witness correctly implements the contract interface" | @"midnight-verify:witness-verifier (agent)" |
| Provider configuration | "This provider config connects to devnet correctly" | @"midnight-verify:type-checker (agent)" + @"midnight-verify:sdk-tester (agent)" |
| Import usage patterns | "This file's SDK imports are correct" | @"midnight-verify:type-checker (agent)" |
| Transaction handling code | "This error handling catches CallTxFailedError" | @"midnight-verify:type-checker (agent)" |
| E2E integration | "This deploy+call flow works against devnet" | @"midnight-verify:sdk-tester (agent)" |
File verification (.ts with SDK imports) | /midnight-verify:verify app.ts | @"midnight-verify:type-checker (agent)" (types) + @"midnight-verify:sdk-tester (agent)" (behavior, if devnet available) |
| Cross-domain (types + behavior) | "calling increment changes counter from 0 to 1" | @"midnight-verify:type-checker (agent)" + @"midnight-verify:sdk-tester (agent)" (concurrent) |
When in doubt:
npm view fallback)When multiple methods apply, dispatch concurrently. Type-checking and devnet testing are independent and can run in parallel.
Sub-agents may load these skills for context. They are hints only — never cite skill content as evidence in the verdict.
midnight-dapp-dev:midnight-sdk skill — provider setup, component overviewmidnight-dapp-dev:dapp-connector skill — wallet integration patternscompact-core:compact-witness-ts skill — witness implementation patternsmidnight-dapp-dev:midnight-sdk skill — deployment patternsLoad only what's relevant to the specific claim.
npx claudepluginhub devrelaicom/midnight-expert --plugin midnight-verifyVerification by TypeScript compilation. Writes TypeScript test files that exercise SDK type claims, then runs tsc --noEmit to check if types match. Also verifies user .ts files that import @midnight-ntwrk packages. Loaded by the type-checker agent. Covers workspace setup (lazy init), two modes (claim mode and file mode), type assertion patterns, and result interpretation.
This skill should be used when classifying fact-check claims into verification domains (Compact, SDK, ZKIR, Witness). Covers how to tag claims with their domain, assign classification confidence, handle cross-domain claims, and resolve boundary cases between domains like compiler behavior vs compiled output. Triggered by queries like "classify these claims", "tag claims by domain", "which domain does this claim belong to", or "run domain classification on the claims file". Used by the domain-classifier agent in the midnight-fact-check pipeline.
Runs non-interactive, tiered verification protocols (static analysis, compilation, RPC simulation, on-chain, runtime) for loaded Ritual skills, with blocking checks, confidence levels, and automated fixes.