@holdyourvoice/hyv 2.9.27 → 2.9.28

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable CLI changes. Also mirrored to [holdyourvoice.com/changelog](https://holdyourvoice.com/changelog) for user-facing releases.
4
4
 
5
+ ## [2.9.28] — 2026-07-31
6
+
7
+ ### Fixed
8
+ - **Scoped MCP activation** — installed rules, export prompts, and MCP metadata now use HYV automatically for publishable copy or an explicit voice request, while routine chat and engineering work bypass it
9
+ - **Agent refresh** — `hyv doctor --fix-agents` refreshes the new scoped instructions through the package version marker
10
+
5
11
  ## [2.9.27] — 2026-07-15
6
12
 
7
13
  ### Fixed
@@ -232,4 +238,4 @@ All notable CLI changes. Also mirrored to [holdyourvoice.com/changelog](https://
232
238
  - Published package excludes Python dev scripts and `src/`
233
239
 
234
240
  ### Fixed
235
- - Bundled CLI reads correct `package.json` version from `dist/`
241
+ - Bundled CLI reads correct `package.json` version from `dist/`
package/README.md CHANGED
@@ -29,7 +29,7 @@ Already have node 18+?
29
29
  npm i -g @holdyourvoice/hyv
30
30
  ```
31
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.
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
33
 
34
34
  ## free vs paid
35
35
 
@@ -215,4 +215,4 @@ Changes under `cli/` update this README, the more-specific owner README when app
215
215
 
216
216
  ## license
217
217
 
218
- UNLICENSED — [holdyourvoice.com](https://holdyourvoice.com)
218
+ UNLICENSED — [holdyourvoice.com](https://holdyourvoice.com)
package/agents/AGENTS.md CHANGED
@@ -1,20 +1,22 @@
1
1
  # Hold Your Voice — Agent Instructions
2
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".
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
4
 
5
5
  ## Auto-trigger — do these automatically
6
6
 
7
- **Before delivering any written content (emails, replies, posts, docs, messages, or prose):**
7
+ **For eligible publishable copy or an explicit HYV/voice request:**
8
8
  1. Run `hyv_scan` for a fast local check (free, offline, works without a profile)
9
9
  2. Run `hyv_clean` for the full scan → fix → validate pipeline, or `hyv_fix` then `hyv_rewrite`
10
10
  3. Run `hyv_validate` to verify the output matches their voice
11
11
 
12
- **When the user asks you to write, draft, compose, edit, improve, or rewrite anything:**
12
+ **When the user asks you to create or rewrite eligible copy:**
13
13
  1. Write your draft normally
14
14
  2. Run `hyv_scan` or `hyv_clean` on it
15
15
  3. Run `hyv_rewrite` to match their voice profile
16
16
  4. Deliver the voice-matched version
17
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
+
18
20
  **After the user accepts a substantial edit:**
19
21
  - Suggest they run `hyv reinforce --last` so their profile learns from the change
20
22
 
@@ -25,7 +27,7 @@ The user has a voice profile that defines their unique writing style. Your job i
25
27
  | `hyv_welcome` | Onboarding guide (name → samples → test → signup) | New users, first time |
26
28
  | `hyv_mcp_setup` | Status, integrate apps, ChatGPT connector | Check/refresh setup |
27
29
  | `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 |
30
+ | `hyv_scan` | Fast local AI-pattern scan (free, 220+ patterns) | Eligible publishable copy or an explicit HYV request |
29
31
  | `hyv_analyze` | Full hybrid scan (local + server, paid) | Important drafts |
30
32
  | `hyv_clean` | Scan → fix → validate → rewrite in one call | Best single-call pipeline |
31
33
  | `hyv_fix` | Auto-fix deterministic patterns (no LLM) | Before rewrite |
package/agents/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ## Contracts
8
8
 
9
- The directory is included by the `files` list in `cli/package.json`. Changes must preserve package inclusion and postinstall discovery behavior.
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
10
 
11
11
  ## Validation
12
12
 
package/agents/chatgpt.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Hold Your Voice — Writing Rules
2
2
 
3
- The user has a voice profile. All writing must match their personal style.
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.
4
6
 
5
7
  ## Rules
6
8
  1. Never use AI-slop words: delve, leverage, tapestry, foster, harness, pivotal, innovative, cutting-edge, state-of-the-art, robust, holistic, multifaceted, nuanced
@@ -1,22 +1,17 @@
1
1
  # Hold Your Voice
2
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".
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
4
 
5
5
  ## When to use HYV
6
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
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.
20
15
 
21
16
  ## How to use
22
17
 
package/agents/codex.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # Hold Your Voice
2
2
 
3
- The user has a voice profile for their writing style. Use HYV for ALL writing tasks.
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
4
 
5
5
  ## Auto-trigger rules
6
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
7
+ Run these MCP tools (or CLI commands) for eligible publishable copy:
8
+ - `hyv_scan` or `hyv_analyze` before delivering it
9
9
  - `hyv_clean` for the full pipeline, or `hyv_fix` → `hyv_rewrite`
10
10
  - `hyv_validate` to verify the output
11
11
  - Suggest `hyv reinforce --last` after substantial accepted edits
@@ -25,6 +25,7 @@ hyv mcp --setup
25
25
  ```
26
26
 
27
27
  ## Rules
28
- - Always scan before delivering prose content
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
29
30
  - Always fix/rewrite if scan finds issues
30
- - Preserve meaning, match voice profile
31
+ - Preserve meaning, match voice profile
package/agents/cursor.md CHANGED
@@ -1,13 +1,14 @@
1
1
  # Hold Your Voice
2
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).
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
4
 
5
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
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
9
8
  - New users: `hyv_welcome` (name → samples via extract_prompt → scan → signup last)
10
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
+
11
12
  ## Tool flow (preferred)
12
13
  1. `hyv_scan` — fast local check (free, offline)
13
14
  2. `hyv_analyze` — full hybrid engine when user is on a paid plan
@@ -29,7 +30,7 @@ Use HYV MCP tools for all writing tasks. If no profile exists yet, call `hyv_wel
29
30
  - `hyv_profiles` — list profiles
30
31
 
31
32
  ## Rules
32
- - Always scan before delivering content
33
+ - Always scan eligible publishable copy
33
34
  - Use `hyv_fix` before `hyv_rewrite` when possible
34
35
  - Preserve meaning when rewriting
35
- - Match the user's voice profile exactly
36
+ - Match the user's voice profile exactly
package/agents/generic.md CHANGED
@@ -1,21 +1,23 @@
1
1
  # Hold Your Voice — Agent Instructions
2
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.
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
4
 
5
5
  ## Auto-trigger rules
6
6
 
7
- You MUST use these tools automatically do NOT wait for the user to mention "voice" or "hyv":
7
+ Use these tools automatically for eligible publishable copy. Always honor an explicit HYV or voice-profile request:
8
8
 
9
- **Before delivering any written content (emails, posts, docs, messages):**
9
+ **Before delivering eligible publishable copy:**
10
10
  1. Run `hyv_scan` (fast) or `hyv_analyze` (full hybrid when paid)
11
11
  2. Run `hyv_clean` for the full scan → fix → validate loop, or `hyv_fix` then `hyv_rewrite`
12
12
  3. Run `hyv_validate` to verify the result
13
13
 
14
- **When the user asks you to write, draft, edit, or improve anything:**
14
+ **When the user asks you to create or rewrite eligible copy:**
15
15
  1. Write your draft
16
16
  2. Run `hyv_scan` or `hyv_clean` on it
17
17
  3. Deliver the cleaned version
18
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
+
19
21
  **After the user accepts a substantial edit:**
20
22
  - Suggest they run `hyv reinforce --last` so their profile learns from the change
21
23
 
@@ -41,7 +43,7 @@ You MUST use these tools automatically — do NOT wait for the user to mention "
41
43
  - `hyv_profiles` — list voice profiles
42
44
 
43
45
  ## Rules
44
- - NEVER skip scanning for user-facing content
46
+ - NEVER skip scanning for eligible publishable copy
45
47
  - Preserve original meaning exactly when rewriting
46
48
  - 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)
49
+ - If no profile exists, run onboarding via `hyv_welcome` (step 2 extract_prompt from chat history)
@@ -1,9 +1,9 @@
1
1
  # Hold Your Voice
2
2
 
3
- Use HYV MCP tools for all writing tasks. The user has a voice profile.
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
4
 
5
5
  ## Auto-trigger
6
- - `hyv_scan` or `hyv_analyze` before delivering any text
6
+ - `hyv_scan` or `hyv_analyze` before delivering eligible publishable copy
7
7
  - `hyv_clean` for scan → fix → validate in one call
8
8
  - `hyv_fix` then `hyv_rewrite` for stepwise fixes
9
9
  - `hyv_validate` after rewriting
@@ -14,6 +14,7 @@ Use HYV MCP tools for all writing tasks. The user has a voice profile.
14
14
  - `hyv_check` / `hyv_score` / `hyv_diff`
15
15
 
16
16
  ## Rules
17
- - Always scan user-facing content
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
18
19
  - Use `hyv_fix` before `hyv_rewrite` when possible
19
- - Preserve meaning, match voice profile
20
+ - Preserve meaning, match voice profile
package/dist/index.js CHANGED
@@ -20190,7 +20190,7 @@ var TOOLS = [
20190
20190
  },
20191
20191
  {
20192
20192
  name: "hyv_rewrite",
20193
- description: "Rewrite text to match the user's voice profile. Auto-fixes 80+ AI patterns. ALWAYS use when the user asks to write, rewrite, edit, or improve text.",
20193
+ description: "Rewrite publishable copy to match the user's voice profile. Use for social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails, or when the user explicitly asks for HYV, a voice profile, or writing in their voice. Do not auto-use for routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, or internal engineering-status messages.",
20194
20194
  inputSchema: {
20195
20195
  type: "object",
20196
20196
  properties: {
@@ -20202,7 +20202,7 @@ var TOOLS = [
20202
20202
  },
20203
20203
  {
20204
20204
  name: "hyv_analyze",
20205
- description: "Full analysis: local scan + optional server hybrid engine when authed (paid). Use for important drafts. Falls back to local offline.",
20205
+ description: "Full analysis for eligible publishable copy or an explicit HYV/voice-profile request: local scan + optional server hybrid engine when authed (paid). Falls back to local offline.",
20206
20206
  inputSchema: {
20207
20207
  type: "object",
20208
20208
  properties: {
@@ -20215,7 +20215,7 @@ var TOOLS = [
20215
20215
  },
20216
20216
  {
20217
20217
  name: "hyv_clean",
20218
- description: "Composite clean: scan \u2192 auto-fix \u2192 validate \u2192 LLM rewrite prompt for remaining issues. Best agent loop for polishing drafts.",
20218
+ description: "Composite clean for eligible publishable copy or an explicit HYV/voice-profile request: scan \u2192 auto-fix \u2192 validate \u2192 LLM rewrite prompt for remaining issues.",
20219
20219
  inputSchema: {
20220
20220
  type: "object",
20221
20221
  properties: {
@@ -20228,7 +20228,7 @@ var TOOLS = [
20228
20228
  },
20229
20229
  {
20230
20230
  name: "hyv_scan",
20231
- description: "Fast local scan for 80+ AI patterns + profile never-list/learned rules. FREE, offline. ALWAYS scan before finalizing any written content \u2014 emails, posts, docs, replies, messages, or prose.",
20231
+ description: "Fast local scan for 80+ AI patterns + profile never-list/learned rules. FREE, offline. Auto-use only for eligible publishable copy (social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails) or an explicit HYV/voice-profile request.",
20232
20232
  inputSchema: {
20233
20233
  type: "object",
20234
20234
  properties: {
@@ -20240,7 +20240,7 @@ var TOOLS = [
20240
20240
  },
20241
20241
  {
20242
20242
  name: "hyv_fix",
20243
- description: "Apply deterministic auto-fixes without an LLM. FREE, works offline.",
20243
+ description: "Apply deterministic auto-fixes without an LLM. FREE, works offline. Auto-use only for eligible publishable copy or an explicit HYV/voice-profile request.",
20244
20244
  inputSchema: {
20245
20245
  type: "object",
20246
20246
  properties: {
@@ -20252,7 +20252,7 @@ var TOOLS = [
20252
20252
  },
20253
20253
  {
20254
20254
  name: "hyv_check",
20255
- description: "Quick inline text check \u2014 score and issues. FREE, works offline.",
20255
+ description: "Quick inline text check \u2014 score and issues. FREE, works offline. Auto-use only for eligible publishable copy or an explicit HYV/voice-profile request.",
20256
20256
  inputSchema: {
20257
20257
  type: "object",
20258
20258
  properties: {
@@ -20264,7 +20264,7 @@ var TOOLS = [
20264
20264
  },
20265
20265
  {
20266
20266
  name: "hyv_score",
20267
- description: "Return a 0-100 voice score. FREE, works offline.",
20267
+ description: "Return a 0-100 voice score. FREE, works offline. Auto-use only for eligible publishable copy or an explicit HYV/voice-profile request.",
20268
20268
  inputSchema: {
20269
20269
  type: "object",
20270
20270
  properties: {
@@ -20276,7 +20276,7 @@ var TOOLS = [
20276
20276
  },
20277
20277
  {
20278
20278
  name: "hyv_diff",
20279
- description: "Show auto-fixes as before/after diff. FREE, works offline.",
20279
+ description: "Show auto-fixes as before/after diff. FREE, works offline. Auto-use only for eligible publishable copy or an explicit HYV/voice-profile request.",
20280
20280
  inputSchema: {
20281
20281
  type: "object",
20282
20282
  properties: {
@@ -20293,7 +20293,7 @@ var TOOLS = [
20293
20293
  },
20294
20294
  {
20295
20295
  name: "hyv_validate",
20296
- description: "Validate text against a voice profile (never-list, cadence, learned rules).",
20296
+ description: "Validate text against a voice profile (never-list, cadence, learned rules). Auto-use only for eligible publishable copy or an explicit HYV/voice-profile request.",
20297
20297
  inputSchema: {
20298
20298
  type: "object",
20299
20299
  properties: {
@@ -20316,7 +20316,7 @@ var HYV_STATUS_PROMPT = `Use hold your voice MCP tools:
20316
20316
  0. MCP setup \u2192 hyv_mcp_setup (status | integrate | chatgpt). Profiles \u2192 hyv_profiles (lists MCP-ready profiles).
20317
20317
  1. Profiles work automatically: terminal \`hyv welcome\` saves locally; dashboard profiles need \`hyv init\` once on this machine (MCP auto-syncs).
20318
20318
  2. New onboarding in chat \u2192 hyv_welcome. Step 2: mode=extract_prompt. Save markdown \u2192 hyv import or dashboard.
20319
- 3. Writing (use active profile from hyv_profiles): hyv_scan \u2192 hyv_fix / hyv_rewrite \u2192 hyv_validate. Optional profile= slug.
20319
+ 3. Eligible publishable copy (social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails), or an explicit HYV/voice-profile request: hyv_scan \u2192 hyv_fix / hyv_rewrite \u2192 hyv_validate. Bypass HYV for routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, and internal engineering-status messages.
20320
20320
  4. Paid extras \u2192 hyv init + hyv plan --upgrade (signup last).
20321
20321
 
20322
20322
  Keep the answer compact.`;
@@ -20657,11 +20657,11 @@ init_api();
20657
20657
  var FORMATS = {
20658
20658
  claude: {
20659
20659
  name: "Claude / Claude Code",
20660
- wrap: (profile, body) => `You are rewriting text to match a specific voice profile. Use this voice profile for all writing:
20660
+ wrap: (profile, body) => `You are rewriting publishable copy to match a specific voice profile. Use the HYV voice profile only for social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails, or when explicitly asked to use HYV, a voice profile, or to write in this voice.
20661
20661
 
20662
20662
  ${body}
20663
20663
 
20664
- When asked to write or rewrite "in my voice", match this profile exactly. Preserve meaning. Match rhythm, vocabulary, tone, and sentence patterns. Never use words from the never-list.`
20664
+ Bypass it for routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, and internal engineering-status messages. Preserve meaning. Match rhythm, vocabulary, tone, and sentence patterns. Never use words from the never-list.`
20665
20665
  },
20666
20666
  chatgpt: {
20667
20667
  name: "ChatGPT Custom Instructions",
@@ -20669,7 +20669,7 @@ When asked to write or rewrite "in my voice", match this profile exactly. Preser
20669
20669
 
20670
20670
  ${body}
20671
20671
 
20672
- When I ask you to "write in my voice" or "rewrite this in my voice", match this profile. Same rhythm. Same vocabulary. Same patterns. No AI-slop words.`
20672
+ Use the HYV voice profile only for social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails, or when I explicitly ask to use HYV, a voice profile, or to write in my voice. Do not apply it to routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, or internal engineering-status messages. Same rhythm. Same vocabulary. Same patterns. No AI-slop words.`
20673
20673
  },
20674
20674
  generic: {
20675
20675
  name: "Generic System Prompt",
@@ -20678,7 +20678,7 @@ When I ask you to "write in my voice" or "rewrite this in my voice", match this
20678
20678
  ${body}
20679
20679
 
20680
20680
  ## Instructions
20681
- Rewrite text to match this voice profile. Preserve meaning. Match rhythm, vocabulary, and tone. Remove AI-slop patterns (delve, leverage, tapestry, etc.).`
20681
+ Use the HYV voice profile only for social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails, or when explicitly asked to use HYV, a voice profile, or to write in this voice. Bypass it for routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, and internal engineering-status messages. Preserve meaning. Match rhythm, vocabulary, and tone. Remove AI-slop patterns (delve, leverage, tapestry, etc.).`
20682
20682
  },
20683
20683
  cursor: {
20684
20684
  name: "Cursor Rules",
@@ -20687,7 +20687,9 @@ Rewrite text to match this voice profile. Preserve meaning. Match rhythm, vocabu
20687
20687
  ${body}
20688
20688
 
20689
20689
  ## Rewrite Rules
20690
- - Match this voice profile for all writing
20690
+ - Use the HYV voice profile only for social posts, newsletters, blogs, landing or product pages, campaigns, and external audience-facing emails
20691
+ - Also use it when explicitly asked to use HYV, a voice profile, or to write in this voice
20692
+ - Bypass it for routine chat, Q&A, analysis, research, planning, coding, debugging, reviews, logs, operational work, code comments, and internal engineering-status messages
20691
20693
  - Preserve meaning
20692
20694
  - Remove AI-slop patterns
20693
20695
  - Use the same rhythm and vocabulary`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holdyourvoice/hyv",
3
- "version": "2.9.27",
3
+ "version": "2.9.28",
4
4
  "description": "Free local AI writing scan for cursor & claude. MCP server, 220+ pattern detection, voice profiles. npx @holdyourvoice/hyv welcome",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
package/scripts/README.md CHANGED
@@ -8,6 +8,8 @@
8
8
 
9
9
  Scripts are referenced by `cli/package.json` and the npm package `files` list. Package-relative paths must remain valid when the package is published.
10
10
 
11
+ `postinstall-lib.js` writes the managed host instructions. A CLI version bump refreshes them through the `~/.hyv/agents-version.json` marker when users run install or `hyv doctor --fix-agents`. `validate-publish.js` accepts npm's array and package-name keyed dry-run manifests.
12
+
11
13
  ## Validation
12
14
 
13
15
  ```bash