Help us improve
Share bugs, ideas, or general feedback.
From midnight-verify
Wallet SDK claim classification and method routing. Determines what kind of wallet SDK claim is being verified and which verification methods apply: type-checking (pre-flight only), source investigation (primary), or devnet E2E (fallback). Handles claims about @midnight-ntwrk/wallet-sdk-* packages, WalletFacade, WalletBuilder, the DApp Connector API, HD derivation, Bech32m addresses, branded types, and the three-wallet architecture. Loaded by the /midnight-verify:verify command alongside the hub skill.
npx claudepluginhub devrelaicom/midnight-expert --plugin midnight-verifyHow this skill is triggered — by the user, by Claude, or both
Slash command
/midnight-verify:verify-wallet-sdkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill classifies wallet SDK 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 source code inspection of the Midnight Wallet SDK repositories. Searches and reads the actual wallet SDK source code to verify claims about wallet packages, the DApp Connector API, HD derivation, address encoding, and the three-wallet architecture. Uses octocode-mcp for quick lookups, falls back to local cloning for deep investigation. Loaded by the source-investigator agent when the claim domain is wallet SDK.
This skill should be used when the user asks about the Midnight.js SDK, midnight-js packages, @midnight-ntwrk npm packages, setting up SDK providers, deploying or finding contracts with deployContract or findDeployedContract, calling circuits with callTx or submitCallTx, the transaction lifecycle, SDK provider types (WalletProvider, MidnightProvider, PublicDataProvider, ProofProvider, ZkConfigProvider, PrivateStateProvider), testkit-js testing, observable state subscriptions, contract maintenance and verifier keys, or connecting to the indexer or proof server.
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.
Share bugs, ideas, or general feedback.
This skill classifies wallet SDK claims and determines which verification method to use. The /midnight-verify:verify command loads this alongside the midnight-verify:verify-correctness hub skill.
Every wallet SDK claim follows the same three-step flow:
verify-by-wallet-source. This is the primary evidence source for all wallet SDK verdicts.When you receive a wallet SDK claim, classify it using this table:
| Claim Type | Example | Pre-flight | Primary | Fallback |
|---|---|---|---|---|
| Package/type existence | "WalletFacade exports balanceFinalizedTransaction" | @"midnight-verify:type-checker (agent)" | @"midnight-verify:source-investigator (agent)" | — |
| Function signature | "submitTransaction returns Observable<SubmissionEvent>" | @"midnight-verify:type-checker (agent)" | @"midnight-verify:source-investigator (agent)" | — |
| Interface shape | "ShieldedAddress has coinPublicKey and encryptionPublicKey" | @"midnight-verify:type-checker (agent)" | @"midnight-verify:source-investigator (agent)" | — |
| Branded type structure | "ProtocolVersion is a branded bigint" | @"midnight-verify:type-checker (agent)" | @"midnight-verify:source-investigator (agent)" | — |
| Transaction lifecycle | "SubmissionEvent goes Submitted → InBlock → Finalized" | @"midnight-verify:type-checker (agent)" | @"midnight-verify:source-investigator (agent)" | — |
| Claim Type | Example | Pre-flight | Primary | Fallback |
|---|---|---|---|---|
| HD derivation paths | "Role 2 is Dust, path m/44'/2400'/0'/2/0" | — | @"midnight-verify:source-investigator (agent)" | — |
| Address encoding | "Bech32m prefix for shielded is mn_shield-addr" | — | @"midnight-verify:source-investigator (agent)" | — |
| Three-token architecture | "Dust balance is time-dependent" | — | @"midnight-verify:source-investigator (agent)" | — |
| Variant/runtime behavior | "WalletRuntime migrates state between protocol versions" | — | @"midnight-verify:source-investigator (agent)" | @"midnight-verify:sdk-tester (agent)" |
| Indexer/node integration | "IndexerClient retries 3 times on 502-504" | — | @"midnight-verify:source-investigator (agent)" | — |
| Claim Type | Example | Pre-flight | Primary | Fallback |
|---|---|---|---|---|
| Connector API methods | "ConnectedAPI.makeTransfer creates a shielded transfer" | @"midnight-verify:type-checker (agent)" | @"midnight-verify:source-investigator (agent)" | @"midnight-verify:sdk-tester (agent)" |
| Connector error handling | "PermissionRejected is permanent per session" | — | @"midnight-verify:source-investigator (agent)" | — |
| Connector types | "DesiredOutput has kind, type, value, recipient fields" | @"midnight-verify:type-checker (agent)" | @"midnight-verify:source-investigator (agent)" | — |
| Claim Type | Example | Pre-flight | Primary | Fallback |
|---|---|---|---|---|
| Facade lifecycle | "WalletFacade.init syncs all three wallets" | — | @"midnight-verify:source-investigator (agent)" | @"midnight-verify:sdk-tester (agent)" |
| Proving behavior | "WasmProver uses web-worker for background proving" | — | @"midnight-verify:source-investigator (agent)" | — |
| Submission behavior | "PolkadotNodeClient auto-disconnects after metadata fetch" | — | @"midnight-verify:source-investigator (agent)" | — |
When in doubt:
Type-checking is NEVER sufficient alone. It is a fast pre-flight gate. Every wallet SDK claim must be resolved by source investigation (or devnet E2E as a last resort).
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, SDK component overviewmidnight-dapp-dev:dapp-connector skill — wallet integration patternscompact-core:compact-witness-ts skill — witness implementation patterns (if claim spans wallet + witness)Load only what's relevant to the specific claim.