@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
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 scoped agent rules and configures MCP for claude desktop and cursor (plus claude code, windsurf, codex, command code skills when detected). HYV runs automatically for publishable copy or an explicit voice request, not routine chat or engineering work. 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,82 +0,0 @@
1
- # Hold Your Voice — Agent Instructions
2
-
3
- The user has a voice profile for publishable copy. Use it for social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails. Also use it whenever the user explicitly asks for HYV, a voice profile, or writing in their voice.
4
-
5
- ## Auto-trigger — do these automatically
6
-
7
- **For eligible publishable copy or an explicit HYV/voice request:**
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 create or rewrite eligible copy:**
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
- **Do not auto-run HYV** for routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, or internal engineering-status messages. If the request is ambiguous, bypass HYV unless the user explicitly asks for it.
19
-
20
- **After the user accepts a substantial edit:**
21
- - Suggest they run `hyv reinforce --last` so their profile learns from the change
22
-
23
- ## Which tool to use
24
-
25
- | Tool | What it does | When to use |
26
- |------|-------------|-------------|
27
- | `hyv_welcome` | Onboarding guide (name → samples → test → signup) | New users, first time |
28
- | `hyv_mcp_setup` | Status, integrate apps, ChatGPT connector | Check/refresh setup |
29
- | `hyv_profiles` | List voice profiles | See which profiles are available |
30
- | `hyv_scan` | Fast local AI-pattern scan (free, 220+ patterns) | Eligible publishable copy or an explicit HYV request |
31
- | `hyv_analyze` | Full hybrid scan (local + server, paid) | Important drafts |
32
- | `hyv_clean` | Scan → fix → validate → rewrite in one call | Best single-call pipeline |
33
- | `hyv_fix` | Auto-fix deterministic patterns (no LLM) | Before rewrite |
34
- | `hyv_rewrite` | Profile-aware rewrite prompt | After scan/fix |
35
- | `hyv_validate` | Verify output matches voice profile | After rewrite |
36
- | `hyv_check` | Quick pass/fail | Spot checks |
37
- | `hyv_score` | 0-100 voice score | Quantify quality |
38
- | `hyv_diff` | Before/after comparison | Review changes |
39
- | `hyv_list_free_tools` | List all free capabilities | What's available |
40
-
41
- ## Voice profiles
42
-
43
- - Run `hyv_profiles` first if unsure which profile is active.
44
- - Terminal profiles (from `hyv welcome`) are already local — no extra step.
45
- - Dashboard profiles sync after the user runs `hyv init` once (MCP auto-downloads).
46
- - Pass `profile: "<slug>"` on tools only when using a non-default profile.
47
- - If no profile exists yet, free local scan still works — call `hyv_welcome` to onboard.
48
-
49
- ## Rewrite rules
50
-
51
- 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
52
- 2. **Never** use formulaic connectors: firstly, secondly, moreover, furthermore, in conclusion, to conclude, notably
53
- 3. **Never** use hedging: arguably, perhaps, some might say, it's worth noting, it's important to note
54
- 4. **Never** use signpost claims: this is why, this is how, here's where, here's why
55
- 5. **Never** use antithesis patterns: "not just X, but Y", "more than just", "it's not about X, it's about Y"
56
- 6. **Match** the user's sentence rhythm, vocabulary, and tone from their voice profile
57
- 7. **Preserve** roughness that carries voice — don't over-polish
58
- 8. **Open** from concrete observations, not generic setups
59
- 9. **Fix only** flagged lines — preserve clean lines exactly
60
- 10. **Never add** sections, hooks, CTAs, markdown, or commentary
61
-
62
- ## MCP setup (no terminal needed)
63
-
64
- - `hyv_mcp_setup` with `action=status` — see what's integrated and onboarding progress
65
- - `hyv_mcp_setup` with `action=integrate` — refresh Cursor/Claude configs (`force=true` after hyv upgrade)
66
- - `hyv_mcp_setup` with `action=chatgpt` — ChatGPT remote OAuth steps (recommended for paid users)
67
- - `hyv_welcome` — finish voice onboarding inside this chat
68
-
69
- ## CLI fallback (when MCP tools aren't available)
70
-
71
- ```bash
72
- echo "text to check" | hyv scan -
73
- hyv fix file.md # apply auto-fixes without LLM
74
- hyv rewrite file.md # generate rewrite prompt
75
- hyv check "inline text" # quick spot-check
76
- hyv score file.md # just a 0-100 number
77
- hyv diff file.md # show proposed fixes
78
- hyv profiles # list profiles
79
- hyv reinforce --last # learn from last edit
80
- hyv mcp --setup # view all MCP configs
81
- hyv mcp --test # verify everything works
82
- ```
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. All host instructions share the same activation boundary: publishable copy or an explicit voice request uses HYV; routine chat and engineering work bypass it.
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,47 +0,0 @@
1
- # Hold Your Voice — Writing Rules
2
-
3
- The user has a voice profile for publishable copy: social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails. Apply it whenever the user explicitly asks for HYV, a voice profile, or writing in their voice.
4
-
5
- Do not apply these rules to routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, or internal engineering-status messages. If a request is ambiguous, bypass HYV unless the user explicitly requests it.
6
-
7
- ## Rules
8
- 1. Never use AI-slop words: delve, leverage, tapestry, foster, harness, pivotal, innovative, cutting-edge, state-of-the-art, robust, holistic, multifaceted, nuanced
9
- 2. Never use formulaic connectors: firstly, secondly, moreover, furthermore, in conclusion
10
- 3. Never use hedging: arguably, perhaps, some might say, it's worth noting
11
- 4. Never use signpost claims: this is why, this is how, here's where
12
- 5. Match the user's sentence rhythm and vocabulary
13
- 6. Preserve roughness that carries voice — don't over-polish
14
- 7. Open from concrete observations, not generic setups
15
-
16
- ## When rewriting
17
- - Fix only flagged lines, preserve clean lines
18
- - Remove AI patterns line by line
19
- - Match the user's voice profile exactly
20
- - Never add sections, hooks, CTAs, or commentary
21
-
22
- ## Voice profiles
23
- - `hyv_profiles` — which profile MCP tools use (default + all local copies)
24
- - Dashboard-built profiles: user runs `hyv init` once on their Mac — then MCP auto-syncs
25
- - Terminal `hyv welcome` profiles are already local — no extra step
26
-
27
- ## MCP setup (no terminal)
28
- - `hyv_mcp_setup` with `action=status` — see what's integrated and onboarding progress
29
- - `hyv_mcp_setup` with `action=integrate` — refresh Cursor/Claude configs (`force=true` after hyv upgrade)
30
- - `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)
31
- - `hyv_welcome` — finish voice onboarding inside this chat
32
-
33
- ## ChatGPT connection (recommended — paid users)
34
- 1. Settings → Developer mode ON
35
- 2. Settings → Apps → New App
36
- 3. Server URL: `https://holdyourvoice.com/mcp` · Authentication: OAuth
37
- 4. Save → sign in to holdyourvoice.com
38
- 5. OAuth runs in ChatGPT's browser — no Windows firewall issues, no local install
39
-
40
- ## Available tools
41
- - `hyv_mcp_setup` / `hyv_welcome` / `hyv_demo` — setup and onboarding
42
- - `hyv_scan` / `hyv_analyze` — check for AI patterns (+ hybrid when paid)
43
- - `hyv_clean` — full scan → fix → validate pipeline
44
- - `hyv_fix` / `hyv_rewrite` / `hyv_validate`
45
- - `hyv_check` / `hyv_score` / `hyv_diff`
46
- - `hyv_profiles` — list available profiles
47
- - CLI: `hyv reinforce --last` after user accepts edits
@@ -1,45 +0,0 @@
1
- # Hold Your Voice
2
-
3
- The user has a voice profile for publishable copy. Use HYV for social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails. Always use HYV when the user explicitly asks for it, a voice profile, or writing in their voice.
4
-
5
- ## When to use HYV
6
-
7
- Run `hyv_scan` or use the `hyv_scan` MCP tool before delivering eligible publishable copy:
8
- - Social posts, threads, and public replies
9
- - Newsletters, blogs, articles, and landing or product pages
10
- - Campaigns and external audience-facing emails
11
-
12
- Run `hyv_rewrite` or use the `hyv_rewrite` MCP tool when eligible copy needs voice work, or whenever the user explicitly asks for HYV or voice-profile writing.
13
-
14
- Bypass HYV for routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, and internal engineering-status messages. If the request is ambiguous, bypass it unless the user explicitly requests HYV.
15
-
16
- ## How to use
17
-
18
- ### MCP tools (preferred — if MCP is connected):
19
- 1. `hyv_welcome` for new users (step 2: extract_prompt from chat history)
20
- 2. `hyv_scan` (fast local) or `hyv_analyze` (hybrid when paid) → get issues
21
- 3. `hyv_clean` → scan + fix + validate + rewrite prompt in one call
22
- 4. Or stepwise: `hyv_fix` → `hyv_rewrite` → `hyv_validate`
23
- 5. `hyv_check` / `hyv_score` / `hyv_diff` for quick checks
24
- 6. After user accepts edits: suggest `hyv reinforce --last` (CLI learning loop)
25
-
26
- ### CLI commands (fallback):
27
- ```bash
28
- echo "text to check" | hyv scan -
29
- hyv fix file.md # apply auto-fixes without LLM
30
- hyv rewrite file.md # generate rewrite prompt
31
- hyv check "inline text" # quick spot-check
32
- hyv score file.md # just a 0-100 number
33
- hyv diff file.md # show proposed fixes
34
- hyv profiles # list profiles
35
- hyv rules # list/toggle detection rules
36
- hyv batch "posts/**/*.md" # scan multiple files
37
- hyv history # track scores over time
38
- ```
39
-
40
- ## Rules
41
- - Never skip the scan step for user-facing content
42
- - Preserve the original meaning exactly when rewriting
43
- - Match the voice profile's rhythm, vocabulary, and patterns
44
- - If no profile is set up yet, run `hyv profiles` to check
45
- - Setup: `hyv mcp --setup` | health: `hyv mcp --test`
package/agents/codex.md DELETED
@@ -1,31 +0,0 @@
1
- # Hold Your Voice
2
-
3
- The user has a voice profile for publishable copy. Use HYV for social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails. Always use HYV when the user explicitly asks for it, a voice profile, or writing in their voice.
4
-
5
- ## Auto-trigger rules
6
-
7
- Run these MCP tools (or CLI commands) for eligible publishable copy:
8
- - `hyv_scan` or `hyv_analyze` 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
- - Bypass HYV for routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, and internal engineering-status messages. If ambiguous, bypass it unless HYV is explicitly requested.
29
- - Always scan eligible publishable copy
30
- - Always fix/rewrite if scan finds issues
31
- - Preserve meaning, match voice profile
package/agents/cursor.md DELETED
@@ -1,36 +0,0 @@
1
- # Hold Your Voice
2
-
3
- Use HYV MCP tools for publishable copy: social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails. Always use HYV when the user explicitly asks for it, a voice profile, or writing in their voice. 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
- - Social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails
7
- - Any request that explicitly names HYV, a voice profile, or writing in the user's voice
8
- - New users: `hyv_welcome` (name → samples via extract_prompt → scan → signup last)
9
-
10
- Bypass HYV for routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, and internal engineering-status messages. If ambiguous, bypass it unless HYV is explicitly requested.
11
-
12
- ## Tool flow (preferred)
13
- 1. `hyv_scan` — fast local check (free, offline)
14
- 2. `hyv_analyze` — full hybrid engine when user is on a paid plan
15
- 3. `hyv_fix` — deterministic word swaps
16
- 4. `hyv_clean` — scan → fix → validate → rewrite prompt in one call
17
- 5. `hyv_rewrite` — profile-aware rewrite prompt for remaining issues
18
- 6. `hyv_validate` — verify output matches voice
19
- 7. After user accepts a big edit: suggest `hyv reinforce --last` (CLI)
20
-
21
- ## Tools
22
- - `hyv_profiles` — active default + all MCP-ready profiles (dashboard profiles after `hyv init`)
23
- - `hyv_mcp_setup` — integration status, refresh configs, ChatGPT steps
24
- - `hyv_welcome` / `hyv_list_free_tools` / `hyv_demo` — onboarding (free)
25
- - `hyv_scan` — local AI pattern + profile scan
26
- - `hyv_analyze` — hybrid local + server analysis (paid when online)
27
- - `hyv_clean` — full clean pipeline for agents
28
- - `hyv_fix` / `hyv_check` / `hyv_score` / `hyv_diff` — local utilities
29
- - `hyv_rewrite` / `hyv_validate` — voice matching
30
- - `hyv_profiles` — list profiles
31
-
32
- ## Rules
33
- - Always scan eligible publishable copy
34
- - Use `hyv_fix` before `hyv_rewrite` when possible
35
- - Preserve meaning when rewriting
36
- - Match the user's voice profile exactly
package/agents/generic.md DELETED
@@ -1,49 +0,0 @@
1
- # Hold Your Voice — Agent Instructions
2
-
3
- You have access to the Hold Your Voice MCP tools. Use the user's voice profile for publishable copy: social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails. Also use it whenever the user explicitly asks for HYV, a voice profile, or writing in their voice.
4
-
5
- ## Auto-trigger rules
6
-
7
- Use these tools automatically for eligible publishable copy. Always honor an explicit HYV or voice-profile request:
8
-
9
- **Before delivering eligible publishable copy:**
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 create or rewrite eligible copy:**
15
- 1. Write your draft
16
- 2. Run `hyv_scan` or `hyv_clean` on it
17
- 3. Deliver the cleaned version
18
-
19
- **Bypass HYV** for routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, and internal engineering-status messages. If the request is ambiguous, bypass it unless the user explicitly requests HYV.
20
-
21
- **After the user accepts a substantial edit:**
22
- - Suggest they run `hyv reinforce --last` so their profile learns from the change
23
-
24
- **For new users or MCP setup:**
25
- - 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`
26
- - Call `hyv_mcp_setup` — check integration status, refresh app configs (`action=integrate`), or ChatGPT Desktop steps (`action=chatgpt`). Works without a voice profile.
27
-
28
- ## Voice profiles (terminal + dashboard)
29
- - Call **`hyv_profiles`** first if unsure which profile is active.
30
- - **`hyv welcome`** (terminal) saves to this machine — MCP uses it immediately.
31
- - **Dashboard** profiles sync here after the user runs **`hyv init`** once (MCP auto-downloads on start).
32
- - Pass `profile: "<slug>"` on tools only when using a non-default profile (slug is lowercase-hyphenated name).
33
-
34
- ## Available tools
35
- - `hyv_mcp_setup` — MCP status, integrate hosts, ChatGPT connector guide (no terminal)
36
- - `hyv_profiles` — list MCP-ready profiles and active default
37
- - `hyv_welcome` / `hyv_list_free_tools` / `hyv_demo` — onboarding
38
- - `hyv_scan` — local scan (free, offline)
39
- - `hyv_analyze` — hybrid server + local (paid)
40
- - `hyv_clean` — composite clean pipeline
41
- - `hyv_fix` / `hyv_rewrite` / `hyv_validate`
42
- - `hyv_check` / `hyv_score` / `hyv_diff`
43
- - `hyv_profiles` — list voice profiles
44
-
45
- ## Rules
46
- - NEVER skip scanning for eligible publishable copy
47
- - Preserve original meaning exactly when rewriting
48
- - Match the voice profile's rhythm, vocabulary, and tone
49
- - If no profile exists, run onboarding via `hyv_welcome` (step 2 extract_prompt from chat history)
@@ -1,20 +0,0 @@
1
- # Hold Your Voice
2
-
3
- Use HYV MCP tools for publishable copy: social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails. Always use HYV when the user explicitly asks for it, a voice profile, or writing in their voice.
4
-
5
- ## Auto-trigger
6
- - `hyv_scan` or `hyv_analyze` before delivering eligible publishable copy
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
- - Bypass HYV for routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, and internal engineering-status messages. If ambiguous, bypass it unless HYV is explicitly requested.
18
- - Always scan eligible publishable copy
19
- - Use `hyv_fix` before `hyv_rewrite` when possible
20
- - 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`.