@holdyourvoice/hyv 2.9.27 → 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 -235
  17. package/README.md +0 -218
  18. package/agents/AGENTS.md +0 -80
  19. package/agents/README.md +0 -20
  20. package/agents/chatgpt.md +0 -45
  21. package/agents/claude-code.md +0 -50
  22. package/agents/codex.md +0 -30
  23. package/agents/cursor.md +0 -35
  24. package/agents/generic.md +0 -47
  25. package/agents/windsurf.md +0 -19
  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 -20909
  35. package/scripts/README.md +0 -21
  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
package/README.md DELETED
@@ -1,218 +0,0 @@
1
- # hold your voice
2
-
3
- make your ai agent sound exactly like you.
4
-
5
- `@holdyourvoice/hyv` is a CLI-first voice gate for AI workflows. scan drafts for AI writing patterns locally (offline, no API), wire it into cursor/claude via MCP, and unlock profile-aware rewrites when you subscribe.
6
-
7
- **Try without installing:**
8
-
9
- ```bash
10
- npx @holdyourvoice/hyv welcome
11
- npx @holdyourvoice/hyv scan draft.md
12
- ```
13
-
14
- ## install
15
-
16
- **Recommended** (installs node automatically if missing):
17
-
18
- ```bash
19
- # mac / linux
20
- curl -fsSL https://holdyourvoice.com/install.sh | bash
21
-
22
- # windows (powershell)
23
- powershell -ExecutionPolicy Bypass -c "irm https://holdyourvoice.com/install.ps1 | iex"
24
- ```
25
-
26
- Already have node 18+?
27
-
28
- ```bash
29
- npm i -g @holdyourvoice/hyv
30
- ```
31
-
32
- postinstall copies agent rules and configures MCP for claude desktop and cursor (plus claude code, windsurf, codex, command code skills when detected). set `HYV_AUTO_CONFIGURE_AGENTS=0` to skip.
33
-
34
- ## free vs paid
35
-
36
- | free forever (local, no account) | paid unlocks |
37
- |----------------------------------|--------------|
38
- | `hyv scan`, `fix`, `check`, `score`, `diff`, `batch`, `watch` | voice profiles synced from your account |
39
- | `hyv mcp` — agent tools (`hyv_scan`, `hyv_clean`, …) | learning loop: `hyv reinforce`, `hyv add` |
40
- | `hyv welcome`, `hyv doctor`, `hyv content` | profile-aware `hyv rewrite` prompts |
41
- | 30+ free web tools at [holdyourvoice.com/tools](https://holdyourvoice.com/tools) | hybrid server analysis (`hyv scan --server`, MCP `hyv_analyze`) |
42
- | public voice profiles + blog | multiple profiles, team voices, dashboard |
43
-
44
- ```bash
45
- hyv plan --free # full matrix in the terminal
46
- hyv welcome # live demo + every free capability
47
- ```
48
-
49
- local scan never calls an LLM. your text stays on your machine.
50
-
51
- ## quick start
52
-
53
- ```bash
54
- # instant demo — no auth
55
- npx @holdyourvoice/hyv welcome
56
-
57
- # scan a draft offline
58
- hyv scan draft.md
59
-
60
- # sign in when you want profiles + learning
61
- hyv init
62
- hyv new my-voice
63
-
64
- # generate a rewrite prompt (profile-aware when subscribed)
65
- hyv rewrite draft.md
66
- ```
67
-
68
- ## npx (no global install)
69
-
70
- ```bash
71
- npx @holdyourvoice/hyv welcome
72
- npx @holdyourvoice/hyv scan draft.md
73
- npx @holdyourvoice/hyv fix draft.md
74
- npx @holdyourvoice/hyv init
75
- npx @holdyourvoice/hyv mcp --setup
76
- ```
77
-
78
- ## MCP server
79
-
80
- `hyv mcp` runs a stdio MCP server for claude desktop, claude code, cursor, windsurf, codex, and command code.
81
-
82
- ```bash
83
- hyv mcp --setup # copy-paste config for every agent
84
- hyv mcp --test # health check (tools, demo pipeline, profile)
85
- hyv mcp # start server (stdio)
86
- ```
87
-
88
- postinstall copies agent rules to `~/.cursor/rules/hyv.mdc`, `~/.claude/commands/hyv.md`, etc. re-run anytime:
89
-
90
- ```bash
91
- hyv doctor --fix-agents
92
- ```
93
-
94
- ### tools
95
-
96
- | tool | description |
97
- |------|-------------|
98
- | `hyv_welcome` / `hyv_demo` | onboarding + live free scan demo |
99
- | `hyv_scan` | fast local scan (free, offline; uses `~/.hyv` cache, no network wait) |
100
- | `hyv_analyze` | hybrid local + server analysis (paid when online) |
101
- | `hyv_clean` | scan → fix → validate → rewrite prompt |
102
- | `hyv_fix` / `hyv_check` / `hyv_score` / `hyv_diff` | local utilities |
103
- | `hyv_rewrite` | profile-aware rewrite prompt |
104
- | `hyv_validate` | verify text against voice profile |
105
- | `hyv_profiles` | list cached or account profiles |
106
-
107
- ### agent workflow
108
-
109
- 1. `hyv_scan` or `hyv_analyze` on draft text
110
- 2. `hyv_clean` or `hyv_fix` → `hyv_rewrite` → `hyv_validate`
111
- 3. after user accepts edits: `hyv reinforce --last` (CLI learning loop)
112
-
113
- ## CI / pre-commit
114
-
115
- block AI-slop before merge:
116
-
117
- ```bash
118
- hyv content ci # full github actions + pre-commit snippets
119
- ```
120
-
121
- github actions:
122
-
123
- ```yaml
124
- - run: npx @holdyourvoice/hyv@latest scan content/ --fail-on-hit
125
- ```
126
-
127
- `--fail-on-hit` exits with code **2** when issues are found (exit 0 = clean). use in CI to block merges on AI-slop.
128
-
129
- ### destructive in-place writes
130
-
131
- `fix`, `batch`, and `watch` can rewrite files on disk. they create a `.bak` backup sibling before writing.
132
-
133
- | command | safeguard |
134
- |---------|-----------|
135
- | `hyv fix <file> --in-place` | prompts `[y/N]` locally; use `--yes` in CI |
136
- | `hyv batch <glob> --fix --in-place` | same — one prompt for the whole batch |
137
- | `hyv watch <file> --command fix` | same — confirms once at startup |
138
-
139
- ```bash
140
- # interactive (local)
141
- hyv fix draft.md --in-place
142
-
143
- # non-interactive (CI/scripts)
144
- hyv fix draft.md --in-place --yes
145
- hyv batch "posts/**/*.md" --fix --in-place --yes
146
- ```
147
-
148
- ## commands
149
-
150
- | command | description |
151
- |---------|-------------|
152
- | `hyv` | condensed welcome (no args) |
153
- | `hyv welcome` / `hyv free` | free demo + capability tour |
154
- | `hyv scan <file>` | scan text for AI patterns |
155
- | `hyv fix <file>` | auto-swap fixable patterns (`--in-place --yes` for CI) |
156
- | `hyv batch <glob>` | scan/fix many files (`--fail-on-hit` exits 2) |
157
- | `hyv watch <file>` | re-scan on save (`--command fix --yes` to auto-fix) |
158
- | `hyv check <text>` | quick pass/fail check |
159
- | `hyv init` | authenticate with hold your voice |
160
- | `hyv new <name>` | create a voice profile |
161
- | `hyv rewrite <file>` | generate rewrite prompt |
162
- | `hyv content [topic]` | blog outlines, CI snippets, share templates |
163
- | `hyv plan --free` | free vs paid matrix |
164
- | `hyv mcp` | start MCP server |
165
- | `hyv export [format]` | export profile for LLMs |
166
- | `hyv reinforce --last` | learn from last fix session |
167
- | `hyv doctor` | diagnose and fix issues |
168
- | `hyv upgrade` | install latest global CLI |
169
-
170
- ## voice profiles
171
-
172
- profiles live in `~/.hyv/profiles/` as markdown. create one with:
173
-
174
- ```bash
175
- hyv new my-voice
176
- ```
177
-
178
- onboarding walks through your style, audience, and tone. profiles sync to the server when you're on a paid plan.
179
-
180
- ## content formats
181
-
182
- `hyv scan` detects 220+ AI writing patterns:
183
-
184
- - **ai-slop** — delve, leverage, tapestry, pivotal, foster
185
- - **formulaic** — firstly, moreover, in conclusion
186
- - **voice-drift** — arguably, perhaps, some might say
187
- - **structure** — antithesis, signpost claims, lesson setups
188
-
189
- paid profiles add never-list bans, learned patterns, anchors, and cadence scoring.
190
-
191
- ## environment variables
192
-
193
- | variable | description |
194
- |----------|-------------|
195
- | `HYV_API_URL` | API base URL (default: `https://holdyourvoice.com`) |
196
- | `HYV_LOCAL_ONLY` | force offline mode (`1` or `true`) |
197
- | `HYV_TELEMETRY` | log funnel events to `~/.hyv/telemetry/` (`1` to enable) |
198
- | `HYV_POSTINSTALL_QUIET` | suppress postinstall output (`1`) |
199
-
200
- ```bash
201
- HYV_API_URL=https://staging.holdyourvoice.com hyv init
202
- ```
203
-
204
- ## links
205
-
206
- - [npm package](https://www.npmjs.com/package/@holdyourvoice/hyv)
207
- - [free tools](https://holdyourvoice.com/tools)
208
- - [pricing](https://holdyourvoice.com/#pricing)
209
- - [blog](https://holdyourvoice.com/blog)
210
- - [community](https://holdyourvoice.com/community)
211
-
212
- ## documentation ownership
213
-
214
- Changes under `cli/` update this README, the more-specific owner README when applicable, and the root repository README. Package-relative paths, bin names, published files, and postinstall behavior are contracts; validate them with `npm run validate:publish` before merging.
215
-
216
- ## license
217
-
218
- UNLICENSED — [holdyourvoice.com](https://holdyourvoice.com)
package/agents/AGENTS.md DELETED
@@ -1,80 +0,0 @@
1
- # Hold Your Voice — Agent Instructions
2
-
3
- The user has a voice profile that defines their unique writing style. Your job is to make ALL written content match their voice automatically — without waiting for them to mention "voice" or "hyv".
4
-
5
- ## Auto-trigger — do these automatically
6
-
7
- **Before delivering any written content (emails, replies, posts, docs, messages, or prose):**
8
- 1. Run `hyv_scan` for a fast local check (free, offline, works without a profile)
9
- 2. Run `hyv_clean` for the full scan → fix → validate pipeline, or `hyv_fix` then `hyv_rewrite`
10
- 3. Run `hyv_validate` to verify the output matches their voice
11
-
12
- **When the user asks you to write, draft, compose, edit, improve, or rewrite anything:**
13
- 1. Write your draft normally
14
- 2. Run `hyv_scan` or `hyv_clean` on it
15
- 3. Run `hyv_rewrite` to match their voice profile
16
- 4. Deliver the voice-matched version
17
-
18
- **After the user accepts a substantial edit:**
19
- - Suggest they run `hyv reinforce --last` so their profile learns from the change
20
-
21
- ## Which tool to use
22
-
23
- | Tool | What it does | When to use |
24
- |------|-------------|-------------|
25
- | `hyv_welcome` | Onboarding guide (name → samples → test → signup) | New users, first time |
26
- | `hyv_mcp_setup` | Status, integrate apps, ChatGPT connector | Check/refresh setup |
27
- | `hyv_profiles` | List voice profiles | See which profiles are available |
28
- | `hyv_scan` | Fast local AI-pattern scan (free, 220+ patterns) | Before any prose delivery |
29
- | `hyv_analyze` | Full hybrid scan (local + server, paid) | Important drafts |
30
- | `hyv_clean` | Scan → fix → validate → rewrite in one call | Best single-call pipeline |
31
- | `hyv_fix` | Auto-fix deterministic patterns (no LLM) | Before rewrite |
32
- | `hyv_rewrite` | Profile-aware rewrite prompt | After scan/fix |
33
- | `hyv_validate` | Verify output matches voice profile | After rewrite |
34
- | `hyv_check` | Quick pass/fail | Spot checks |
35
- | `hyv_score` | 0-100 voice score | Quantify quality |
36
- | `hyv_diff` | Before/after comparison | Review changes |
37
- | `hyv_list_free_tools` | List all free capabilities | What's available |
38
-
39
- ## Voice profiles
40
-
41
- - Run `hyv_profiles` first if unsure which profile is active.
42
- - Terminal profiles (from `hyv welcome`) are already local — no extra step.
43
- - Dashboard profiles sync after the user runs `hyv init` once (MCP auto-downloads).
44
- - Pass `profile: "<slug>"` on tools only when using a non-default profile.
45
- - If no profile exists yet, free local scan still works — call `hyv_welcome` to onboard.
46
-
47
- ## Rewrite rules
48
-
49
- 1. **Never** use AI-slop words: delve, leverage, tapestry, foster, harness, pivotal, innovative, cutting-edge, robust, holistic, nuanced, resonate, unpack, navigate, landscape, ecosystem, transformative, paradigm, revolutionize, unlock, supercharge, game-changer
50
- 2. **Never** use formulaic connectors: firstly, secondly, moreover, furthermore, in conclusion, to conclude, notably
51
- 3. **Never** use hedging: arguably, perhaps, some might say, it's worth noting, it's important to note
52
- 4. **Never** use signpost claims: this is why, this is how, here's where, here's why
53
- 5. **Never** use antithesis patterns: "not just X, but Y", "more than just", "it's not about X, it's about Y"
54
- 6. **Match** the user's sentence rhythm, vocabulary, and tone from their voice profile
55
- 7. **Preserve** roughness that carries voice — don't over-polish
56
- 8. **Open** from concrete observations, not generic setups
57
- 9. **Fix only** flagged lines — preserve clean lines exactly
58
- 10. **Never add** sections, hooks, CTAs, markdown, or commentary
59
-
60
- ## MCP setup (no terminal needed)
61
-
62
- - `hyv_mcp_setup` with `action=status` — see what's integrated and onboarding progress
63
- - `hyv_mcp_setup` with `action=integrate` — refresh Cursor/Claude configs (`force=true` after hyv upgrade)
64
- - `hyv_mcp_setup` with `action=chatgpt` — ChatGPT remote OAuth steps (recommended for paid users)
65
- - `hyv_welcome` — finish voice onboarding inside this chat
66
-
67
- ## CLI fallback (when MCP tools aren't available)
68
-
69
- ```bash
70
- echo "text to check" | hyv scan -
71
- hyv fix file.md # apply auto-fixes without LLM
72
- hyv rewrite file.md # generate rewrite prompt
73
- hyv check "inline text" # quick spot-check
74
- hyv score file.md # just a 0-100 number
75
- hyv diff file.md # show proposed fixes
76
- hyv profiles # list profiles
77
- hyv reinforce --last # learn from last edit
78
- hyv mcp --setup # view all MCP configs
79
- hyv mcp --test # verify everything works
80
- ```
package/agents/README.md DELETED
@@ -1,20 +0,0 @@
1
- # `cli/agents/`
2
-
3
- ## Purpose
4
-
5
- `cli/agents/` contains agent resources included in the published CLI package.
6
-
7
- ## Contracts
8
-
9
- The directory is included by the `files` list in `cli/package.json`. Changes must preserve package inclusion and postinstall discovery behavior.
10
-
11
- ## Validation
12
-
13
- ```bash
14
- cd cli
15
- npm run validate:publish
16
- ```
17
-
18
- ## Documentation ownership
19
-
20
- Changes update this README, `cli/README.md`, and the root `README.md`.
package/agents/chatgpt.md DELETED
@@ -1,45 +0,0 @@
1
- # Hold Your Voice — Writing Rules
2
-
3
- The user has a voice profile. All writing must match their personal style.
4
-
5
- ## Rules
6
- 1. Never use AI-slop words: delve, leverage, tapestry, foster, harness, pivotal, innovative, cutting-edge, state-of-the-art, robust, holistic, multifaceted, nuanced
7
- 2. Never use formulaic connectors: firstly, secondly, moreover, furthermore, in conclusion
8
- 3. Never use hedging: arguably, perhaps, some might say, it's worth noting
9
- 4. Never use signpost claims: this is why, this is how, here's where
10
- 5. Match the user's sentence rhythm and vocabulary
11
- 6. Preserve roughness that carries voice — don't over-polish
12
- 7. Open from concrete observations, not generic setups
13
-
14
- ## When rewriting
15
- - Fix only flagged lines, preserve clean lines
16
- - Remove AI patterns line by line
17
- - Match the user's voice profile exactly
18
- - Never add sections, hooks, CTAs, or commentary
19
-
20
- ## Voice profiles
21
- - `hyv_profiles` — which profile MCP tools use (default + all local copies)
22
- - Dashboard-built profiles: user runs `hyv init` once on their Mac — then MCP auto-syncs
23
- - Terminal `hyv welcome` profiles are already local — no extra step
24
-
25
- ## MCP setup (no terminal)
26
- - `hyv_mcp_setup` with `action=status` — see what's integrated and onboarding progress
27
- - `hyv_mcp_setup` with `action=integrate` — refresh Cursor/Claude configs (`force=true` after hyv upgrade)
28
- - `hyv_mcp_setup` with `action=chatgpt` — **recommended:** remote OAuth (developer mode → new app → https://holdyourvoice.com/mcp + OAuth). Free fallback: local connector (command: hyv, arguments: mcp)
29
- - `hyv_welcome` — finish voice onboarding inside this chat
30
-
31
- ## ChatGPT connection (recommended — paid users)
32
- 1. Settings → Developer mode ON
33
- 2. Settings → Apps → New App
34
- 3. Server URL: `https://holdyourvoice.com/mcp` · Authentication: OAuth
35
- 4. Save → sign in to holdyourvoice.com
36
- 5. OAuth runs in ChatGPT's browser — no Windows firewall issues, no local install
37
-
38
- ## Available tools
39
- - `hyv_mcp_setup` / `hyv_welcome` / `hyv_demo` — setup and onboarding
40
- - `hyv_scan` / `hyv_analyze` — check for AI patterns (+ hybrid when paid)
41
- - `hyv_clean` — full scan → fix → validate pipeline
42
- - `hyv_fix` / `hyv_rewrite` / `hyv_validate`
43
- - `hyv_check` / `hyv_score` / `hyv_diff`
44
- - `hyv_profiles` — list available profiles
45
- - CLI: `hyv reinforce --last` after user accepts edits
@@ -1,50 +0,0 @@
1
- # Hold Your Voice
2
-
3
- The user has a voice profile that defines their writing style. Use HYV tools for ALL writing tasks — not just when they say "voice" or "hyv".
4
-
5
- ## When to use HYV
6
-
7
- ALWAYS run `hyv_scan` or use the `hyv_scan` MCP tool before delivering any written content:
8
- - Writing emails, replies, or messages
9
- - Drafting blog posts, articles, or documentation
10
- - Creating social media posts (Twitter, LinkedIn, etc.)
11
- - Editing or improving any text
12
- - Responding to questions with longer answers
13
- - Any task where the output is prose/text the user will publish or send
14
-
15
- ALWAYS run `hyv_rewrite` or use the `hyv_rewrite` MCP tool when:
16
- - The user asks to "write", "draft", "compose", "edit", "improve", or "fix" text
17
- - The user says "make this better", "clean this up", "fix the tone"
18
- - The user asks for any content creation
19
- - The scan finds issues and you need to fix them
20
-
21
- ## How to use
22
-
23
- ### MCP tools (preferred — if MCP is connected):
24
- 1. `hyv_welcome` for new users (step 2: extract_prompt from chat history)
25
- 2. `hyv_scan` (fast local) or `hyv_analyze` (hybrid when paid) → get issues
26
- 3. `hyv_clean` → scan + fix + validate + rewrite prompt in one call
27
- 4. Or stepwise: `hyv_fix` → `hyv_rewrite` → `hyv_validate`
28
- 5. `hyv_check` / `hyv_score` / `hyv_diff` for quick checks
29
- 6. After user accepts edits: suggest `hyv reinforce --last` (CLI learning loop)
30
-
31
- ### CLI commands (fallback):
32
- ```bash
33
- echo "text to check" | hyv scan -
34
- hyv fix file.md # apply auto-fixes without LLM
35
- hyv rewrite file.md # generate rewrite prompt
36
- hyv check "inline text" # quick spot-check
37
- hyv score file.md # just a 0-100 number
38
- hyv diff file.md # show proposed fixes
39
- hyv profiles # list profiles
40
- hyv rules # list/toggle detection rules
41
- hyv batch "posts/**/*.md" # scan multiple files
42
- hyv history # track scores over time
43
- ```
44
-
45
- ## Rules
46
- - Never skip the scan step for user-facing content
47
- - Preserve the original meaning exactly when rewriting
48
- - Match the voice profile's rhythm, vocabulary, and patterns
49
- - If no profile is set up yet, run `hyv profiles` to check
50
- - Setup: `hyv mcp --setup` | health: `hyv mcp --test`
package/agents/codex.md DELETED
@@ -1,30 +0,0 @@
1
- # Hold Your Voice
2
-
3
- The user has a voice profile for their writing style. Use HYV for ALL writing tasks.
4
-
5
- ## Auto-trigger rules
6
-
7
- Run these MCP tools (or CLI commands) for any writing task:
8
- - `hyv_scan` or `hyv_analyze` on any text before delivering it
9
- - `hyv_clean` for the full pipeline, or `hyv_fix` → `hyv_rewrite`
10
- - `hyv_validate` to verify the output
11
- - Suggest `hyv reinforce --last` after substantial accepted edits
12
-
13
- ## Quick tools
14
- - `hyv_welcome` / `hyv_demo` for new users
15
- - `hyv_check` / `hyv_score` / `hyv_diff`
16
-
17
- ## CLI fallback
18
- ```bash
19
- echo "text" | hyv scan -
20
- hyv fix file.md
21
- hyv rewrite file.md
22
- hyv reinforce --last
23
- hyv profiles
24
- hyv mcp --setup
25
- ```
26
-
27
- ## Rules
28
- - Always scan before delivering prose content
29
- - Always fix/rewrite if scan finds issues
30
- - Preserve meaning, match voice profile
package/agents/cursor.md DELETED
@@ -1,35 +0,0 @@
1
- # Hold Your Voice
2
-
3
- Use HYV MCP tools for all writing tasks. If no profile exists yet, call `hyv_welcome` or `hyv_profiles` first — free local scan works without a profile. For MCP host setup or refresh, call `hyv_mcp_setup` (no terminal).
4
-
5
- ## When to use
6
- - Any email, post, doc, or content creation
7
- - Before delivering any prose to the user
8
- - When editing or improving text
9
- - New users: `hyv_welcome` (name → samples via extract_prompt → scan → signup last)
10
-
11
- ## Tool flow (preferred)
12
- 1. `hyv_scan` — fast local check (free, offline)
13
- 2. `hyv_analyze` — full hybrid engine when user is on a paid plan
14
- 3. `hyv_fix` — deterministic word swaps
15
- 4. `hyv_clean` — scan → fix → validate → rewrite prompt in one call
16
- 5. `hyv_rewrite` — profile-aware rewrite prompt for remaining issues
17
- 6. `hyv_validate` — verify output matches voice
18
- 7. After user accepts a big edit: suggest `hyv reinforce --last` (CLI)
19
-
20
- ## Tools
21
- - `hyv_profiles` — active default + all MCP-ready profiles (dashboard profiles after `hyv init`)
22
- - `hyv_mcp_setup` — integration status, refresh configs, ChatGPT steps
23
- - `hyv_welcome` / `hyv_list_free_tools` / `hyv_demo` — onboarding (free)
24
- - `hyv_scan` — local AI pattern + profile scan
25
- - `hyv_analyze` — hybrid local + server analysis (paid when online)
26
- - `hyv_clean` — full clean pipeline for agents
27
- - `hyv_fix` / `hyv_check` / `hyv_score` / `hyv_diff` — local utilities
28
- - `hyv_rewrite` / `hyv_validate` — voice matching
29
- - `hyv_profiles` — list profiles
30
-
31
- ## Rules
32
- - Always scan before delivering content
33
- - Use `hyv_fix` before `hyv_rewrite` when possible
34
- - Preserve meaning when rewriting
35
- - Match the user's voice profile exactly
package/agents/generic.md DELETED
@@ -1,47 +0,0 @@
1
- # Hold Your Voice — Agent Instructions
2
-
3
- You have access to the Hold Your Voice MCP tools. The user has a voice profile that defines how they write. Your job is to make ALL written content match their voice.
4
-
5
- ## Auto-trigger rules
6
-
7
- You MUST use these tools automatically — do NOT wait for the user to mention "voice" or "hyv":
8
-
9
- **Before delivering any written content (emails, posts, docs, messages):**
10
- 1. Run `hyv_scan` (fast) or `hyv_analyze` (full hybrid when paid)
11
- 2. Run `hyv_clean` for the full scan → fix → validate loop, or `hyv_fix` then `hyv_rewrite`
12
- 3. Run `hyv_validate` to verify the result
13
-
14
- **When the user asks you to write, draft, edit, or improve anything:**
15
- 1. Write your draft
16
- 2. Run `hyv_scan` or `hyv_clean` on it
17
- 3. Deliver the cleaned version
18
-
19
- **After the user accepts a substantial edit:**
20
- - Suggest they run `hyv reinforce --last` so their profile learns from the change
21
-
22
- **For new users or MCP setup:**
23
- - Call `hyv_welcome` — guide them: name profile → samples (use `hyv_welcome` with `mode=extract_prompt` to pull voice from chat) → `hyv_scan` test → signup last via `hyv init`
24
- - Call `hyv_mcp_setup` — check integration status, refresh app configs (`action=integrate`), or ChatGPT Desktop steps (`action=chatgpt`). Works without a voice profile.
25
-
26
- ## Voice profiles (terminal + dashboard)
27
- - Call **`hyv_profiles`** first if unsure which profile is active.
28
- - **`hyv welcome`** (terminal) saves to this machine — MCP uses it immediately.
29
- - **Dashboard** profiles sync here after the user runs **`hyv init`** once (MCP auto-downloads on start).
30
- - Pass `profile: "<slug>"` on tools only when using a non-default profile (slug is lowercase-hyphenated name).
31
-
32
- ## Available tools
33
- - `hyv_mcp_setup` — MCP status, integrate hosts, ChatGPT connector guide (no terminal)
34
- - `hyv_profiles` — list MCP-ready profiles and active default
35
- - `hyv_welcome` / `hyv_list_free_tools` / `hyv_demo` — onboarding
36
- - `hyv_scan` — local scan (free, offline)
37
- - `hyv_analyze` — hybrid server + local (paid)
38
- - `hyv_clean` — composite clean pipeline
39
- - `hyv_fix` / `hyv_rewrite` / `hyv_validate`
40
- - `hyv_check` / `hyv_score` / `hyv_diff`
41
- - `hyv_profiles` — list voice profiles
42
-
43
- ## Rules
44
- - NEVER skip scanning for user-facing content
45
- - Preserve original meaning exactly when rewriting
46
- - Match the voice profile's rhythm, vocabulary, and tone
47
- - If no profile exists, run onboarding via `hyv_welcome` (step 2 extract_prompt from chat history)
@@ -1,19 +0,0 @@
1
- # Hold Your Voice
2
-
3
- Use HYV MCP tools for all writing tasks. The user has a voice profile.
4
-
5
- ## Auto-trigger
6
- - `hyv_scan` or `hyv_analyze` before delivering any text
7
- - `hyv_clean` for scan → fix → validate in one call
8
- - `hyv_fix` then `hyv_rewrite` for stepwise fixes
9
- - `hyv_validate` after rewriting
10
- - `hyv reinforce --last` after user accepts big edits (CLI)
11
-
12
- ## Quick tools
13
- - `hyv_welcome` / `hyv_demo` for onboarding
14
- - `hyv_check` / `hyv_score` / `hyv_diff`
15
-
16
- ## Rules
17
- - Always scan user-facing content
18
- - Use `hyv_fix` before `hyv_rewrite` when possible
19
- - Preserve meaning, match voice profile
@@ -1,46 +0,0 @@
1
- # free vs paid — @holdyourvoice/hyv
2
-
3
- ## free forever (local + web)
4
-
5
- **CLI (offline, no account)**
6
-
7
- - `hyv scan`, `fix`, `check`, `score`, `diff`, `batch`, `watch`
8
- - `hyv rules`, `history`, `demo`, `doctor`, `upgrade`
9
- - `hyv export` (local profile markdown)
10
- - `hyv mcp` — agent tools (`hyv_scan`, `hyv_clean`, `hyv_analyze`, …)
11
- - `hyv welcome` / `hyv free` — capability tour + live demo
12
- - `hyv content` — blog & share templates
13
- - `hyv plan --free` — this matrix in the terminal
14
-
15
- **Try without installing**
16
-
17
- ```bash
18
- npx @holdyourvoice/hyv welcome
19
- npx @holdyourvoice/hyv scan draft.md
20
- npx @holdyourvoice/hyv fix draft.md
21
- npx @holdyourvoice/hyv init
22
- npx @holdyourvoice/hyv mcp
23
- ```
24
-
25
- **Web (30+ free tools)**
26
-
27
- - https://holdyourvoice.com/tools
28
- - headline analyzer, brand voice audit, readability checker, email subject scorer, persona builder, and more
29
- - public profiles: https://holdyourvoice.com/profiles
30
- - blog: https://holdyourvoice.com/blog
31
-
32
- ## paid unlocks
33
-
34
- - voice profiles synced from your account (never-list, anchors, learned patterns)
35
- - learning loop: `hyv reinforce`, `hyv add`
36
- - profile-aware rewrite prompts (`hyv rewrite`)
37
- - hybrid server analysis (`hyv scan --server`, MCP `hyv_analyze`)
38
- - multiple profiles + team voices (team plan)
39
- - dashboard at https://holdyourvoice.com/app
40
-
41
- First month $1 → https://holdyourvoice.com/#pricing
42
-
43
- ```bash
44
- hyv init
45
- hyv plan --upgrade
46
- ```
package/assets/README.md DELETED
@@ -1,20 +0,0 @@
1
- # `cli/assets/`
2
-
3
- ## Purpose
4
-
5
- `cli/assets/` contains assets included in the published CLI package.
6
-
7
- ## Contracts
8
-
9
- The directory is included by the `files` list in `cli/package.json`. Keep package paths and postinstall consumers intact.
10
-
11
- ## Validation
12
-
13
- ```bash
14
- cd cli
15
- npm run validate:publish
16
- ```
17
-
18
- ## Documentation ownership
19
-
20
- Changes update this README, `cli/README.md`, and the root `README.md`.