Create Extension

Create Copilot CLI extension scaffolds with extension.mjs and hooks.

2|Updated Mar 19, 2026
One-click install
npx skills add https://github.com/Poorgramer-Zack/copilot-cli-things --skill create-extension-poorgramer-zack
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Create Extension
Source: https://github.com/Poorgramer-Zack/copilot-cli-things/tree/main/plugins/create-extension/skills/create-extension
Command: npx skills add https://github.com/Poorgramer-Zack/copilot-cli-things --skill create-extension-poorgramer-zack

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Designing and deploying Copilot CLI extensions, including extension.mjs, hooks, tools, and lifecycle handling, to extend Copilot CLI capabilities with custom behavior.

Core Features & Use Cases

  • Create an ES module extension scaffold (extension.mjs) for a repo or user-level setup.
  • Define tools, hooks, and session events to customize Copilot CLI workflows.
  • Validate extension lifecycle, including discovery, joinSession, and extension management.

Quick Start

Create a new Copilot CLI extension scaffold under .github/extensions/<name> and open it for editing.

Frequently Asked Questions about Create Extension

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

FAQPage Schema
How do I create a Copilot CLI extension using an ES module?

To create a Copilot CLI extension, you build an ES module scaffold as extension.mjs under the .github/extensions directory. This enforces ES module usage and integrates SDK components through the runtime.

What are Copilot CLI hooks and tools used for?

Copilot CLI hooks and tools customize workflows by defining session events and specific behaviors. They allow developers to validate extension lifecycles, including discovery, joinSession, and extension management across repositories.

How do I debug Copilot CLI extensions across repositories?

Debug Copilot CLI extensions by validating the extension lifecycle, including discovery, joinSession, and extension management across repositories. This ensures your hooks and tools function correctly within the runtime environment.

Do I need to use JSON-RPC for Copilot CLI extension development?

JSON-RPC is part of the Copilot CLI extension development ecosystem. The skill supports wiring hooks and tools, validating extension lifecycles, and integrating the SDK through the runtime using JSON-RPC communication.

What is the correct directory path for a project-level Copilot CLI extension?

The correct directory path for a project-level Copilot CLI extension is .github/extensions/<name>. The skill enforces this project-level extension path and requires creating the extension.mjs ES module scaffold within it.

Can I use CommonJS instead of ES modules for Copilot CLI extensions?

No, Copilot CLI extensions require ES module usage. The skill enforces ES module format for the extension.mjs scaffold and integrates SDK components through the runtime, ensuring compatibility with the extension lifecycle.