Files
trailofbits-skills/plugins
tob-joe 635e186d1d Add draw agent for let-fate-decide (#134)
* add draw agent for let-fate-decide (Haiku, named agent)

Adds agents/draw.md to the let-fate-decide plugin. This
lets callers dispatch tarot draws as a named agent:

  Agent(subagent_type="let-fate-decide:draw",
    prompt="What portent awaits?")

instead of the current Agent-wrapped-Skill pattern:

  Agent(prompt="Call Skill(let-fate-decide, ...)...")

Benefits:
- Runs on Haiku (model: haiku in frontmatter) -- cheaper
  than inheriting the parent model for card interpretation
- Card file content stays in agent context, not caller's
- Caches the draw logic across parallel tarot agents
  (shared prefix optimization)
- Simplifies dispatch from 4-line prompt to 1-line

The agent does exactly: Bash(draw_cards.py) -> Read(4
card files) -> return 1-2 sentence reading. Falls back
to "fate unavailable" if the script errors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* draw agent: --content flag eliminates 4 sequential Read calls

draw_cards.py --content reads card .md files and includes
their text in the JSON output. The draw agent now needs
exactly 1 Bash call (was 1 Bash + 4 sequential Reads).

Saves 4 turns per tarot draw (~8-12 turns per vivisect run).
Haiku was ignoring <use_parallel_tool_calls> and reading
cards one at a time; this bypasses the issue entirely.

Removed Read from agent tools list (no longer needed).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix draw agent script discovery and bump version to 1.1.0

- Replace fragile `find ~/.claude/plugins` with `${CLAUDE_PLUGIN_ROOT}`
- Use context manager for file reads in draw_cards.py
- Bump version to 1.1.0 in plugin.json and marketplace.json

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Dan Guido <dan@trailofbits.com>
2026-03-31 18:14:41 -04:00
..
2026-02-11 19:59:33 -05:00
2026-02-13 14:43:27 -05:00
2026-02-26 11:30:21 -05:00