@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 +7 -1
- package/README.md +2 -2
- package/agents/AGENTS.md +6 -4
- package/agents/README.md +1 -1
- package/agents/chatgpt.md +3 -1
- package/agents/claude-code.md +9 -14
- package/agents/codex.md +6 -5
- package/agents/cursor.md +7 -6
- package/agents/generic.md +8 -6
- package/agents/windsurf.md +5 -4
- package/dist/index.js +17 -15
- package/package.json +1 -1
- package/scripts/README.md +2 -0
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
|
|
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
|
-
**
|
|
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
|
|
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) |
|
|
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.
|
|
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
|
package/agents/claude-code.md
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
# Hold Your Voice
|
|
2
2
|
|
|
3
|
-
The user has a voice profile
|
|
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
|
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
|
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
|
|
8
|
-
- `hyv_scan` or `hyv_analyze`
|
|
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
|
-
-
|
|
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
|
|
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
|
-
-
|
|
7
|
-
-
|
|
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
|
|
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.
|
|
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
|
-
|
|
7
|
+
Use these tools automatically for eligible publishable copy. Always honor an explicit HYV or voice-profile request:
|
|
8
8
|
|
|
9
|
-
**Before delivering
|
|
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
|
|
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
|
|
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)
|
package/agents/windsurf.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Hold Your Voice
|
|
2
2
|
|
|
3
|
-
Use HYV MCP tools for
|
|
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
|
|
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
|
-
-
|
|
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
|
|
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).
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
-
|
|
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.
|
|
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
|