How to enable the internal charter and skills
packs/internal/ holds the doctrine that governs how the core team works, plus four
shared maintainer skills: kitty-land-pr, kitty-issue-triage, kitty-mission-from-issue
and kitty-report-debrief. The pack never ships to consumers. This page gets it working in
your clone.
Step 1: Register the pack
Add the pack to .kittify/config.yaml as an org pack:
charter_packs:
org:
packs:
- name: internal
local_path: packs/internal
This is the canonical shape. The retired doctrine.org.packs key is still read, but write the
canonical one. This repository's own config already carries the entry.
The pack's org-charter.yaml sets skill_namespace: kitty and lists all four skills in
required_skills, so registering the pack puts them in force. You do not run
spec-kitty charter activate skill for them.
Step 2: Project the skills
mkdir -p .claude # only if `claude` is a configured tool and .claude/ is missing (#4275)
spec-kitty upgrade
The SKILL.md files are not on disk until upgrade writes them into each configured tool's
project skill root. See the root table in
Create and activate a pack skill.
Step 3: Verify
Check that each tool's project skill root holds the four directories, for example:
ls .claude/skills .agents/skills | grep kitty-
You should see kitty-land-pr, kitty-issue-triage, kitty-mission-from-issue and
kitty-report-debrief, each with a SKILL.md. Do not rely on
spec-kitty doctor skills for this check (see below).
Known defects
| Symptom | Cause | Workaround |
|---|---|---|
upgrade fails with "Owner effect conflict" on .claude |
claude is configured and the clone has no .claude/ directory (#4275) |
mkdir .claude, then run upgrade again. Projects that do not configure claude are not affected. |
doctor skills reports healthy but a kitty-* directory is missing |
doctor skills does not notice a pack skill in force that was never projected, and --fix does not project it (#5801) |
Check the directories yourself after upgrade, as in Step 3. |
After pulling the change that untracked the command-skill ledger
.kittify/command-skills-manifest.json is a per-machine ledger and is no longer tracked. Pulling
the change that untracked it deletes your local copy, and spec-kitty doctor skills --fix then
refuses because it sees unmanaged files. Do this once:
rm -rf .agents/skills/spec-kitty.*
spec-kitty doctor skills --fix
spec-kitty upgrade
The first command removes the generated spec-kitty.* command-skill directories. The fix
rebuilds the ledger, and upgrade projects the kitty-* skills.
See also
- Internal pack README: what the pack contains.
- Create and activate a pack skill: author your own skill.
- Understanding the Org Doctrine Layer: how a project registers a pack.