leeovery/portal/tree/main/.claude/skills/workflow-gates-rows
workflow-gates-rows
A Claude Code plugin that draws the transcript row of an answer the workflow-gates mod sent, using a paired sent.json record and per-conversation rows.json storage.
About this mod
workflow-gates-rows is a standalone Claude Code plugin that renders the transcript row for answers submitted by the workflow-gates mod, showing the question it answered alongside the answer (e.g. "Approve this task? → yes · Commit and continue to next task"). It exists separately because Claude Code skips a plugin's own render hooks on rows of prompts that plugin submitted. It pairs each row with the sent.json record the mod writes in the conversation's folder; rows it cannot pair show the answer alone. Only the drawing changes — the model still sees Claude Code's original framing, and ctrl+o reveals the full message. Drawn lines are stored per message id at ~/.config/workflows/conversations/{session-id}/rows.json (or under WORKFLOWS_CONFIG_DIR), so scrolling back and resumed conversations render consistently regardless of working-directory changes. The folder is removed once Claude Code deletes the transcript, except for sessions whose end the session-end hook never observed (e.g. the installing session or a crash). Conversations not running the workflows, or without a home directory or WORKFLOWS_CONFIG_DIR, get no folder and default Claude Code rendering.
Installation
Check the author's README for the marketplace and plugin name first. Commands may change as the repository evolves.
claude plugin marketplace add leeovery/portal claude plugin install workflow-gates-rows
Original text / README
workflow-gates-rows
A Claude Code mod that draws the transcript row of an answer the
workflow-gates mod sent as the question and the answer —
Approve this task? → yes · Commit and continue to next task — in place of
Claude Code's framing of a plugin's prompt. It is a plugin of its own because
Claude Code skips a plugin's own render hooks on the row of a prompt that
plugin submitted. It pairs a row with the record the mod leaves in the
conversation's own folder as sent.json as it sends; a row it cannot pair
shows the answer alone. It changes only the drawing: the model reads Claude
Code's framing, and ctrl+o shows the message in full.
Each line it draws is kept in that folder,
~/.config/workflows/conversations/{session-id}/rows.json (under
WORKFLOWS_CONFIG_DIR where that is set, beside the workflows' system
config), under the row's message id, so scrolling back and a resumed
conversation draw the row the same way, wherever the session's working
directory has moved. The folder goes once Claude Code has deleted the
conversation's transcript, and the lines with it, with one exception: a
conversation whose end the session-end hook never saw — the session that first
installed the hook, or one that crashed — keeps its folder. The mod names the
folder the way the workflows' engine does. A conversation that
does not run the workflows has no folder, nor does one in a process that names
neither a home directory nor WORKFLOWS_CONFIG_DIR: there the mod writes
nothing and draws the row as Claude Code does.
Other works with the same name
- workflow-gates-rowsleeovery · ★ 2
