create-gsd-extension
$
npx mdskill add mkurman/zorai/create-gsd-extensionBuild TypeScript GSD extensions with tools, commands, and custom UI.
- Develop custom extensions, tools, slash commands, and event hooks.
- Integrates ExtensionAPI, TypeBox, pi-ai, pi-tui, and Node.js.
- Routes tasks to workflows based on extension building intent.
- Delivers modular TypeScript code for GSD customization.
SKILL.md
.github/skills/create-gsd-extensionView on GitHub ↗
--- name: create-gsd-extension description: Create, debug, and iterate on GSD extensions (TypeScript modules that add tools, commands, event hooks, custom UI, and providers to GSD). Use when asked to build an extension, add a tool the LLM can call, register a slash command, hook into GSD events, create custom TUI components, or modify GSD behavior. Triggers on "create extension", "build extension", "add a tool", "register command", "hook into gsd", "custom tool", "gsd plugin", "gsd extension". tags: [gsd-2, skills, create-gsd-extension, debugging, typescript, llm] ------|---------| | `@mariozechner/pi-coding-agent` | `ExtensionAPI`, `ExtensionContext`, `Theme`, event types, tool utilities, `DynamicBorder`, `BorderedLoader`, `CustomEditor`, `highlightCode` | | `@sinclair/typebox` | `Type.Object`, `Type.String`, `Type.Number`, `Type.Optional`, `Type.Boolean`, `Type.Array` | | `@mariozechner/pi-ai` | `StringEnum` (required for string enums), `Type` re-export | | `@mariozechner/pi-tui` | `Text`, `Box`, `Container`, `Spacer`, `Markdown`, `SelectList`, `Input`, `matchesKey`, `Key`, `truncateToWidth`, `visibleWidth` | | Node.js built-ins | `node:fs`, `node:path`, `node:child_process`, etc. | </essential_principles> <routing> Based on user intent, route to the appropriate workflow: **Building a new extension:** - "Create an extension", "build a tool", "I want to add a command" → `workflows/create-extension.md` **Adding capabilities to an existing extension:** - "Add a tool to my extension", "add event hook", "add custom rendering" → `workflows/add-capability.md` **Debugging an extension:** - "My extension doesn't work", "tool not showing up", "event not firing" → `workflows/debug-extension.md` **If user intent is clear from context, skip the question and go directly to the workflow.** </routing> <reference_index> All domain knowledge in `references/`: **Core architecture:** extension-lifecycle.md, events-reference.md **API surface:** extensionapi-reference.md, extensioncontext-reference.md **Capabilities:** custom-tools.md, custom-commands.md, custom-ui.md, custom-rendering.md **Patterns:** state-management.md, system-prompt-modification.md, compaction-session-control.md **Infrastructure:** model-provider-management.md, remote-execution-overrides.md, packaging-distribution.md, mode-behavior.md **Gotchas:** key-rules-gotchas.md </reference_index> <workflows_index> | Workflow | Purpose | |----------|---------| | create-extension.md | Build a new extension from scratch | | add-capability.md | Add tools, commands, hooks, UI to an existing extension | | debug-extension.md | Diagnose and fix extension issues | </workflows_index> <success_criteria> Extension is complete when: - TypeScript compiles without errors (jiti handles this at runtime) - Extension loads on GSD startup or `/reload` without errors - Tools appear in the LLM's system prompt and are callable - Commands respond to `/command` input - Event hooks fire at the expected lifecycle points - Custom UI renders correctly within terminal width - State persists correctly across session restarts (if stateful) - Output is truncated to safe limits (if tools produce variable output) </success_criteria>
More from mkurman/zorai
- account-management>
- agile-scrum>
- albumentationsFast image augmentation library (Albumentations). 70+ transforms for classification, segmentation, object detection, keypoints, and pose estimation. Optimized OpenCV-based pipeline with unified API across all CV tasks. Supports images, masks, bounding boxes, and keypoints simultaneously. Note: classic Albumentations (MIT) is no longer maintained; successor AlbumentationsX uses AGPL-3.0. For torchvision-native augmentations, use torchvision.transforms.v2.
- aml-complianceAnti-Money Laundering (AML) and Know Your Customer (KYC) compliance workflow. Sanctions screening, PEP detection, transaction monitoring, suspicious activity reporting (SAR), and OFAC compliance.
- anki-connectThis skill is for interacting with Anki through AnkiConnect, and should be used whenever a user asks to interact with Anki, including to read or modify decks, notes, cards, models, media, or sync operations.
- approval-checkpoint-long-taskCanonical long-task pack for daemon-managed work with deliberate approval checkpoints, status summaries, rollback notes, and mobile-safe governance-aware updates.
- auditing-goal-artifactsUse when reviewing recent zorai goal run outputs, closure markers, ledgers, or evidence bundles to judge whether completion is credible or to identify remaining uncertainty.
- autogenAutoGen (Microsoft) — multi-agent conversation framework. Agent-to-agent chat, code generation & execution, tool use, group chat, and human-in-the-loop. Build collaborative AI systems with specialized agents.
- backtraderPython backtesting framework for trading strategies. Data feeds, brokers, analyzers, and live trading support. Strategy development with commission models, slippage, and signal-based execution.
- beautiful-mermaidRender Mermaid diagrams as SVG and PNG using the Beautiful Mermaid library. Use when the user asks to render a Mermaid diagram.