@ckelsoe/prompt-architect 3.3.1 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/CHANGELOG.md +34 -0
  4. package/README.md +7 -3
  5. package/adapters/system-prompt.md +96 -55
  6. package/package.json +6 -4
  7. package/scripts/test.js +32 -0
  8. package/skills/prompt-architect/SKILL.md +74 -41
  9. package/skills/prompt-architect/assets/templates/ape_template.txt +14 -3
  10. package/skills/prompt-architect/assets/templates/bab_template.txt +23 -10
  11. package/skills/prompt-architect/assets/templates/broke_template.txt +31 -6
  12. package/skills/prompt-architect/assets/templates/cai-critique-revise_template.txt +16 -8
  13. package/skills/prompt-architect/assets/templates/care_template.txt +4 -0
  14. package/skills/prompt-architect/assets/templates/chain-of-density_template.txt +30 -31
  15. package/skills/prompt-architect/assets/templates/chain-of-thought_template.txt +8 -0
  16. package/skills/prompt-architect/assets/templates/chain-of-verification_template.txt +26 -0
  17. package/skills/prompt-architect/assets/templates/co-star_template.txt +8 -0
  18. package/skills/prompt-architect/assets/templates/crispe_template.txt +6 -0
  19. package/skills/prompt-architect/assets/templates/ctf_template.txt +8 -0
  20. package/skills/prompt-architect/assets/templates/devils-advocate_template.txt +7 -0
  21. package/skills/prompt-architect/assets/templates/hybrid_template.txt +44 -24
  22. package/skills/prompt-architect/assets/templates/iterative-compression_template.txt +43 -28
  23. package/skills/prompt-architect/assets/templates/least-to-most_template.txt +4 -0
  24. package/skills/prompt-architect/assets/templates/plan-and-solve_template.txt +4 -0
  25. package/skills/prompt-architect/assets/templates/pre-mortem_template.txt +24 -14
  26. package/skills/prompt-architect/assets/templates/race_template.txt +9 -0
  27. package/skills/prompt-architect/assets/templates/rcot_template.txt +8 -0
  28. package/skills/prompt-architect/assets/templates/react_template.txt +38 -16
  29. package/skills/prompt-architect/assets/templates/rise-ie_template.txt +4 -0
  30. package/skills/prompt-architect/assets/templates/rise-ix_template.txt +3 -3
  31. package/skills/prompt-architect/assets/templates/risen_template.txt +7 -0
  32. package/skills/prompt-architect/assets/templates/rpef_template.txt +16 -11
  33. package/skills/prompt-architect/assets/templates/rtf_template.txt +9 -0
  34. package/skills/prompt-architect/assets/templates/self-consistency_template.txt +12 -0
  35. package/skills/prompt-architect/assets/templates/skeleton-of-thought_template.txt +18 -10
  36. package/skills/prompt-architect/assets/templates/step-back_template.txt +4 -0
  37. package/skills/prompt-architect/assets/templates/tidd-ec_template.txt +54 -31
  38. package/skills/prompt-architect/assets/templates/tree-of-thought_template.txt +37 -21
  39. package/skills/prompt-architect/references/frameworks/ape.md +143 -57
  40. package/skills/prompt-architect/references/frameworks/bab.md +137 -58
  41. package/skills/prompt-architect/references/frameworks/broke.md +157 -57
  42. package/skills/prompt-architect/references/frameworks/cai-critique-revise.md +183 -75
  43. package/skills/prompt-architect/references/frameworks/care.md +67 -36
  44. package/skills/prompt-architect/references/frameworks/chain-of-density.md +49 -27
  45. package/skills/prompt-architect/references/frameworks/chain-of-thought.md +28 -7
  46. package/skills/prompt-architect/references/frameworks/chain-of-verification.md +231 -0
  47. package/skills/prompt-architect/references/frameworks/co-star.md +100 -44
  48. package/skills/prompt-architect/references/frameworks/crispe.md +7 -5
  49. package/skills/prompt-architect/references/frameworks/ctf.md +73 -37
  50. package/skills/prompt-architect/references/frameworks/devils-advocate.md +105 -58
  51. package/skills/prompt-architect/references/frameworks/iterative-compression.md +236 -269
  52. package/skills/prompt-architect/references/frameworks/least-to-most.md +35 -13
  53. package/skills/prompt-architect/references/frameworks/plan-and-solve.md +38 -9
  54. package/skills/prompt-architect/references/frameworks/pre-mortem.md +176 -66
  55. package/skills/prompt-architect/references/frameworks/race.md +91 -38
  56. package/skills/prompt-architect/references/frameworks/rcot.md +1 -1
  57. package/skills/prompt-architect/references/frameworks/react.md +230 -97
  58. package/skills/prompt-architect/references/frameworks/reverse-role.md +22 -15
  59. package/skills/prompt-architect/references/frameworks/rise.md +94 -70
  60. package/skills/prompt-architect/references/frameworks/risen.md +80 -28
  61. package/skills/prompt-architect/references/frameworks/rpef.md +227 -58
  62. package/skills/prompt-architect/references/frameworks/rtf.md +2 -2
  63. package/skills/prompt-architect/references/frameworks/self-consistency.md +195 -0
  64. package/skills/prompt-architect/references/frameworks/self-refine.md +4 -2
  65. package/skills/prompt-architect/references/frameworks/skeleton-of-thought.md +67 -21
  66. package/skills/prompt-architect/references/frameworks/step-back.md +47 -15
  67. package/skills/prompt-architect/references/frameworks/tidd-ec.md +110 -45
  68. package/skills/prompt-architect/references/frameworks/tree-of-thought.md +112 -37
  69. package/skills/prompt-architect/references/techniques/few-shot.md +121 -0
@@ -5,14 +5,14 @@
5
5
  "email": "charles@kelsoe.com"
6
6
  },
7
7
  "metadata": {
8
- "description": "Prompt engineering skill using 29 frameworks across 7 intent categories"
8
+ "description": "Prompt engineering skill using 31 frameworks across 7 intent categories"
9
9
  },
10
10
  "plugins": [
11
11
  {
12
12
  "name": "prompt-architect",
13
13
  "source": "./",
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.1",
14
+ "description": "Analyzes and improves prompts using 31 frameworks. Intent-based selection routes to the right framework — from ultra-minimal (APE) to agentic (ReAct).",
15
+ "version": "3.5.0",
16
16
  "keywords": ["prompt-engineering", "prompt-frameworks", "agent-skills"],
17
17
  "category": "productivity"
18
18
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "prompt-architect",
3
- "description": "29-framework prompt engineering skill for analyzing and improving prompts across 7 intent categories",
4
- "version": "3.3.1",
3
+ "description": "31-framework prompt engineering skill for analyzing and improving prompts across 7 intent categories",
4
+ "version": "3.5.0",
5
5
  "author": {
6
6
  "name": "Charles Kelsoe",
7
7
  "email": "charles@kelsoe.com"
package/CHANGELOG.md CHANGED
@@ -5,6 +5,40 @@ All notable changes to the Prompt Architect Claude Code skill will be documented
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.5.0] - 2026-07-22
9
+
10
+ Adds two research-backed frameworks, one composable technique, and a guardrail against unfalsifiable framework-selection rationale. Framework count is now 31.
11
+
12
+ ### Added
13
+ - **Self-Consistency** (REASON) — sample the same reasoning prompt N times at non-zero temperature and take a plain majority vote over the final answers, aggregated *outside* the model. Cited to Wang et al., "Self-Consistency Improves Chain of Thought Reasoning in Language Models" (arXiv 2203.11171, ICLR 2023). The doc is explicit that this is *not* self-assessment (asking one model to judge its own paths) and that the emitted prompt is a single solve-prompt ending in a parseable `FINAL ANSWER:` line — the N-sample vote is an operational step the analysis section instructs, not something one pasted prompt can do. Absolute figures (56.5% → 74.4%, PaLM 540B / GSM8K) are labeled Table 1 body figures; the +17.9% is the abstract's relative delta.
14
+ - **Chain-of-Verification** (CRITIQUE) — draft an answer, plan verification questions, answer them **independently of the draft**, then revise. That independence is the mechanism: it stops the verification from inheriting the draft's errors. Cited to Dhuliawala et al. (arXiv 2309.11495, Findings of ACL 2024). Distinct from RCoT, which reconstructs the question to catch missed *conditions*; CoVe fact-checks *claims*.
15
+ - **Few-shot / in-context learning** as a **composable technique**, not a routed framework. It lives in `references/techniques/few-shot.md` and layers onto whichever framework was chosen — covering when examples help, how many (2–5), ordering and recency effects (Lu et al., ACL 2022), what examples actually teach (format and label space over per-example correctness — Min et al., EMNLP 2022), and calibration/bias balancing (Zhao et al., ICML 2021). Brown et al. (arXiv 2005.14165) is cited only for the term, never for a number. A new "Composable Techniques" section in `SKILL.md` and the adapter routes to it.
16
+
17
+ ### Changed
18
+ - **Anti-false-narration guardrail.** Because section headers are stripped at emission, the framework choice is often invisible in the delivered prompt — so `SKILL.md` and the adapter now instruct: when two frameworks would produce the same prompt, say so, pick the simpler one, and do not manufacture a distinction the output won't show. A new drift-test invariant keeps the rule present in both files.
19
+ - Framework count 29 → 31 across all advertised sites (`package.json` description and `claudeCode.frameworks`, `plugin.json`, `marketplace.json`, `README.md`, `SKILL.md`, adapter).
20
+
21
+ ---
22
+
23
+ ## [3.4.0] - 2026-07-22
24
+
25
+ This release makes the **emission contract** explicit and consistent across the whole skill. When Prompt Architect delivers the final prompt, framework section headers (`CONTEXT:`, `ROLE:`, `BEFORE:`, …) are stripped — the user pastes a flat block of prose with no labels. Previously the framework docs and templates were written as if those headers would survive, so slots that were bare fragments ("meeting summary", "busy professionals") lost their meaning once the header was removed. Every framework now carries its own meaning in prose.
26
+
27
+ ### Added
28
+ - **Optional `SOURCE MATERIAL` block on every template that operates on an artifact.** It names the artifact concretely (never a generic "content"), ties it to the task with one carrier sentence, and self-deletes for from-scratch tasks. Three frameworks are deliberately exempt because they have no pasted-material slot: **ReAct** (material arrives as live tool output), **Reverse Role** (everything is gathered through the interview), and **RISE-IX** (its samples land in the EXAMPLES slot).
29
+ - **Emission-contract test guard.** `scripts/test.js` now fails if the load-bearing output-delivery rules (no section headers in the deliverable, paste-verbatim, "revised prompt is last element", the negation-survival and no-defaulting rules, and the worked example obeying them) diverge between `SKILL.md` and `adapters/system-prompt.md`. The prior drift checks compared only step headings and framework names, so prose drift — like the adapter shipping a BAB example *with* `BEFORE:/AFTER:/BRIDGE:` headers — passed silently.
30
+
31
+ ### Changed
32
+ - **All 28 framework reference docs rewritten for the emission contract.** Each Overview now states how the framework emits; each component's guidance says whether its slot must be a complete sentence or ships inside a carrier sentence; and every Complete Example is shown in emitted form — with the `SOURCE MATERIAL` block, "the … above" references, and at least one from-scratch variant showing the block deleted. Origin/citation facts were preserved verbatim throughout.
33
+ - **Elicitation questions in `SKILL.md` and the adapter now ask for the user's own material** ("Paste the Q3 revenue report here", "paste 2-3 actual samples whose style should be matched") instead of one-word checklists ("Context, audience, tone?"). A framework that operates on an artifact and never asks for it will otherwise invent one. The material-question exemptions above are documented inline.
34
+ - **APE loses its collapsed single-sentence form.** The two inconsistent inline syntaxes it advertised were never implemented by the template and break when source material or multi-clause expectations are present; the doc now explains why. A complete APE prompt is still three sentences.
35
+ - **`RISE` → `RISE-IE` in cross-references.** Docs that pointed to RISE as the input-transformation framework now use the skill's `RISE-IE` shorthand consistently. `RISEN` references are unchanged.
36
+
37
+ ### Fixed
38
+ - **`RACE` examples no longer dangle.** Two examples referenced material "described below" when the `SOURCE MATERIAL` block places it above; they now say "above", matching the template's positioning rule.
39
+
40
+ ---
41
+
8
42
  ## [3.3.1] - 2026-07-19
9
43
 
10
44
  ### Fixed
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Prompt Architect
2
2
 
3
- Transform vague prompts into expert-level, structured prompts using 29 frameworks across 7 intent categories.
3
+ Transform vague prompts into expert-level, structured prompts using 31 frameworks across 7 intent categories.
4
4
 
5
5
  Works with **Claude Code, ChatGPT, Gemini CLI, Cursor, GitHub Copilot, Windsurf, OpenAI Codex**, and [30+ Agent Skills compatible tools](https://agentskills.io).
6
6
 
@@ -60,7 +60,7 @@ Prompt Architect is an [Agent Skills](https://agentskills.io) compatible skill t
60
60
 
61
61
  ## Key Features
62
62
 
63
- ### 29 Frameworks Across 7 Intent Categories
63
+ ### 31 Frameworks Across 7 Intent Categories
64
64
 
65
65
  | Framework | Best For | Complexity |
66
66
  |-----------|----------|------------|
@@ -84,6 +84,7 @@ Prompt Architect is an [Agent Skills](https://agentskills.io) compatible skill t
84
84
  | **Least-to-Most** | Compositional multi-hop problems (simplest first) | Medium |
85
85
  | **Plan-and-Solve (PS+)** | Zero-shot numerical/calculation reasoning | Low |
86
86
  | **Chain of Thought** | Reasoning, problem-solving | Medium |
87
+ | **Self-Consistency** | Robust answers: sample many reasoning paths, majority-vote | Medium |
87
88
  | **Chain of Density** | Summarization at fixed length, maximum information density | Medium |
88
89
  | **Iterative Compression** | Shortening text toward a target length | Low |
89
90
  | **Self-Refine** | Iterative output quality improvement (any task) | Medium |
@@ -91,9 +92,12 @@ Prompt Architect is an [Agent Skills](https://agentskills.io) compatible skill t
91
92
  | **Devil's Advocate** | Strongest opposing argument against a position | Low |
92
93
  | **Pre-Mortem** | Assume failure, identify specific causes | Low |
93
94
  | **RCoT** | Verify reasoning by reconstructing the question | Medium |
95
+ | **Chain-of-Verification** | Fact-check a draft by verifying each claim independently | Medium |
94
96
  | **RPEF** | Recover/reconstruct a prompt from an existing output | Low |
95
97
  | **Reverse Role Prompting** | AI interviews you before executing | Low |
96
98
 
99
+ **Composable technique** (layered onto any framework, not one of the 31): **Few-shot / in-context examples** — the discipline of adding well-chosen, well-ordered worked examples to a prompt.
100
+
97
101
  ### Quality Scoring System
98
102
 
99
103
  Every prompt is evaluated across:
@@ -908,7 +912,7 @@ prompt-architect/
908
912
 
909
913
  **Core Components:**
910
914
  - **SKILL.md** - Main skill logic and instructions (intent-based selection system)
911
- - **Framework Reference Docs** - 28 files covering all 29 frameworks, with examples (RISE documents two variants)
915
+ - **Framework Reference Docs** - 30 files covering all 31 frameworks, with examples (RISE documents two variants)
912
916
  - **Templates** - 30 ready-to-use structures: one per framework, plus `hybrid_template.txt` for combinations
913
917
 
914
918
  ---
@@ -36,7 +36,9 @@ Score the prompt *as written*, not as you charitably interpret it — the gap be
36
36
 
37
37
  ### 2. Intent-Based Framework Selection
38
38
 
39
- With 29 frameworks, identify the user's **primary intent** first, then use the discriminating questions within that category.
39
+ With 31 frameworks, identify the user's **primary intent** first, then use the discriminating questions within that category.
40
+
41
+ **When two frameworks would produce the same prompt, say so and pick the simpler one.** Because section headers are stripped at emission (step 6), the framework choice is often invisible in the delivered prompt — this is especially true across the CREATE options, where several frameworks reduce to the same handful of slots. When you cannot point to a concrete difference the *emitted* prompt would show, do not manufacture one: name the tie plainly, choose the simpler framework, and move on. A confident rationale for an unobservable choice is exactly the overstatement this skill exists to remove.
40
42
 
41
43
  ---
42
44
 
@@ -94,6 +96,7 @@ With 29 frameworks, identify the user's **primary intent** first, then use the d
94
96
  | Multiple distinct approaches to compare | **Tree of Thought** |
95
97
  | Verify reasoning didn't overlook conditions | **RCoT** |
96
98
  | Linear step-by-step reasoning | **Chain of Thought** |
99
+ | Answer must be robust; sample many paths and majority-vote | **Self-Consistency** |
97
100
 
98
101
  ---
99
102
 
@@ -106,8 +109,9 @@ With 29 frameworks, identify the user's **primary intent** first, then use the d
106
109
  | Find the strongest opposing argument | **Devil's Advocate** |
107
110
  | Identify failure modes before they happen | **Pre-Mortem** |
108
111
  | Verify reasoning didn't miss conditions | **RCoT** |
112
+ | Draft may contain hallucinated facts; verify each claim | **Chain-of-Verification** |
109
113
 
110
- *Self-Refine = any quality. CAI = principle compliance. Devil's Advocate = opposing arguments. Pre-Mortem = failure analysis. RCoT = condition verification.*
114
+ *Self-Refine = any quality. CAI = compliance with an **explicitly stated** standard or requirement set (and aligning the artifact to it — e.g. auditing a plan against a brief's constraints). Devil's Advocate = opposing arguments. Pre-Mortem = failure analysis. RCoT = an answer or plan overlooked a condition **implicit in the problem** (units, edge cases, unstated dependencies). Chain-of-Verification = independent fact-checking of a draft's factual claims.*
111
115
 
112
116
  ---
113
117
 
@@ -127,7 +131,13 @@ Most prompts need exactly one framework. Combine only when the task genuinely ha
127
131
  | Multi-step procedure executed with tools | **RISEN + ReAct** | RISEN specifies the steps and success criteria; ReAct governs the tool-use cycle within each step |
128
132
  | Business deliverable with a hostile audience | **BROKE + Devil's Advocate** | BROKE sets objective and key results; Devil's Advocate stress-tests them before they reach a stakeholder |
129
133
 
130
- When you combine, state plainly in your analysis which framework owns which phase. Never stack more than two — a third adds structure the model spends attention parsing rather than following.
134
+ When you combine, state plainly in your analysis which framework owns which phase. Never stack more than two — beyond that the frameworks' instructions start to overlap and contradict, and no single framework clearly owns any phase.
135
+
136
+ #### Composable Techniques
137
+
138
+ Some techniques are not frameworks you choose *between* — they are layers you add *on top of* whichever framework you picked, so they never appear in the routing tables above.
139
+
140
+ - **Few-shot / in-context examples** — showing 2–5 worked input→output examples inside the emitted prompt. This is the highest-leverage technique in prompting and applies to almost any framework, not just the two with a dedicated examples slot (CARE, RISE-IX). After you draft the framework prompt, decide whether examples earn their place; if they do, insert them before the final instruction, in the exact target output format, and end with the actual task. Keep examples to a handful, put the most representative one last (models weight the most recent example most heavily), keep every example in the exact format you want back, and balance the label set. Never invent examples the user or their material did not supply — fall back to a precise instruction instead.
131
141
 
132
142
  ---
133
143
 
@@ -137,61 +147,92 @@ When you combine, state plainly in your analysis which framework owns which phas
137
147
  **Medium:** RACE | CARE | BAB | BROKE | CRISPE
138
148
  **Comprehensive:** CO-STAR | RISEN | TIDD-EC
139
149
  **Data:** RISE-IE | RISE-IX
140
- **Reasoning:** Plan-and-Solve | Chain of Thought | Least-to-Most | Step-Back | Tree of Thought | RCoT
150
+ **Reasoning:** Plan-and-Solve | Chain of Thought | Least-to-Most | Step-Back | Tree of Thought | RCoT | Self-Consistency
141
151
  **Structure/Iteration:** Skeleton of Thought | Chain of Density | Iterative Compression
142
- **Critique/Quality:** Self-Refine | CAI Critique-Revise | Devil's Advocate | Pre-Mortem
152
+ **Critique/Quality:** Self-Refine | CAI Critique-Revise | Devil's Advocate | Pre-Mortem | Chain-of-Verification
143
153
  **Meta/Reverse:** RPEF | Reverse Role Prompting
144
154
  **Agentic:** ReAct
145
155
 
156
+ **Composable technique (layered onto any framework, not selected between):** Few-shot / in-context examples
157
+
146
158
  ### 4. Clarification Questions
147
159
 
148
160
  Ask targeted questions (3-5 at a time) based on identified gaps:
149
161
 
150
- **For CO-STAR**: Context, audience, tone, style, objective, format?
151
- **For RISEN**: Role, principles, steps, success criteria, constraints?
152
- **For RISE-IE**: Role, input format/characteristics, processing steps, output expectations?
153
- **For RISE-IX**: Role, task instructions, workflow steps, reference examples?
154
- **For TIDD-EC**: Task type, exact steps, what to include (dos), what to avoid (don'ts), examples, context?
155
- **For CTF**: What is the situation/background, exact task, output format?
156
- **For RTF**: Expertise needed, exact task, output format?
157
- **For APE**: Core action, why it's needed, what success looks like?
158
- **For BAB**: What is the current state/problem, what should it become, transformation rules?
159
- **For RACE**: Role/expertise, action, situational context, explicit expectation?
160
- **For CRISPE**: Capacity/role, background insight, instructions, personality/style, how many variants?
161
- **For BROKE**: Background situation, role, objective, measurable key results, evolve instructions?
162
- **For CARE**: Context/situation, specific ask, explicit rules and constraints, examples of good output?
163
- **For Tree of Thought**: Problem, distinct solution branches to explore, evaluation criteria?
164
- **For ReAct**: Goal, available tools, constraints and stop condition?
165
- **For Skeleton of Thought**: Topic/question, number of skeleton points, expansion depth per point?
166
- **For Step-Back**: Original question, what higher-level principle governs it?
167
- **For Least-to-Most**: Full problem, decomposed subproblems in dependency order?
168
- **For Plan-and-Solve**: Problem with all relevant numbers/variables?
169
- **For Chain of Thought**: Problem, reasoning steps, verification?
170
- **For Chain of Density**: Source document to summarize, fixed target length, number of iterations?
171
- **For Iterative Compression**: Content to compress, target length, optimization goal, stopping criterion?
172
- **For Self-Refine**: Output to improve, feedback dimensions, stop condition?
173
- **For CAI Critique-Revise**: The principle to enforce, output to critique?
174
- **For Devil's Advocate**: Position to attack, attack dimensions, severity ranking needed?
175
- **For Pre-Mortem**: Project/decision, time horizon, domains to analyze?
176
- **For RCoT**: Question with all conditions, initial answer to verify?
177
- **For RPEF**: Output sample to reverse-engineer, input data if available?
178
- **For Reverse Role**: Intent statement, domain of expertise, interview mode (batch vs. conversational)?
162
+ **For CO-STAR**: Paste the material this is built from if any, the situation and constraints behind it, who the audience is and what you want them to do, the tone and style to write in, the output format and length?
163
+ **For RISEN**: Paste the material the procedure runs on if any, the expertise and methodology to adopt, the steps in order, what must be true when it is done, what is out of scope or must not happen?
164
+ **For RISE-IE**: Paste the actual data to be processed (not a description of it), its format and any quirks to expect, the expertise needed, the processing steps in order, what the output must look like?
165
+ **For RISE-IX**: The expertise to embody, what to create and its core requirements, the workflow steps, paste 2-3 actual samples whose style and format the output should match?
166
+ **For TIDD-EC**: Paste the material this task operates on (the message, document, or dataset itself, not a description of it), what kind of task this is and the background that shapes it, the exact steps in order, what must always be included and what must never happen (state each as a prohibition, not a topic), examples of a good result?
167
+ **For CTF**: Paste the artifact this operates on if you have one, the situation and background around it, the exact task and deliverable, the output format?
168
+ **For RTF**: Paste the material the task applies to if any, the expertise needed, the exact task and deliverable, the output format and length?
169
+ **For APE**: Paste the material the action applies to if any, the one action to perform, why it is needed and who uses the result, what a good result looks like?
170
+ **For BAB**: Paste the actual artifact being transformed, what is wrong with it now, what it should become, what rules govern the transformation?
171
+ **For RACE**: Paste the material the task applies to if any, the role and expertise needed, the action to perform, the situational context and audience, what a successful output looks like?
172
+ **For CRISPE**: The expertise and role to embody, paste the data or style sample it should work from, the background it needs, the exact task and deliverable, the tone and how many variants?
173
+ **For BROKE**: Paste the supporting material or performance data if you have it, the current situation and why this task exists, the role to embody, the specific deliverable and the structure and length the response should have, the measurable business outcome it should move?
174
+ **For CARE**: Paste the source document or draft this works from if any, your situation and why this task exists, the specific ask and deliverable, what must be included and what would make this output wrong or unusable, an example of what good looks like?
175
+ **For Tree of Thought**: The decision or problem and its constraints, paste the evidence the branches must be judged against, the 2-5 distinct approaches to compare, the criteria that decide between them?
176
+ **For ReAct**: Does the environment this runs in actually have callable tools — if not, stop and use Chain of Thought instead, which tools are available and how each is invoked, what end state counts as success, what limits apply and when to stop?
177
+ **For Skeleton of Thought**: The topic or question to outline, paste the document, data, or notes the answer must be drawn from if you have any, who the answer is for and what scope it should cover, how far each point should be expanded (a few sentences, a paragraph, full detail)?
178
+ **For Step-Back**: The specific question you want answered, paste the code, document, or design it is about if any, what higher-level principle or concept governs it?
179
+ **For Least-to-Most**: The full problem in one statement, paste the material the subproblems must reason over, what is the simplest thing that must be answered first, what does the final answer depend on?
180
+ **For Plan-and-Solve**: The problem with every number, unit, and constraint written out, paste the dataset or figures the calculation runs on if any, which values are given and which must be derived?
181
+ **For Chain of Thought**: The problem with all its conditions stated, paste the code, data, or document to reason over if any, what the reasoning steps should be?
182
+ **For Self-Consistency**: The problem with all its conditions stated, paste the data or figures it runs on if any, what the single final answer should look like so every sampled run ends in a comparable `FINAL ANSWER:` line, how many samples to run and majority-vote over (the paper uses 40; 5-10 is usually enough)?
183
+ **For Chain of Density**: Paste the full document to summarize, the fixed word budget every summary must hit, how many densification passes (the paper uses 5)?
184
+ **For Iterative Compression**: Paste the content to compress, where it should end up (word count, reading level, single paragraph), what should improve on each pass, how many passes and when to stop?
185
+ **For Self-Refine**: Paste the actual draft to improve, which dimensions the critique should cover (clarity, completeness, tone), what would make this output wrong or unusable?
186
+ **For CAI Critique-Revise**: Paste the actual output to be critiqued, the specific standard it must satisfy stated precisely enough to be checkable, what would make this output wrong or unusable?
187
+ **For Devil's Advocate**: The position, plan, or decision to attack, paste the proposal or memo that sets it out if you have one, which dimensions the attack should cover?
188
+ **For Pre-Mortem**: The project or decision being analyzed with its team, timeline, and goals, paste the plan or proposal document if you have one, how far in the future the imagined failure should be dated?
189
+ **For RCoT**: The question with every condition and constraint written out, paste the document those conditions come from if any, any implicit requirement not yet written into the question (units, deadlines, exclusions, edge cases) that a correct answer must still satisfy?
190
+ **For Chain-of-Verification**: Paste the draft answer to fact-check if you have one, or the factual question to answer carefully, which specific claims are most at risk of being wrong, what a correct final answer must not get wrong?
191
+ **For RPEF**: Paste the actual output sample to reverse-engineer, paste the input that produced it or confirm it is output-only, which details are one-off specifics that should become [PLACEHOLDER] variables?
192
+ **For Reverse Role**: What you want to achieve in one or two sentences, the domain of expertise to consult, questions one at a time or all at once, should it then do the task or synthesize a structured prompt for you to approve?
193
+
194
+ Every set above asks for the user's own material, because a framework that operates on an
195
+ artifact and never asks for it will invent one. Three frameworks are deliberately exempt:
196
+ **ReAct** (its material arrives as live tool output, not pasted text), **Reverse Role** (it
197
+ elicits everything through the interview and its template has no material slot), and
198
+ **RISE-IX** (its samples land in the EXAMPLES slot, which its own question already covers).
199
+ Do not add a material question to those three.
179
200
 
180
201
  ### 5. Apply Framework
181
202
 
182
203
  Using gathered information:
183
204
  1. Apply the appropriate framework structure from your knowledge of the framework
184
205
  2. Map user's information to framework components
185
- 3. Fill missing elements with reasonable defaults
206
+ 3. Fill missing elements with reasonable defaults — **with two exceptions, below**
186
207
  4. Structure according to framework format
208
+ 5. **Decide whether worked examples would materially improve the output**; if so, layer in few-shot examples as described in Composable Techniques above — this applies to any framework, not only the two with a built-in examples slot. Reach for it especially on classification, extraction, strict-format, and style-matching tasks, and only when the user or their material supplies real examples.
209
+
210
+ **Never default a fact about the user's world.** Their business, metrics, history, policies, staff, customers, data, or constraints are things only they know. A plausible-sounding default here is a fabrication the user may not notice before sending — asserting "our first price increase in three years" in an email to paying customers, or inventing a phone number in a published review reply. Where such a slot is unanswered, emit a visible `[you fill this in: <what is needed>]` placeholder and list every placeholder in your analysis section.
211
+
212
+ **Never soften or drop a prohibition.** If the user said something must not happen, it must survive into the emitted prompt as an explicit "Do not…" or "Never…" instruction. It cannot rely on a section header to carry the negation, because headers are stripped at emission (see step 6).
187
213
 
188
214
  ### 6. Present Improvements
189
215
 
190
- Show improved prompt with:
191
- - Clear before/after comparison
192
- - Explanation of changes made
216
+ Structure your output in this exact order:
217
+
218
+ **A. Analysis section** (comes first):
219
+ - Framework selected and why
220
+ - Changes made and reasoning
193
221
  - Framework components applied
194
- - Reasoning for improvements
222
+
223
+ **B. Usage instructions** (transition block, immediately before the prompt):
224
+
225
+ > **Your revised prompt is ready.**
226
+ > - **New chat**: Copy the prompt below and paste it as your first message in a new conversation.
227
+ > - **Same chat**: Tell the assistant: *"Use the revised prompt you just provided as a new instruction and execute it."*
228
+
229
+ **C. The revised prompt** (comes last, in a fenced code block):
230
+ - Present as a clean, flat-text block inside triple backticks
231
+ - **No framework section headers** (no "BEFORE:", "BRIDGE:", "CONTEXT:", etc.) — these are scaffolding, not part of the deliverable
232
+ - **No indentation** beyond what the prompt itself genuinely requires
233
+ - **No markdown formatting** inside the block unless the prompt explicitly needs it (e.g., it asks for tables)
234
+ - The user must be able to copy the entire block contents and paste it verbatim with zero editing — the one exception is `[...]` placeholders for material or facts only the user can supply (see step 5). Keep these to a minimum, make each self-explanatory, and name them in the analysis section so the user knows exactly what to fill in before sending.
235
+ - **Nothing after the code block** — the revised prompt must be the absolute last element in the response. No trailing suggestions, tips, or follow-up text after the closing backticks.
195
236
 
196
237
  ### 7. Iterate
197
238
 
@@ -244,25 +285,25 @@ Frameworks add structure — but structure has overhead. Skip them when:
244
285
  **Improved Prompt** (BAB):
245
286
 
246
287
  ```
247
- BEFORE (current state):
248
288
  [Paste the current job posting here]
249
- This posting suffers from: corporate-speak, passive voice, overly formal tone,
250
- and generic language that doesn't reflect actual team culture.
251
-
252
- AFTER (desired state):
253
- A job posting that sounds like it was written by engineers, for engineers.
254
- Early-career developers should read it and think "I want to work there."
255
- It should feel honest, direct, and human — not like legal boilerplate.
256
-
257
- BRIDGE (transformation rules):
258
- 1. Replace all passive constructions with active voice
259
- 2. Convert corporate jargon to plain English (e.g., "leverage" → "use")
260
- 3. Add one specific, concrete detail about the team/culture per section
261
- 4. Keep all technical requirements and must-haves verbatim
262
- 5. Target reading level: conversational, not academic
263
- 6. Length: same or shorter than original — cut fluff, don't add it
289
+
290
+ The job posting above suffers from corporate-speak, passive voice, overly formal tone, and generic language that doesn't reflect actual team culture.
291
+
292
+ The rewritten version should sound like it was written by engineers, for engineers. Early-career developers should read it and think "I want to work there." It should feel honest, direct, and human — not like legal boilerplate.
293
+
294
+ Follow these rules:
295
+ - Replace all passive constructions with active voice.
296
+ - Convert corporate jargon to plain English (e.g., "leverage" → "use").
297
+ - Add one specific, concrete detail about the team or culture per section.
298
+ - Keep all technical requirements and must-haves verbatim — do not change these.
299
+ - Target reading level: conversational, not academic.
300
+ - Length: same or shorter than the original. Cut fluff, don't add it.
301
+
302
+ Now rewrite the job posting above.
264
303
  ```
265
304
 
305
+ Note that the emitted prompt carries no `BEFORE:` / `AFTER:` / `BRIDGE:` headers. The BAB structure shaped what the prompt says; it is not part of what the user receives.
306
+
266
307
  ## Usage Notes
267
308
 
268
309
  - Always start by analyzing the original prompt
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ckelsoe/prompt-architect",
3
- "version": "3.3.1",
4
- "description": "Agent skill for analyzing and improving prompts using 29 frameworks across 7 intent categories. Works with Claude Code, Gemini CLI, Cursor, Copilot, and 30+ Agent Skills compatible tools.",
3
+ "version": "3.5.0",
4
+ "description": "Agent skill for analyzing and improving prompts using 31 frameworks across 7 intent categories. Works with Claude Code, Gemini CLI, Cursor, Copilot, and 30+ Agent Skills compatible tools.",
5
5
  "main": "skills/prompt-architect/SKILL.md",
6
6
  "keywords": [
7
7
  "claude-code",
@@ -81,7 +81,7 @@
81
81
  "type": "skill",
82
82
  "skillName": "prompt-architect",
83
83
  "skillPath": "skills/prompt-architect",
84
- "version": "3.3.1",
84
+ "version": "3.5.0",
85
85
  "compatibility": {
86
86
  "claudeCode": ">=1.0.0"
87
87
  },
@@ -123,7 +123,9 @@
123
123
  "Pre-Mortem",
124
124
  "RCoT",
125
125
  "RPEF",
126
- "Reverse-Role-Prompting"
126
+ "Reverse-Role-Prompting",
127
+ "Self-Consistency",
128
+ "Chain-of-Verification"
127
129
  ],
128
130
  "features": {
129
131
  "promptAnalysis": true,
package/scripts/test.js CHANGED
@@ -183,6 +183,38 @@ test('Adapter has not drifted from SKILL.md', () => {
183
183
  throw new Error(`Frameworks in SKILL.md but missing from adapter: ${dropped.join(', ')}`);
184
184
  }
185
185
  void missing;
186
+
187
+ // 4. Load-bearing rules must be present in BOTH files.
188
+ // Checks 1-3 compare only step headings and framework names, so they cannot
189
+ // see prose drift. The adapter shipped without SKILL.md's entire output
190
+ // delivery contract -- the rules that define what the skill actually emits --
191
+ // while this test passed. Any rule that changes the emitted artifact goes here.
192
+ const invariants = [
193
+ 'No framework section headers',
194
+ 'scaffolding, not part of the deliverable',
195
+ 'paste it verbatim with zero editing',
196
+ 'the absolute last element in the response',
197
+ 'Your revised prompt is ready.',
198
+ 'Never stack more than two',
199
+ 'Never default a fact about the user',
200
+ 'Never soften or drop a prohibition',
201
+ // The anti-false-narration guardrail: the model must not invent a rationale
202
+ // for a framework choice the stripped output cannot show. Lives in both files.
203
+ 'A confident rationale for an unobservable choice',
204
+ // The few-shot hook must live in the Apply-Framework step of BOTH files, or
205
+ // the composable technique is documented but never reached at build time.
206
+ 'Decide whether worked examples would materially improve the output',
207
+ // The worked example must demonstrate the emission rules, not violate them.
208
+ // The adapter previously shipped a BAB example with BEFORE:/AFTER:/BRIDGE: headers.
209
+ 'Now rewrite the job posting above.',
210
+ ];
211
+ const divergent = invariants.filter(r => skill.includes(r) !== adapter.includes(r));
212
+ if (divergent.length > 0) {
213
+ const detail = divergent
214
+ .map(r => `${JSON.stringify(r)} (SKILL.md: ${skill.includes(r) ? 'yes' : 'NO'}, adapter: ${adapter.includes(r) ? 'yes' : 'NO'})`)
215
+ .join('\n ');
216
+ throw new Error(`Emission-contract rules differ between SKILL.md and the adapter:\n ${detail}`);
217
+ }
186
218
  });
187
219
 
188
220
  // Agent Skills compliance tests