Skip to content

wr-voice-tone:agent is told to write a verdict file but has no Bash/Write tool (marker never lands) #258

@tompahoward

Description

@tompahoward

Summary

wr-voice-tone:agent (the before-editing voice/tone reviewer, packages/voice-tone/agents/agent.md) is instructed to write its verdict to a file it has no tool to write. Its frontmatter grants tools: Read, Glob, Grep (no Bash, no Write), but the body instructs it to record its verdict via printf '...' > /tmp/voice-tone-verdict:

  • line 34: Then printf 'PASS' > /tmp/voice-tone-verdict and stop.
  • line 74: Write printf 'FAIL' > /tmp/voice-tone-verdict for guide gaps.
  • lines 78-80: After completing your review, write your verdict to /tmp/voice-tone-verdict: followed by the two printf forms.

Because the agent has no Bash or write capability, the marker file is never created. The agent returns its verdict in prose only, and any caller that keys on the /tmp/voice-tone-verdict marker sees no verdict.

Impact

Observed across a full /wr-newsletter session (downstream adopter, v0.5.10): every wr-voice-tone:agent invocation returned a prose-only verdict and explicitly noted it could not write the marker ("the parent should run printf ..."). Callers that rely on the file marker get no signal; callers that parse the prose verdict work, but the documented file-marker contract is dead.

This is a sibling of the external-comms marker class: the external-comms reviewer marker is written by a PostToolUse:Agent hook, not by the agent itself, which is the pattern that works.

Suggested fixes (any one)

  1. Remove the file-write instruction from agents/agent.md and rely on the structured prose verdict (simplest; matches what already works in practice).
  2. Grant the agent a write-capable tool so the printf can run (widens the agent's tool surface; least preferred).
  3. Move marker-writing to a PostToolUse:Agent hook that derives the verdict from the agent's structured output, mirroring the external-comms-mark-reviewed.sh pattern (most consistent with the rest of the suite).

Environment

  • Plugin: @windyroad/voice-tone@0.5.10
  • File: packages/voice-tone/agents/agent.md (lines 34, 74, 78-80)
  • Surface: wr-voice-tone:agent invoked as the before-editing voice/tone reviewer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions