agent-loadout 1.0.3 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -17,7 +17,13 @@ var PRESETS = [
|
|
|
17
17
|
{
|
|
18
18
|
id: "media",
|
|
19
19
|
name: "Media",
|
|
20
|
-
description: "
|
|
20
|
+
description: "Audio, video, and image pipeline tools",
|
|
21
|
+
defaultOn: false
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: "design",
|
|
25
|
+
name: "Design",
|
|
26
|
+
description: "Visual asset workflows \u2014 SVG, colour, and image preview",
|
|
21
27
|
defaultOn: false
|
|
22
28
|
},
|
|
23
29
|
{
|
|
@@ -359,6 +365,54 @@ var TOOLS = [
|
|
|
359
365
|
tags: ["interactive shell", "tui prompt", "user input", "shell script ui", "confirm dialog"],
|
|
360
366
|
seeAlso: ["fzf", "just"]
|
|
361
367
|
},
|
|
368
|
+
{
|
|
369
|
+
id: "oha",
|
|
370
|
+
name: "oha",
|
|
371
|
+
description: "HTTP load tester with JSON output",
|
|
372
|
+
preset: "agent",
|
|
373
|
+
verify: "oha --version",
|
|
374
|
+
install: brewScoopCargo("oha", "oha"),
|
|
375
|
+
tags: ["load test", "http benchmark", "stress test", "api performance", "latency"],
|
|
376
|
+
seeAlso: ["xh", "hyperfine"]
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
id: "gron",
|
|
380
|
+
name: "gron",
|
|
381
|
+
description: "Flatten JSON for grepping",
|
|
382
|
+
preset: "agent",
|
|
383
|
+
verify: "gron --version",
|
|
384
|
+
install: {
|
|
385
|
+
darwin: [{ method: "brew", package: "gron" }],
|
|
386
|
+
linux: null,
|
|
387
|
+
win32: [{ method: "scoop", package: "gron" }]
|
|
388
|
+
},
|
|
389
|
+
tags: ["json grep", "flatten json", "json search", "json path", "json debug"],
|
|
390
|
+
seeAlso: ["jq", "fx", "duckdb"]
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
id: "lychee",
|
|
394
|
+
name: "lychee",
|
|
395
|
+
description: "Fast link checker",
|
|
396
|
+
preset: "agent",
|
|
397
|
+
verify: "lychee --version",
|
|
398
|
+
install: brewScoopCargo("lychee", "lychee"),
|
|
399
|
+
tags: ["link check", "broken links", "url validation", "documentation", "dead links"],
|
|
400
|
+
seeAlso: ["xh", "typos", "vale"]
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
id: "vale",
|
|
404
|
+
name: "vale",
|
|
405
|
+
description: "Prose linter for docs",
|
|
406
|
+
preset: "agent",
|
|
407
|
+
verify: "vale --version",
|
|
408
|
+
install: {
|
|
409
|
+
darwin: [{ method: "brew", package: "vale" }],
|
|
410
|
+
linux: null,
|
|
411
|
+
win32: [{ method: "scoop", package: "vale" }]
|
|
412
|
+
},
|
|
413
|
+
tags: ["prose lint", "writing style", "documentation quality", "grammar", "technical writing"],
|
|
414
|
+
seeAlso: ["typos", "lychee", "pandoc"]
|
|
415
|
+
},
|
|
362
416
|
// ── Media ─────────────────────────────────────────────
|
|
363
417
|
{
|
|
364
418
|
id: "ffmpeg",
|
|
@@ -392,17 +446,104 @@ var TOOLS = [
|
|
|
392
446
|
verify: "magick -version",
|
|
393
447
|
install: universal("imagemagick"),
|
|
394
448
|
tags: ["image resize", "image convert", "image transform", "thumbnail", "crop image"],
|
|
395
|
-
seeAlso: ["exiftool", "
|
|
449
|
+
seeAlso: ["exiftool", "vips", "ffmpeg"]
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
id: "vips",
|
|
453
|
+
name: "libvips",
|
|
454
|
+
description: "Fast image processing pipeline",
|
|
455
|
+
preset: "media",
|
|
456
|
+
verify: "vips --version",
|
|
457
|
+
install: {
|
|
458
|
+
darwin: [{ method: "brew", package: "vips" }],
|
|
459
|
+
linux: [{ method: "apt", package: "libvips-tools" }],
|
|
460
|
+
win32: null
|
|
461
|
+
},
|
|
462
|
+
tags: ["image processing", "batch images", "resize", "thumbnail", "sharp backend"],
|
|
463
|
+
seeAlso: ["imagemagick", "resvg"]
|
|
396
464
|
},
|
|
465
|
+
// ── Design ─────────────────────────────────────────────
|
|
397
466
|
{
|
|
398
467
|
id: "svgo",
|
|
399
468
|
name: "svgo",
|
|
400
469
|
description: "SVG optimiser",
|
|
401
|
-
preset: "
|
|
470
|
+
preset: "design",
|
|
402
471
|
verify: "svgo --version",
|
|
403
472
|
install: npmAll("svgo"),
|
|
404
473
|
tags: ["svg optimize", "svg compress", "vector graphics", "svg minify", "icon optimize"],
|
|
405
|
-
seeAlso: ["imagemagick"]
|
|
474
|
+
seeAlso: ["resvg", "imagemagick"]
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
id: "resvg",
|
|
478
|
+
name: "resvg",
|
|
479
|
+
description: "High-fidelity SVG renderer",
|
|
480
|
+
preset: "design",
|
|
481
|
+
verify: "resvg --version",
|
|
482
|
+
install: {
|
|
483
|
+
darwin: [{ method: "brew", package: "resvg" }],
|
|
484
|
+
linux: [{ method: "cargo", package: "resvg" }],
|
|
485
|
+
win32: null
|
|
486
|
+
},
|
|
487
|
+
tags: ["svg render", "svg to png", "vector graphics", "svg rasterize"],
|
|
488
|
+
seeAlso: ["svgo", "vips"]
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
id: "chafa",
|
|
492
|
+
name: "chafa",
|
|
493
|
+
description: "Image-to-ANSI art renderer",
|
|
494
|
+
preset: "design",
|
|
495
|
+
verify: "chafa --version",
|
|
496
|
+
install: {
|
|
497
|
+
darwin: [{ method: "brew", package: "chafa" }],
|
|
498
|
+
linux: [{ method: "apt", package: "chafa" }],
|
|
499
|
+
win32: null
|
|
500
|
+
},
|
|
501
|
+
tags: ["image preview", "terminal image", "ansi art", "image in terminal"],
|
|
502
|
+
seeAlso: ["vips", "imagemagick"]
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
id: "pastel",
|
|
506
|
+
name: "pastel",
|
|
507
|
+
description: "Color manipulation and palette tool",
|
|
508
|
+
preset: "design",
|
|
509
|
+
verify: "pastel --version",
|
|
510
|
+
install: brewScoopCargo("pastel", "pastel"),
|
|
511
|
+
tags: ["color", "palette", "design tokens", "color convert", "color inspect"],
|
|
512
|
+
seeAlso: ["chafa", "bat"]
|
|
513
|
+
},
|
|
514
|
+
{
|
|
515
|
+
id: "d2",
|
|
516
|
+
name: "d2",
|
|
517
|
+
description: "Declarative diagramming language",
|
|
518
|
+
preset: "design",
|
|
519
|
+
verify: "d2 version",
|
|
520
|
+
install: {
|
|
521
|
+
darwin: [{ method: "brew", package: "d2" }],
|
|
522
|
+
linux: null,
|
|
523
|
+
win32: [{ method: "scoop", package: "d2" }]
|
|
524
|
+
},
|
|
525
|
+
tags: ["diagram", "architecture diagram", "flowchart", "svg generation", "documentation"],
|
|
526
|
+
seeAlso: ["resvg", "svgo", "pandoc"]
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
id: "pngquant",
|
|
530
|
+
name: "pngquant",
|
|
531
|
+
description: "Lossy PNG compressor",
|
|
532
|
+
preset: "design",
|
|
533
|
+
verify: "pngquant --version",
|
|
534
|
+
install: universal("pngquant"),
|
|
535
|
+
tags: ["png compress", "image optimize", "lossy compression", "web assets"],
|
|
536
|
+
seeAlso: ["oxipng", "svgo", "imagemagick"]
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
id: "oxipng",
|
|
540
|
+
name: "oxipng",
|
|
541
|
+
description: "Lossless PNG optimizer",
|
|
542
|
+
preset: "design",
|
|
543
|
+
verify: "oxipng --version",
|
|
544
|
+
install: brewScoopCargo("oxipng", "oxipng"),
|
|
545
|
+
tags: ["png optimize", "lossless compression", "image optimize", "web assets"],
|
|
546
|
+
seeAlso: ["pngquant", "svgo", "imagemagick"]
|
|
406
547
|
},
|
|
407
548
|
// ── DX ────────────────────────────────────────────────
|
|
408
549
|
{
|
|
@@ -587,6 +728,44 @@ var TOOLS = [
|
|
|
587
728
|
tags: ["toml", "toml lint", "toml format", "config validation", "cargo toml"],
|
|
588
729
|
seeAlso: ["yq", "biome"]
|
|
589
730
|
},
|
|
731
|
+
{
|
|
732
|
+
id: "fx",
|
|
733
|
+
name: "fx",
|
|
734
|
+
description: "Interactive JSON viewer",
|
|
735
|
+
preset: "dx",
|
|
736
|
+
verify: "fx --version",
|
|
737
|
+
install: {
|
|
738
|
+
darwin: [{ method: "brew", package: "fx" }],
|
|
739
|
+
linux: null,
|
|
740
|
+
win32: [{ method: "scoop", package: "fx" }]
|
|
741
|
+
},
|
|
742
|
+
tags: ["json viewer", "interactive json", "json explorer", "json filter"],
|
|
743
|
+
seeAlso: ["jq", "bat"]
|
|
744
|
+
},
|
|
745
|
+
{
|
|
746
|
+
id: "csview",
|
|
747
|
+
name: "csview",
|
|
748
|
+
description: "CSV/TSV viewer with column alignment",
|
|
749
|
+
preset: "dx",
|
|
750
|
+
verify: "csview --version",
|
|
751
|
+
install: brewScoopCargo("csview", "csview"),
|
|
752
|
+
tags: ["csv", "tsv", "tabular data", "spreadsheet", "data viewer"],
|
|
753
|
+
seeAlso: ["duckdb", "jq"]
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
id: "asciinema",
|
|
757
|
+
name: "asciinema",
|
|
758
|
+
description: "Terminal session recorder",
|
|
759
|
+
preset: "dx",
|
|
760
|
+
verify: "asciinema --version",
|
|
761
|
+
install: {
|
|
762
|
+
darwin: [{ method: "brew", package: "asciinema" }],
|
|
763
|
+
linux: [{ method: "apt", package: "asciinema" }],
|
|
764
|
+
win32: null
|
|
765
|
+
},
|
|
766
|
+
tags: ["terminal recording", "demo", "screen capture", "documentation"],
|
|
767
|
+
seeAlso: ["bat", "glow"]
|
|
768
|
+
},
|
|
590
769
|
// ── Security ──────────────────────────────────────────
|
|
591
770
|
{
|
|
592
771
|
id: "trivy",
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
getToolsByIds,
|
|
6
6
|
getToolsByPreset,
|
|
7
7
|
validateToolIds
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HDF2R3CI.js";
|
|
9
9
|
|
|
10
10
|
// src/index.ts
|
|
11
11
|
import { Command } from "commander";
|
|
@@ -1743,6 +1743,329 @@ Agents verifying domain setups, debugging DNS issues, or checking propagation ge
|
|
|
1743
1743
|
- JSON output with \`--json\` is ideal for piping to jq.
|
|
1744
1744
|
`.trim();
|
|
1745
1745
|
|
|
1746
|
+
// src/skills/vips.ts
|
|
1747
|
+
var vips_default = `
|
|
1748
|
+
# libvips \u2014 Fast image processing
|
|
1749
|
+
|
|
1750
|
+
## When to use
|
|
1751
|
+
Batch-process images with lower memory usage and higher speed than ImageMagick. Powers the Sharp Node.js library.
|
|
1752
|
+
|
|
1753
|
+
## Trusted commands
|
|
1754
|
+
- Get image info: \`vipsheader image.jpg\`
|
|
1755
|
+
- Resize image: \`vips resize input.jpg output.jpg 0.5\`
|
|
1756
|
+
- Convert format: \`vips copy input.png output.webp\`
|
|
1757
|
+
- Create thumbnail: \`vips thumbnail input.jpg output.jpg 300\`
|
|
1758
|
+
- Extract area: \`vips crop input.jpg output.jpg 0 0 100 100\`
|
|
1759
|
+
|
|
1760
|
+
## Why it matters for agents
|
|
1761
|
+
Agents processing images in bulk get significantly faster throughput with lower memory overhead than ImageMagick.
|
|
1762
|
+
|
|
1763
|
+
## Gotchas
|
|
1764
|
+
- Commands use \`vips\` or \`vipsthumbnail\` \u2014 check both are available.
|
|
1765
|
+
- Output format is inferred from the file extension.
|
|
1766
|
+
- Streaming pipeline architecture means memory stays flat even for large images.
|
|
1767
|
+
`.trim();
|
|
1768
|
+
|
|
1769
|
+
// src/skills/resvg.ts
|
|
1770
|
+
var resvg_default = `
|
|
1771
|
+
# resvg \u2014 High-fidelity SVG renderer
|
|
1772
|
+
|
|
1773
|
+
## When to use
|
|
1774
|
+
Render SVG files to PNG with accurate results. Handles complex SVGs that other tools misrender.
|
|
1775
|
+
|
|
1776
|
+
## Trusted commands
|
|
1777
|
+
- Render SVG to PNG: \`resvg input.svg output.png\`
|
|
1778
|
+
- Set output width: \`resvg input.svg output.png -w 1024\`
|
|
1779
|
+
- Set output height: \`resvg input.svg output.png -h 768\`
|
|
1780
|
+
- Set DPI: \`resvg input.svg output.png --dpi 300\`
|
|
1781
|
+
|
|
1782
|
+
## Why it matters for agents
|
|
1783
|
+
Agents generating social images, OG cards, or icons from SVG templates get pixel-perfect PNG output.
|
|
1784
|
+
|
|
1785
|
+
## Gotchas
|
|
1786
|
+
- Rust-based \u2014 very fast but no interactive mode.
|
|
1787
|
+
- Pairs well with svgo: optimise SVG first, then render with resvg.
|
|
1788
|
+
- Supports most SVG features including filters and gradients.
|
|
1789
|
+
`.trim();
|
|
1790
|
+
|
|
1791
|
+
// src/skills/chafa.ts
|
|
1792
|
+
var chafa_default = `
|
|
1793
|
+
# chafa \u2014 Image-to-ANSI art renderer
|
|
1794
|
+
|
|
1795
|
+
## When to use
|
|
1796
|
+
Preview images directly in the terminal as coloured text art. Useful when agents need to "see" an image without a GUI.
|
|
1797
|
+
|
|
1798
|
+
## Trusted commands
|
|
1799
|
+
- Preview image: \`chafa image.png\`
|
|
1800
|
+
- Set output size: \`chafa -s 80x24 image.png\`
|
|
1801
|
+
- Use specific symbols: \`chafa --symbols block image.png\`
|
|
1802
|
+
- ASCII-only output: \`chafa --symbols ascii image.png\`
|
|
1803
|
+
- Preview with transparency: \`chafa --bg white image.png\`
|
|
1804
|
+
|
|
1805
|
+
## Why it matters for agents
|
|
1806
|
+
Agents can inspect image outputs without leaving the terminal \u2014 verify screenshots, check generated graphics, review thumbnails.
|
|
1807
|
+
|
|
1808
|
+
## Gotchas
|
|
1809
|
+
- Quality depends on terminal capabilities. Use \`--format symbols\` for widest compatibility.
|
|
1810
|
+
- Works with PNG, JPEG, GIF, WebP, and many other formats.
|
|
1811
|
+
- Pipe support: \`curl -s url | chafa -\`
|
|
1812
|
+
`.trim();
|
|
1813
|
+
|
|
1814
|
+
// src/skills/oha.ts
|
|
1815
|
+
var oha_default = `
|
|
1816
|
+
# oha \u2014 HTTP load tester
|
|
1817
|
+
|
|
1818
|
+
## When to use
|
|
1819
|
+
Benchmark HTTP endpoints with concurrent requests and get structured JSON results. Complements xh (single requests) with load testing.
|
|
1820
|
+
|
|
1821
|
+
## Trusted commands
|
|
1822
|
+
- Basic load test: \`oha -n 100 -c 10 http://localhost:3000\`
|
|
1823
|
+
- JSON output: \`oha -n 100 -c 10 --json http://localhost:3000\`
|
|
1824
|
+
- Set duration: \`oha -z 10s -c 50 http://localhost:3000\`
|
|
1825
|
+
- POST with body: \`oha -n 100 -m POST -d '{"key":"val"}' http://localhost:3000/api\`
|
|
1826
|
+
- Custom headers: \`oha -n 100 -H "Authorization: Bearer token" http://localhost:3000\`
|
|
1827
|
+
|
|
1828
|
+
## Why it matters for agents
|
|
1829
|
+
Agents benchmarking API changes get structured latency percentiles, throughput, and error rates as JSON they can compare programmatically.
|
|
1830
|
+
|
|
1831
|
+
## Gotchas
|
|
1832
|
+
- \`-n\` = number of requests, \`-c\` = concurrent connections, \`-z\` = duration.
|
|
1833
|
+
- JSON output with \`--json\` is ideal for piping to jq.
|
|
1834
|
+
- Rust-based \u2014 extremely low overhead compared to other load testers.
|
|
1835
|
+
`.trim();
|
|
1836
|
+
|
|
1837
|
+
// src/skills/fx.ts
|
|
1838
|
+
var fx_default = `
|
|
1839
|
+
# fx \u2014 Interactive JSON viewer
|
|
1840
|
+
|
|
1841
|
+
## When to use
|
|
1842
|
+
Explore and filter JSON data interactively. Complements jq with a visual, navigable interface.
|
|
1843
|
+
|
|
1844
|
+
## Trusted commands
|
|
1845
|
+
- View JSON file: \`fx data.json\`
|
|
1846
|
+
- Pipe JSON: \`cat data.json | fx\`
|
|
1847
|
+
- Apply JS expression: \`fx data.json '.items.map(x => x.name)'\`
|
|
1848
|
+
- Filter with dot notation: \`fx data.json '.users[0].email'\`
|
|
1849
|
+
- Reduce: \`fx data.json '.items.length'\`
|
|
1850
|
+
|
|
1851
|
+
## Why it matters for agents
|
|
1852
|
+
Agents exploring unfamiliar API responses or config files can quickly navigate nested structures and extract paths for jq queries.
|
|
1853
|
+
|
|
1854
|
+
## Gotchas
|
|
1855
|
+
- Accepts JavaScript expressions, not jq syntax.
|
|
1856
|
+
- Interactive mode requires a TTY \u2014 use expressions for scripting.
|
|
1857
|
+
- Reads from stdin or file argument.
|
|
1858
|
+
`.trim();
|
|
1859
|
+
|
|
1860
|
+
// src/skills/pastel.ts
|
|
1861
|
+
var pastel_default = `
|
|
1862
|
+
# pastel \u2014 Color manipulation tool
|
|
1863
|
+
|
|
1864
|
+
## When to use
|
|
1865
|
+
Generate, convert, inspect, and manipulate colours from the terminal. Ideal for design token generation and palette work.
|
|
1866
|
+
|
|
1867
|
+
## Trusted commands
|
|
1868
|
+
- Show color info: \`pastel color "#ff6b35"\`
|
|
1869
|
+
- Convert format: \`pastel format hsl "#ff6b35"\`
|
|
1870
|
+
- Generate palette: \`pastel gradient -n 5 "#ff6b35" "#1a1a2e"\`
|
|
1871
|
+
- Lighten colour: \`pastel lighten 0.2 "#ff6b35"\`
|
|
1872
|
+
- Darken colour: \`pastel darken 0.2 "#ff6b35"\`
|
|
1873
|
+
- Complementary: \`pastel complement "#ff6b35"\`
|
|
1874
|
+
- Mix colours: \`pastel mix "#ff6b35" "#1a1a2e"\`
|
|
1875
|
+
|
|
1876
|
+
## Why it matters for agents
|
|
1877
|
+
Agents generating design tokens, theme files, or CSS variables can programmatically derive entire palettes from brand colours.
|
|
1878
|
+
|
|
1879
|
+
## Gotchas
|
|
1880
|
+
- Supports hex, RGB, HSL, Lab, and named CSS colours.
|
|
1881
|
+
- Use \`pastel list\` to see all named colours.
|
|
1882
|
+
- Output can be piped \u2014 combine with sd for bulk colour replacement.
|
|
1883
|
+
`.trim();
|
|
1884
|
+
|
|
1885
|
+
// src/skills/csview.ts
|
|
1886
|
+
var csview_default = `
|
|
1887
|
+
# csview \u2014 CSV/TSV viewer
|
|
1888
|
+
|
|
1889
|
+
## When to use
|
|
1890
|
+
View tabular data (CSV, TSV) with aligned columns and optional styling in the terminal.
|
|
1891
|
+
|
|
1892
|
+
## Trusted commands
|
|
1893
|
+
- View CSV: \`csview data.csv\`
|
|
1894
|
+
- View TSV: \`csview -t data.tsv\`
|
|
1895
|
+
- Custom delimiter: \`csview -d ';' data.csv\`
|
|
1896
|
+
- No header row: \`csview --no-headers data.csv\`
|
|
1897
|
+
- Pipe from stdin: \`cat data.csv | csview\`
|
|
1898
|
+
|
|
1899
|
+
## Why it matters for agents
|
|
1900
|
+
Agents inspecting exported data, build reports, or log tables get clean columnar output instead of comma-separated noise.
|
|
1901
|
+
|
|
1902
|
+
## Gotchas
|
|
1903
|
+
- Rust-based \u2014 handles large files efficiently.
|
|
1904
|
+
- Use \`-t\` flag for TSV files.
|
|
1905
|
+
- For SQL-level queries on CSV, use duckdb instead.
|
|
1906
|
+
`.trim();
|
|
1907
|
+
|
|
1908
|
+
// src/skills/asciinema.ts
|
|
1909
|
+
var asciinema_default = `
|
|
1910
|
+
# asciinema \u2014 Terminal session recorder
|
|
1911
|
+
|
|
1912
|
+
## When to use
|
|
1913
|
+
Record terminal sessions as lightweight asciicast files for documentation, demos, or bug reports.
|
|
1914
|
+
|
|
1915
|
+
## Trusted commands
|
|
1916
|
+
- Record session: \`asciinema rec demo.cast\`
|
|
1917
|
+
- Play recording: \`asciinema play demo.cast\`
|
|
1918
|
+
- Record with idle limit: \`asciinema rec --idle-time-limit 2 demo.cast\`
|
|
1919
|
+
- Record specific command: \`asciinema rec --command "pnpm test" demo.cast\`
|
|
1920
|
+
- Upload to asciinema.org: \`asciinema upload demo.cast\`
|
|
1921
|
+
|
|
1922
|
+
## Why it matters for agents
|
|
1923
|
+
Agents can record their terminal workflows for review, create reproducible demos, or capture test runs for debugging.
|
|
1924
|
+
|
|
1925
|
+
## Gotchas
|
|
1926
|
+
- Recordings are text-based (not video) \u2014 tiny file sizes and searchable.
|
|
1927
|
+
- Set \`--idle-time-limit\` to trim long pauses.
|
|
1928
|
+
- \`.cast\` files can be embedded in web pages with the asciinema player.
|
|
1929
|
+
`.trim();
|
|
1930
|
+
|
|
1931
|
+
// src/skills/d2.ts
|
|
1932
|
+
var d2_default = `
|
|
1933
|
+
# d2 \u2014 Declarative diagramming language
|
|
1934
|
+
|
|
1935
|
+
## When to use
|
|
1936
|
+
Generate architecture diagrams, flowcharts, sequence diagrams, and ERDs from text. Output SVG or PNG without a GUI.
|
|
1937
|
+
|
|
1938
|
+
## Trusted commands
|
|
1939
|
+
- Render to SVG: \`d2 input.d2 output.svg\`
|
|
1940
|
+
- Render to PNG: \`d2 input.d2 output.png\`
|
|
1941
|
+
- Watch mode: \`d2 --watch input.d2 output.svg\`
|
|
1942
|
+
- Set theme: \`d2 --theme 200 input.d2 output.svg\`
|
|
1943
|
+
- Set layout engine: \`d2 --layout elk input.d2 output.svg\`
|
|
1944
|
+
|
|
1945
|
+
## Why it matters for agents
|
|
1946
|
+
Agents generate architecture and flow diagrams from code analysis \u2014 describe structure in text, get publication-ready SVGs.
|
|
1947
|
+
|
|
1948
|
+
## Gotchas
|
|
1949
|
+
- D2 files use a simple DSL: \`a -> b: label\`.
|
|
1950
|
+
- Supports sequence diagrams, classes, ERDs, and grid diagrams.
|
|
1951
|
+
- Multiple layout engines: dagre (default), elk, tala.
|
|
1952
|
+
`.trim();
|
|
1953
|
+
|
|
1954
|
+
// src/skills/pngquant.ts
|
|
1955
|
+
var pngquant_default = `
|
|
1956
|
+
# pngquant \u2014 Lossy PNG compressor
|
|
1957
|
+
|
|
1958
|
+
## When to use
|
|
1959
|
+
Reduce PNG file size by 50-80% with minimal visual quality loss. Ideal for web assets, screenshots, and icons.
|
|
1960
|
+
|
|
1961
|
+
## Trusted commands
|
|
1962
|
+
- Compress with default quality: \`pngquant image.png\`
|
|
1963
|
+
- Set quality range: \`pngquant --quality=65-80 image.png\`
|
|
1964
|
+
- Overwrite original: \`pngquant --force --ext .png image.png\`
|
|
1965
|
+
- Batch compress: \`pngquant --force --ext .png *.png\`
|
|
1966
|
+
- Output to stdout: \`pngquant - < input.png > output.png\`
|
|
1967
|
+
|
|
1968
|
+
## Why it matters for agents
|
|
1969
|
+
Agents optimise generated screenshots, OG images, and icon sets \u2014 often cutting 60-70% off PNG sizes before deployment.
|
|
1970
|
+
|
|
1971
|
+
## Gotchas
|
|
1972
|
+
- Lossy compression \u2014 visually near-identical but not bit-perfect.
|
|
1973
|
+
- Combine with oxipng for lossy + lossless pipeline.
|
|
1974
|
+
- Exit code 99 means quality target can't be met \u2014 widen the range.
|
|
1975
|
+
`.trim();
|
|
1976
|
+
|
|
1977
|
+
// src/skills/oxipng.ts
|
|
1978
|
+
var oxipng_default = `
|
|
1979
|
+
# oxipng \u2014 Lossless PNG optimizer
|
|
1980
|
+
|
|
1981
|
+
## When to use
|
|
1982
|
+
Reduce PNG file size without any quality loss. Run after pngquant for maximum compression, or standalone for lossless-only workflows.
|
|
1983
|
+
|
|
1984
|
+
## Trusted commands
|
|
1985
|
+
- Optimize in place: \`oxipng -o 4 image.png\`
|
|
1986
|
+
- Max compression: \`oxipng -o max image.png\`
|
|
1987
|
+
- Batch optimize: \`oxipng -o 4 -r ./images/\`
|
|
1988
|
+
- Strip metadata: \`oxipng -o 4 --strip safe image.png\`
|
|
1989
|
+
- Preserve original: \`oxipng -o 4 --out optimized.png image.png\`
|
|
1990
|
+
|
|
1991
|
+
## Why it matters for agents
|
|
1992
|
+
Agents run oxipng as a final pass on all PNG assets \u2014 guaranteed size reduction with zero quality loss.
|
|
1993
|
+
|
|
1994
|
+
## Gotchas
|
|
1995
|
+
- \`-o\` levels: 0 (fast) to max (slow). Level 4 is a good default.
|
|
1996
|
+
- \`--strip safe\` removes metadata without breaking rendering.
|
|
1997
|
+
- Rust-based \u2014 fast even on large batches.
|
|
1998
|
+
`.trim();
|
|
1999
|
+
|
|
2000
|
+
// src/skills/gron.ts
|
|
2001
|
+
var gron_default = `
|
|
2002
|
+
# gron \u2014 Flatten JSON for grepping
|
|
2003
|
+
|
|
2004
|
+
## When to use
|
|
2005
|
+
Turn nested JSON into greppable assignment statements. Find paths in complex API responses without writing jq expressions.
|
|
2006
|
+
|
|
2007
|
+
## Trusted commands
|
|
2008
|
+
- Flatten JSON: \`gron data.json\`
|
|
2009
|
+
- Flatten from URL: \`gron https://api.example.com/data\`
|
|
2010
|
+
- Pipe from stdin: \`cat data.json | gron\`
|
|
2011
|
+
- Grep for field: \`gron data.json | grep "name"\`
|
|
2012
|
+
- Unflatten back to JSON: \`gron data.json | grep "users" | gron --ungron\`
|
|
2013
|
+
|
|
2014
|
+
## Why it matters for agents
|
|
2015
|
+
Agents exploring unfamiliar JSON APIs can grep for field names across deeply nested structures, then reconstruct filtered subsets.
|
|
2016
|
+
|
|
2017
|
+
## Gotchas
|
|
2018
|
+
- Output format: \`json.users[0].name = "Alice";\` \u2014 each line is a full path.
|
|
2019
|
+
- \`--ungron\` converts flattened output back to valid JSON.
|
|
2020
|
+
- Combine with rg for regex filtering of JSON paths.
|
|
2021
|
+
`.trim();
|
|
2022
|
+
|
|
2023
|
+
// src/skills/lychee.ts
|
|
2024
|
+
var lychee_default = `
|
|
2025
|
+
# lychee \u2014 Fast link checker
|
|
2026
|
+
|
|
2027
|
+
## When to use
|
|
2028
|
+
Scan documentation, markdown files, and websites for broken links. Catches dead URLs, redirects, and timeouts.
|
|
2029
|
+
|
|
2030
|
+
## Trusted commands
|
|
2031
|
+
- Check markdown files: \`lychee "**/*.md"\`
|
|
2032
|
+
- Check a URL: \`lychee https://example.com\`
|
|
2033
|
+
- Check with config: \`lychee --config lychee.toml "**/*.md"\`
|
|
2034
|
+
- JSON output: \`lychee --format json "**/*.md"\`
|
|
2035
|
+
- Exclude patterns: \`lychee --exclude "localhost" "**/*.md"\`
|
|
2036
|
+
|
|
2037
|
+
## Why it matters for agents
|
|
2038
|
+
Agents validate documentation links after edits \u2014 catch broken references before they ship to production.
|
|
2039
|
+
|
|
2040
|
+
## Gotchas
|
|
2041
|
+
- Rust-based \u2014 extremely fast, checks links concurrently.
|
|
2042
|
+
- Use \`.lycheeignore\` or \`--exclude\` for known-flaky URLs.
|
|
2043
|
+
- Supports markdown, HTML, and plain text files.
|
|
2044
|
+
`.trim();
|
|
2045
|
+
|
|
2046
|
+
// src/skills/vale.ts
|
|
2047
|
+
var vale_default = `
|
|
2048
|
+
# vale \u2014 Prose linter for documentation
|
|
2049
|
+
|
|
2050
|
+
## When to use
|
|
2051
|
+
Enforce writing style guides on documentation, README files, and technical content. Catches jargon, passive voice, and style violations.
|
|
2052
|
+
|
|
2053
|
+
## Trusted commands
|
|
2054
|
+
- Lint a file: \`vale README.md\`
|
|
2055
|
+
- Lint a directory: \`vale docs/\`
|
|
2056
|
+
- JSON output: \`vale --output JSON README.md\`
|
|
2057
|
+
- Initialize config: \`vale sync\`
|
|
2058
|
+
- List installed styles: \`vale ls-config\`
|
|
2059
|
+
|
|
2060
|
+
## Why it matters for agents
|
|
2061
|
+
Agents writing or editing documentation can validate prose quality against style guides \u2014 Google, Microsoft, or custom rules.
|
|
2062
|
+
|
|
2063
|
+
## Gotchas
|
|
2064
|
+
- Requires a \`.vale.ini\` config file in the project root.
|
|
2065
|
+
- Install styles with \`vale sync\` after configuring packages.
|
|
2066
|
+
- Common styles: Google, Microsoft, write-good, proselint.
|
|
2067
|
+
`.trim();
|
|
2068
|
+
|
|
1746
2069
|
// src/skills.ts
|
|
1747
2070
|
var SKILL_CONTENT = {
|
|
1748
2071
|
rg: rg_default,
|
|
@@ -1794,7 +2117,21 @@ var SKILL_CONTENT = {
|
|
|
1794
2117
|
taplo: taplo_default,
|
|
1795
2118
|
semgrep: semgrep_default,
|
|
1796
2119
|
age: age_default,
|
|
1797
|
-
doggo: doggo_default
|
|
2120
|
+
doggo: doggo_default,
|
|
2121
|
+
vips: vips_default,
|
|
2122
|
+
resvg: resvg_default,
|
|
2123
|
+
chafa: chafa_default,
|
|
2124
|
+
oha: oha_default,
|
|
2125
|
+
fx: fx_default,
|
|
2126
|
+
pastel: pastel_default,
|
|
2127
|
+
csview: csview_default,
|
|
2128
|
+
asciinema: asciinema_default,
|
|
2129
|
+
d2: d2_default,
|
|
2130
|
+
pngquant: pngquant_default,
|
|
2131
|
+
oxipng: oxipng_default,
|
|
2132
|
+
gron: gron_default,
|
|
2133
|
+
lychee: lychee_default,
|
|
2134
|
+
vale: vale_default
|
|
1798
2135
|
};
|
|
1799
2136
|
function skillFilename(toolId) {
|
|
1800
2137
|
return `${toolId}.md`;
|
|
@@ -2020,7 +2357,7 @@ program.command("verify").alias("doctor").description("Check which tools are ins
|
|
|
2020
2357
|
});
|
|
2021
2358
|
program.command("list").description("Print the tool catalog").option("--json", "Output as JSON").option("--brewfile", "Output macOS Brewfile (darwin only)").action(async (opts) => {
|
|
2022
2359
|
if (opts.brewfile) {
|
|
2023
|
-
const { generateBrewfileFromCatalog } = await import("./catalog-
|
|
2360
|
+
const { generateBrewfileFromCatalog } = await import("./catalog-7NB7RALT.js");
|
|
2024
2361
|
console.log(generateBrewfileFromCatalog());
|
|
2025
2362
|
return;
|
|
2026
2363
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-loadout",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "One command to load out your terminal for agentic coding",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -25,8 +25,16 @@
|
|
|
25
25
|
"developer-tools",
|
|
26
26
|
"loadout"
|
|
27
27
|
],
|
|
28
|
-
"author": "",
|
|
28
|
+
"author": "cluddy",
|
|
29
29
|
"license": "MIT",
|
|
30
|
+
"homepage": "https://github.com/conorluddy/agent-loadout#readme",
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "git+https://github.com/conorluddy/agent-loadout.git"
|
|
34
|
+
},
|
|
35
|
+
"bugs": {
|
|
36
|
+
"url": "https://github.com/conorluddy/agent-loadout/issues"
|
|
37
|
+
},
|
|
30
38
|
"dependencies": {
|
|
31
39
|
"@inquirer/prompts": "^8.3.0",
|
|
32
40
|
"chalk": "^5.4.0",
|