Skip to content

Commit 7a3ba1f

Browse files
committed
v3.3.0: fix Chain of Density, implement quality scoring, repair installer
Remediation of the 2026-07-19 review checklist (Sections 0-4), verified against primary sources before acting. Frameworks (count 27 -> 29): - chain-of-density.md rewritten as the actual published method: entity densification at FIXED length, scoped to summarization, cited to Adams et al. (arXiv 2309.04269). The prior content described progressive shortening, which is the opposite of the technique. - New framework "Iterative Compression" preserves that general technique under an honest name, no longer attributed to CoD. Skill behavior: - Quality scoring implemented. Advertised in three places, implemented in none; the skill's dimensions also disagreed with the README's. Now scores 1-10 on Clarity/Specificity/Context/Completeness/Structure with rubric anchors, in both SKILL.md and the adapter. - "Combining Frameworks" section added, finally routing to hybrid_template.txt. - SKILL.md had two sections numbered "### 4."; now 1-7, matching the adapter. Installer: - Mode 5 (postinstall, the path most users hit) and Mode 3 (--yes) installed to Claude Code only. Both now install to every detected agent. - Windsurf adapter duplicated itself on every reinstall: a fresh .windsurfrules was written without markers, and the strip regex lacked the g flag. - --project was ignored for the gemini and universal targets. - --force was dead code; it now gates replacing a symlinked install path, which was previously deleted without warning. - engines.node >=14.0.0 -> >=20.19.0: @clack/prompts is ESM-only, so require() threw ERR_REQUIRE_ESM across most of the declared range. Citations (each verified against the primary source): - step-back.md: MuSiQue +25% -> +7% (a 3.5x overstatement) - reverse-role.md: Chang, IEEE CCWC 2023 (single author, not EMNLP/NAACL) - pre-mortem.md: reattributed to Mitchell/Russo/Pennington 1989; dropped the unsupported "Brookings Institution" - skeleton-of-thought.md: quality parity ~60% of cases, degrades on writing/math/code - cai-critique-revise.md: scoped to small models - chain-of-thought.md: Self-Consistency template now does a real majority vote over sampled paths instead of asking the model to judge its own approaches - 10 uncited docs given origin lines; CO-STAR credited to GovTech Singapore (per Teo's own article) rather than to Teo - rise.md / tidd-ec.md: RISE-IX and TIDD-EC provenance corrected with honest hedging rather than deletion Tooling: - validate-skill.js derives framework/template checks from the filesystem instead of a hardcoded 7-entry subset, and asserts advertised counts match reality — the check whose absence let "27" ship alongside 28 frameworks. - validate-skill.js now checks all five version sites; it previously checked only plugin.json and never checked SKILL.md's version at all. - test.js gained a SKILL.md <-> adapter drift guard (they had already drifted). - Deleted framework_analyzer.py and prompt_evaluator.py (~50KB, never invoked, already rotted). Their scoring dimensions were carried into the rubric first. - Deleted version-bump.yml, which pushed a tag after updating only package.json. Docs: - README no longer tells users to create an .npmrc and GitHub token for a registry this package is not published to. - CHANGELOG backfilled for 3.1.0, 3.1.1, 3.2.0, 3.2.1, 3.2.2; stale links repointed from the old package name.
1 parent 5593965 commit 7a3ba1f

36 files changed

Lines changed: 1310 additions & 1920 deletions

.claude-plugin/marketplace.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
"email": "charles@kelsoe.com"
66
},
77
"metadata": {
8-
"description": "Prompt engineering skill using 27 research-backed frameworks across 7 intent categories"
8+
"description": "Prompt engineering skill using 29 frameworks across 7 intent categories"
99
},
1010
"plugins": [
1111
{
1212
"name": "prompt-architect",
1313
"source": "./",
14-
"description": "Analyzes and improves prompts using 27 research-backed frameworks. Intent-based selection routes to the right framework — from ultra-minimal (APE) to agentic (ReAct).",
15-
"version": "3.2.2",
14+
"description": "Analyzes and improves prompts using 29 frameworks. Intent-based selection routes to the right framework — from ultra-minimal (APE) to agentic (ReAct).",
15+
"version": "3.3.0",
1616
"keywords": ["prompt-engineering", "prompt-frameworks", "agent-skills"],
1717
"category": "productivity"
1818
}

.claude-plugin/plugin.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "prompt-architect",
3-
"description": "27-framework prompt engineering skill for analyzing and improving prompts across 7 intent categories",
4-
"version": "3.2.2",
3+
"description": "29-framework prompt engineering skill for analyzing and improving prompts across 7 intent categories",
4+
"version": "3.3.0",
55
"author": {
66
"name": "Charles Kelsoe",
77
"email": "charles@kelsoe.com"

.github/workflows/test.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ jobs:
1212

1313
strategy:
1414
matrix:
15-
node-version: [18.x, 20.x, 22.x]
15+
# Floor must match package.json engines.node (>=20.19.0) — @clack/prompts
16+
# is ESM-only, so require() of it throws ERR_REQUIRE_ESM below 20.19.
17+
node-version: [20.19.x, 22.x, 24.x]
1618

1719
steps:
1820
- name: Checkout code

.github/workflows/version-bump.yml

Lines changed: 0 additions & 76 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 107 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,108 @@ All notable changes to the Prompt Architect Claude Code skill will be documented
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [3.3.0] - 2026-07-19
9+
10+
### Added
11+
- **Chain of Density is now the real method.** `chain-of-density.md` was rewritten around entity densification at *fixed* length, scoped to summarization, and cited to Adams et al., "From Sparse to Dense" (arXiv 2309.04269, NewSum @ EMNLP 2023). The previous content described generic progressive shortening — the opposite of the published technique, which holds length constant.
12+
- **New framework: Iterative Compression.** The general multi-pass shortening technique that used to be filed under Chain of Density is preserved as its own framework, with its own reference doc and template, and is no longer attributed to CoD. Framework count is now 29.
13+
- **Quality scoring is implemented.** `SKILL.md` and `adapters/system-prompt.md` now instruct the model to score prompts 1-10 on the five dimensions the README advertises — Clarity, Specificity, Context, Completeness, Structure — with rubric anchors defining the 1-3 / 4-6 / 7-8 / 9-10 bands. Previously this was advertised in three places and implemented in none, and the skill's dimension list disagreed with the README's.
14+
- **Framework combination guidance.** A "Combining Frameworks" section with concrete pairings (CO-STAR + Self-Refine, RISEN + ReAct, BROKE + Devil's Advocate) that finally routes to `hybrid_template.txt`, previously the only template with no path leading to it.
15+
- **Self-Consistency citation and a corrected template** in `chain-of-thought.md`, now citing Wang et al. (arXiv 2203.11171, ICLR 2023) and describing a real majority vote over independently sampled reasoning paths rather than asking the model to judge which of three different approaches it liked best.
16+
- **Origin lines for 10 previously uncited frameworks**: CO-STAR, Chain-of-Thought, RISEN, APE, RTF, CTF, RACE, BAB, plus corrected provenance for RISE and TIDD-EC.
17+
- **Acronym-collision disambiguation** for APE (vs. "Automatic Prompt Engineer," Zhou et al., arXiv 2211.01910) and RACE (vs. Dave Chaffey's 2010 Reach-Act-Convert-Engage marketing model).
18+
19+
### Changed
20+
- **Provenance is now stated honestly per framework.** Frameworks with peer-reviewed backing cite it; community conventions say so plainly rather than leaving a silent gap. CO-STAR is credited to GovTech Singapore's Data Science & AI team — as Sheila Teo's own article does — rather than to Teo, who popularized it.
21+
- `rise.md`: "RISE-IE" and "RISE-IX" are now labeled as this skill's internal shorthand, not established terminology. RISE-IX is identified as our own composition; its three previously cited sources do not support it. `ctf.md` no longer propagates "RISE-IE" as if it were standard vocabulary.
22+
- `tidd-ec.md`: dropped the "originally documented alongside CO-STAR" claim, which implied a shared provenance that does not exist, and reassessed its three "authoritative sources" as one origin post, one same-organization republication, and one passing mention.
23+
- `SKILL.md` step numbering fixed — it had two sections numbered `### 4.` and now runs 1-7, matching the adapter.
24+
- `SKILL.md` template section reduced from a 30-line filename listing to one line; filenames are mechanically derivable.
25+
- Installer `--force` now does something: it is required to replace a **symlinked** install path, which previously was deleted without warning.
26+
27+
### Fixed
28+
- **Installer no longer installs to Claude Code only.** Mode 5 (the `postinstall` path most users hit) and Mode 3 (`--yes`) now install to every detected agent, as documented. Mode 5 previously hard-skipped every agent but Claude and ignored `detect()` entirely.
29+
- **Windsurf adapter no longer duplicates itself.** A fresh `.windsurfrules` was written without marker comments, so the next run could not find or remove it and appended a second copy; the marker-stripping regex also lacked the `g` flag. Verified stable across repeated installs.
30+
- **`--project` is no longer ignored** for the Gemini and universal Agent Skills targets — only the Claude entry honored it.
31+
- **`engines.node` raised to `>=20.19.0`.** It declared `>=14.0.0`, but `@clack/prompts@1.1.0` is ESM-only, so `require()` of it throws `ERR_REQUIRE_ESM` below 20.19 — the headline `npx` experience failed across most of the declared range with a bare "Installation error". The CI matrix floor was raised to match.
32+
- **Step-Back statistic corrected**: MuSiQue is +7%, not +25% (a 3.5x overstatement); MMLU is +7% Physics / +11% Chemistry, not a "7-27% range."
33+
- **Socratic Prompting citation corrected**: single author Edward Y. Chang, IEEE CCWC 2023 — not "Chang et al." and not EMNLP/NAACL.
34+
- **Pre-Mortem attribution corrected**: the ~30% finding belongs to Mitchell, Russo & Pennington (1989), popularized by Gary Klein (HBR 2007); it measures identification of "reasons for future outcomes" against a might-happen framing, not "failure causes" against forward risk analysis. The unsupported "Brookings Institution" affiliation was removed.
35+
- **Skeleton-of-Thought quality claim qualified**: parity in roughly 60% of cases, with degradation on writing, math, and coding — previously "maintained or improved quality."
36+
- **Constitutional AI claim scoped**: the critique-before-revision effect is strongest for smaller models; the authors found no noticeable difference at 52B and kept critiques for transparency.
37+
- README no longer instructs users to create an `.npmrc` and a GitHub token for a registry the package is not published to. It is on public npm and needs no authentication.
38+
- README: duplicate `## Quick Start` heading renamed to `## Verifying Your Installation` (the table of contents anchor resolved to the wrong section), and the TOC completed.
39+
40+
### Removed
41+
- `framework_analyzer.py` and `prompt_evaluator.py` (~50 KB). Nothing invoked them, they had no CLI, and `framework_analyzer.py` had already drifted — its header read "all 27" above a 28-entry dict. Their scoring dimensions were carried into the SKILL.md rubric before removal.
42+
- `.github/workflows/version-bump.yml`. It ran `npm version`, which updates only `package.json`, then immediately pushed the tag — landing a broken release tag on the remote before anyone could intervene.
43+
44+
### Validation
45+
- `validate-skill.js` now derives framework and template checks from the filesystem instead of a hardcoded 7-entry subset, cross-checks `claudeCode.frameworks` against what is on disk, and **asserts every advertised framework count agrees with reality**. This is the check whose absence let "27" ship while 28 frameworks existed.
46+
- `validate-skill.js` now verifies **all five version sites**`package.json`, `claudeCode.version`, `plugin.json`, `marketplace.json`, and `SKILL.md` frontmatter. It previously checked only `plugin.json`, and did not check SKILL.md's version at all, despite documentation claiming otherwise.
47+
- `test.js` gained a **drift guard** asserting `SKILL.md` and `adapters/system-prompt.md` keep identical step headings, sequential numbering, and the same framework set. These two files are hand-maintained copies and had already diverged.
48+
49+
---
50+
51+
## [3.2.2] - 2026-03-30
52+
53+
### Added
54+
- Prominent Quick Start at the top of the README with the `npx @ckelsoe/prompt-architect` command
55+
- Codex CLI installation instructions via `$skill-installer install`
56+
- `/install-skill` documented as the primary Claude Code installation method, with the plugin marketplace commands retained for update support
57+
58+
### Changed
59+
- README installation section consolidated: separate per-tool sections for Gemini CLI and for Cursor/Copilot/Windsurf/Codex were replaced by a single "Other Agents" section pointing at `~/.agents/skills/`
60+
- npm demoted to an alternative installation method
61+
62+
### Fixed
63+
- `.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json` versions brought back in sync with `package.json`; both had been left behind at 3.2.1
64+
65+
---
66+
67+
## [3.2.1] - 2026-03-24
68+
69+
### Fixed
70+
- **Direct download link for ChatGPT**: the `.skill` link now points at `releases/latest/download/prompt-architect.skill` rather than the releases page, making it a one-click download
71+
- **Nothing after the revised prompt**: SKILL.md now states explicitly that no text may follow the closing backticks — the revised prompt must be the last element of the response. The example interaction was updated to comply.
72+
73+
### Changed
74+
- `prompt-architect.skill` removed from git tracking and added to a new `.gitignore` alongside `node_modules/`. It is a build artifact produced by `npm run build:skill` and attached to releases by CI.
75+
76+
---
77+
78+
## [3.2.0] - 2026-03-24
79+
80+
### Changed
81+
- **SKILL.md "Present Improvements" restructured for copy-pasteable output.** Responses now follow a fixed order: (A) analysis — framework selected, changes made, components applied; (B) a usage-instructions block explaining how to use the prompt in a new chat or the same chat; (C) the revised prompt last, in a fenced code block.
82+
- **The revised prompt is now clean flat text**: no framework section headers (`BEFORE:`, `BRIDGE:`, `CONTEXT:`), no gratuitous indentation, and no internal markdown unless the prompt genuinely requires it — so it can be copied verbatim with zero editing.
83+
- Example interaction rewritten to model the new output structure
84+
- Version synced across SKILL.md, `package.json`, `plugin.json`, and `marketplace.json`
85+
86+
---
87+
88+
## [3.1.1] - 2026-03-24
89+
90+
### Fixed
91+
- **CI pipeline**: committed `package-lock.json` so `npm ci` works, and removed the unreliable `npm ci || npm install` fallback
92+
- Test matrix moved to Node 18/20/22; Node 14/16 dropped, as `@clack/prompts` requires a newer runtime
93+
94+
---
95+
96+
## [3.1.0] - 2026-03-24
97+
98+
> The 3.x restructure described in the `[3.0.0]` entry below shipped across the 3.0.x line and landed in git under the `v3.1.0` tag. The items here are the parts of that work not already listed there.
99+
100+
### Added
101+
- **`.skill` builder**: `scripts/build-skill.js` and `npm run build:skill` produce a ZIP for ChatGPT upload
102+
- **`bin` entry**: `npx @ckelsoe/prompt-architect` runs the installer directly
103+
104+
### Changed
105+
- `package.json` `files` array now ships `skills/`, `.claude-plugin/`, and `MIGRATION.md`
106+
- Removed the obsolete adapters `for-cursor.mdc`, `for-github-copilot.md`, and `for-openai-codex-cli.md` — those tools read `SKILL.md` natively. Only `system-prompt.md` (universal) and `for-windsurf.md` remain.
107+
108+
---
109+
8110
## [3.0.0] - 2026-03-24
9111

10112
### Breaking Changes
@@ -14,7 +116,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
14116
### Added
15117
- **Claude Code Plugin System support**: `.claude-plugin/plugin.json` and `marketplace.json` — install via `/plugin marketplace add` and `/plugin install`
16118
- **Gemini CLI support**: Native Agent Skills compatibility. Install via `gemini skills install`
17-
- **Agent Skills standard compliance** (agentskills.io): Added `license`, `compatibility`, and `metadata` fields to SKILL.md frontmatter. Works with 30+ compatible agents including Cursor, Copilot, Kiro, Roo Code, Amp, OpenHands, and more
119+
- **Agent Skills standard compliance** (agentskills.io): Added `license`, `compatibility`, and `metadata` fields to SKILL.md frontmatter. Works with 30+ compatible agents including Cursor, Copilot, Kiro, Zoo Code, Amp, OpenHands, and more
18120
- **Interactive multi-agent installer**: Detects installed AI agents (Claude Code, Gemini CLI, Cursor, Copilot, Windsurf, Codex) and presents a selection UI using @clack/prompts
19121
- **Universal install path**: `~/.agents/skills/` for Agent Skills standard compatible tools
20122
- **CLI flags**: `--all`, `--claude`, `--gemini`, `--agents`, `--cursor`, `--copilot`, `--windsurf`, `--codex`, `--yes`
@@ -258,7 +360,7 @@ The framework selection system in SKILL.md was completely restructured:
258360

259361
## Links
260362

261-
- [npm Package](https://www.npmjs.com/package/@ckelsoe/claude-skill-prompt-architect)
262-
- [GitHub Repository](https://github.com/ckelsoe/claude-skill-prompt-architect)
263-
- [Issue Tracker](https://github.com/ckelsoe/claude-skill-prompt-architect/issues)
264-
- [Contributing Guidelines](https://github.com/ckelsoe/claude-skill-prompt-architect/blob/main/README.md#contributing)
363+
- [npm Package](https://www.npmjs.com/package/@ckelsoe/prompt-architect)
364+
- [GitHub Repository](https://github.com/ckelsoe/prompt-architect)
365+
- [Issue Tracker](https://github.com/ckelsoe/prompt-architect/issues)
366+
- [Contributing Guidelines](https://github.com/ckelsoe/prompt-architect/blob/main/README.md#contributing)

MIGRATION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ skills/prompt-architect/SKILL.md
5454

5555
### The skill itself is unchanged
5656

57-
The `SKILL.md` content, all 27 frameworks, reference docs, and templates are identical. Only the packaging and distribution have changed.
57+
The `SKILL.md` content, all framework reference docs, and all templates are identical. Only the packaging and distribution have changed.
5858

5959
## GitHub Repository
6060

0 commit comments

Comments
 (0)