feat(ultraplan-local): v2.2.0 — /ultra-cc-architect-local
New optional command between /ultraresearch-local and /ultraplan-local that matches brief+research against Claude Code features (hooks, subagents, skills, output-styles, MCP, plan-mode, worktrees, background-agents) and produces an architecture note with brief-anchored rationale plus explicit gaps. Added: - commands/ultra-cc-architect-local.md (--project, --fg, --quick, --no-gaps) - agents/architect-orchestrator.md (opus) — 6-phase background orchestrator - agents/feature-matcher.md (sonnet) — fallback-ranked feature proposals - agents/gap-identifier.md (sonnet) — 4 gap classes with issue-ready drafts - agents/architecture-critic.md (sonnet) — hallucination gate as BLOCKER - skills/cc-architect-catalog/ — SKILL.md + 10 seed entries (reference/pattern) Changed (non-breaking): - commands/ultraplan-local.md — auto-discovers architecture/overview.md - agents/planning-orchestrator.md — cross-references cc_features_proposed - plugin.json — 2.1.0 → 2.2.0, description, cc-architecture keyword - CHANGELOG, README, CLAUDE.md (plugin + marketplace root) Pipeline becomes brief → research → architect → plan → execute. Architect is optional; existing project dirs keep working unchanged. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
23aaaa6e6c
commit
2da95b3cd3
24 changed files with 2325 additions and 28 deletions
140
plugins/ultraplan-local/skills/cc-architect-catalog/SKILL.md
Normal file
140
plugins/ultraplan-local/skills/cc-architect-catalog/SKILL.md
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
---
|
||||
name: cc-architect-catalog
|
||||
description: Internal catalog for ultra-cc-architect-local — not invoked directly. Indexes CC-feature reference and pattern skills.
|
||||
layer: manifest
|
||||
cc_feature: meta
|
||||
source: https://docs.claude.com/en/docs/claude-code
|
||||
concept: catalog-index
|
||||
last_verified: 2026-04-18
|
||||
ngram_overlap_score: null
|
||||
review_status: approved
|
||||
---
|
||||
|
||||
# CC Architect Catalog — Manifest
|
||||
|
||||
This file is the catalog index consumed by the `feature-matcher` and
|
||||
`gap-identifier` agents inside `/ultra-cc-architect-local`. It is NOT
|
||||
intended to be auto-invoked by Claude Code's skill system — the
|
||||
description above exists only so the skill loader has something to
|
||||
display if it indexes this directory.
|
||||
|
||||
## Purpose
|
||||
|
||||
The catalog enumerates which Claude Code features the architect command
|
||||
can reason about, and at which layer of abstraction. Each feature gets
|
||||
one or more skill files in this directory. A skill is a self-contained
|
||||
note about *one* feature at *one* layer.
|
||||
|
||||
## Layers (frontmatter `layer` field)
|
||||
|
||||
| Layer | Purpose | Kilde |
|
||||
|-------|---------|-------|
|
||||
| `reference` | Facts, API, syntax. What the feature *is*. | CC changelog, official docs |
|
||||
| `pattern` | When and how to use it. Typical shapes, pitfalls. | Synthesized from practice |
|
||||
| `decision` | Operational decision tree across features. | Synthesized. (No seeds yet.) |
|
||||
|
||||
Lag representeres som frontmatter-felt, ikke mappestruktur. Rationale:
|
||||
one feature can have skills at multiple layers without relocation, and
|
||||
future skill-factory output can target a specific layer without moving
|
||||
files.
|
||||
|
||||
## Frontmatter contract (per skill file)
|
||||
|
||||
Every skill file in this directory MUST have this frontmatter. The
|
||||
fields are load-bearing for the architect command.
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: <skill-id> # unique, kebab-case
|
||||
description: <one-line matcher hint> # used by feature-matcher
|
||||
layer: reference | pattern | decision
|
||||
cc_feature: <feature-id> # see table below
|
||||
source: <URL> # canonical upstream source
|
||||
concept: <short phrase> # 3–6 word concept handle
|
||||
last_verified: <YYYY-MM-DD> # when a human last checked against upstream
|
||||
ngram_overlap_score: null # reserved for skill-factory IP-hygiene
|
||||
review_status: approved | pending | auto-merged
|
||||
---
|
||||
```
|
||||
|
||||
`ngram_overlap_score` is reserved. This command respects it (will flag
|
||||
non-null values > threshold) but does not compute it. Skill-factory (a
|
||||
separate later process) populates that field.
|
||||
|
||||
`review_status: approved` is the default for seeds (approved by
|
||||
construction — handwritten, no third-party text copied). Future
|
||||
skill-factory output will start as `pending` (channel 2) or
|
||||
`auto-merged` (channel 1).
|
||||
|
||||
## Canonical `cc_feature` values
|
||||
|
||||
| Value | Coverage |
|
||||
|-------|----------|
|
||||
| `hooks` | Event hooks (UserPromptSubmit, PreToolUse, PostToolUse, Stop, Notification, SessionStart, etc.) |
|
||||
| `subagents` | Task-tool sub-agents, delegation patterns |
|
||||
| `skills` | Claude Code skill system (not Agent SDK skills) |
|
||||
| `output-styles` | Output style configuration |
|
||||
| `mcp` | Model Context Protocol servers and tools |
|
||||
| `plan-mode` | Built-in plan mode |
|
||||
| `worktrees` | Git worktree integration |
|
||||
| `background-agents` | `run_in_background`, Monitor, long-running agents |
|
||||
| `meta` | This manifest only — not a real feature |
|
||||
|
||||
If a future skill covers a feature not in this list, add the row above
|
||||
and surface the extension in the relevant CHANGELOG entry.
|
||||
|
||||
## Current seed coverage (v2.2.0)
|
||||
|
||||
| Feature | reference | pattern | decision |
|
||||
|---------|-----------|---------|----------|
|
||||
| hooks | hooks-reference | hooks-pattern | — |
|
||||
| subagents | subagents-reference | subagents-pattern | — |
|
||||
| skills | skills-reference | — | — |
|
||||
| output-styles | output-styles-reference | — | — |
|
||||
| mcp | mcp-reference | — | — |
|
||||
| plan-mode | plan-mode-reference | — | — |
|
||||
| worktrees | worktrees-reference | — | — |
|
||||
| background-agents | background-agents-reference | — | — |
|
||||
|
||||
Total: 10 seed skills, 8 features, 2 layers. Decision-layer is
|
||||
intentionally empty — decisions cross features and require broader
|
||||
synthesis than a single seed pass can provide. Skill-factory populates
|
||||
decision-layer later.
|
||||
|
||||
## How `feature-matcher` uses this file
|
||||
|
||||
1. Read this file to learn the `cc_feature` taxonomy.
|
||||
2. Glob the directory for `*.md` files (excluding SKILL.md).
|
||||
3. Parse each skill's frontmatter.
|
||||
4. For each feature mentioned in the brief or research, match against
|
||||
`cc_feature` field. Prefer `pattern` over `reference` when both exist
|
||||
(pattern is richer).
|
||||
5. When no skill exists for a mentioned feature, fall back to the
|
||||
hardcoded minimum-list inside the `feature-matcher` prompt and mark
|
||||
the gap in stats (`fallback_used: true`).
|
||||
|
||||
## How `gap-identifier` uses this file
|
||||
|
||||
1. Collect every feature referenced in `feature-matcher`'s output.
|
||||
2. For each feature, check whether the catalog has at least one skill at
|
||||
each expected layer (reference always; pattern when complexity
|
||||
warrants; decision for cross-feature choices).
|
||||
3. Emit a gap entry for every missing (feature × layer) pair.
|
||||
4. Label with `skill-layer:<layer>` and `cc-feature:<feature>`.
|
||||
|
||||
## Non-goals for this file
|
||||
|
||||
- No skill-factory logic. That is a separate later process.
|
||||
- No auto-discovery of new CC features.
|
||||
- No n-gram computation.
|
||||
- No triggering Claude Code auto-invocation (description deliberately
|
||||
says "not invoked directly").
|
||||
|
||||
## Modification rules
|
||||
|
||||
- Adding a new skill: create `<feature>-<layer>.md` with the frontmatter
|
||||
above and bump the coverage table in this file.
|
||||
- Renaming `cc_feature` values: update both this file AND every skill
|
||||
using the old value in the same commit.
|
||||
- Removing a skill: document in CHANGELOG under the version that drops
|
||||
it.
|
||||
Loading…
Add table
Add a link
Reference in a new issue