adding-pallets

Add FRAME pallets to Substrate-based Moonbeam runtimes and wire them into construct_runtime.

3|2|Updated Mar 9, 2026
One-click install
npx skills add https://github.com/Moonsong-Labs/knowledge-work-plugins --skill adding-pallets-moonsong-labs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: adding-pallets
Source: https://github.com/Moonsong-Labs/knowledge-work-plugins/tree/main/moonbeam-engineering/skills/adding-pallets
Command: npx skills add https://github.com/Moonsong-Labs/knowledge-work-plugins --skill adding-pallets-moonsong-labs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Facilitates the creation and integration of new FRAME pallets into Moonbeam runtimes, enabling on-chain functionality and modular runtime extensions without boilerplate duplication.

Core Features & Use Cases

  • Pallet scaffolding: generate standard pallet structure, Cargo.toml, and dependencies.
  • Runtime integration: wire pallet into construct_runtime and implement a Config trait.
  • Testing & benchmarking: provide mocks, tests, and optional benchmarks to validate correctness.
  • Use Case: deploy a new on-chain feature such as a custom asset or governance module within Moonbeam runtimes like Moonbase or Moonriver.

Quick Start

Create a new pallet named my-pallet and wire it into the Moonbeam runtime, then run unit tests to verify integration.

Frequently Asked Questions about adding-pallets

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

FAQPage Schema
How do I add a FRAME pallet to a Moonbeam runtime?

To add a FRAME pallet to a Moonbeam runtime, wire it into construct_runtime and implement its Config trait. You need a pallet skeleton including Cargo.toml, lib.rs, storage items, and events to extend on-chain functionality for Moonbase, Moonriver, or Moonbeam.

What components are required to integrate a Substrate pallet into a runtime?

Integrating a Substrate pallet requires a pallet skeleton with Cargo.toml and lib.rs, a Config trait implementation, storage items, events, and wiring into construct_runtime. Optional benchmarking and tests validate the pallet integration correctness.

Can I use custom pallets with Moonriver and Moonbase deployments?

Yes, custom pallets work with Moonriver and Moonbase deployments. The integration process applies to all Moonbeam-family runtimes, allowing you to deploy modular runtime extensions like custom asset or governance modules across these Substrate-based networks.

How do I test and benchmark a new pallet before runtime integration?

You test and benchmark a new pallet by generating mocks, unit tests, and optional benchmarks to validate correctness. This testing phase ensures the pallet functions properly before wiring it into the Moonbeam runtime via construct_runtime.

What is the best way to scaffold a new Substrate pallet for Moonbeam?

The best way to scaffold a Substrate pallet for Moonbeam is generating a standard pallet structure with Cargo.toml and dependencies, then implementing the Config trait and wiring it into construct_runtime to enable modular runtime extensions without boilerplate duplication.

Why does my pallet integration require a Config trait in Substrate?

A pallet integration requires a Config trait in Substrate because it defines the runtime interfaces and types the pallet needs. Implementing this trait connects the pallet skeleton to the Moonbeam runtime, enabling proper on-chain functionality and storage interaction.