Skip to content

docs(deploy-to-cloud-engine): proxy-canister usage for cross-subnet calls#242

Merged
pietrodimarco-dfinity merged 2 commits into
mainfrom
add-proxy-canister-usage
Jul 10, 2026
Merged

docs(deploy-to-cloud-engine): proxy-canister usage for cross-subnet calls#242
pietrodimarco-dfinity merged 2 commits into
mainfrom
add-proxy-canister-usage

Conversation

@pietrodimarco-dfinity

Copy link
Copy Markdown
Contributor

What

Adds a Cross-subnet calls via a proxy canister section to the deploy-to-cloud-engine skill, plus four pitfalls and a widened description so the skill triggers on proxy / XRC / threshold-key questions.

Why

A cloud engine runs on a CloudEngine subnet, which the protocol forbids from sending cross-subnet messages that carry cycles or are guaranteed-response. So an engine canister cannot directly call the exchange-rate canister, threshold ECDSA/Schnorr, or vetKD — all of which are cross-subnet and cycle-bearing. Agents writing engine apps hit this and need the proxy-canister workaround, which was previously undocumented in the skill.

Contents

  • When a proxy is (and isn't) needed.
  • Deploying + funding a proxy from the engine console (Applications → Proxy canisters; initial balance, optional auto top-up).
  • Calling targets through the proxy's proxy method — full candid interface + Motoko sketch, with ProxyArgs.cycles semantics and ProxyError handling.
  • Threshold-key caveat: the proxy caller-isolates key derivation, so a key/address obtained through the proxy differs from a direct management-canister call — fetch the public key and sign through the same proxy consistently.
  • Pitfalls 10–13: direct cross-subnet calls, attaching cycles to the outer proxy call, running the proxy dry / funding via CLI, and expecting a direct-call key through the proxy.

Validation

  • node scripts/check-project.js passes (pre-existing warnings only, unrelated skills).
  • SKILL.md is 276 lines (< 500).
  • skill-validator not run (not installed in my environment).

🤖 Generated with Claude Code

…et calls

Engine (`CloudEngine`-subnet) canisters cannot make cross-subnet
cycle-bearing or guaranteed-response calls, so they cannot directly reach
the exchange-rate canister, threshold ECDSA/Schnorr, or vetKD. Document
the proxy-canister workaround: deploy and fund a proxy from the console,
call targets through its `proxy` method (with the candid interface and a
Motoko sketch), and the caller-isolated threshold-key behaviour. Adds
four pitfalls and widens the description to trigger on these cases.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@pietrodimarco-dfinity
pietrodimarco-dfinity requested review from a team and JoshDFN as code owners July 10, 2026 14:02
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

Skill Validation Report

Validating skill: /home/runner/work/icskills/icskills/skills/deploy-to-cloud-engine

Structure

  • Pass: SKILL.md found

Frontmatter

  • Pass: name: "deploy-to-cloud-engine" (valid)
  • Pass: description: (1010 chars)
  • Pass: license: "Apache-2.0"
  • Pass: compatibility: (127 chars)
  • Pass: metadata: (2 entries)

Markdown

  • Pass: no unclosed code fences found

Tokens

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

Content Analysis

Metric Value
Word count 3,253
Code block ratio 0.10
Imperative ratio 0.11
Information density 0.11
Instruction specificity 0.97
Sections 13
List items 64
Code blocks 10

Contamination Analysis

Metric Value
Contamination level low
Contamination score 0.09
Primary language category shell
Scope breadth 3
  • Warning: Language mismatch: config (1 category differ from primary)

Result: passed

Project Checks


✓ Project checks passed for 1 skills (0 warnings)

…educe body tokens

Address skill-validator: shorten the frontmatter description (was 1398,
now ~1010 chars) and tighten the proxy section prose to bring the body
back under the 5000-token guidance.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@pietrodimarco-dfinity
pietrodimarco-dfinity merged commit 4bc1b50 into main Jul 10, 2026
6 checks passed
@pietrodimarco-dfinity
pietrodimarco-dfinity deleted the add-proxy-canister-usage branch July 10, 2026 15:16
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