@holdyourvoice/hyv 2.9.28 → 3.0.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 (44) hide show
  1. package/LICENSE +17 -22
  2. package/Readme.md +247 -0
  3. package/dist/ai-editor.js +9 -0
  4. package/dist/ai-editor.test.js +61 -0
  5. package/dist/cli.js +106 -0
  6. package/dist/cli.test.js +119 -0
  7. package/dist/contracts.js +1 -0
  8. package/dist/pipeline.js +64 -0
  9. package/dist/pipeline.test.js +36 -0
  10. package/dist/release-audit.test.js +29 -0
  11. package/dist/text.js +42 -0
  12. package/dist/text.test.js +16 -0
  13. package/dist/voice-dna.js +77 -0
  14. package/dist/voice-dna.test.js +32 -0
  15. package/package.json +14 -74
  16. package/CHANGELOG.md +0 -241
  17. package/README.md +0 -218
  18. package/agents/AGENTS.md +0 -82
  19. package/agents/README.md +0 -20
  20. package/agents/chatgpt.md +0 -47
  21. package/agents/claude-code.md +0 -45
  22. package/agents/codex.md +0 -31
  23. package/agents/cursor.md +0 -36
  24. package/agents/generic.md +0 -49
  25. package/agents/windsurf.md +0 -20
  26. package/assets/FREE-PAID.md +0 -46
  27. package/assets/README.md +0 -20
  28. package/assets/ai-eliminator-rules.md +0 -140
  29. package/assets/chatgpt-instructions.txt +0 -8
  30. package/assets/detection-rules.json +0 -18
  31. package/assets/economic-drift-voice.md +0 -42
  32. package/assets/voice-dna-template.md +0 -88
  33. package/assets/voice-profile-schema.json +0 -28
  34. package/dist/index.js +0 -20911
  35. package/scripts/README.md +0 -23
  36. package/scripts/check-no-duplicates.js +0 -32
  37. package/scripts/install.ps1 +0 -101
  38. package/scripts/install.sh +0 -155
  39. package/scripts/postinstall-lib.js +0 -796
  40. package/scripts/postinstall.js +0 -35
  41. package/skills/README.md +0 -20
  42. package/skills/ai-writing-eliminator/SKILL.md +0 -63
  43. package/skills/hold-your-voice/SKILL.md +0 -174
  44. package/skills/voice-matcher/SKILL.md +0 -57
@@ -1,140 +0,0 @@
1
- # AI Eliminator Rules (v2 — 220+ patterns + structural signals)
2
-
3
- Use these rules to remove AI-generated cadence without erasing the writer.
4
-
5
- ## Core Rule
6
-
7
- Fix the exact line that drifted. Do not rewrite a whole draft when one sentence
8
- is the problem. Preserve clean surrounding lines.
9
-
10
- ## Detection Coverage
11
-
12
- The algorithm now detects 220+ named AI writing patterns organized across 31
13
- composite regex rules, plus structural/rhythmic analysis of: burstiness
14
- (sentence length variance), paragraph rhythm uniformity, contraction density,
15
- formal hedging, generic intensifiers, fragment ratio, over-structured list
16
- patterns, and uniform sentence rhythm within paragraphs.
17
-
18
- ## Banned Pattern Categories
19
-
20
- ### Binary reframing & negation (#1, #210-212)
21
- - "It's not X, it's Y" / "The point isn't X, it's Y"
22
- - "You don't need X, you need Y"
23
- - "Not just X, but Y" / "Not only... but also"
24
- - **structural cousins (top priority):** cross-sentence forms the vocabulary scan misses:
25
- - "This is not X. It is Y." / "Is not X. It is Y."
26
- - "You are not X. You are Y." / "You are no longer X. You are Y."
27
- - "You stop X. You start Y."
28
- - "They don't need X. They need Y."
29
- - "They call it X. They call it Y." (staccato anaphora)
30
- - Parallel sermon: "X because… / they X because…" and "endure through… / they endure through…"
31
- - Founder-carousel metaphors: "competing with the void", "architect of a new reality", "friction into momentum", "cognitive architecture", "defines what good looks like", "the hidden goal", "quiet promise", "simple but uncomfortable:"
32
-
33
- **Tier 1 priority:** rules with ids `structural_*` and `founder_*` are primary flags. They sort first in scan output, win hit-budget slots in the editor, weigh heavier in cleanliness scoring, lead rewrite prompts, and gate rewrite output before vocabulary slop.
34
-
35
- ### Staccato drama (#2, #95, #96)
36
- - Short punchy sentence runs: "No X. No Y. Just Z."
37
- - Perfectly even sentence rhythm throughout paragraphs
38
- - Three short sentences in a row (performance cadence)
39
-
40
- ### Landscape/era grandstanding (#3, #181-188)
41
- - "In today's fast-paced world" / "ever-evolving landscape"
42
- - "Now more than ever" / "as never before"
43
- - "Has never been more important"
44
- - "In the digital age" / "new era of X"
45
- - "The rise of X" / "increasingly + adjective"
46
-
47
- ### Truth/reality posturing (#22, #110, #161-163)
48
- - "The truth is" / "the reality is" / "here's the truth"
49
- - "The harsh/ugly/brutal reality" / "real talk"
50
- - "Brutal honesty" / "reality check"
51
-
52
- ### Hedging & non-committal (#4, #53-55, #89, #197-199)
53
- - "It depends, but" / "no one-size-fits-all"
54
- - "It can be tempting to" / "you might be tempted to"
55
- - "In many ways" / "at first it might seem"
56
-
57
- ### Transitions & balance (#7, #38-40, #81, #91, #203)
58
- - "On the one hand / on the other hand"
59
- - "On the flip side" / "that said" / "however"
60
- - "Moreover / furthermore / in addition" chains
61
- - "At first glance vs on closer inspection"
62
-
63
- ### Let's/invitation patterns (#5, #63-65, #80, #127)
64
- - "Let's dive in" / "let's explore" / "let's break it down"
65
- - "Delve into" / "dive deeper" / "deep dive"
66
- - "Navigate the complex landscape"
67
-
68
- ### Empathy opener (#21, #74-75, #107, #164-165)
69
- - "It's easy to feel X" / "you're not alone"
70
- - "You're not imagining it" / "you deserve"
71
- - "Shouting into the void"
72
-
73
- ### Founder/thought-leader cadence (#72-73, #104-109)
74
- - "Here's the thing" / "and honestly?"
75
- - "Here's the kicker" / "the part most people miss"
76
- - "What nobody's saying" / "the best part?"
77
- - "Same X. Better Y." / "the moment X becomes Y"
78
-
79
- ### Marketing verbs (#61-62, #83, #114-117, #145-150)
80
- - "Unlock the power of" / "harness the power of"
81
- - "Transform/elevate/take to the next level"
82
- - "Master the art of" / "game-changer"
83
- - "Supercharge / turbocharge / on steroids"
84
-
85
- ### Journey/destination clichés (#59, #84, #122, #144, #214-215)
86
- - "X isn't a destination; it's a journey"
87
- - "No matter where you are on your journey"
88
- - "Embark on" / "you're still early" / "it's still day one"
89
-
90
- ### Metaphor clusters (#18, #120-121, #159-160, #167-168, #173-180)
91
- - "Beacon / lighthouse / tapestry / symphony / tides"
92
- - "Silent killer / hidden gem / tip of the iceberg"
93
- - "North star / double-edged sword / blessing and a curse"
94
- - "Noise vs signal" / "X is the new Y"
95
- - "Flood / avalanche / tsunami of X"
96
-
97
- ### Guide/article framing (#11-13, #27-28, #136-138)
98
- - "You're in the right place" / "here's a step-by-step guide"
99
- - "First, second, third" / "key takeaways" / "actionable tips"
100
- - "In this article/guide/post" / "this piece explores"
101
-
102
- ### Wrapping/closing (#9, #14-15, #51-52, #66, #93, #103, #189, #217)
103
- - "At the end of the day" / "the bottom line is"
104
- - "In conclusion / in summary / to recap"
105
- - "Let that sink in" / "only time will tell"
106
- - "Curious what others think" / "let me know if you need help"
107
-
108
- ### UX/business buzzwords (#92, #123-126, #155-157)
109
- - "Robust, scalable, innovative, impactful"
110
- - "Seamless experience" / "frictionless journey"
111
- - "Pain points" / "wealth of insights"
112
-
113
- ### Story/temporal templates (#17, #32-33, #113, #216, #218-219)
114
- - "Imagine this / picture this"
115
- - "Storytelling has been around for centuries"
116
- - "Little did I know" / "at first I was skeptical"
117
- - "The best time was X, the second-best time is now"
118
-
119
- ## Structural Signals (Beyond Individual Words)
120
-
121
- - **Low burstiness**: Sentence lengths all similar (coefficient of variation < 0.35)
122
- - **Mechanical paragraphs**: All paragraphs nearly identical sentence count
123
- - **Over-structured lists**: Rigid 3-item lists throughout
124
- - **Uniform paragraph rhythm**: Most sentences fall in 12-22 word range
125
- - **Low contractions**: < 0.8 contractions per 100 words (overly formal)
126
- - **Formal hedging density**: 2+ institutional hedging phrases
127
- - **Generic intensifiers**: 3+ "remarkably/incredibly/amazingly" instances
128
- - **No fragments**: Zero sentence fragments in 20+ sentences (over-polished)
129
-
130
- ## What To Do Instead
131
-
132
- - Start from rough private-note material: an exact edit, meeting fragment,
133
- dashboard annoyance, customer confusion, half-remembered sentence, or internal
134
- contradiction.
135
- - Let the idea move because the logic moves, not because line breaks perform.
136
- - Prefer concrete scenes, mechanisms, quoted language, and specific stakes.
137
- - Let some pieces end on a detail, hesitation, unresolved thought, or awkwardly
138
- specific observation.
139
- - If a line sounds like a maxim, a carousel, or a model trying to be sharp,
140
- make it plainer and more grounded.
@@ -1,8 +0,0 @@
1
- when i ask you to "write in my voice" or "rewrite this in my voice":
2
-
3
- - read `~/.hyv/voice.md` for my voice profile
4
- - run `hyv rewrite --text "<text>"` to get the structured prompt
5
- - execute the prompt and rewrite the text
6
- - match my rhythm, vocabulary, and patterns exactly
7
- - never use words i avoid
8
- - present the rewritten version
@@ -1,18 +0,0 @@
1
- {
2
- "version": "1.0.0",
3
- "engine": "node",
4
- "source": "cli/src/lib/signals.ts",
5
- "updated": "2026-06-12",
6
- "categories": {
7
- "ai-slop": { "description": "Dead AI language and overused words", "severity_default": "red" },
8
- "voice-drift": { "description": "Hedging, generic openers, voice drift", "severity_default": "yellow" },
9
- "structure": { "description": "Formulaic structure and antithesis tells", "severity_default": "yellow" },
10
- "cadence": { "description": "Sentence rhythm violations", "severity_default": "yellow" },
11
- "learned": { "description": "User-specific learned patterns", "severity_default": "yellow" },
12
- "engagement-bait": { "description": "Engagement bait patterns", "severity_default": "red" },
13
- "ai-cringe": { "description": "AI cringe phrases", "severity_default": "yellow" },
14
- "insider-claim": { "description": "Insider knowledge claims", "severity_default": "yellow" }
15
- },
16
- "pattern_count": 220,
17
- "notes": "Node signals.ts is canonical for npm package. Server syncs this manifest; supplemental rules may ship in ~/.hyv/cache/supplemental-rules.json"
18
- }
@@ -1,42 +0,0 @@
1
- # Economic Drift Voice
2
-
3
- Economic Drift is the default Shashank voice profile when the user asks for
4
- "my voice" and no fresher project samples are available. Do not force it onto a
5
- different writer when their own samples exist.
6
-
7
- ## Philosophy
8
-
9
- High-signal, low-friction writing. The reader should get a lot without working
10
- hard. The tone feels like a private conversation with someone smart, slightly
11
- cynical, and not performing for approval.
12
-
13
- ## Style
14
-
15
- - Open with a concrete observation, moment, mechanism, or pattern.
16
- - Avoid lesson openers, question openers, inspirational claims, and generic
17
- category summaries.
18
- - Use contrarian tension only when the real point is uncomfortable, not for
19
- cheap shock.
20
- - Mix simple language with dense thinking.
21
- - Let sentence length vary naturally. No theatrical staccato.
22
- - Favor rough private-note texture: exact edits, customer confusion, dashboard
23
- annoyances, meeting fragments, internal contradictions.
24
- - Do not turn every piece into a tidy lesson. Some endings should stop on a
25
- detail or unresolved thought.
26
- - Use lowercase when writing in Shashank's deliberate social-writing style,
27
- unless the user or target format asks otherwise.
28
-
29
- ## Hard Bans
30
-
31
- - `here's the thing`
32
- - `let's be honest`
33
- - `at the end of the day`
34
- - `which is another way of saying`
35
- - `in other words`
36
- - `the moment x becomes y`
37
- - `same x. better y.`
38
- - motivational poster energy
39
- - screenshot-ready punchline cadence
40
- - generic founder advice
41
- - bullets, hashtags, emojis, and bold emphasis in social prose unless requested
42
-
@@ -1,88 +0,0 @@
1
- # Voice DNA
2
-
3
- ## Writing Rules
4
- - Write like a sharp human, not a language model.
5
- - Use contractions naturally (don't, can't, won't).
6
- - Short paragraphs. 1-3 sentences max.
7
- - Get to the point. No throat-clearing, no preamble.
8
- - If making a claim, be specific. Use numbers, names, concrete details.
9
- - Vary sentence length. Mix short punchy lines with longer ones.
10
- - Use natural transitions, not mechanical ones ("Furthermore," "Additionally").
11
- - When uncertain, say so plainly ("I think," "probably," "kinda"). Hedging is human.
12
- - Never pad output to seem more thorough. Shorter and accurate beats longer and fluffy.
13
- - Use physical verbs for abstract processes: "sanded down" not "improved," "bolted on" not "added," "stripped back" not "simplified."
14
- - Humor comes from specificity, not from jokes. Be unexpectedly precise.
15
- - Parenthetical asides are good. Use them for editorial commentary, honest reactions, quick tangents, and deflating your own seriousness (like this).
16
- - Write the way you talk. Naturally.
17
- - Use short words, short sentences, short paragraphs.
18
- - Never use jargon. Pretend the reader is smart but unfamiliar with the topic.
19
- - Read every sentence aloud in your head. If you'd stumble saying it, rewrite it.
20
- - Be crystal clear about what you want the reader to do next.
21
-
22
- ## Formatting Rules
23
- - Short paragraphs (1-2 sentences default, 3 max).
24
- - Numbers as digits.
25
- - Contractions always.
26
- - NO em dashes ever. Use commas, periods, colons, semicolons, or parentheses.
27
- - Bold sparingly, 1-2 key moments per section.
28
- - Code blocks for specific prompts, commands, or tool outputs.
29
-
30
- ## Banned Phrases
31
-
32
- ### Dead AI Language
33
- - "In today's [anything]..."
34
- - "It's important to note that..." / "It's worth noting..."
35
- - "Delve" / "Dive into" / "Unpack"
36
- - "Harness" / "Leverage" / "Utilize"
37
- - "Landscape" / "Realm" / "Robust"
38
- - "Game-changer" / "Cutting-edge" / "State-of-the-art"
39
- - "Straightforward"
40
- - "I'd be happy to help"
41
- - "In order to"
42
-
43
- ### Dead Transitions
44
- - "Furthermore" / "Additionally" / "Moreover"
45
- - "Moving forward" / "At the end of the day"
46
- - "To put this in perspective..."
47
- - "What makes this particularly interesting is..."
48
- - "The implications here are..."
49
- - "In other words..."
50
- - "It goes without saying..."
51
-
52
- ### Engagement Bait
53
- - "Let that sink in" / "Read that again" / "Full stop"
54
- - "This changes everything"
55
- - "Are you paying attention?"
56
- - "You're not ready for this"
57
-
58
- ### AI Cringe
59
- - "Supercharge" / "Unlock" / "Future-proof"
60
- - "10x your productivity"
61
- - "The AI revolution"
62
- - "In the age of AI"
63
-
64
- ### Generic Insider Claims
65
- - "Here's the part nobody's talking about"
66
- - "What nobody tells you"
67
- - Anything with "nobody" or "most people don't realize"
68
-
69
- ### The Big One (FATAL)
70
- - "This isn't X. This is Y." and ALL variations.
71
- - "Not X. Y."
72
- - "Forget X. This is Y."
73
- - "Less X, more Y."
74
- - ANY sentence that negates one framing then asserts a corrected one.
75
- - If even ONE of these appears, the output fails. Delete the negation, just state the positive claim.
76
-
77
- ### Business Jargon (Ogilvy Rule)
78
- - "Utilize" / "Leverage" / "Synergy"
79
- - "Circle back" / "Touch base" / "Take it offline"
80
- - "Low-hanging fruit" / "Move the needle" / "Bandwidth"
81
- - "Deep dive" / "Boil the ocean"
82
-
83
- ## Writing Samples
84
-
85
- <!-- Paste your writing here. The more you give, the better the voice match.
86
- Google docs, emails, blog posts, Slack messages, reports.
87
- Pre-AI writing is best — your voice before it blended with AI defaults. -->
88
-
@@ -1,28 +0,0 @@
1
- {
2
- "profile_version": "hold-your-voice-portable-v1",
3
- "name": "project voice",
4
- "source_count": 0,
5
- "word_count": 0,
6
- "sentence": {
7
- "avg_words": 0,
8
- "variance": "medium"
9
- },
10
- "paragraph": {
11
- "avg_sentences": 0
12
- },
13
- "signature": {
14
- "case_style": "mixed",
15
- "argument_pattern": "mixed",
16
- "opening_moves": [],
17
- "cadence": [],
18
- "anchors": [],
19
- "never_list": []
20
- },
21
- "voice_rules": [],
22
- "ai_eliminator": {
23
- "rewrite_scope": "flagged-lines-only",
24
- "preserve_surrounding_lines": true,
25
- "avoid_polished_founder_cadence": true
26
- }
27
- }
28
-