create-gsd-extension

Par mkurman · zorai

npx skills add https://github.com/mkurman/zorai --skill create-gsd-extension

name: create-gsd-extension description: Créer, déboguer et itérer sur des extensions GSD (modules TypeScript qui ajoutent des outils, commandes, event hooks, UI personnalisée et providers à GSD). Utiliser quand on demande de construire une extension, d'ajouter un outil que le LLM peut appeler, d'enregistrer une slash command, de se connecter à des événements GSD, de créer des composants TUI personnalisés ou de modifier le comportement de GSD. Se déclenche sur « 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> Selon l'intention de l'utilisateur, router vers le workflow approprié :

Construire une nouvelle extension :

  • « Create an extension », « build a tool », « I want to add a command » → workflows/create-extension.md

Ajouter des capacités à une extension existante :

  • « Add a tool to my extension », « add event hook », « add custom rendering » → workflows/add-capability.md

Déboguer une extension :

  • « My extension doesn't work », « tool not showing up », « event not firing » → workflows/debug-extension.md

Si l'intention est claire d'après le contexte, skip la question et aller directement au workflow. </routing>

<reference_index> Tout le domaine de connaissances dans references/ :

Architecture core : extension-lifecycle.md, events-reference.md Surface API : extensionapi-reference.md, extensioncontext-reference.md Capacités : 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 | Objectif | |----------|---------| | create-extension.md | Construire une nouvelle extension à partir de zéro | | add-capability.md | Ajouter des outils, commandes, hooks, UI à une extension existante | | debug-extension.md | Diagnostiquer et corriger les problèmes d'extension | </workflows_index>

<success_criteria> Une extension est complète quand :

  • TypeScript compile sans erreurs (jiti gère cela au runtime)
  • L'extension se charge au démarrage de GSD ou avec /reload sans erreurs
  • Les outils apparaissent dans le system prompt du LLM et sont appelables
  • Les commandes répondent à l'entrée /command
  • Les event hooks se déclenchent aux points du cycle de vie attendus
  • L'UI personnalisée s'affiche correctement dans la largeur du terminal
  • L'état persiste correctement à travers les redémarrages de session (si stateful)
  • La sortie est tronquée aux limites sûres (si les outils produisent une sortie variable) </success_criteria>

Skills similaires