multi-canister

Design multi-canister dapps on the Internet Computer with inter-canister calls.

28|11|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/dfinity/icskills --skill multi-canister
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: multi-canister
Source: https://github.com/dfinity/icskills/tree/main/skills/multi-canister
Command: npx skills add https://github.com/dfinity/icskills --skill multi-canister

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill addresses the complexities of designing, deploying, and managing applications that are split across multiple Internet Computer canisters, enabling better scalability, separation of concerns, and independent upgrades.

Core Features & Use Cases

  • Inter-Canister Communication: Handles asynchronous message passing and potential pitfalls.
  • Canister Factory Pattern: Demonstrates dynamic canister creation.
  • Scalability & Architecture: Guides decisions on when and why to split applications.
  • Use Case: You are building a decentralized social media platform and need to separate user profiles, posts, and media storage into different canisters for performance and manageability.

Quick Start

Use the multi-canister skill to design a dapp split across user and content canisters.

Frequently Asked Questions about multi-canister

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
When should I split my ICP dapp across multiple canisters?

Split your ICP dapp across multiple canisters to achieve better scalability, separation of concerns, and independent upgrades. This architecture separates components like user profiles and posts into different canisters for performance and manageability.

How do I handle inter-canister calls for asynchronous message passing in ICP?

Inter-canister calls manage asynchronous message passing between canisters on ICP. This Skill guides you through handling the communication process while mitigating potential pitfalls associated with non-atomic update method execution.

What is the canister factory pattern for dynamic canister creation?

The canister factory pattern is a technique for dynamic canister creation on ICP. This Skill demonstrates how to implement this pattern to programmatically deploy new canisters as your dapp scales.

How do I overcome the 2MB payload limit in Internet Computer canisters?

To overcome the 2MB payload limit on ICP, split your application across multiple canisters. This architecture mitigates payload limitations and ensures your dapp can handle larger data structures effectively.

Why are update method executions non-atomic across multiple canisters?

Update method executions are non-atomic across multiple canisters due to asynchronous inter-canister calls on ICP. This Skill guides developers on mitigating these risks when splitting applications for scaling.