@ckelsoe/prompt-architect 3.0.2 → 3.2.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 (76) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +264 -264
  4. package/LICENSE +21 -21
  5. package/README.md +1064 -1184
  6. package/adapters/README.md +75 -267
  7. package/adapters/for-windsurf.md +136 -136
  8. package/adapters/system-prompt.md +243 -243
  9. package/package.json +139 -138
  10. package/scripts/build-skill.js +64 -0
  11. package/scripts/install.js +4 -54
  12. package/scripts/test.js +205 -213
  13. package/scripts/validate-skill.js +350 -350
  14. package/skills/prompt-architect/SKILL.md +343 -331
  15. package/skills/prompt-architect/assets/templates/ape_template.txt +5 -5
  16. package/skills/prompt-architect/assets/templates/bab_template.txt +15 -15
  17. package/skills/prompt-architect/assets/templates/broke_template.txt +15 -15
  18. package/skills/prompt-architect/assets/templates/cai-critique-revise_template.txt +18 -18
  19. package/skills/prompt-architect/assets/templates/care_template.txt +16 -16
  20. package/skills/prompt-architect/assets/templates/chain-of-density_template.txt +46 -46
  21. package/skills/prompt-architect/assets/templates/chain-of-thought_template.txt +49 -49
  22. package/skills/prompt-architect/assets/templates/co-star_template.txt +17 -17
  23. package/skills/prompt-architect/assets/templates/crispe_template.txt +14 -14
  24. package/skills/prompt-architect/assets/templates/ctf_template.txt +15 -15
  25. package/skills/prompt-architect/assets/templates/devils-advocate_template.txt +25 -25
  26. package/skills/prompt-architect/assets/templates/hybrid_template.txt +101 -101
  27. package/skills/prompt-architect/assets/templates/least-to-most_template.txt +16 -16
  28. package/skills/prompt-architect/assets/templates/plan-and-solve_template.txt +7 -7
  29. package/skills/prompt-architect/assets/templates/pre-mortem_template.txt +27 -27
  30. package/skills/prompt-architect/assets/templates/race_template.txt +19 -19
  31. package/skills/prompt-architect/assets/templates/rcot_template.txt +31 -31
  32. package/skills/prompt-architect/assets/templates/react_template.txt +27 -27
  33. package/skills/prompt-architect/assets/templates/reverse-role_template.txt +11 -11
  34. package/skills/prompt-architect/assets/templates/rise-ie_template.txt +23 -23
  35. package/skills/prompt-architect/assets/templates/rise-ix_template.txt +28 -28
  36. package/skills/prompt-architect/assets/templates/risen_template.txt +21 -21
  37. package/skills/prompt-architect/assets/templates/rpef_template.txt +26 -26
  38. package/skills/prompt-architect/assets/templates/rtf_template.txt +13 -13
  39. package/skills/prompt-architect/assets/templates/self-refine_template.txt +16 -16
  40. package/skills/prompt-architect/assets/templates/skeleton-of-thought_template.txt +15 -15
  41. package/skills/prompt-architect/assets/templates/step-back_template.txt +10 -10
  42. package/skills/prompt-architect/assets/templates/tidd-ec_template.txt +45 -45
  43. package/skills/prompt-architect/assets/templates/tree-of-thought_template.txt +30 -30
  44. package/skills/prompt-architect/references/frameworks/ape.md +200 -200
  45. package/skills/prompt-architect/references/frameworks/bab.md +242 -242
  46. package/skills/prompt-architect/references/frameworks/broke.md +242 -242
  47. package/skills/prompt-architect/references/frameworks/cai-critique-revise.md +230 -230
  48. package/skills/prompt-architect/references/frameworks/care.md +235 -235
  49. package/skills/prompt-architect/references/frameworks/chain-of-density.md +479 -479
  50. package/skills/prompt-architect/references/frameworks/chain-of-thought.md +424 -424
  51. package/skills/prompt-architect/references/frameworks/co-star.md +256 -256
  52. package/skills/prompt-architect/references/frameworks/crispe.md +253 -253
  53. package/skills/prompt-architect/references/frameworks/ctf.md +207 -207
  54. package/skills/prompt-architect/references/frameworks/devils-advocate.md +206 -206
  55. package/skills/prompt-architect/references/frameworks/least-to-most.md +226 -226
  56. package/skills/prompt-architect/references/frameworks/plan-and-solve.md +210 -210
  57. package/skills/prompt-architect/references/frameworks/pre-mortem.md +197 -197
  58. package/skills/prompt-architect/references/frameworks/race.md +243 -243
  59. package/skills/prompt-architect/references/frameworks/rcot.md +203 -203
  60. package/skills/prompt-architect/references/frameworks/react.md +304 -304
  61. package/skills/prompt-architect/references/frameworks/reverse-role.md +189 -189
  62. package/skills/prompt-architect/references/frameworks/rise.md +555 -555
  63. package/skills/prompt-architect/references/frameworks/risen.md +297 -297
  64. package/skills/prompt-architect/references/frameworks/rpef.md +195 -195
  65. package/skills/prompt-architect/references/frameworks/rtf.md +358 -358
  66. package/skills/prompt-architect/references/frameworks/self-refine.md +205 -205
  67. package/skills/prompt-architect/references/frameworks/skeleton-of-thought.md +186 -186
  68. package/skills/prompt-architect/references/frameworks/step-back.md +206 -206
  69. package/skills/prompt-architect/references/frameworks/tidd-ec.md +470 -470
  70. package/skills/prompt-architect/references/frameworks/tree-of-thought.md +260 -260
  71. package/skills/prompt-architect/scripts/framework_analyzer.py +807 -807
  72. package/skills/prompt-architect/scripts/prompt_evaluator.py +336 -336
  73. package/adapters/for-cursor.mdc +0 -138
  74. package/adapters/for-gemini-cli.md +0 -70
  75. package/adapters/for-github-copilot.md +0 -141
  76. package/adapters/for-openai-codex-cli.md +0 -158
@@ -1,230 +1,230 @@
1
- # CAI Critique-Revise (Constitutional AI Critique-Revise Pattern)
2
-
3
- ## Overview
4
-
5
- CAI Critique-Revise is a two-phase output improvement pattern derived from Anthropic's Constitutional AI methodology. A model generates an initial response, explicitly critiques it against a stated principle or standard, then revises the response to align with that principle. Unlike Self-Refine (which uses multi-dimensional quality feedback), CAI Critique-Revise is principle-driven: the critique is always measured against a specific, explicitly stated standard — a "constitution" of one or more principles.
6
-
7
- **Research basis:** "Constitutional AI: Harmlessness from AI Feedback" (Bai et al., Anthropic, arXiv 2212.08073, 2022). Originally a training methodology; the critique-revise loop is directly usable as a prompting pattern. Key finding: generating an explicit critique before revising produces better alignment than asking for direct revision without a critique step.
8
-
9
- ## The Key Insight
10
-
11
- Asking the model to revise directly ("make this better") is less effective than:
12
- 1. First critiquing against a specific principle ("does this violate X?")
13
- 2. Then revising using the critique as the specification
14
-
15
- The intermediate critique step is load-bearing — it forces the model to identify the gap before filling it.
16
-
17
- ## Components
18
-
19
- ### Principle / Constitution
20
- **Purpose:** The standard against which the output is evaluated. This is what makes CAI Critique-Revise different from generic improvement — there is a specific, articulated principle. Can be one principle or a small set.
21
-
22
- **Examples:**
23
- - "This response must not assume knowledge the reader hasn't stated they have"
24
- - "All claims must be supported by reasoning or evidence — no assertions without backing"
25
- - "The response must give the user agency to decide; it should not make decisions for them"
26
- - "Plain language only: if a 12-year-old couldn't understand a sentence, rewrite it"
27
- - "No hedging language ('might', 'could', 'perhaps') unless genuine uncertainty exists"
28
-
29
- ### Initial Generation
30
- **Purpose:** The output to evaluate. Can be AI-generated or human-written.
31
-
32
- ### Critique Step
33
- **Purpose:** Explicit evaluation of the output against the principle. The critique must be specific and quote the problematic passages.
34
-
35
- **Critique trigger:** *"Identify specific ways in which the response above violates or falls short of the following principle: [principle]. Quote the specific passages that are problematic. Explain why each violates the principle."*
36
-
37
- ### Revision Step
38
- **Purpose:** Rewrite the response to satisfy the principle. The revision should address every critique point.
39
-
40
- **Revision trigger:** *"Revise the response to fully satisfy the principle. Address every critique point. Preserve all content that already satisfies the principle."*
41
-
42
- ### Iteration (optional)
43
- **Purpose:** Run the critique-revise cycle again against the same principle (to catch remaining issues) or a different principle (multi-principle alignment).
44
-
45
- ## Template Structure
46
-
47
- ```
48
- PRINCIPLE:
49
- [State the specific standard the output must satisfy]
50
-
51
- INITIAL OUTPUT:
52
- [The output to evaluate — AI-generated or human-written]
53
-
54
- CRITIQUE:
55
- Identify specific ways the output above violates or falls short of
56
- the principle stated above.
57
- - Quote the specific passages that are problematic
58
- - Explain precisely why each passage violates the principle
59
- - Do not mention positives — focus only on failures
60
-
61
- REVISION:
62
- Rewrite the output to fully satisfy the principle.
63
- - Address every critique point identified above
64
- - Preserve all content that already meets the principle
65
- - Do not introduce new violations
66
- ```
67
-
68
- ### Multi-Principle Version
69
- ```
70
- PRINCIPLES:
71
- P1: [First principle]
72
- P2: [Second principle]
73
- P3: [Third principle]
74
-
75
- INITIAL OUTPUT:
76
- [The output]
77
-
78
- CRITIQUE — P1:
79
- [Critique against P1]
80
-
81
- CRITIQUE — P2:
82
- [Critique against P2]
83
-
84
- CRITIQUE — P3:
85
- [Critique against P3]
86
-
87
- REVISION:
88
- Rewrite addressing all critique points across all three principles.
89
- ```
90
-
91
- ## Complete Examples
92
-
93
- ### Example 1: Plain Language Compliance
94
-
95
- ```
96
- PRINCIPLE:
97
- Plain language only. Every sentence must be understandable by someone
98
- with no technical background. No jargon without immediate plain-language
99
- definition. Maximum sentence length: 20 words.
100
-
101
- INITIAL OUTPUT:
102
- Our API leverages asynchronous microservice orchestration to facilitate
103
- real-time event-driven data synchronization across distributed endpoints,
104
- enabling seamless interoperability between heterogeneous enterprise systems.
105
-
106
- CRITIQUE:
107
- Identify every phrase that violates the plain language principle above.
108
- Quote each problematic phrase and explain the violation.
109
-
110
- REVISION:
111
- Rewrite the description so a non-technical reader understands exactly
112
- what the product does.
113
- ```
114
-
115
- ### Example 2: Evidence-Backed Claims
116
-
117
- ```
118
- PRINCIPLE:
119
- Every claim must be backed by reasoning, data, or an example.
120
- No assertion may stand without support. Hedging language ("might",
121
- "could") is acceptable only when genuine uncertainty exists.
122
-
123
- INITIAL OUTPUT:
124
- [Paste an analysis or recommendation]
125
-
126
- CRITIQUE:
127
- Identify every unsupported claim. Quote the specific assertion and
128
- state what type of support is missing (reasoning, data, or example).
129
-
130
- REVISION:
131
- Rewrite adding appropriate support for every flagged claim.
132
- If a claim cannot be supported, remove it or explicitly mark it
133
- as an assumption.
134
- ```
135
-
136
- ### Example 3: User Agency Preservation
137
-
138
- ```
139
- PRINCIPLE:
140
- The response must preserve user agency. It may present options and
141
- tradeoffs but must not make decisions for the user. The final choice
142
- should always be explicitly left to the user with clear reasoning
143
- for each option.
144
-
145
- INITIAL OUTPUT:
146
- [Paste an AI recommendation that made a firm choice for the user]
147
-
148
- CRITIQUE:
149
- Identify every place where the response makes a decision for the user
150
- or removes their agency. Quote the specific passages.
151
-
152
- REVISION:
153
- Rewrite so the user has full information and clear options, but the
154
- final decision remains with them.
155
- ```
156
-
157
- ### Example 4: Factual Precision
158
-
159
- ```
160
- PRINCIPLE:
161
- The response must distinguish between: (1) established facts,
162
- (2) inferences based on evidence, and (3) speculation. Each claim
163
- must be labeled accordingly. No mixing of categories without labels.
164
-
165
- INITIAL OUTPUT:
166
- [Paste a technical or analytical response]
167
-
168
- CRITIQUE:
169
- Identify claims that mix categories or present inferences as facts.
170
- Quote each and categorize it.
171
-
172
- REVISION:
173
- Rewrite with explicit labeling: [FACT], [INFERENCE], [SPECULATION]
174
- where appropriate.
175
- ```
176
-
177
- ## Best Use Cases
178
-
179
- 1. **Compliance and Standards Alignment**
180
- - Plain language requirements
181
- - Brand voice standards
182
- - Legal/regulatory language standards
183
- - Accessibility guidelines
184
-
185
- 2. **Quality Control Pipelines**
186
- - Automated review of AI outputs before publication
187
- - QA for customer-facing content
188
- - Documentation standards enforcement
189
-
190
- 3. **Bias and Fairness Checking**
191
- - Does this assume a particular demographic?
192
- - Does this perpetuate stereotypes?
193
-
194
- 4. **Epistemic Quality**
195
- - Are claims supported?
196
- - Is uncertainty appropriately flagged?
197
- - Is speculation distinguished from fact?
198
-
199
- ## Selection Criteria
200
-
201
- **Choose CAI Critique-Revise when:**
202
- - ✅ You have a specific, articulable principle to enforce
203
- - ✅ The output needs alignment to a standard, not general improvement
204
- - ✅ You want explicit documentation of what was wrong (audit trail)
205
- - ✅ Compliance or quality gates apply
206
-
207
- **Avoid when:**
208
- - ❌ No specific principle — use Self-Refine for general quality
209
- - ❌ You want the strongest opposing argument — use Devil's Advocate
210
- - ❌ You want failure analysis — use Pre-Mortem
211
-
212
- ## CAI Critique-Revise vs. Self-Refine vs. CARE
213
-
214
- | | CAI Critique-Revise | Self-Refine | CARE |
215
- |---|---|---|---|
216
- | Critique basis | Specific stated principle | Multi-dimensional quality | Rules defined upfront |
217
- | Use case | Alignment to standard | General improvement | Constraint-governed creation |
218
- | When applied | After generation | After generation | Before generation |
219
- | Audit trail | Yes (critique is explicit) | Yes | No |
220
-
221
- **Rule of thumb:** CARE sets rules *before* generation. CAI Critique-Revise enforces principles *after* generation. Self-Refine improves quality *after* generation without a specific standard.
222
-
223
- ## Quick Reference
224
-
225
- | Component | Purpose |
226
- |-----------|---------|
227
- | Principle | The specific standard to enforce |
228
- | Initial Output | The output to evaluate |
229
- | Critique | Quote-specific violations of the principle |
230
- | Revision | Rewrite satisfying all critique points |
1
+ # CAI Critique-Revise (Constitutional AI Critique-Revise Pattern)
2
+
3
+ ## Overview
4
+
5
+ CAI Critique-Revise is a two-phase output improvement pattern derived from Anthropic's Constitutional AI methodology. A model generates an initial response, explicitly critiques it against a stated principle or standard, then revises the response to align with that principle. Unlike Self-Refine (which uses multi-dimensional quality feedback), CAI Critique-Revise is principle-driven: the critique is always measured against a specific, explicitly stated standard — a "constitution" of one or more principles.
6
+
7
+ **Research basis:** "Constitutional AI: Harmlessness from AI Feedback" (Bai et al., Anthropic, arXiv 2212.08073, 2022). Originally a training methodology; the critique-revise loop is directly usable as a prompting pattern. Key finding: generating an explicit critique before revising produces better alignment than asking for direct revision without a critique step.
8
+
9
+ ## The Key Insight
10
+
11
+ Asking the model to revise directly ("make this better") is less effective than:
12
+ 1. First critiquing against a specific principle ("does this violate X?")
13
+ 2. Then revising using the critique as the specification
14
+
15
+ The intermediate critique step is load-bearing — it forces the model to identify the gap before filling it.
16
+
17
+ ## Components
18
+
19
+ ### Principle / Constitution
20
+ **Purpose:** The standard against which the output is evaluated. This is what makes CAI Critique-Revise different from generic improvement — there is a specific, articulated principle. Can be one principle or a small set.
21
+
22
+ **Examples:**
23
+ - "This response must not assume knowledge the reader hasn't stated they have"
24
+ - "All claims must be supported by reasoning or evidence — no assertions without backing"
25
+ - "The response must give the user agency to decide; it should not make decisions for them"
26
+ - "Plain language only: if a 12-year-old couldn't understand a sentence, rewrite it"
27
+ - "No hedging language ('might', 'could', 'perhaps') unless genuine uncertainty exists"
28
+
29
+ ### Initial Generation
30
+ **Purpose:** The output to evaluate. Can be AI-generated or human-written.
31
+
32
+ ### Critique Step
33
+ **Purpose:** Explicit evaluation of the output against the principle. The critique must be specific and quote the problematic passages.
34
+
35
+ **Critique trigger:** *"Identify specific ways in which the response above violates or falls short of the following principle: [principle]. Quote the specific passages that are problematic. Explain why each violates the principle."*
36
+
37
+ ### Revision Step
38
+ **Purpose:** Rewrite the response to satisfy the principle. The revision should address every critique point.
39
+
40
+ **Revision trigger:** *"Revise the response to fully satisfy the principle. Address every critique point. Preserve all content that already satisfies the principle."*
41
+
42
+ ### Iteration (optional)
43
+ **Purpose:** Run the critique-revise cycle again against the same principle (to catch remaining issues) or a different principle (multi-principle alignment).
44
+
45
+ ## Template Structure
46
+
47
+ ```
48
+ PRINCIPLE:
49
+ [State the specific standard the output must satisfy]
50
+
51
+ INITIAL OUTPUT:
52
+ [The output to evaluate — AI-generated or human-written]
53
+
54
+ CRITIQUE:
55
+ Identify specific ways the output above violates or falls short of
56
+ the principle stated above.
57
+ - Quote the specific passages that are problematic
58
+ - Explain precisely why each passage violates the principle
59
+ - Do not mention positives — focus only on failures
60
+
61
+ REVISION:
62
+ Rewrite the output to fully satisfy the principle.
63
+ - Address every critique point identified above
64
+ - Preserve all content that already meets the principle
65
+ - Do not introduce new violations
66
+ ```
67
+
68
+ ### Multi-Principle Version
69
+ ```
70
+ PRINCIPLES:
71
+ P1: [First principle]
72
+ P2: [Second principle]
73
+ P3: [Third principle]
74
+
75
+ INITIAL OUTPUT:
76
+ [The output]
77
+
78
+ CRITIQUE — P1:
79
+ [Critique against P1]
80
+
81
+ CRITIQUE — P2:
82
+ [Critique against P2]
83
+
84
+ CRITIQUE — P3:
85
+ [Critique against P3]
86
+
87
+ REVISION:
88
+ Rewrite addressing all critique points across all three principles.
89
+ ```
90
+
91
+ ## Complete Examples
92
+
93
+ ### Example 1: Plain Language Compliance
94
+
95
+ ```
96
+ PRINCIPLE:
97
+ Plain language only. Every sentence must be understandable by someone
98
+ with no technical background. No jargon without immediate plain-language
99
+ definition. Maximum sentence length: 20 words.
100
+
101
+ INITIAL OUTPUT:
102
+ Our API leverages asynchronous microservice orchestration to facilitate
103
+ real-time event-driven data synchronization across distributed endpoints,
104
+ enabling seamless interoperability between heterogeneous enterprise systems.
105
+
106
+ CRITIQUE:
107
+ Identify every phrase that violates the plain language principle above.
108
+ Quote each problematic phrase and explain the violation.
109
+
110
+ REVISION:
111
+ Rewrite the description so a non-technical reader understands exactly
112
+ what the product does.
113
+ ```
114
+
115
+ ### Example 2: Evidence-Backed Claims
116
+
117
+ ```
118
+ PRINCIPLE:
119
+ Every claim must be backed by reasoning, data, or an example.
120
+ No assertion may stand without support. Hedging language ("might",
121
+ "could") is acceptable only when genuine uncertainty exists.
122
+
123
+ INITIAL OUTPUT:
124
+ [Paste an analysis or recommendation]
125
+
126
+ CRITIQUE:
127
+ Identify every unsupported claim. Quote the specific assertion and
128
+ state what type of support is missing (reasoning, data, or example).
129
+
130
+ REVISION:
131
+ Rewrite adding appropriate support for every flagged claim.
132
+ If a claim cannot be supported, remove it or explicitly mark it
133
+ as an assumption.
134
+ ```
135
+
136
+ ### Example 3: User Agency Preservation
137
+
138
+ ```
139
+ PRINCIPLE:
140
+ The response must preserve user agency. It may present options and
141
+ tradeoffs but must not make decisions for the user. The final choice
142
+ should always be explicitly left to the user with clear reasoning
143
+ for each option.
144
+
145
+ INITIAL OUTPUT:
146
+ [Paste an AI recommendation that made a firm choice for the user]
147
+
148
+ CRITIQUE:
149
+ Identify every place where the response makes a decision for the user
150
+ or removes their agency. Quote the specific passages.
151
+
152
+ REVISION:
153
+ Rewrite so the user has full information and clear options, but the
154
+ final decision remains with them.
155
+ ```
156
+
157
+ ### Example 4: Factual Precision
158
+
159
+ ```
160
+ PRINCIPLE:
161
+ The response must distinguish between: (1) established facts,
162
+ (2) inferences based on evidence, and (3) speculation. Each claim
163
+ must be labeled accordingly. No mixing of categories without labels.
164
+
165
+ INITIAL OUTPUT:
166
+ [Paste a technical or analytical response]
167
+
168
+ CRITIQUE:
169
+ Identify claims that mix categories or present inferences as facts.
170
+ Quote each and categorize it.
171
+
172
+ REVISION:
173
+ Rewrite with explicit labeling: [FACT], [INFERENCE], [SPECULATION]
174
+ where appropriate.
175
+ ```
176
+
177
+ ## Best Use Cases
178
+
179
+ 1. **Compliance and Standards Alignment**
180
+ - Plain language requirements
181
+ - Brand voice standards
182
+ - Legal/regulatory language standards
183
+ - Accessibility guidelines
184
+
185
+ 2. **Quality Control Pipelines**
186
+ - Automated review of AI outputs before publication
187
+ - QA for customer-facing content
188
+ - Documentation standards enforcement
189
+
190
+ 3. **Bias and Fairness Checking**
191
+ - Does this assume a particular demographic?
192
+ - Does this perpetuate stereotypes?
193
+
194
+ 4. **Epistemic Quality**
195
+ - Are claims supported?
196
+ - Is uncertainty appropriately flagged?
197
+ - Is speculation distinguished from fact?
198
+
199
+ ## Selection Criteria
200
+
201
+ **Choose CAI Critique-Revise when:**
202
+ - ✅ You have a specific, articulable principle to enforce
203
+ - ✅ The output needs alignment to a standard, not general improvement
204
+ - ✅ You want explicit documentation of what was wrong (audit trail)
205
+ - ✅ Compliance or quality gates apply
206
+
207
+ **Avoid when:**
208
+ - ❌ No specific principle — use Self-Refine for general quality
209
+ - ❌ You want the strongest opposing argument — use Devil's Advocate
210
+ - ❌ You want failure analysis — use Pre-Mortem
211
+
212
+ ## CAI Critique-Revise vs. Self-Refine vs. CARE
213
+
214
+ | | CAI Critique-Revise | Self-Refine | CARE |
215
+ |---|---|---|---|
216
+ | Critique basis | Specific stated principle | Multi-dimensional quality | Rules defined upfront |
217
+ | Use case | Alignment to standard | General improvement | Constraint-governed creation |
218
+ | When applied | After generation | After generation | Before generation |
219
+ | Audit trail | Yes (critique is explicit) | Yes | No |
220
+
221
+ **Rule of thumb:** CARE sets rules *before* generation. CAI Critique-Revise enforces principles *after* generation. Self-Refine improves quality *after* generation without a specific standard.
222
+
223
+ ## Quick Reference
224
+
225
+ | Component | Purpose |
226
+ |-----------|---------|
227
+ | Principle | The specific standard to enforce |
228
+ | Initial Output | The output to evaluate |
229
+ | Critique | Quote-specific violations of the principle |
230
+ | Revision | Rewrite satisfying all critique points |