speckit-preset

$npx mdskill add github/spec-kit-copilot/speckit-preset

Manage spec-kit presets with the **Specify CLI** `specify preset` command group. Presets bundle templates/configuration for a particular domain or workflow.

SKILL.md

.github/skills/speckit-presetView on GitHub ↗
---
name: speckit-preset
description: 'Manage Spec Kit presets via `specify preset`. USE FOR: listing installed presets as text or JSON, installing/removing presets, searching the preset catalog, showing preset info, resolving which template a preset name maps to, enabling/disabling presets, setting resolution priority, or managing preset catalogs. DO NOT USE FOR: full artifact composition stacks (use speckit-artifact), extensions (use speckit-extension), bundles (use speckit-bundle), or workflows (use speckit-workflow).'
argument-hint: '<list|add|remove|search|resolve|info|set-priority|enable|disable|catalog> [preset id]'
---

# Spec Kit — presets

Manage spec-kit presets with the **Specify CLI** `specify preset` command group.
Presets bundle templates/configuration for a particular domain or workflow.

> **Prerequisite:** needs the `specify` CLI. If `specify --version` fails, install it
> with the **speckit-cli-setup** skill first.

## When to use

- Find, install, or remove a preset.
- Check which template a preset name resolves to.
- Enable/disable a preset or adjust its resolution priority.

## How to invoke

```bash
# Discover
specify preset list
specify preset list --json                    # machine-readable installed inventory (CLI >= 1.0.7)
specify preset search <query>
specify preset info <id>
specify preset resolve <name>          # show which template a name resolves to

# Install
specify preset add <id>
specify preset add --from <url>        # install from a ZIP URL
specify preset add --dev <path>        # install from a local directory
specify preset add <id> --priority <n> # lower number = higher precedence

# Lifecycle
specify preset enable <id>
specify preset disable <id>
specify preset set-priority <id> <n>
specify preset remove <id>

# Catalogs (sources presets are resolved from)
specify preset catalog list
specify preset catalog add <url> --name <name> [--install-allowed]
specify preset catalog remove <name>
```

## Notes

- Resolution priority: **lower number = higher precedence** (default `10`).
- `specify preset list --json` requires Specify CLI **>= 1.0.7**. It preserves
  CLI resolution order (highest precedence first) and returns `id`, `name`,
  `description`, `version`, nullable `author`, `priority`, `enabled`, normalized
  `source`, and `provides` counts for commands, templates, and scripts.
- **Catalogs are added discovery-only by default.** `specify preset catalog add`
  requires `--name` and defaults to `--no-install-allowed`; presets from a
  discovery-only catalog can be browsed but not installed (install errors with a
  "discovery-only" message). Pass `--install-allowed` to permit installs — only for
  catalogs you trust. The `install_allowed` policy lives in the consumer's
  `.specify/preset-catalogs.yml`, not in the catalog's own `catalog.json`.
- A preset can also be installed at project creation:
  `specify init <name> --integration copilot --integration-options="--skills" --script sh --preset <id>`
  (use `--script ps` on Windows; see the speckit-init skill for the full OS-aware form and
  why `--script` is required).
- Use `specify preset resolve` to debug unexpected template resolution.
- Unlike extensions/bundles, `specify preset add` does **not** scaffold skills — a
  preset overrides the **templates** used to generate command content and is applied
  at **init** time. `/skills reload` only matters if a regeneration actually changes
  `SKILL.md` files under `.github/skills/`.

More from github/spec-kit-copilot

SkillDescription
speckit-artifactInspect the effective Spec Kit artifact inventory and composition stacks via `specify artifact`. USE FOR: listing commands/templates/scripts/hooks, explaining which preset or extension layer supplies an artifact, inspecting resolution precedence and hidden layers, checking hook registration, or resolving a stack lookupId to its validated contribution. DO NOT USE FOR: installing or changing presets/extensions (use speckit-preset or speckit-extension), resolving only a preset-managed filename (use speckit-preset), or running an artifact.
speckit-bundleDiscover, install, and author Spec Kit bundles via `specify bundle`. USE FOR: searching/showing/listing bundles, installing/updating/removing a bundle (a curated set of extensions/presets/integrations/workflows), validating a bundle manifest, building a distributable bundle artifact, initializing a project and installing a bundle, managing bundle catalog sources. DO NOT USE FOR: individual extensions/presets/integrations/workflows (use their respective skills).
speckit-checkCheck the local environment for Spec Kit by running `specify check` (and `specify version`). USE FOR: verifying required tools are installed, diagnosing a broken spec-kit setup, reporting CLI version/feature capabilities. DO NOT USE FOR: installing or upgrading the CLI itself (use the speckit-self skill).
speckit-cli-setupDetect and install the Spec Kit `specify` CLI that every other speckit skill depends on. USE FOR: checking whether `specify` is installed/on PATH, installing it when missing, fixing "command not found: specify", confirming the CLI is new enough (>= 0.11). DO NOT USE FOR: upgrading an already-installed CLI to a newer release (use speckit-self) or verifying project tools (use speckit-check).
speckit-extensionManage Spec Kit extensions via `specify extension`. USE FOR: listing installed extensions as text or JSON, installing/removing/updating extensions, searching the extension catalog, showing extension info, enabling/disabling extensions, setting resolution priority, or managing extension catalogs. DO NOT USE FOR: artifact composition stacks (use speckit-artifact), presets (use speckit-preset), bundles (use speckit-bundle), or workflows (use speckit-workflow).
speckit-initScaffold a Spec Kit (spec-driven development) project for GitHub Copilot by running `specify init --integration copilot --integration-options="--skills"`. USE FOR: starting a new spec-kit project, bootstrapping spec-driven development in an existing repo, installing spec-kit templates/scripts/commands for Copilot. DO NOT USE FOR: managing extensions/presets/bundles of an already-initialized project (use the speckit-extension / speckit-preset / speckit-bundle skills instead).
speckit-selfCheck for and apply Spec Kit CLI updates via `specify self`. USE FOR: checking whether a newer specify-cli release is available, previewing an upgrade with --dry-run, upgrading the CLI in place (optionally to a pinned tag). DO NOT USE FOR: checking project tools/integrations (use speckit-check) or managing extensions/presets/integrations/workflows.
speckit-workflowManage and run Spec Kit automation workflows via `specify workflow`. USE FOR: running a workflow by ID or local YAML, resuming a paused/failed run, checking run status, listing/installing/removing workflows, searching the workflow catalog, showing a workflow step graph. DO NOT USE FOR: extensions (use speckit-extension), presets (use speckit-preset), or bundles (use speckit-bundle).
speckit-workflow-stepManage Spec Kit workflow step types via `specify workflow step`. USE FOR: listing built-in and custom workflow step types, installing/removing a custom step type from a catalog, searching/showing step-type info, managing step-type catalog sources. DO NOT USE FOR: running or installing whole workflows (use speckit-workflow), or bundles (use speckit-bundle).