sillytavern-extension-builder

Build, scaffold, and ship SillyTavern third-party extensions. Use when creating a new extension, adding extension settings/UI hooks, wiring events or slash commands, integrating modules, or packaging a release from a template.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "sillytavern-extension-builder" with this command: npx skills add davidgibbons/sillytavern-skills/davidgibbons-sillytavern-skills-sillytavern-extension-builder

SillyTavern Extension Builder

Overview

Create production-ready SillyTavern third-party extensions with the documented extension APIs and packaging rules.

Workflow

  1. Define the extension contract.
  • Confirm extension slug, display name, minimum supported SillyTavern version, required modules, and whether the feature is UI-only, slash-command-only, or background worker based.
  • If the user does not provide a slug, generate a lowercase kebab-case slug.
  1. Scaffold baseline files.
  • Prefer scripts/scaffold_extension.sh to generate manifest.json, index.js, style.css, and settings.html.
  • Choose template mode:
    • default for UI/event-focused extensions.
    • slash for slash-command-first extensions.
  • If the user already has files, perform minimal edits instead of full rewrites.
  1. Wire extension lifecycle and settings.
  • Keep extension settings under extension_settings[EXTENSION_NAME].
  • Call loadExtensionSettings(EXTENSION_NAME) before reading setting values.
  • Use saveSettingsDebounced() after setting changes.
  • Register startup/event handlers inside jQuery(async () => { ... }).
  1. Implement user-facing behavior.
  • For DOM/UI integration, use documented APIs (context helpers, templates, settings rendering).
  • For command behavior, add slash commands and argument parsing with the slash-command APIs when needed.
  • For background logic, use a module worker class and gate execution by current chat context.
  1. Validate compatibility and packaging.
  • Ensure manifest keys are correct and file names match actual files.
  • Ensure import paths are valid from the extension directory.
  • Keep third-party dependency usage explicit and minimal.
  • Package as a repo or zip with only required runtime files.
  1. Return deliverables.
  • Provide final file set and a concise integration note.
  • Include install path expectations and any required module prerequisites.

Output Rules

  • Prefer minimal-diff changes when editing an existing extension.
  • Keep settings schema stable; migrate old keys instead of silently breaking them.
  • Use deterministic IDs/command names (derive from extension slug).
  • If introducing a slash command, include help text and argument validation.
  • If introducing a module worker, include clear stop conditions for idle/no-chat states.

Resources

  • references/writing-extensions-reference.md
    • Condensed upstream authoring guidance, required file anatomy, APIs, and release rules.
  • references/st-extension-example-walkthrough.md
    • Practical breakdown of the city-unit/st-extension-example template and reuse patterns.
  • references/extension-quality-guidelines.md
    • Research-backed recommendations for quality, maintainability, security, and release readiness.
  • references/template-selection-guide.md
    • Decision guide for choosing default vs slash scaffold mode and migrating between them.
  • assets/templates/extension/manifest.json
    • Starter manifest with placeholders.
  • assets/templates/extension/index.js
    • Starter extension entrypoint with settings and event wiring.
  • assets/templates/extension/style.css
    • Starter CSS file referenced by manifest.
  • assets/templates/extension/settings.html
    • Starter settings template for renderExtensionTemplateAsync.
  • assets/templates/extension-slash/manifest.json
    • Slash-command-first starter manifest.
  • assets/templates/extension-slash/index.js
    • Slash-command-first starter entrypoint with parser registration and validation.
  • assets/templates/extension-slash/style.css
    • Minimal stylesheet for command help/settings rows.
  • assets/templates/extension-slash/settings.html
    • Starter settings block for enabling/disabling command behavior.
  • scripts/scaffold_extension.sh
    • Generator script for new extension skeletons.

Notes

  • The docs and extension APIs evolve. If behavior is uncertain, prefer upstream docs over assumptions and keep code conservative.
  • Keep code style aligned with existing SillyTavern extension conventions (imports, settings handling, and event registration).

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

character-card-v3-generator

No summary provided by upstream source.

Repository SourceNeeds Review
General

Lyrics

Lyrics - command-line tool for everyday use

Registry SourceRecently Updated
General

Lint

Lint - command-line tool for everyday use

Registry SourceRecently Updated
General

Linkedin Post

LinkedIn文案生成、开头Hook、热门话题标签、轮播内容规划、高质量评论、个人简介优化。LinkedIn post writer with hooks, hashtags, carousel planning, comment templates, profile optimization. Use whe...

Registry SourceRecently Updated
1790ckchzh