Agent skill

Vultisig

by LeoYeAI in LeoYeAI/openclaw-master-skills

A skill your agent uses when an agent needs to create crypto wallets, send transactions, swap tokens, check balances, or perform any on-chain operation across 36+ blockchains using threshold…

MITAuto-check passedAgent Workflows

Install Vultisig

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill vultisig -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills vultisig --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/vultisig-sdk .claude/skills/vultisig && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
vultisig
GitHub stars
2.2k
Token cost
~4.9k tokens
SKILL.md length
943 words
Files
2
Skills in repo
1,235
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when an agent needs to create crypto wallets, send transactions, swap tokens, check balances, or perform any on-chain operation across 36+ blockchains using threshold…

  • Works in 12 steps: Initialize SDK → Create a Fast Vault → Get addresses → …
  • An agent needs to create crypto wallets
  • SKILL.md covers What this Skill is for, Default stack decisions, Operating procedure and Supported chains, plus 3 more sections
  • Calls npm; reaches etherscan.io and mempool.space

What it does

Vultisig is an agent skill from LeoYeAI/openclaw-master-skills. Use this skill when an agent needs to create crypto wallets, send transactions, swap tokens, check balances, or perform any on-chain operation across 36+ blockchains using threshold signatures (TSS). Vultisig SDK provides self-custodial MPC vaults — no seed phrases, no single point of failure. Fast Vaults (2-of-2 with VultiServer) enable fully autonomous agent operations without human approval.

Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_meta.json`).

It sits in Agent Workflows, covering Smart contracts and Autonomous loops. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • An agent needs to create crypto wallets
  • Send transactions
  • Perform any on-chain operation across 36+ blockchains using threshold signatures (TSS)

Example prompts

  • “/vultisig”

Requirements

  • Node.js

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Initialize SDK
  2. Create a Fast Vault
  3. Get addresses
  4. Check balances
  5. Estimate gas
  6. Send a transaction
  7. Swap tokens
  8. Export / Import vault
  9. Create vault from seedphrase
  10. Vault lifecycle management
  11. Check transaction status
  12. Address book

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • etherscan.io
    • mempool.space

    Also links to:

    • github.com
    • docs.vultisig.com
    • vultisig.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Vultisig loads about 4.9k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 943 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~4.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 943 words, ~4,895 tokens.

Download SKILL.mdSave it as .claude/skills/vultisig/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
vultisig
description
Use this skill when an agent needs to create crypto wallets, send transactions, swap tokens, check balances, or perform any on-chain operation across 36+ blockchains using threshold signatures (TSS). Vultisig SDK provides self-custodial MPC vaults — no seed phrases, no single point of failure. Fast Vaults (2-of-2 with VultiServer) enable fully autonomous agent operations without human approval.
user-invocable
true

Vultisig SDK Skill (agent-first)

What this Skill is for

  • Creating and managing self-custodial crypto vaults (Fast Vault for agents, Secure Vault for multi-device)
  • Sending transactions across 36+ blockchains (Bitcoin, Ethereum, Solana, Cosmos, and more)
  • Swapping tokens cross-chain via THORChain, MayaChain, 1inch, LiFi, KyberSwap
  • Querying balances and gas fees across all supported chains
  • Importing/exporting vault backups (.vult files)
  • Importing existing wallets via BIP39 seedphrase
  • Building automated strategies: DCA, rebalancing, conditional swaps, agent-to-agent payments

Default stack decisions

  1. Fast Vault (2-of-2) for all agent use cases

    • Agent holds one key share, VultiServer holds the other
    • VultiServer auto-co-signs based on policy rules — no human in the loop
    • Use Secure Vault only when multi-device human approval is required
  2. TypeScript SDK (@vultisig/sdk) as primary interface

  3. MemoryStorage for ephemeral agents, implement Storage interface for persistent agents

    • MemoryStorage is the only storage exported from the SDK
    • For persistent vaults, implement the Storage interface backed by your preferred store
  4. 3-step transaction flow: prepare → sign → broadcast

    • Never skip steps. Always prepare the keysign payload first, then sign, then broadcast.
    • Fast Vault signing is automatic (VultiServer co-signs). Secure Vault requires device coordination.
  5. Amounts as bigint (smallest unit) for sends, number (human-readable) for swaps

    • prepareSendTx takes amount: bigint (e.g., BigInt('100000000000000000') for 0.1 ETH)
    • getSwapQuote takes amount: number (e.g., 0.1 for 0.1 ETH)

Operating procedure

1. Initialize SDK
typescript
import { Vultisig, MemoryStorage } from '@vultisig/sdk';

const sdk = new Vultisig({ storage: new MemoryStorage() });
await sdk.initialize();

Source: Vultisig.ts

2. Create a Fast Vault

Two-step process: create (triggers email verification) then verify.

typescript
const vaultId = await sdk.createFastVault({
  name: 'my-agent-vault',
  email: 'agent@example.com',
  password: 'secure-password',
});

// Verify with the code sent to the email
const vault = await sdk.verifyVault(vaultId, '123456');
// Returns: FastVault instance — ready for operations

Risk notes:

  • The password encrypts the vault share. If lost, the vault cannot be recovered.
  • The email verification code is required — agents must have email access or an email relay.
2b. Create a Secure Vault (human co-signing)

When agents need human approval before executing transactions (high-value transfers, treasury ops, compliance flows), use a Secure Vault. The agent holds one share, the human holds the other. The human co-signs via the Vultisig mobile app by scanning a QR code — the transaction only executes when both parties agree.

typescript
const { vault, vaultId, sessionId } = await sdk.createSecureVault({
  name: 'agent-with-human-approval',
  onQRCodeReady: (qrPayload) => {
    // Display QR for the human co-signer to scan with Vultisig app
    displayQRCode(qrPayload);
  },
  onDeviceJoined: (deviceId, total, required) => {
    console.log(`Device joined: ${total}/${required}`);
  },
});

Signing requires the human to participate:

typescript
const signature = await vault.sign(payload, {
  onQRCodeReady: (qr) => {
    // Human must scan this QR with Vultisig app to co-sign
    displayQRCode(qr);
  },
  onDeviceJoined: (id, total, required) => {
    console.log(`Signing: ${total}/${required} devices ready`);
  },
});
// Completes only when the human co-signer participates

Source: SecureVault.ts

When to use Secure Vault over Fast Vault:

  • Transactions above a risk threshold that need human sign-off
  • Treasury or DAO operations requiring human approval
  • Compliance workflows where an agent should not act unilaterally
3. Get addresses
typescript
const ethAddress = await vault.address('Ethereum');
const btcAddress = await vault.address('Bitcoin');
const solAddress = await vault.address('Solana');

// All addresses at once
const allAddresses = await vault.addresses();
// Returns: Record<string, string>

Source: VaultBase.ts

Chain identifiers use PascalCase strings matching the Chain enum: 'Bitcoin', 'Ethereum', 'Solana', 'THORChain', 'Cosmos', 'Polygon', 'Arbitrum', 'Base', 'Optimism', 'Avalanche', 'BSC', etc.

Full chain list: Chain.ts

4. Check balances
typescript
// Native chain balance
const ethBalance = await vault.balance('Ethereum');
// Returns Balance: {
//   amount: string,      // Raw amount in smallest unit
//   decimals: number,    // Chain decimals (18 for ETH)
//   symbol: string,      // "ETH"
//   chainId: string,
//   fiatValue?: number,  // USD value if available
// }

// Multiple chains
const allBalances = await vault.balances();
// Returns: Record<string, Balance>

// Force refresh (clears cache)
const fresh = await vault.updateBalance('Ethereum');
Token balances (ERC-20, SPL, etc.)
typescript
// Get a specific token balance by contract address
const usdcBalance = await vault.balance('Ethereum', '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48');
// Returns Balance: { amount: "1000000", decimals: 6, symbol: "USDC", ... }

// Get all token balances on a chain
const ethTokens = await vault.tokenBalances('Ethereum');
// Returns: Token[] — all tokens with non-zero balances

// Include tokens when fetching multi-chain balances
const everything = await vault.balances(undefined, true); // includeTokens = true

Risk notes:

  • Native balance and token balances are separate queries. vault.balance('Ethereum') returns only ETH, not ERC-20s.
  • Token balances require the contract address as the tokenId parameter.
5. Estimate gas
typescript
// Returns chain-specific gas info
const evmGas = await vault.gas('Ethereum');
// EvmGasInfo: { gasPrice, gasPriceGwei, maxFeePerGas, maxPriorityFeePerGas, gasLimit, estimatedCostUSD }

const utxoGas = await vault.gas('Bitcoin');
// UtxoGasInfo: { gasPrice, byteFee, estimatedCostUSD }

const cosmosGas = await vault.gas('Cosmos');
// CosmosGasInfo: { gasPrice, gas, estimatedCostUSD }

Source: VaultBase.ts — gas<C extends Chain>(chain: C): Promise<GasInfoForChain<C>>

6. Send a transaction

3-step flow: prepareSendTx → sign → broadcastTx

typescript
// Step 1: Prepare keysign payload
const payload = await vault.prepareSendTx({
  coin: {
    chain: 'Ethereum',
    address: ethAddress,     // Sender address (from vault.address())
    decimals: 18,
    ticker: 'ETH',
  },
  receiver: '0xRecipientAddress...',
  amount: BigInt('100000000000000000'), // 0.1 ETH in wei
  memo: '',                             // Optional
});
// Returns: KeysignPayload

// Step 2: Sign (Fast Vault — VultiServer co-signs automatically)
const signature = await vault.sign(payload);
// Returns: Signature { signature: string, recovery?: number, format: 'DER' | 'ECDSA' | 'EdDSA' }

// Step 3: Broadcast
const txHash = await vault.broadcastTx({
  chain: 'Ethereum',
  keysignPayload: payload,
  signature: signature,
});
// Returns: string (transaction hash)

// Explorer URL
const url = Vultisig.getTxExplorerUrl('Ethereum', txHash);

Source: VaultBase.prepareSendTx(), FastVault.sign()

Risk notes:

  • amount is in the chain's smallest unit (wei for ETH, satoshi for BTC). Miscalculating decimals will send wrong amounts.
  • Always verify the receiver address. Transactions are irreversible.
  • Check gas estimation before sending to avoid stuck transactions.
Sending ERC-20 / tokens

To send tokens instead of native currency, add the id field (contract address) to the coin object:

typescript
// Send 10 USDC on Ethereum
const tokenPayload = await vault.prepareSendTx({
  coin: {
    chain: 'Ethereum',
    address: ethAddress,
    decimals: 6,            // USDC has 6 decimals
    ticker: 'USDC',
    id: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', // Token contract address
  },
  receiver: '0xRecipientAddress...',
  amount: BigInt('10000000'), // 10 USDC (6 decimals)
});

const sig = await vault.sign(tokenPayload);
const txHash = await vault.broadcastTx({
  chain: 'Ethereum',
  keysignPayload: tokenPayload,
  signature: sig,
});

Risk notes:

  • The id field is the token contract address. Without it, the SDK treats it as a native transfer.
  • Use the token's decimals, not the chain's. USDC = 6, WETH = 18, WBTC = 8.
  • The sender still needs native ETH/gas token to pay transaction fees.
Show full SKILL.md (384 more words)Show less
7. Swap tokens

4-step flow: getSwapQuote → prepareSwapTx → sign → broadcastTx

typescript
// Step 1: Get quote
const quote = await vault.getSwapQuote({
  fromCoin: {
    chain: 'Ethereum',
    address: ethAddress,
    decimals: 18,
    ticker: 'ETH',
  },
  toCoin: {
    chain: 'Ethereum',
    address: usdcAddress,
    decimals: 6,
    ticker: 'USDC',
    id: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', // Token contract
  },
  amount: 0.1, // Human-readable (NOT bigint)
});
// Returns: SwapQuoteResult {
//   provider: string,
//   estimatedOutput: bigint,
//   estimatedOutputFiat?: number,
//   requiresApproval: boolean,
//   fees: SwapFees,
//   warnings: string[],
// }

// Step 2: Prepare swap transaction
const swapResult = await vault.prepareSwapTx({
  fromCoin: quote.fromCoin,
  toCoin: quote.toCoin,
  amount: 0.1,
  swapQuote: quote,
});
// Returns: SwapPrepareResult {
//   keysignPayload: KeysignPayload,
//   approvalPayload?: KeysignPayload,  // If token approval needed
//   quote: SwapQuoteResult,
// }

// Step 2.5: If approval required, sign and broadcast approval first
if (swapResult.approvalPayload) {
  const approvalSig = await vault.sign(swapResult.approvalPayload);
  await vault.broadcastTx({
    chain: 'Ethereum',
    keysignPayload: swapResult.approvalPayload,
    signature: approvalSig,
  });
}

// Step 3: Sign swap
const swapSig = await vault.sign(swapResult.keysignPayload);

// Step 4: Broadcast swap
const swapTxHash = await vault.broadcastTx({
  chain: 'Ethereum',
  keysignPayload: swapResult.keysignPayload,
  signature: swapSig,
});

Swap providers (auto-routed for best rate):

  • THORChain — Native cross-chain (BTC <> ETH, etc.)
  • MayaChain — Additional cross-chain pairs
  • 1inch — EVM DEX aggregation
  • LiFi — Cross-chain + cross-DEX
  • KyberSwap — EVM DEX aggregation

Risk notes:

  • Swap amounts use human-readable numbers (0.1), not bigint. The SDK handles decimal conversion.
  • Check quote.warnings before executing — may contain slippage or liquidity warnings.
  • ERC-20 token swaps may require a separate approval transaction (approvalPayload).
  • Cross-chain swaps take longer (minutes, not seconds) and have different failure modes.
8. Export / Import vault
typescript
// Export to encrypted .vult file
const { filename, data } = await vault.export('backup-password');
// filename: string, data: Base64-encoded vault backup

// Import from .vult file
const importedVault = await sdk.importVault(data, 'backup-password');
9. Create vault from seedphrase
typescript
// Validate BIP39 seedphrase
const validation = await sdk.validateSeedphrase('word1 word2 ...');
// Returns: { valid: boolean, wordCount: number, error?: string }

// Discover which chains have existing balances
const discovery = await sdk.discoverChainsFromSeedphrase('word1 word2 ...');
// Returns: ChainDiscoveryAggregate

// Create Fast Vault from seedphrase (still needs email verification)
const vaultId = await sdk.createFastVaultFromSeedphrase({
  name: 'imported-vault',
  email: 'agent@example.com',
  password: 'secure-password',
  mnemonic: 'word1 word2 ...',
});
const vault = await sdk.verifyVault(vaultId, 'email-code');

Risk notes:

  • Seedphrase import creates a new TSS vault from the seed — the original seed-based wallet still exists independently.
  • Handle seedphrases with extreme care. Never log, store in plaintext, or transmit unencrypted.
10. Vault lifecycle management
typescript
// List all vaults
const vaults = await sdk.listVaults();

// Set active vault
await sdk.setActiveVault(vault);

// Get active vault
const active = await sdk.getActiveVault();

// Check vault type
if (Vultisig.isFastVault(vault)) { /* FastVault methods */ }
if (Vultisig.isSecureVault(vault)) { /* SecureVault methods */ }

// Delete vault
await sdk.deleteVault(vault);
11. Check transaction status

After broadcasting, use the explorer URL or chain-specific methods to confirm transactions:

typescript
// Get explorer URL for any chain
const explorerUrl = Vultisig.getTxExplorerUrl('Ethereum', txHash);
// e.g., "https://etherscan.io/tx/0x..."

const addressUrl = Vultisig.getAddressExplorerUrl('Bitcoin', btcAddress);
// e.g., "https://mempool.space/address/bc1..."

For automated strategies that need to confirm completion before the next action, poll the balance or use an external RPC/indexer to check transaction finality. The SDK does not provide a built-in tx status poller — use vault.updateBalance() to force-refresh after a broadcast and compare before/after.

typescript
// Pattern: confirm send completed
const balanceBefore = await vault.balance('Ethereum');
// ... broadcast transaction ...
await new Promise(r => setTimeout(r, 15000)); // Wait for block confirmation
const balanceAfter = await vault.updateBalance('Ethereum');
// Compare balanceBefore.amount vs balanceAfter.amount
12. Address book

Manage recurring recipients for automated transfers:

typescript
// Get saved addresses (optionally filter by chain)
const allContacts = await sdk.getAddressBook();
const ethContacts = await sdk.getAddressBook('Ethereum');

// Add entries
await sdk.addAddressBookEntry([
  { chain: 'Ethereum', address: '0x...', name: 'Treasury' },
  { chain: 'Bitcoin', address: 'bc1...', name: 'Cold Storage' },
]);

// Update a name
await sdk.updateAddressBookEntry('Ethereum', '0x...', 'Main Treasury');

// Remove entries
await sdk.removeAddressBookEntry([
  { chain: 'Ethereum', address: '0x...' },
]);

Source: Vultisig.ts

13. $VULT discount tiers

Holding $VULT tokens reduces swap fees (up to 50%). The SDK can check and update the agent's discount tier:

typescript
// Check current discount tier
const tier = await vault.getDiscountTier();
// Returns: string | null — e.g., "gold", "silver", or null if no discount

// Update tier (after acquiring more $VULT)
const newTier = await vault.updateDiscountTier();

Token contract: 0xb788144DF611029C60b859DF47e79B7726C4DEBa (Ethereum)

14. Listen to events
typescript
// SDK-level events
sdk.on('vaultCreationProgress', (data) => { /* keygen progress */ });
sdk.on('vaultCreationComplete', (data) => { /* vault ready */ });
sdk.on('vaultChanged', (data) => { /* active vault switched */ });

// Vault-level events
vault.on('balanceUpdated', (data) => { /* balance changed */ });
vault.on('transactionSigned', (data) => { /* signature complete */ });
vault.on('transactionBroadcast', (data) => { /* tx submitted */ });
vault.on('signingProgress', (data) => { /* signing steps */ });
vault.on('swapQuoteReceived', (data) => { /* quote ready */ });

// SecureVault only (multi-device coordination)
vault.on('qrCodeReady', (data) => { /* show QR for device pairing */ });
vault.on('deviceJoined', (data) => { /* co-signer connected */ });
vault.on('allDevicesReady', (data) => { /* threshold met, signing can proceed */ });

// Error handling
vault.on('error', (error) => { /* handle errors */ });
sdk.on('error', (error) => { /* handle SDK-level errors */ });

Source: packages/sdk/src/events/

Supported chains

Source: Chain.ts

CategoryChainsSignature
UTXOBitcoin, Litecoin, Dogecoin, Bitcoin Cash, Dash, ZcashECDSA
EVMEthereum, BSC, Polygon, Avalanche, Arbitrum, Optimism, Base, Blast, Cronos, zkSync, Hyperliquid, Mantle, SeiECDSA
Cosmos/IBCTHORChain, MayaChain, Cosmos Hub, Osmosis, Dydx, Kujira, Noble, Terra, Terra Classic, AkashECDSA
OtherSolana, Sui, Polkadot, TON, Ripple, Tron, CardanoEdDSA / Mixed

Security model

  • No seed phrases — vault shares replace 12/24 word seeds
  • No single point of failure — no device holds a complete private key
  • No on-chain key registration — unlike multi-sig wallets
  • DKLS23 protocol — 3-round TSS, co-developed with Silence Laboratories
  • Open source and audited
  • Docs: Security & Technology

CLI alternative

bash
npm install -g @vultisig/sdk

vsig vault create --name agent-vault --type fast
vsig balance --chain Ethereum
vsig send --chain Ethereum --to 0x... --amount 0.1
vsig swap --from ETH --to USDC --amount 0.1

Source: clients/cli/

Progressive disclosure

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/vultisig-sdk of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • _meta.json

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Vultisig next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Vultisig compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vultisig this skillLeoYeAI/openclaw-master-skills2.2k—~4.9kAutomated safety check: PassMIT
Trust Wallet CLItrustwallet/tw-agent-skills106—~1.1kAutomated safety check: PassMIT
Toolifycoreyhaines31/makerskills851—~2.9kAutomated safety check: NotesMIT
Nansen Binance PublisherNeverSight/learn-skills.dev2171 repos~3.4kAutomated safety check: PassNone
Backend Ralph Planaiskillstore/marketplace433—~1.9kAutomated safety check: NotesNone
Show Me Your Work Decision Logcursor/plugins11k8 repos~1.6kAutomated safety check: PassNone

Similar skills

  • Trust Wallet CLI

    trustwallet/tw-agent-skills

    Trust Wallet CLI (twak) — install, create wallets, check balances, send tokens, swap, view history, set price alerts, DCA automations, limit orders, manage ERC-20 approvals, check token risk, browse…

    106 GitHub stars~1.1k tokensUpdated 4 mo ago
    Agent WorkflowsAuto-check passed
  • Toolify

    coreyhaines31/makerskills

    When you want to integrate an external tool, API, MCP server, or service into a project — the wizard walks you through auth, config, env vars, client wrapper code, example usage, and an optional…

    851 GitHub stars~2.9k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check: notes
  • Nansen Binance Publisher

    NeverSight/learn-skills.dev

    Automatically fetch multi-dimensional on-chain data using Nansen CLI, compile a comprehensive and beautifully formatted daily report, and publish it to Binance Square.

    217 GitHub starsUsed in 1 repo~3.4k tokens
    Agent WorkflowsAuto-check passed
  • Backend Ralph Plan

    aiskillstore/marketplace

    Create a structured plan directory with Ralph Wiggum Loop integration for backend Django projects.

    433 GitHub stars~1.9k tokensUpdated today
    Agent WorkflowsAuto-check: notes
  • Official

    Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.

    11k GitHub starsUsed in 8 repos~1.6k tokens
    Agent WorkflowsAuto-check passed
  • Autoresearch Iteration Loop

    uditgoenka/autoresearch

    Runs an autonomous modify, verify, keep-or-discard loop against any metric, with subcommands for planning, debugging, fixing, security audits, shipping and more.

    6.5k GitHub starsUsed in 1 repo~2k tokens
    Agent WorkflowsAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 1,235 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Questions about Vultisig

What does Vultisig do?

A skill your agent uses when an agent needs to create crypto wallets, send transactions, swap tokens, check balances, or perform any on-chain operation across 36+ blockchains using threshold…. Vultisig is an agent skill from LeoYeAI/openclaw-master-skills. Use this skill when an agent needs to create crypto wallets, send transactions, swap tokens, check balances, or perform any on-chain operation across 36+ blockchains using threshold signatures (TSS).

When should I use Vultisig?

Vultisig fits situations like: an agent needs to create crypto wallets; send transactions; perform any on-chain operation across 36+ blockchains using threshold signatures (TSS).

How do I install Vultisig in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill vultisig -a claude-code`. Or copy the skill folder (skills/vultisig-sdk in LeoYeAI/openclaw-master-skills) into .claude/skills/vultisig in your project. Claude Code loads it when a task matches its description.

How do I install Vultisig in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill vultisig -a codex`. Or copy the skill folder (skills/vultisig-sdk in LeoYeAI/openclaw-master-skills) into .agents/skills/vultisig in your project. Codex loads it when a task matches its description.

Can I use Vultisig in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill vultisig -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vultisig, .gemini/skills/vultisig, .github/skills/vultisig and .opencode/skills/vultisig in your project.

What does Vultisig need to run?

Going by SKILL.md and its folder, Vultisig needs the command-line tools its instructions call (npm). Our summary lists: Node.js.

Does Vultisig access the network?

SKILL.md names 5 domains. In commands or code: etherscan.io and mempool.space; the agent is likely to contact these when it follows the instructions. As links in the text: github.com, docs.vultisig.com and vultisig.com. This is read from the text; nothing was executed.

Is Vultisig safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Vultisig use?

Vultisig is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Vultisig use?

About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Vultisig?

Skills that share tags, products or a category with Vultisig: Trust Wallet CLI (trustwallet/tw-agent-skills, 106 stars), Toolify (coreyhaines31/makerskills, 851 stars), Nansen Binance Publisher (NeverSight/learn-skills.dev, 217 stars) and Backend Ralph Plan (aiskillstore/marketplace, 433 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vultisig?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.