Skip to content

fix(icrc-ledger): fix deploy config, add pitfalls, and evaluations#123

Merged
marc0olo merged 1 commit intomainfrom
fix/icrc-ledger-scope-and-issues
Mar 25, 2026
Merged

fix(icrc-ledger): fix deploy config, add pitfalls, and evaluations#123
marc0olo merged 1 commit intomainfrom
fix/icrc-ledger-scope-and-issues

Conversation

@marc0olo
Copy link
Member

@marc0olo marc0olo commented Mar 25, 2026

Summary

Closes #106

  • Fix broken deploy config: Replace invalid type: custom recipe with build.steps + type: pre-built and init_args: { path, format } syntax (verified with actual deployment)
  • Fix minting account pitfalls: Separate minting/funded principals in init args, document icrc2_approve trap (#9) and burn/mint zero-fee semantics (#10)
  • Rewrite fee guidance: Per-ledger fees, icrc1_fee lookup, BadFee handling (pitfall #1)
  • Add evaluations: 4 output evals (Motoko transfer, Rust ICRC-2, burn fee semantics, deploy config) + 16 trigger evals — all verified with eval runs showing clear skill uplift
  • Clean up: Remove low-value verification sections, rename to "Common Pitfalls", bump core to 2.3.1, add icrc1_metadata/icrc1_supported_standards to actor interface, show multiple initial_balances entries

Eval results

Eval With skill Without Delta
ICRC-1 transfer in Motoko 5/5 2/5 +3
ICRC-2 approve+transferFrom in Rust 5/5 3/5 +2
Burn fee semantics 3/3 3/3 0
Deploy an ICRC-1 ledger 5/5 3/5 +2
Triggers 16/16 perfect

Not in scope

The frontend ICRC-2 approval flow (inline IDL factories, calling ledgers from JavaScript) is deferred — it's a generic canister interaction pattern that belongs in a future canister-calls skill. The token custody pattern (approve flow vs subaccount deposits) was evaluated but dropped since agents already know it without the skill (3/3 baseline).

Closes #106

- Fix broken `type: custom` recipe with `build.steps` + `type: pre-built`
- Fix `init_arg_file` with `init_args: { path, format }` syntax
- Add pitfall: minting account cannot call icrc2_approve (#9)
- Add pitfall: burn/mint transfers require zero fee (#10)
- Rewrite pitfall #1: per-ledger fees, icrc1_fee lookup, BadFee handling
- Update init args to use separate minting/funded principals
- Show multiple entries in initial_balances
- Add icrc1_metadata and icrc1_supported_standards to actor interface
- Bump core prerequisite to 2.3.1
- Remove low-value Verify It Works and CLI verification sections
- Rename section to Common Pitfalls
- Add evaluations with 4 output evals and 16 trigger evals
@marc0olo marc0olo requested review from a team and JoshDFN as code owners March 25, 2026 12:44
@github-actions
Copy link

Skill Validation Report

Validating skill: /home/runner/work/icskills/icskills/skills/icrc-ledger

Structure

  • Pass: SKILL.md found

Frontmatter

  • Pass: name: "icrc-ledger" (valid)
  • Pass: description: (384 chars)
  • Warning: description has 8 comma-separated segments, most very short — this looks like a keyword list; per the spec, the description should concisely describe what the skill does and when to use it
  • Pass: license: "Apache-2.0"
  • Pass: compatibility: (16 chars)
  • Pass: metadata: (2 entries)

Markdown

  • Pass: no unclosed code fences found

Tokens

File Tokens
SKILL.md body 4,365
Total 4,365

Content Analysis

Metric Value
Word count 2,145
Code block ratio 0.61
Imperative ratio 0.11
Information density 0.36
Instruction specificity 1.00
Sections 12
List items 17
Code blocks 7

Contamination Analysis

Metric Value
Contamination level low
Contamination score 0.20
Primary language category config
Scope breadth 4
  • Warning: Language mismatch: shell, systems (2 categories differ from primary)

Result: 1 warning

Project Checks


✓ Project checks passed for 1 skills (0 warnings)

@marc0olo marc0olo merged commit a3c5632 into main Mar 25, 2026
6 checks passed
@marc0olo marc0olo deleted the fix/icrc-ledger-scope-and-issues branch March 25, 2026 13:26
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.

Review icrc-ledger skill scope and fix known issues

2 participants