mirror of
https://github.com/trailofbits/skills
synced 2026-06-21 14:12:00 +00:00
635e186d1d
* 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>