sns-launch

Configure and launch an SNS DAO to decentralize Internet Computer dapps.

Updated Apr 3, 2026
One-click install
npx skills add https://github.com/phukrit7171/Relationship-Smart-Contract-ICP --skill sns-launch-phukrit7171
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sns-launch
Source: https://github.com/phukrit7171/Relationship-Smart-Contract-ICP/tree/main/.agents/skills/sns-launch
Command: npx skills add https://github.com/phukrit7171/Relationship-Smart-Contract-ICP --skill sns-launch-phukrit7171

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Launching a Service Nervous System (SNS) DAO on the Internet Computer involves dozens of interdependent parameters, an 11-stage launch process, and irreversible NNS proposals where misconfiguration can fail the swap or lock you out of your own canisters. This Skill guides you through tokenomics design, governance parameters, testflight validation, and proposal submission so the launch succeeds on the first attempt. ## Core Features & Use Cases - SNS Configuration: Provides a complete annotated sns_init.yaml template covering token distribution, voting power bonuses, vesting schedules, and decentralization swap parameters. - Failure Prevention: Documents the eight most common launch-breaking mistakes, such as forgetting to add NNS Root as co-controller or setting min_participants too high. - Governance Migration Code: Supplies Motoko and Rust patterns for transitioning admin functions to SNS governance control with proper access checks and stable storage warnings. - Use Case: You have a deployed dapp on the Internet Computer and want community ownership. Use this Skill to write the sns_init.yaml, run a mainnet testflight, and submit the NNS proposal with dfx sns propose. ## Quick Start Ask the assistant to generate an sns_init.yaml configuration for your dapp with token distribution, swap parameters, and developer vesting, then walk through the testflight and mainnet launch steps.

Frequently Asked Questions about sns-launch

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

FAQPage Schema
How do I launch an SNS DAO for my Internet Computer dapp?

Define all parameters in an sns_init.yaml file, add NNS Root as co-controller of your dapp canisters with dfx sns prepare-canisters, then submit the proposal using dfx sns propose. The launch proceeds through 11 stages ending with the decentralization swap and neuron creation.

What is an sns_init.yaml file and what does it configure?

sns_init.yaml is the single source of truth for an SNS launch, defining token name and supply, neuron distribution with vesting, voting power bonuses, swap parameters like minimum participants and ICP caps, and fallback controllers. Numeric values are in e8s and time values in seconds.

Why does an SNS swap fail and refund all ICP?

The swap fails if minimum_participants or minimum_direct_participation_icp thresholds are not met before the duration expires. Set conservative minimums (100-200 participants is typical) and a duration of 3-7 days so users across time zones can participate.

Can I test an SNS launch before submitting a real NNS proposal?

Yes, use the dfinity/sns-testing repository to deploy a local testflight SNS or a mock SNS on mainnet. This validates governance flows, proposal submission, and canister upgrades before the irreversible real proposal goes live.

What happens to my dapp canisters after SNS launch?

SNS Root becomes the sole controller of all dapp canisters, and upgrades happen through SNS governance proposals voted on by token holders. If the swap fails, control returns to the principals listed in fallback_controller_principals.

Which governance proposals are blocked during the SNS swap?

Six proposal types are restricted while the swap runs: ManageNervousSystemParameters, TransferSnsTreasuryFunds, MintSnsTokens, UpgradeSnsControlledCanister, RegisterDappCanisters, and DeregisterDappCanisters. Plan operations around this window.