Skip to content

feat: migrate asset-canister sync to v2.2.0 recipe / plugin step#207

Draft
raymondk wants to merge 2 commits into
mainfrom
chore/asset-sync-plugin-v2.2.0
Draft

feat: migrate asset-canister sync to v2.2.0 recipe / plugin step#207
raymondk wants to merge 2 commits into
mainfrom
chore/asset-sync-plugin-v2.2.0

Conversation

@raymondk
Copy link
Copy Markdown
Collaborator

@raymondk raymondk commented Jun 3, 2026

What & why

dfinity/icp-cli#582 removes the built-in type: assets sync step in icp-cli 1.0.0. Asset uploading moves out of the CLI core into a plugin (or script) sync step — the @dfinity/asset-canister@v2.2.0 recipe supplies a plugin-based step automatically.

Our asset-canister and icp-cli skills pinned the recipe at v2.1.0, which generates the now-removed type: assets step and will break on 1.0.0. Sync plugins are supported since icp-cli 0.2.7, so moving to v2.2.0 now (well ahead of 1.0.0) is the smooth migration path.

Draft: the removal lands in icp-cli 1.0.0, which is not yet released. The migration target — recipe v2.2.0 and the certified-assets sync plugin — is published and works on icp-cli ≥ 0.2.7 today. Holding in draft until we're ready to land.

Changes

skills/asset-canister/SKILL.md

  • compatibility:icp-cli >= 0.2.7
  • Recipe example @dfinity/asset-canister@v2.1.0v2.2.0
  • New Pitfall # 10: type: assets removed in 1.0.0 → use the v2.2.0 recipe (auto plugin step), or a manual type: plugin (certified-assets sync_plugin.wasm + sha256) / type: script step. Recipes ≤ v2.1.0 break on 1.0.0.

skills/icp-cli/SKILL.md (+ references/dfx-migration.md)

  • Recipe refs bumped to v2.2.0 (config block, recipes table, Pitfall # 10 example, dfx-migration mapping)
  • Sync-phase prose: asset upload is no longer built into the CLI; v2.2.0 recipe supplies the plugin step; legacy type: assets removed in 1.0.0

evaluations/asset-canister.json

  • New adversarial case for the removed type: assets step
  • Tightened "Asset canister recipe setup" to require v2.2.0+

Evals

asset-canister output evals (with-skill, --no-baseline)
Adversarial: removed type: assets sync step — WITH skill: 4/4 passed
  ✅ Explains that the built-in type: assets sync step is no longer supported / has been removed
  ✅ Recommends the @dfinity/asset-canister@v2.2.0 recipe, which generates a plugin-based sync step automatically
  ✅ If writing a manual sync step, uses type: plugin (with a sync_plugin.wasm url + sha256) or type: script
  ✅ Does NOT reintroduce type: assets in the corrected YAML

Asset canister recipe setup — WITH skill: 4/4 passed
  ✅ Shows icp.yaml with @dfinity/asset-canister recipe pinned to v2.2.0 or later
  ✅ Includes build commands (npm install, npm run build)
  ✅ Specifies the output directory (e.g., dir: dist)
  ✅ Uses icp deploy commands, NOT dfx deploy

🤖 Generated with Claude Code

icp-cli 1.0.0 removes the built-in `type: assets` sync step (dfinity/icp-cli#582).
Asset uploading now lives in a `plugin` (or `script`) sync step; the
`@dfinity/asset-canister@v2.2.0` recipe supplies it automatically. Sync plugins
are supported since icp-cli 0.2.7, so adopting v2.2.0 now smooths the 1.0 transition.

- asset-canister: bump recipe v2.1.0 -> v2.2.0, compatibility -> icp-cli >= 0.2.7,
  add Pitfall #10 (removed type: assets; use v2.2.0 recipe or manual plugin/script step)
- icp-cli: bump recipe refs to v2.2.0 (config block, recipes table, pitfall #10 example,
  dfx-migration mapping); update sync-phase prose (asset upload no longer built into the CLI)
- evals: add adversarial "removed type: assets sync step" case, tighten recipe-setup
  to require v2.2.0+ (both 4/4 with skill)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Skill Validation Report

Project Checks


✓ Project checks passed for 2 skills (0 warnings)

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.

1 participant