refactor(marketplace): split cc-architect from ultraplan-local into its own plugin

Extract `/ultra-cc-architect-local` and `/ultra-skill-author-local` plus all 7
supporting agents, the `cc-architect-catalog` skill (13 files), the
`ngram-overlap.mjs` IP-hygiene script, and the skill-factory test fixtures
from `ultraplan-local` v2.4.0 into a new `ultra-cc-architect` plugin v0.1.0.

Why: ultraplan-local had drifted into containing two distinct domains — a
universal planning pipeline (brief → research → plan → execute) and a
Claude-Code-specific architecture phase. Keeping them together forced users
to inherit an unfinished CC-feature catalog (~11 seeds) when they only
wanted the planning pipeline, and locked the catalog and the pipeline into
the same release cadence. The architect was already optional and decoupled
at the code level — only one filesystem touchpoint remained
(auto-discovery of `architecture/overview.md`), which already handles
absence gracefully.

Plugin manifests:
- ultraplan-local: 2.4.0 → 3.0.0 (description + keywords updated)
- ultra-cc-architect: new at 0.1.0 (pre-release; catalog is thin, Fase 2/3
  of skill-factory unbuilt, decision-layer empty, fallback list still
  needed)

What stays in ultraplan-local: brief/research/plan/execute commands, all
19 planning agents, security hooks, plan auto-discovery of
`architecture/overview.md` (filesystem-level contract, not code-level).

What moved (28 files via git mv, R100 — full history preserved):
- 2 commands, 8 agents, 1 skill catalog (13 files), 2 scripts, 8 fixtures

Documentation updates: plugin CLAUDE.md and README.md for both plugins,
root README.md (added ultra-cc-architect section, updated ultraplan-local
section), root CLAUDE.md (added ultra-cc-architect to repo-struktur),
marketplace.json (registered ultra-cc-architect), ultraplan-local
CHANGELOG.md (v3.0.0 entry with migration guidance).

Test verification: ngram-overlap.test.mjs passes 23/23 from new location.

Memory updated: feedback_no_architect_until_v3.md now points at the new
plugin and reframes the threshold around catalog maturity rather than an
ultraplan-local milestone.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-04-30 17:18:47 +02:00
commit ab504bdf8c
48 changed files with 627 additions and 177 deletions

View file

@ -1,83 +0,0 @@
---
name: skills-reference
description: CC skills — auto-invoked domain modules with SKILL.md, frontmatter triggers, and file-hierarchy discovery.
layer: reference
cc_feature: skills
source: https://docs.claude.com/en/docs/claude-code/skills
concept: skills-system
last_verified: 2026-04-18
ngram_overlap_score: null
review_status: approved
---
# Skills — Reference
Claude Code's skill system is a way to package domain knowledge,
workflows, and supporting files so Claude can load them on demand. A
skill is a directory with a `SKILL.md` manifest and any auxiliary
files (scripts, templates, references).
## Anatomy
- **`SKILL.md`** — the entry point. Markdown file with YAML
frontmatter and a body. The frontmatter declares when the skill
triggers; the body is instructions Claude follows after loading.
- **Auxiliary files** — any files in the skill directory. Loaded on
demand (typically by Claude reading them when the body references
them). Common: `scripts/`, `templates/`, `references/`.
## Frontmatter
```yaml
---
name: <skill-name>
description: <one-line trigger hint>
---
```
The `description` is what Claude sees when deciding whether to invoke.
It should describe *when* to use the skill, not *what* it does.
## Invocation
- **Auto-invocation** — Claude loads the skill when the user's prompt
matches the description's triggers. The trigger model is implicit
(natural-language match), not regex.
- **Manual invocation** — the user types `/<skill-name>` and Claude
calls the Skill tool.
- **Never auto-invoked** — if the description explicitly says so
("Internal catalog for X — not invoked directly"), Claude typically
respects the hint.
## Discovery
Skills are discovered from:
- **Built-in skills** — shipped with the CLI.
- **Plugin skills** — packaged inside a plugin's `skills/` directory.
- **User skills**`~/.claude/skills/`.
- **Project skills**`.claude/skills/` inside the repo.
The CLI surfaces available skills via `--allowedTools` and in the
system prompt.
## Progressive disclosure
Skills use progressive disclosure:
1. Claude sees only the name + description at session start.
2. When a skill triggers, the body loads into context.
3. Files referenced by the body load only when Claude reads them.
This keeps the baseline context small; depth is paid for on demand.
## Relationship to other features
- **Skills vs subagents** — a skill lives in the parent's context when
loaded. A subagent runs in its own context. Choose skill when the
context flows through; subagent when it should not.
- **Skills vs hooks** — hooks are deterministic harness-level rules.
Skills are context that Claude interprets. A skill cannot enforce;
only guide.
- **Skills vs MCP** — MCP exposes *tools*. Skills are *knowledge*. An
MCP tool + a skill that explains when to use it is a common pairing.