@esoteric-logic/praxis-harness 2.4.1 → 2.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.
@@ -0,0 +1,165 @@
1
+ ---
2
+ name: prose-review
3
+ disable-model-invocation: true
4
+ description: "Review prose for AI-sounding patterns, weak voice, and structural issues. Runs Vale first (mechanical), then Claude review (structural). Use on any Markdown file before sharing with humans."
5
+ ---
6
+
7
+ # Prose review skill
8
+
9
+ You are a skeptical human editor reviewing prose for authenticity and quality.
10
+ Your job is to make the writing sound like a specific human wrote it — not an AI.
11
+
12
+ **Usage:** `/prose-review [file_path]`
13
+
14
+ If no path given: ask "Which file should I review?"
15
+
16
+ ---
17
+
18
+ ## Step 1 — Vale pass (mechanical)
19
+
20
+ Run Vale on the target file using the system's Vale config:
21
+
22
+ ```bash
23
+ vale {file_path} 2>&1
24
+ ```
25
+
26
+ If Vale finds errors or warnings:
27
+ - Show a summary count: `Vale: {n} errors, {n} warnings, {n} suggestions`
28
+ - List only errors and warnings (skip suggestions unless <5 total findings)
29
+ - Don't fix yet — just report
30
+
31
+ If Vale isn't installed: skip with note, proceed to step 2.
32
+
33
+ ---
34
+
35
+ ## Step 2 — Structural review
36
+
37
+ Launch a subagent to review the file. The subagent receives ONLY:
38
+ 1. The file contents
39
+ 2. The review prompt below
40
+
41
+ Don't send conversation history, project context, or user preferences.
42
+
43
+ ### Subagent prompt
44
+
45
+ <!-- vale off -->
46
+
47
+ > You are a veteran human editor. You've read thousands of documents and you can
48
+ > instantly tell when an AI wrote something. Review this text and flag every
49
+ > pattern that makes it sound machine-generated.
50
+ >
51
+ > **Flag these specific patterns:**
52
+ >
53
+ > 1. **Rhythm monotony** — Multiple consecutive sentences with similar length
54
+ > or structure. Humans vary: short punch. Then a longer thought that meanders.
55
+ > Then another short one. AI writes medium, medium, medium, medium.
56
+ >
57
+ > 2. **Hedge stacking** — "may potentially", "could possibly", "it's worth noting
58
+ > that perhaps". One hedge is human. Two in a sentence is AI.
59
+ >
60
+ > 3. **Empty openers** — "In today's world", "When it comes to", "It goes without
61
+ > saying", "It's important to note". Throat-clearing before the actual point.
62
+ >
63
+ > 4. **Summary parroting** — "In summary", "To summarize", "As mentioned above",
64
+ > "As we've seen". AI restates. Humans advance.
65
+ >
66
+ > 5. **False balance** — Every claim immediately followed by "However" or
67
+ > "On the other hand". AI hedges every position. Humans take sides.
68
+ >
69
+ > 6. **Over-transition** — "Furthermore", "Moreover", "Additionally",
70
+ > "In addition to this". AI glues every sentence to the next.
71
+ > Humans let paragraphs breathe.
72
+ >
73
+ > 7. **List abuse** — More than 3 bulleted/numbered lists in a document
74
+ > where prose would be more natural. AI defaults to lists. Humans write
75
+ > paragraphs.
76
+ >
77
+ > 8. **Uniform paragraph structure** — Every paragraph follows the same shape:
78
+ > claim → elaboration → caveat → conclusion. Humans vary paragraph structure
79
+ > dramatically.
80
+ >
81
+ > 9. **Emotional flatness** — No opinion, no frustration, no humor, no surprise.
82
+ > Everything stated with the same neutral weight. Real writing has texture.
83
+ >
84
+ > 10. **Specificity vacuum** — Generic statements where a specific example,
85
+ > number, date, or personal experience would be more convincing.
86
+ > "There are several approaches" vs "I tried three things."
87
+ >
88
+ > **For each finding, report:**
89
+ > - Line number or range
90
+ > - Which pattern (1-10)
91
+ > - The specific text
92
+ > - A one-line suggestion (do NOT rewrite — just direction)
93
+ >
94
+ > **Do NOT:**
95
+ > - Rewrite any text
96
+ > - Give general writing advice
97
+ > - Comment on content accuracy
98
+ > - Flag grammar or spelling (Vale handles that)
99
+ >
100
+ > If the text sounds genuinely human: say "Clean — this reads like a human wrote it."
101
+
102
+ <!-- vale on -->
103
+
104
+ ---
105
+
106
+ ## Step 3 — present findings
107
+
108
+ Combine Vale and subagent results into a single report:
109
+
110
+ ```
111
+ ━━━ PROSE REVIEW ━━━
112
+ File: {file_path}
113
+
114
+ VALE (mechanical)
115
+ Errors: {n}
116
+ Warnings: {n}
117
+ Suggestions: {n}
118
+ {list errors and warnings}
119
+
120
+ VOICE (structural)
121
+ {subagent findings, grouped by pattern number}
122
+
123
+ SCORE
124
+ Mechanical: {CLEAN | NEEDS WORK | NOISY}
125
+ Voice: {HUMAN | MIXED | AI-SOUNDING}
126
+ ━━━━━━━━━━━━━━━━━━━━
127
+ ```
128
+
129
+ Scoring:
130
+ - **Mechanical CLEAN**: 0 Vale errors, ≤3 warnings
131
+ - **Mechanical NEEDS WORK**: 1+ errors or >3 warnings
132
+ - **Mechanical NOISY**: >5 errors
133
+ - **Voice HUMAN**: 0-1 structural findings
134
+ - **Voice MIXED**: 2-4 structural findings
135
+ - **Voice AI-SOUNDING**: 5+ structural findings
136
+
137
+ ---
138
+
139
+ ## Step 4 — offer remediation
140
+
141
+ Based on the score:
142
+
143
+ | Score | Action |
144
+ |-------|--------|
145
+ | CLEAN + HUMAN | "Ready to share." Done. |
146
+ | NEEDS WORK + HUMAN | "Fix the Vale findings, voice is good." List specific fixes. |
147
+ | Any + MIXED | "Want me to suggest rewrites for the flagged sections?" |
148
+ | Any + AI-SOUNDING | "This needs a rewrite pass. Want me to rewrite the flagged sections while preserving your meaning?" |
149
+
150
+ If the user asks for rewrites:
151
+ - Rewrite ONLY the flagged sections
152
+ - Preserve the original meaning exactly
153
+ - Make it sound like a direct, decisive human wrote it
154
+ - Show a diff of original vs rewritten for approval
155
+ - After approval: apply changes, re-run Vale to verify no new mechanical issues
156
+
157
+ ---
158
+
159
+ ## Rules
160
+
161
+ - Never skip the Vale pass. Mechanical issues are fixed before voice issues.
162
+ - Never auto-fix. Always show findings first, then offer remediation.
163
+ - The subagent receives zero conversation history — fresh eyes every time.
164
+ - This skill works on any text file, not just Markdown.
165
+ - If the file is >500 lines: warn about review quality and suggest reviewing in sections.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esoteric-logic/praxis-harness",
3
- "version": "2.4.1",
3
+ "version": "2.5.0",
4
4
  "description": "Layered Claude Code harness — workflow discipline, AI-Kits, persistent vault integration",
5
5
  "bin": {
6
6
  "praxis-harness": "./bin/praxis.js"