agent-md-refactor
Refactor bloated AGENTS.md, CLAUDE.md, or similar agent instruction files to follow…
draw.io diagram creation, editing, and review. Use for .drawio XML editing, PNG conversion, layout adjustment, and AWS icon usage.
$ npx -y skills add softaworks/agent-toolkit --skill draw-io --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/draw-ioContext preview
The summary Claude sees to decide when to auto-load this skill.
draw.io diagram creation, editing, and review. Use for .drawio XML editing, PNG conversion, layout adjustment, and AWS icon usage.
name: draw-io description: draw.io diagram creation, editing, and review. Use for .drawio XML editing, PNG conversion, layout adjustment, and AWS icon usage.
For diagrams used in Quarto slides, specify `defaultFontFamily` in mxGraphModel tag:
<mxGraphModel defaultFontFamily="Noto Sans JP" ...>
Also explicitly specify `fontFamily` in each text element's style attribute:
style="text;html=1;fontSize=27;fontFamily=Noto Sans JP;"
See conversion script at [scripts/convert-drawio-to-png.sh](scripts/convert-drawio-to-png.sh).
# Convert all .drawio files mise exec -- pre-commit run --all-files # Convert specific .drawio file mise exec -- pre-commit run convert-drawio-to-png --files assets/my-diagram.drawio # Run script directly (using skill's script) bash ~/.claude/skills/draw-io/scripts/convert-drawio-to-png.sh assets/diagram1.drawio
Internal command used:
drawio -x -f png -s 2 -t -o output.drawio.png input.drawio
| Option | Description | |--------|-------------| | `-x` | Export mode | | `-f png` | PNG format output | | `-s 2` | 2x scale (high resolution) | | `-t` | Transparent background | | `-o` | Output file path |
1. Open `.drawio` file in text editor (plain XML format) 2. Find `mxCell` for element to adjust (search by `value` attribute for text) 3. Adjust coordinates in `mxGeometry` tag
4. Run conversion and verify
(prefer 2 unidirectional arrows over bidirectional)
Separate complex systems into staged diagrams:
| Diagram Type | Purpose | |--------------|---------| | Context Diagram | System overview from external perspective | | System Diagram | Main components and relationships | | Component Diagram | Technical details and integration points | | Deployment Diagram | Infrastructure configuration | | Data Flow Diagram | Data flow and transformation | | Sequence Diagram | Time-series interactions |
Include title, description, last updated, author, and version in diagrams.
<!-- For 10-character text, allow 300-400px --> <mxGeometry x="140" y="60" width="400" height="40" />
<!-- Title --> <mxCell id="title" value="..." .../> <!-- Arrows (back layer) --> <mxCell id="arrow1" style="edgeStyle=..." .../> <!-- Other elements (front layer) --> <mxCell id="box1" .../>
For text elements, exitX/exitY don't work, so use explicit coordinates:
<!-- Good: Explicit coordinates with sourcePoint/targetPoint -->
<mxCell id="arrow" style="..." edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1279" y="500" as="sourcePoint"/>
<mxPoint x="119" y="500" as="targetPoint"/>
<Array as="points">
<mxPoint x="1279" y="560"/>
<mxPoint x="119" y="560"/>
</Array>
</mxGeometry>
</mxCell>Adjust offset attribute to distance arrow labels from arrows:
<!-- Place above arrow (negative value to distance) --> <mxPoint x="0" y="-40" as="offset"/> <!-- Place below arrow (positive value to distance) --> <mxPoint x="0" y="40" as="offset"/>
When placing elements inside background frames (grouping boxes), ensure sufficient margin.
Coordinate calculation verification:
Background frame: y=20, height=400 -> range is y=20-420 Internal element top: frame y + 30 or more (e.g., y=50) Internal element bottom: frame y + height - 30 or less (e.g., up to y=390)
Bad example (may overflow):
<!-- Background frame --> <mxCell id="bg" style="rounded=1;strokeWidth=3;..."> <mxGeometry x="500" y="20" width="560" height="400" /> </mxCell> <!-- Text: y=30 is too close to frame top (y=20) --> <mxCell id="label" value="Title" style="text;..."> <mxGeometry x="510" y="30" width="540"
Opinionated skills shared by @leonardocouy for improving daily work efficiency with Claude Code. Skills are packaged instructions and scripts that extend agent capabilities across development, documentation, planning, and professional workflows.
Repo: softaworks/agent-toolkit
Refactor bloated AGENTS.md, CLAUDE.md, or similar agent instruction files to follow…
Create API handoff documentation for frontend developers. Use when backend work is complete…
Generate architecture documentation using C4 model Mermaid diagrams. Use when asked to create…
Use when the user asks to run Codex CLI (codex exec, codex resume) or references OpenAI Codex…
This skill should be used when creating a Claude Code slash command. Use when users ask to…
Create high-quality git commits: review/stage intended changes, split into logical commits,…