Skip to content

Proposal: canister-calls skill — Candid discovery + consolidated canister workflows#88

Draft
marc0olo wants to merge 1 commit intomainfrom
proposal/canister-calls-skill
Draft

Proposal: canister-calls skill — Candid discovery + consolidated canister workflows#88
marc0olo wants to merge 1 commit intomainfrom
proposal/canister-calls-skill

Conversation

@marc0olo
Copy link
Member

Summary

Proposal for a canister-calls skill that consolidates canister interaction into a single entry point, based on the idea that Candid is to canisters what --help is to CLIs.

  • Main SKILL.md teaches agents how to discover any canister's API via Candid (fetch .did, read types, generate bindings, call)
  • Reference files provide curated workflows for well-known infrastructure canisters where raw Candid alone isn't enough (multi-step flows, fees, pitfalls)
  • Includes evaluation file with 9 output evals and trigger evals

Structure

skills/canister-calls/
├── SKILL.md                        # Lean router (~130 lines)
└── references/
    ├── ckbtc.md                    # BTC deposit/withdrawal workflows
    ├── icrc-ledger.md              # ICRC-1/2 token transfers
    └── evm-rpc.md                  # Ethereum/EVM JSON-RPC proxy

Open questions

  • Should this supersede the standalone ckbtc, icrc-ledger, and evm-rpc skills, or coexist?
  • Initial trigger evals show the dedicated skills win when both exist (more specific descriptions). Removing the dedicated skills would make canister-calls the single entry point.

cc @gregorydemay — this builds on your suggestion for a generic canister interaction skill. Feel free to adopt, modify, or drop any of this.

…ster workflows

Introduces a single skill for discovering and calling any IC canister via
its Candid interface, plus curated reference files for well-known
infrastructure canisters (ICRC ledgers, ckBTC minter, EVM RPC).

The idea: Candid is to canisters what --help is to CLIs. Agents should
be able to fetch any canister's interface and figure out how to call it.
For well-known canisters where raw Candid isn't enough (multi-step
workflows, fees, pitfalls), reference files provide curated knowledge.

Structure:
- SKILL.md: lean router with Candid discovery + registry table
- references/ckbtc.md: BTC deposit/withdrawal workflows
- references/icrc-ledger.md: ICRC-1/2 token transfers
- references/evm-rpc.md: Ethereum/EVM JSON-RPC proxy

This may supersede the standalone ckbtc, icrc-ledger, and evm-rpc skills.
@marc0olo marc0olo requested a review from gregorydemay March 17, 2026 12:28
@gregorydemay
Copy link
Collaborator

@marc0olo : Thanks for the draft! My suggestion is actually more radical:

  1. Build a skill to learn how to talk to a canister, like --help for CLIs. This is feat: --help for canisters #89
  2. Remove all the "skills" regarding specific canisters, like the one that were moved in this PR as references.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants