pack-development

Create Forge integration packs with pack.yaml manifests and migration scaffolding.

4|1|Updated Apr 12, 2026
One-click install
npx skills add https://github.com/reliant-labs/forge --skill pack-development
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pack-development
Source: https://github.com/reliant-labs/forge/tree/main/internal/templates/project/skills/forge/pack-development
Command: npx skills add https://github.com/reliant-labs/forge --skill pack-development

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Forge pack development helps you turn reusable integrations into a consistent, installable unit that cleanly ships templates, config defaults, dependencies, and optional migrations—without forcing users to manually stitch everything together.

Core Features & Use Cases

  • Define the pack contract in pack.yaml: specify name, version, subpath, config defaults, rendered files, dependencies, generation behavior, and migrations.
  • Control install vs generate output: use overwrite policies to ensure generated wrappers can be clobbered safely while user-editable code stays intact.
  • Provide safe, composable conventions: ensure rendered code lands under pkg/<subpath>/ and avoids scaffold symbol collisions via per-pack package naming and careful wiring.

Use case: you are creating a new JWT authentication integration that installs validators/interceptors, adds the required Go modules, merges auth config into forge.yaml, and optionally renders DB migrations at install time.

Quick Start

Ask your AI to generate a complete pack.yaml plus template and migration scaffolding that matches the required schema, overwrite rules, and install lifecycle for a new Forge integration.

Frequently Asked Questions about pack-development

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

FAQPage Schema
How do I build a Forge pack that installs templates and config cleanly?

To build a Forge pack, you define a pack.yaml manifest specifying config defaults, rendered files, dependencies, and migrations, then apply overwrite policies so generated wrappers clobber safely while user code stays intact.

What is the pack.yaml configuration schema used for in Forge integrations?

The pack.yaml configuration schema defines the pack contract by specifying name, version, subpath, config defaults, rendered files, dependencies, generation behavior, and migrations for a Forge integration.

How do overwrite policies work when rendering Forge pack templates?

Overwrite policies control install versus generate output by ensuring generated wrappers can be clobbered safely during updates while user-editable code remains intact and untouched.

How do I prevent symbol collisions when installing multiple Forge packs?

Prevent symbol collisions by enforcing strict conventions for subpath nesting, landing rendered code under pkg/<subpath>/, and using per-pack package naming with careful wiring.

Can I include database migrations in my Forge pack install lifecycle?

Yes, you can include optional migrations in your Forge pack by rendering them with non-colliding IDs at install time, alongside templates and dependency updates.

Does Forge pack development support generating reusable auth and payments integrations?

Yes, Forge pack development supports building reusable auth, payments, audit, SMS, and frontend domain packs where users configure and compose features via forge.yaml and pack commands.