speckit-artifact

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

Inspect commands, templates, scripts, hooks, and their effective composition stacks with the **Specify CLI** `specify artifact` command group. Requires Specify CLI **>= 1.0.7**.

SKILL.md

.github/skills/speckit-artifactView on GitHub ↗
---
name: speckit-artifact
description: 'Inspect 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.'
argument-hint: '<list|info|lookup> [artifact name or lookupId] --json'
---

# Spec Kit — artifacts

Inspect commands, templates, scripts, hooks, and their effective composition
stacks with the **Specify CLI** `specify artifact` command group. Requires
Specify CLI **>= 1.0.7**.

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

## When to use

- List every command, template, script, and hook visible to a Spec Kit project.
- Explain which project, preset, extension, or built-in layer supplies an artifact.
- Inspect precedence, composition strategy, active layers, and hidden layers.
- Check whether declared hooks are registered and active.
- Resolve a stack entry back to the validated manifest contribution Spec Kit uses.

## How to invoke

```bash
# Full artifact inventory, including composition stacks
specify artifact list --json

# Inspect one artifact by bare name or source-agnostic artifact id
specify artifact info <name> --json
specify artifact info <kind>:<name> --json
specify artifact info <name> --kind <command|template|script|hook> --json

# Resolve a manifest-backed stack layer to its effective contribution
specify artifact lookup <lookupId> --json
```

## Identifiers

- An artifact `id` has the form `<kind>:<name>`, such as
  `command:speckit.specify`. Pass this value to `specify artifact info`.
- A stack entry's `lookupId` identifies the preset or extension contribution
  behind that layer. Pass this opaque value unchanged to
  `specify artifact lookup`.
- Built-in layers do not have a `lookupId`. Project or convention-only layers may
  not have a manifest contribution that `lookup` can resolve.

## Notes

- All `specify artifact` subcommands are read-only.
- `--json` is currently required. A missing `--json` is a usage error.
- Run commands from an initialized Spec Kit project containing `.specify/`.
- `list` and `info` return ordered stacks. For commands, templates, and scripts,
  index `0` is the winning layer. Hook stacks are additive, so multiple entries
  can be active.
- Composition strategies are `replace`, `wrap`, `prepend`, `append`, and
  `additive` for hooks.
- `active` and `hidden` are independent: an inactive layer can still participate
  in composed output unless a higher `replace` layer hides it.
- Hook artifact ids percent-encode event and target-command components. Reuse ids
  and lookupIds exactly as returned instead of constructing them manually.

More from github/spec-kit-copilot

SkillDescription
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-presetManage 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).
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).