From bba72c8f067c6c4867f0404605a55b8341433a29 Mon Sep 17 00:00:00 2001 From: Kjell Tore Guttormsen Date: Sat, 18 Apr 2026 15:26:18 +0200 Subject: [PATCH] =?UTF-8?q?docs(ultraplan-local):=20v2.3.0=20=E2=80=94=20s?= =?UTF-8?q?kill-factory=20Fase=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Doc sync for /ultra-skill-author-local release: - CHANGELOG.md: 2.3.0 section above 2.2.0 with full feature narrative, pipeline diagram, non-goals, new files list, new stats file - README.md: command table row + new ## /ultra-skill-author-local section describing pipeline, modes, IP-hygiene utility, non-goals - CLAUDE.md: row in Commands table (committed in Step 1) - ../../README.md: bumped ultraplan-local row v2.2.0 → v2.3.0, expanded division-of-labor with sixth bullet for /ultra-skill-author-local, added v2.3 narrative paragraph Plan: .claude/projects/2026-04-18-skill-factory-fase-1-mvp/plan.md (step 12) --- README.md | 9 ++-- plugins/ultraplan-local/CHANGELOG.md | 65 ++++++++++++++++++++++++++++ plugins/ultraplan-local/README.md | 47 ++++++++++++++++++++ 3 files changed, 118 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index eb8b448..63aa276 100644 --- a/README.md +++ b/README.md @@ -61,20 +61,23 @@ Key commands: `/config-audit posture`, `/config-audit feature-gap`, `/config-aud --- -### [Ultra {brief | research | architect | plan | execute} - local](plugins/ultraplan-local/) `v2.2.0` +### [Ultra {brief | research | architect | plan | execute} - local](plugins/ultraplan-local/) `v2.3.0` -Deep requirements gathering, research, Claude Code feature matching, implementation planning, and self-verifying execution with specialized agent swarms, adversarial review, and failure recovery. +Deep requirements gathering, research, Claude Code feature matching, implementation planning, self-verifying execution, and skill-factory authoring with specialized agent swarms, adversarial review, IP-hygiene scoring, and failure recovery. -Five commands, one pipeline with clear division of labor: +Five core commands plus an authoring command, one pipeline with clear division of labor: - **`/ultrabrief-local`** — Capture intent. Dynamic, quality-gated interview: a section-driven completeness loop (Phase 3) followed by a `brief-reviewer` stop-gate (Phase 4, max 3 review iterations). Required sections must reach an initial-signal gate AND pass review across completeness, consistency, testability, scope clarity, and research-plan validity before `brief.md` is written. Identifies research topics with copy-paste-ready `/ultraresearch-local` commands. Optional auto-orchestration runs research + planning in foreground. Always interactive. - **`/ultraresearch-local`** — Gather context. Deep multi-source research with triangulation: 5 local agents + 4 external agents + Gemini bridge, producing structured briefs with confidence ratings. Makes no build decisions. - **`/ultra-cc-architect-local`** *(optional, v2.2)* — Match Claude Code features to the task. Reads `brief.md` + `research/*.md`, consults a seeded CC-feature catalog skill (hooks, subagents, skills, output styles, MCP, plan mode, worktrees, background agents), and produces `architecture/overview.md` with brief-anchored rationale plus `architecture/gaps.md` with issue-ready drafts for missing catalog entries. Hallucination gate (enforced by `architecture-critic`) blocks proposals for features not covered by the catalog. - **`/ultraplan-local`** — Transform intent into an executable contract. Per-step YAML manifests (`expected_paths`, `commit_message_pattern`, `bash_syntax_check`). Plan-critic is a hard gate on manifest quality. Requires a task brief as input (`--brief` or `--project`). Auto-discovers the architecture note when present and cross-references its `cc_features_proposed` against exploration findings. - **`/ultraexecute-local`** — Execute the contract disciplined. Manifest-based verification, independent Phase 7.5 audit from git log + filesystem (ignores agent bookkeeping), Phase 7.6 bounded recovery dispatch for missing steps. Step 0 pre-flight catches sandbox push-denial before any work. `--validate` mode offers a fast schema-only sanity-check between planning and execution. +- **`/ultra-skill-author-local`** *(authoring, v2.3, skill-factory Fase 1)* — Generate one `cc-architect-catalog` draft skill from a curated local source file with IP-hygiene enforcement. Sequential pipeline: `concept-extractor` → `skill-drafter` → `ip-hygiene-checker`. Drafts land in `skills/cc-architect-catalog/.drafts/` for manual review and `mv` promotion. Pure-Node n-gram containment scorer (`scripts/ngram-overlap.mjs`) enforces verdict bands; rejected drafts are deleted. Channel 2 of the skill-factory strategy — manual, one-source-at-a-time, no automation. All artifacts land in one project directory: `.claude/projects/{YYYY-MM-DD}-{slug}/` contains `brief.md`, `research/NN-*.md`, `architecture/` *(v2.2)*, `plan.md`, `sessions/`, and `progress.json`. `--project ` works across `/ultraresearch-local`, `/ultra-cc-architect-local`, `/ultraplan-local`, and `/ultraexecute-local`. +v2.3 (non-breaking) ships the skill-factory Fase 1 MVP: `/ultra-skill-author-local` plus four supporting agents (1 opus orchestrator + 3 sonnet workers) and `scripts/ngram-overlap.mjs` (pure Node stdlib, word-5-gram containment + longest-run secondary signal, calibrated against three source/draft fixture pairs). Catalog growth is now tractable without touching the architect's hallucination gate. Non-goals stay explicit: no automation, no batch, no decision-layer skills, no remote sources — manual `mv` from `.drafts/` to catalog root is the promotion mechanism. + v2.2 (non-breaking) adds the optional `/ultra-cc-architect-local` step between research and planning. The architect phase is backed by a versioned catalog skill (`cc-architect-catalog`) with 10 seed entries across three layers (reference, pattern, decision). Gaps are captured as issue-ready drafts so the catalog grows from real usage rather than speculation. `/ultraplan-local` auto-discovers the architecture note — existing pipelines keep working unchanged. v2.1 (non-breaking) replaced the hardcoded Q1–Q8 interview with a dynamic, quality-gated loop; `brief-reviewer` emits machine-readable per-dimension JSON scores so `/ultrabrief-local` can use it as an internal stop-gate. v2.0 (breaking) extracted the interview from planning: briefs are reviewable artifacts that downstream agents (`brief-reviewer`, `plan-critic`, `scope-guardian`) validate independently. `/ultraplan-local` requires `--brief` or `--project`. See `plugins/ultraplan-local/MIGRATION.md`. diff --git a/plugins/ultraplan-local/CHANGELOG.md b/plugins/ultraplan-local/CHANGELOG.md index a57ba12..f573ae3 100644 --- a/plugins/ultraplan-local/CHANGELOG.md +++ b/plugins/ultraplan-local/CHANGELOG.md @@ -4,6 +4,71 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). +## [2.3.0] - 2026-04-18 + +### Added — Skill-factory Fase 1 MVP (`/ultra-skill-author-local`) + +Manual one-skill-at-a-time generator for the `cc-architect-catalog`. +Channel 2 of the skill-factory strategy: a curated local source enters, +one draft skill exits in `skills/cc-architect-catalog/.drafts/`, with +n-gram containment scored against the source and stamped into the +draft frontmatter (or the draft is deleted when overlap is too high). + +**Why now.** `/ultra-cc-architect-local` (v2.2.0) enforces a +hallucination gate that only permits feature proposals backed by the +catalog. With 10 seed skills covering 8 features × 2 layers, the +`feature-matcher` rarely finds a match and silently produces empty +proposals. Fase 1 unblocks catalog growth without spinning up +automation: one source, one draft, manual review, manual `mv` for +promotion. + +**Pipeline.** Sequential, no retry, no parallelism: + +``` +/ultra-skill-author-local + → concept-extractor (sonnet, JSON output, gap-class C/D + cc_feature gate) + → skill-drafter (sonnet, .drafts/.md with 9-field frontmatter) + → ip-hygiene-checker (sonnet, runs scripts/ngram-overlap.mjs) + verdict accepted/needs-review → stamp ngram_overlap_score + verdict rejected → rm draft (no preservation) +``` + +**IP-hygiene utility.** Pure Node stdlib. Word-5-gram containment +similarity (asymmetric draft⊆source) plus longest-consecutive-shingle- +run secondary signal. Verdict bands: accepted (<0.15 AND <8), +needs-review (mid), rejected (≥0.35 OR ≥15). Short-text fallback to +n=4 when min(words) <500. CLI emits JSON. + +**Calibration fixtures.** Three source/draft pairs in +`tests/fixtures/skill-factory/` pin the verdict bands against +representative prose: accepted (containment 0.014), needs-review +(0.211), rejected (0.676). Re-verify any threshold change against +these fixtures. + +**New files:** + +- `commands/ultra-skill-author-local.md` +- `agents/skill-author-orchestrator.md` (opus) +- `agents/concept-extractor.md` (sonnet) +- `agents/skill-drafter.md` (sonnet) +- `agents/ip-hygiene-checker.md` (sonnet) +- `scripts/ngram-overlap.mjs` + `scripts/ngram-overlap.test.mjs` +- `skills/cc-architect-catalog/.drafts/.gitkeep` +- `tests/fixtures/skill-factory/{source,draft}-{accepted,needs-review,rejected}.md` +- `tests/fixtures/skill-factory/README.md` + +**Non-goals (explicit, Fase 1):** + +- No automation, cron, or watcher +- No CC changelog diffing or auto-research +- No batch processing or review command +- No decision-layer skills (cross-feature comparison is Fase 2+) +- No URL or remote sources — local files only +- Manual `mv` from `.drafts/` to catalog root is the promotion mechanism + +**New stats file:** +`${CLAUDE_PLUGIN_DATA}/ultra-skill-author-local-stats.jsonl`. + ## [2.2.0] - 2026-04-18 ### Added — `/ultra-cc-architect-local` optional pipeline step diff --git a/plugins/ultraplan-local/README.md b/plugins/ultraplan-local/README.md index 1e0dbef..b93f905 100644 --- a/plugins/ultraplan-local/README.md +++ b/plugins/ultraplan-local/README.md @@ -13,6 +13,7 @@ A [Claude Code](https://docs.anthropic.com/en/docs/claude-code) plugin for deep | **`/ultra-cc-architect-local`** | Architect (optional) — match brief+research against available CC features; produce architecture note with explicit gaps | | **`/ultraplan-local`** | Plan — agent swarm exploration, Opus planning, adversarial review | | **`/ultraexecute-local`** | Execute — disciplined step-by-step implementation with failure recovery | +| **`/ultra-skill-author-local`** | Authoring (v2.3, skill-factory Fase 1) — generate one cc-architect-catalog draft from a local source with IP-hygiene | Every artifact lives in one project directory: `.claude/projects/{YYYY-MM-DD}-{slug}/` contains `brief.md`, `research/NN-*.md`, `architecture/overview.md` (+ `gaps.md`), `plan.md`, `sessions/`, and `progress.json`. @@ -395,6 +396,52 @@ The executor implements defense-in-depth security across four layers: --- +## `/ultra-skill-author-local` — Authoring *(skill-factory Fase 1, v2.3)* + +Manual one-skill-at-a-time generator for the `cc-architect-catalog`. Channel 2 of the skill-factory strategy: a curated local source enters, one draft skill exits in `skills/cc-architect-catalog/.drafts/` with its n-gram containment score against the source stamped into the frontmatter (or the draft is deleted when the overlap is too high). + +### Why it exists + +`/ultra-cc-architect-local` enforces a hallucination gate that only permits feature proposals backed by the catalog. With 10 seed skills covering 8 features × 2 layers, the matcher rarely finds support and silently produces empty proposals. This command grows the catalog without spinning up automation: one source → one draft → manual review → manual `mv` for promotion. + +### Pipeline + +Sequential, no retry, no parallelism: + +``` +/ultra-skill-author-local + → concept-extractor (sonnet) → JSON: cc_feature, layer, slug + → skill-drafter (sonnet) → .drafts/.md, 9-field frontmatter + → ip-hygiene-checker (sonnet) → runs scripts/ngram-overlap.mjs + verdict accepted/needs-review → stamp ngram_overlap_score + verdict rejected → rm draft (no preservation) +``` + +### Modes + +| Mode | Usage | Behavior | +|------|-------|----------| +| **Default** | `/ultra-skill-author-local ` | Run the pipeline (concept → draft → IP-hygiene) foreground | +| **`--fg`** | `/ultra-skill-author-local --fg` | Same as default; flag accepted for pipeline-convention consistency | +| **`--quick`** | `/ultra-skill-author-local --quick` | Skip IP-hygiene with BIG WARNING (drafting-pipeline test only) | + +### IP-hygiene utility + +`scripts/ngram-overlap.mjs` — pure Node stdlib, zero dependencies. Word-5-gram containment similarity (asymmetric draft⊆source) plus longest-consecutive-shingle-run secondary signal. Verdict bands: `accepted` (<0.15 AND <8), `needs-review` (mid), `rejected` (≥0.35 OR ≥15). Short-text fallback to n=4 when min(words) <500. CLI emits JSON. + +Calibration fixtures in `tests/fixtures/skill-factory/` pin the verdict bands against representative prose. Re-verify any threshold change against these fixtures. + +### Non-goals (explicit, Fase 1) + +- No automation, cron, or watcher +- No CC changelog diffing or auto-research +- No batch processing or review command +- No decision-layer skills (cross-feature comparison is Fase 2+) +- No URL or remote sources — local files only +- Manual `mv` from `.drafts/` to catalog root is the promotion mechanism + +--- + ## The full pipeline ```