- Move the TypeScript project under scripts/ (src, tsconfig, package.json, pnpm lockfile/workspace, canonical .gitignore); drop the npm package-lock - Add scripts/Taskfile.yml aggregator plus .scripts modules (loggers, base, cli) with build, run, and validate tasks - Move the six SKILL-*.md docs into references/ with kebab names and extract the connector-routing sections from SKILL.md into references/routing-best-practices.md (SKILL.md 666 -> ~310 lines) - Add license/metadata/compatibility frontmatter, an Available scripts section, and update all CLI paths in README and references skill-manager validate: 13/13 passed, 0 warnings. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
61 lines
2.5 KiB
Markdown
61 lines
2.5 KiB
Markdown
# drawio-main — Capabilities
|
|
|
|
This file lists all capabilities an agent can use from this skill.
|
|
|
|
---
|
|
|
|
## Capability 1 — Diagram generation
|
|
|
|
Create `.drawio` files (and optionally export to PNG/SVG/PDF) from a description or requirements.
|
|
|
|
See [SKILL.md](./SKILL.md) for the generation workflow, XML format, page sizes, element shapes, and well-formedness rules.
|
|
See [rules-layout.md](./rules-layout.md) for mandatory connector and layout rules.
|
|
|
|
---
|
|
|
|
## Capability 2 — Diagram analysis (drawio-tools CLI)
|
|
|
|
A **TypeScript / Node.js** CLI tool for programmatic analysis of `.drawio` files.
|
|
Entry point: `node dist/cli/commands.js` (run from the skill's `scripts/` directory), or `task run -- --file=… --action=…`.
|
|
|
|
### Usage
|
|
|
|
```bash
|
|
cd <skill>/scripts
|
|
node dist/cli/commands.js --file <path-to-file.drawio> --action <action> [--page <index>]
|
|
# short flags: -f, -a, -p, -h
|
|
```
|
|
|
|
`--page` selects the diagram tab (0-based, default 0). Ignored by `summary` (processes all pages).
|
|
Always prints YAML to stdout. Exit code `0` on success, `1` on error.
|
|
|
|
### Actions
|
|
|
|
#### Inventory
|
|
|
|
| Action | Scope | Description |
|
|
|---|---|---|
|
|
| `summary` | All pages | Full inventory of shapes + edges for every page/tab |
|
|
| `page-summary` | Single page (`--page`) | Full inventory of shapes + edges for one page |
|
|
| `page-hierarchy` | Page 0 | Recursive containment tree with totalLevels (nesting depth count) |
|
|
| `page-hierarchy-full` | Page 0 | Same as page-hierarchy + full geometry (x, y, width, height) per shape at each nesting level |
|
|
| `page-connectors-summary` | Page 0 | Per-connector details: type, label, waypoints, source/target names |
|
|
|
|
#### Validation
|
|
|
|
| Action | Scope | Description |
|
|
|---|---|---|
|
|
| `validate` | All pages | **Mandatory final gate** — XML well-formedness + maxGraph compile + sanity check (vertices/edges > 0). Run before finishing any diagram work |
|
|
| `page-connectors-validation` | Page 0 | Connector-shape overlaps + connector crossings |
|
|
| `page-labels-validation` | Page 0 | Empty labels, duplicate labels, labels > 80 chars |
|
|
| `page-shape-bbox-validation` | Page 0 | Non-containment bounding box overlaps between shapes |
|
|
| `page-orphans` | Page 0 | Isolated shapes (no edges) + dangling connectors (missing endpoints) |
|
|
|
|
#### Layout
|
|
|
|
| Action | Scope | Description |
|
|
|---|---|---|
|
|
| `page-recommendations` | Page 0 | Smallest standard page size (A4→A3→A2→A1→custom) that fits content with 80 px margin |
|
|
|
|
> For install/build instructions, source structure, and how to add new actions, see [maintenance.md](./maintenance.md).
|