charms

Charms workflows for Bitcoin app contracts, spell proving, and UTXO asset operations.

390 stars

Best use case

charms is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Charms workflows for Bitcoin app contracts, spell proving, and UTXO asset operations.

Teams using charms should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/charms/SKILL.md --create-dirs "https://raw.githubusercontent.com/OpenAgentsInc/openagents/main/skills/charms/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/charms/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How charms Compares

Feature / AgentcharmsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Charms workflows for Bitcoin app contracts, spell proving, and UTXO asset operations.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Charms

## Overview

Integrate and operate Charms for programmable Bitcoin assets. Use this skill when a task requires Charms app development, spell creation and proof generation, commit and spell transaction submission, spell inspection on existing transactions, wallet charm inventory, or API and wallet integration.

## Environment

- Requires `bash`, `curl`, and `jq`.
- Requires `charms` CLI.
- For app development, requires Rust and `wasm32-wasip1` target.
- For Bitcoin casting and wallet flows, requires `bitcoin-cli` connected to a node (testnet4 for quick iteration).

Use this skill for concrete implementation and operations, not generic protocol theory.

## Workflow

1. Pick the execution path first:
- App and spell lifecycle (new app, build, verify key, check, prove, submit).
- Spell schema and validation debugging.
- Wallet and API integration (`wallet list`, `tx show-spell`, `server` endpoint).

2. Run preflight checks:
- `scripts/check-charms-prereqs.sh app`
- `scripts/check-charms-prereqs.sh spell`
- `scripts/check-charms-prereqs.sh wallet`
- `scripts/check-charms-prereqs.sh server`

3. For app and spell operations, follow [app-and-spell-workflow](references/app-and-spell-workflow.md):
- Scaffold app with `charms app new`.
- Build and derive app verification key.
- Validate spells with `charms spell check`.
- Produce package-ready transactions with `charms spell prove`.

4. For schema and validation issues, use [spell-format-and-validation](references/spell-format-and-validation.md):
- Confirm app identifiers and VKs.
- Confirm `ins` and `outs` line up with transaction reality.
- Keep private inputs off-chain and pass them through the private input file path.

5. For wallet and API surfaces, use [wallet-and-server-integration](references/wallet-and-server-integration.md):
- Inspect wallets for charm-bearing outputs.
- Decode spell content from known transactions.
- Run `charms server` and call `/spells/prove` in JSON or CBOR mode.

6. Apply execution safety constraints:
- Use low-value UTXOs and testnet4 while iterating.
- Never submit package transactions before validating both commit and spell tx hex.
- Keep prover and wallet secrets out of logs and source control.

## Quick Commands

```bash
# App scaffold and build
charms app new my-token
cd my-token
app_bin="$(charms app build)"
charms app vk "$app_bin"

# Spell validation and proving
cat ./spells/mint-nft.yaml | envsubst | charms spell check --app-bins="$app_bin" --prev-txs="$prev_txs"
cat ./spells/mint-nft.yaml | envsubst | charms spell prove --app-bins="$app_bin" --prev-txs="$prev_txs" --funding-utxo="$funding_utxo" --funding-utxo-value="$funding_utxo_value" --change-address="$change_address"

# Wallet and tx inspection
charms wallet list --json
charms tx show-spell --chain bitcoin --tx "$tx_hex" --json

# API server
charms server --ip 0.0.0.0 --port 17784
```

## Reference Files

- [app-and-spell-workflow](references/app-and-spell-workflow.md): end-to-end app scaffold, check, prove, sign, and package submission.
- [spell-format-and-validation](references/spell-format-and-validation.md): spell fields, app mapping, proof and version checks, and frequent failure modes.
- [wallet-and-server-integration](references/wallet-and-server-integration.md): wallet parsing, tx inspection, API server usage, and wallet UI integration path.

Related Skills

neutronpay

390
from OpenAgentsInc/openagents

Neutronpay MCP and SDK workflows for Lightning, stablecoin, and fiat payments.

moneydevkit

390
from OpenAgentsInc/openagents

Money Dev Kit workflows for Lightning checkout and agent wallets.

mezo

390
from OpenAgentsInc/openagents

Mezo integration workflows for apps, autonomous agents, and Mezo Earn operations.

maestro

390
from OpenAgentsInc/openagents

Maestro Symphony blockchain query operations for OpenAgents agents, including tip freshness checks, address/UTXO/runes queries, and production-safe troubleshooting against deployed Symphony API endpoints.

l402

390
from OpenAgentsInc/openagents

L402 agent commerce workflows with lnd, lnget, scoped macaroons, aperture, and MCP.

cast

390
from OpenAgentsInc/openagents

Charms CAST DEX workflows for order creation, cancellation/replacement, partial fulfillment, signing, and Bitcoin transaction verification.

blink

390
from OpenAgentsInc/openagents

Bitcoin Lightning wallet for agents — balances, invoices, payments, BTC/USD swaps, QR codes, price conversion, and transaction history via the Blink API. All output is JSON.

autopilot-pane-control

390
from OpenAgentsInc/openagents

OpenAgents desktop pane and CAD control for Codex via openagents.* tool calls.

autopilot-data-seller

390
from OpenAgentsInc/openagents

Conversational seller-authoring policy for DS-first Data Market listings in OpenAgents.

autopilot-data-seller-cli

390
from OpenAgentsInc/openagents

Shell-first OpenAgents DS-first Data Market packaging and publication workflow using the deterministic packaging helper, autopilotctl, and the no-window headless runtime.

autopilot-data-market-control

390
from OpenAgentsInc/openagents

Typed OpenAgents DS-first Data Market tool contract for seller publication and market read-back.

autopilot-cad-builder

390
from OpenAgentsInc/openagents

Deterministic CAD build orchestration for Autopilot Chat using openagents CAD and pane tools, including week-1 gripper flow.