@windyroad/voice-tone 0.9.1 → 0.9.2-preview.1251

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.
@@ -145,5 +145,5 @@
145
145
  }
146
146
  },
147
147
  "name": "wr-voice-tone",
148
- "version": "0.9.1"
148
+ "version": "0.9.2"
149
149
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wr-voice-tone",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "description": "Voice, tone, and external-communications governance",
5
5
  "author": {
6
6
  "name": "Windy Road Technology",
package/README.md CHANGED
@@ -37,9 +37,19 @@ This examines your existing content and asks about your brand voice, target audi
37
37
 
38
38
  ### Assistant responses
39
39
 
40
- Run `/wr-voice-tone:update-assistant-guide` to create or update `docs/ASSISTANT-VOICE-AND-TONE.md`. The file's existence is the only enablement switch. Its prose may describe plain-language standards such as ISO 24495-1:2023 or ASD-STE100, or creative voice traits. Before stopping, the same assistant always rewrites its response in full and makes the requested voice unmistakable. This adds one continuation's latency and token use, and some runtimes may briefly show the first response before its replacement.
40
+ Run `/wr-voice-tone:update-assistant-guide` to create or update `docs/ASSISTANT-VOICE-AND-TONE.md`. The file's existence is the only enablement switch. Use plain prose to describe how you want the assistant to speak to you; you can also describe creative voice traits.
41
41
 
42
- This supports the plugin's Claude Code and Codex command-hook runtimes, not ordinary web ChatGPT conversations. Standards references express alignment, not certification.
42
+ For example, adapt this guidance to your preferences and put it in that file:
43
+
44
+ ```markdown
45
+ For general explanations, draw on ISO 24495-1:2023 plain-language principles. Answer my question first. Use familiar words and clear headings so I can find, understand, and use the information. Make next steps explicit.
46
+
47
+ For technical procedures, draw on ASD-STE100 Simplified Technical English. Use consistent terms, direct instructions, short steps, and active voice. Preserve technical accuracy and explain unfamiliar abbreviations.
48
+ ```
49
+
50
+ See the [ISO 24495-1:2023 overview](https://www.iso.org/standard/78907.html) and the [official ASD-STE100 standard](https://www.asd-ste100.org/STE_downloads.html) for the standards themselves. Naming a standard alone does not give the assistant its complete rules. The same assistant reviews its response semantically against your prose guide; the plugin does not validate or certify conformity. If formal ASD-STE100 compliance matters, use the current standard's writing rules and controlled dictionary and arrange qualified human review.
51
+
52
+ Before stopping, the assistant always rewrites an opted-in response in full and makes the requested voice unmistakable. This adds one continuation's latency and token use, and some runtimes may briefly show the first response before its replacement. This works in the plugin's Claude Code and Codex command-hook runtimes, not ordinary web ChatGPT conversations.
43
53
 
44
54
  ## How It Works
45
55
 
@@ -199,5 +199,5 @@ if (CLOSE_TOOLS.has(input.tool_name)) close(input);
199
199
  if (WAIT_TOOLS.has(input.tool_name)) wait(input);
200
200
  if (input.hook_event_name === "SubagentStop") {
201
201
  if (input.agent_type !== role) diagnostic("unrelated-subagent-stop", input);
202
- else complete(input, input.agent_id, input.last_assistant_message);
202
+ else complete(input, input.task_name || input.agent_name || input.agent_id, input.last_assistant_message);
203
203
  }
@@ -199,5 +199,5 @@ if (CLOSE_TOOLS.has(input.tool_name)) close(input);
199
199
  if (WAIT_TOOLS.has(input.tool_name)) wait(input);
200
200
  if (input.hook_event_name === "SubagentStop") {
201
201
  if (input.agent_type !== role) diagnostic("unrelated-subagent-stop", input);
202
- else complete(input, input.agent_id, input.last_assistant_message);
202
+ else complete(input, input.task_name || input.agent_name || input.agent_id, input.last_assistant_message);
203
203
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windyroad/voice-tone",
3
- "version": "0.9.1",
3
+ "version": "0.9.2-preview.1251",
4
4
  "description": "Voice and tone enforcement for user-facing copy",
5
5
  "bin": {
6
6
  "windyroad-voice-tone": "./bin/install.mjs"