Conversation
…D or name Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Great concept and clean implementation — the name resolution feature is the standout. A few concrete suggestions before merging: DescriptionOnly name resolution is mainnet-specific, but the current description makes the whole skill feel limited. More importantly it doesn't state the mainnet scope clearly enough as an intentional constraint, and the killer feature (name resolution) isn't mentioned: Suggested replacement: The last sentence is important for agents — without it they may attempt to use this skill for local development, where it adds no value since the Frontmatter
|
Skill Validation ReportValidating skill: /home/runner/work/icskills/icskills/skills/canhelpStructure
Frontmatter
Markdown
Tokens
Content Analysis
Contamination Analysis
Result: 1 warning Project Checks |
| "name": "Lookup by canister ID", | ||
| "prompt": "What can canister ryjl3-tyaaa-aaaaa-aaaba-cai do?", | ||
| "expected_behaviors": [ | ||
| "Runs resolve-canister-id.sh with the provided principal", |
There was a problem hiding this comment.
@marc0olo @raymondk This file was generated by Claude and seems reasonable to me but when I try to run the evaluation framework I run into the following type of errors}
❌ Runs resolve-canister-id.sh with the provided principal
→ The assistant did not run the script; it stopped to ask for permission approval instead of executing it.
How do you want to handle this? It's kind of usual that Claude asks for the permission to do stuff but I'm not sure we want to allow to do everything when running that framework (since this is run locally and not in some sandbox). How do you handle these scenarios?
Summary
canhelpskill that displays a human-readable summary of a canister's Candid interface given its mainnet canister ID or nameresolve-canister-id.sh: resolves name → principal via IC Dashboard APIfetch-candid.sh: fetches Candid metadata viaicpCLI--helpfor canisters — resolve by name or ID, fetch the.did, and present grouped query/update methods and use it to interact with the canisterExamples
Load Canister API in context
There are several ways to find the canister API of a canister:
/canhelp rrkah-fqaaa-aaaaa-aaaaq-cai/canhelp NNS Governance. If there is more than one match, e.g. if the search is too imprecise, the user will be asked to refine the search and a list of candidates canister is presented. For example/canhttp governancereturnsInteract with canister by prompts
For example ask for
List currently opened proposals, which returns