|
| 1 | +# PR #21 Review: Improve complex mechanical/illustrative diagram quality |
| 2 | + |
| 3 | +## Overall Assessment: Approve with suggestions |
| 4 | + |
| 5 | +This is a solid, well-structured improvement to mechanical and illustrative diagram generation. Low-risk since it's prompt/skill-only (no runtime code changes). The 4 complementary skill files form a coherent system that addresses clearly diagnosed problems. |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## Strengths |
| 10 | + |
| 11 | +1. **Well-diagnosed problem**: The issue proposal correctly identifies root causes for poor diagram quality — no planning step before generation, only 9 lines of illustrative guidance, no shape construction methodology, and disconnected interactive controls. |
| 12 | + |
| 13 | +2. **Comprehensive, complementary solutions**: The new files form a logical pipeline: |
| 14 | + - `svg-diagram-skill.txt` expansion → planning protocol + composition rules |
| 15 | + - `master-agent-playbook.txt` → progressive rendering architecture for interactivity |
| 16 | + - `mechanical-illustration-skill.txt` → deep technical construction guide with worked examples |
| 17 | + - `svg-shape-library.txt` → reusable SVG shape fragments as starting points |
| 18 | + |
| 19 | +3. **Practical, not theoretical**: Includes working SVG code, two complete worked compositions (car drivetrain, airfoil), concrete measurements (viewBox dimensions, font sizes, spacing rules), and a centralized state-and-render pattern. |
| 20 | + |
| 21 | +4. **Good architecture**: The centralized `state → updateState → render()` pattern in `master-agent-playbook.txt` solves a real problem with interactive diagrams where controls and visuals get out of sync. |
| 22 | + |
| 23 | +5. **Consistent**: Agent and MCP skill directories are kept in sync (verified — only diff is the expected `__init__.py`). |
| 24 | + |
| 25 | +--- |
| 26 | + |
| 27 | +## Suggestions |
| 28 | + |
| 29 | +### 1. System prompt token budget (Medium priority) |
| 30 | +This PR adds ~847 lines of new skill content loaded via `load_all_skills()` glob. As skills accumulate, this could push against context limits — especially with longer conversations. The issue proposal itself notes "Consider including only 6-8 most common shapes initially," but the full `svg-shape-library.txt` (317 lines) is included. Consider trimming less common shapes or implementing lazy/conditional loading. |
| 31 | + |
| 32 | +### 2. Skill duplication between `agent/` and `mcp/` (Medium priority) |
| 33 | +All 4 skill files are exactly mirrored between `apps/agent/skills/` and `apps/mcp/skills/`. Consider a shared `skills/` directory at the repo root (or symlinks) to prevent silent drift if one copy is updated without the other. Currently there's no mechanism to enforce they stay in sync. |
| 34 | + |
| 35 | +### 3. Issue proposal as committed file (Low priority) |
| 36 | +`.github/ISSUE_PROPOSAL_mechanical_diagrams.md` (152 lines) is a planning/strategy document with no runtime purpose. This would be more conventional and discoverable as a GitHub Issue, keeping the repo focused on operational files. |
| 37 | + |
| 38 | +### 4. Domain coverage (Low priority) |
| 39 | +The shape library and worked examples focus almost exclusively on vehicles and mechanical systems. A brief section on non-mechanical illustrative diagrams (biology, architecture, abstract concepts) — even just noting that the same composition principles apply — would broaden the guidance. |
| 40 | + |
| 41 | +### 5. Validation (Low priority) |
| 42 | +No before/after comparisons showing improved output quality. Consider adding test prompts and sample outputs (even just screenshots in the PR description) to demonstrate the improvement. |
| 43 | + |
| 44 | +--- |
| 45 | + |
| 46 | +## Minor Notes |
| 47 | + |
| 48 | +- The 6-step diagram planning protocol in `svg-diagram-skill.txt` is an excellent addition — this alone should prevent many common failures (unrecognizable shapes, spatially inaccurate placement, disconnected controls). |
| 49 | +- The progressive rendering architecture with `viz-{component}-{property}` ID convention is well-designed and provides a clear, repeatable pattern. |
| 50 | +- The worked references (car drivetrain composition, airfoil/airplane composition) in `mechanical-illustration-skill.txt` are thorough and serve as excellent templates. |
| 51 | + |
| 52 | +--- |
| 53 | + |
| 54 | +## Files Reviewed |
| 55 | + |
| 56 | +| File | Status | Lines Changed | |
| 57 | +|------|--------|---------------| |
| 58 | +| `.github/ISSUE_PROPOSAL_mechanical_diagrams.md` | New | +152 | |
| 59 | +| `apps/agent/skills/master-agent-playbook.txt` | New | +100 | |
| 60 | +| `apps/agent/skills/mechanical-illustration-skill.txt` | New | +350 | |
| 61 | +| `apps/agent/skills/svg-diagram-skill.txt` | Modified | +80/-3 | |
| 62 | +| `apps/agent/skills/svg-shape-library.txt` | New | +317 | |
| 63 | +| `apps/mcp/skills/master-agent-playbook.txt` | New (mirror) | +100 | |
| 64 | +| `apps/mcp/skills/mechanical-illustration-skill.txt` | New (mirror) | +350 | |
| 65 | +| `apps/mcp/skills/svg-diagram-skill.txt` | Modified (mirror) | +80/-3 | |
| 66 | +| `apps/mcp/skills/svg-shape-library.txt` | New (mirror) | +317 | |
0 commit comments