Skip to content

How to adopt a pack

This guide shows an adopting user how to turn a bundled pack on or off and satisfy its prerequisites. For what each pack does and what it needs, see the pack catalog; for the model and manifest fields, see packs and plugins.

  • Have the core runtime installed (git, jq, yq, python3; plus node for the validation toolchain). Every pack relies on the core engine.
  • Check whether your target pack needs an extra tool — the catalog and the dependencies reference list these per pack (for example pandoc for pdf, gh for the GitHub channels, nlm for notebooklm). Install the tool first; a pack with a missing tool reports the install step and stops rather than erroring.
  1. Confirm the pack is registered. A pack must already be declared in harness.config.json packs[] before it can be toggled. The bundled packs are all declared; list them with:

    Terminal window
    jq -r '.packs[].name' harness.config.json
  2. Enable the pack. This flips its enabled flag and re-materializes the active set:

    Terminal window
    scripts/pack-toggle.sh <pack-name> on

    pack-toggle.sh calls scripts/sync-packs.sh for you, which writes Claude Code’s native enabledPlugins into the instance-local .claude/settings.local.json (gitignored; deep-merged with the template-managed .claude/settings.json) and records the resolved skills in .claude/enabled-packs.json.

  3. Verify the pack is active:

    Terminal window
    jq -r '.enabledPlugins[]' .claude/enabled-packs.json

    The pack name should appear in the list.

  4. Install any tool the pack requires, if you have not already, then exercise the pack’s skill (the catalog entry names the trigger).

Terminal window
scripts/pack-toggle.sh <pack-name> off

Disabled packs are omitted from both .claude/settings.local.json and .claude/enabled-packs.json, so their skills are no longer active.

By default the five reports genres (academic, briefing, engineering, exec-summary, trend-analysis) are enabled; every other pack is disabled and opt-in. The blog channel is a first-class, always-on output and is not a pack.

This guide covers the skill, channel, and genre plugin packs in harness.config.json packs[]. Ontology data packs are not toggled with pack-toggle.sh — they live in harness.config.json ontologies[] and are enabled and bound to a topic differently. See Ontology packs.