node-agent-skills
A curated collection of native Node.js skills for AI agents. Designed to work across modern coding agents — Claude Code, Cursor, Windsurf, and others that support the Agent Skills standard.
Features
- Native Node.js — no Docker, no Python, no system toolchains. Binary
libraries (
@napi-rs/canvas,@resvg/resvg-js,pdfjs-dist) are bundled as npm dependencies and install cleanly on Linux/macOS/Windows. - Standards-compliant — follows the Agent Skills specification; each skill exposes a strict JSON I/O CLI or an agent-facing guide.
- Workspace-managed — npm workspaces keep every skill an isolated package while sharing one dependency tree and one lockfile.
- Tested — every skill ships a
node:testsuite;npm testruns them all.
Repository Structure
node-agent-skills/
├── skills/
│ ├── <tool-skill>/ # e.g. pdf, mermaid-diagram-builder
│ │ ├── SKILL.md # Agent-facing guide (required)
│ │ ├── package.json # Workspace manifest + deps
│ │ ├── scripts/ # CLI entry point + lib modules
│ │ ├── assets/ # Bundled resources (e.g. fonts)
│ │ └── test/ # node:test suites
│ └── <guidance-skill>/ # e.g. frontend-ui, launch-audit
│ └── SKILL.md # Guidance-only skills need no code
├── package.json # Workspace root (private)
├── package-lock.json # Single lockfile for all skills
├── LICENSE
└── README.md
Two kinds of skills live here:
- Tool skills — wrap native JavaScript libraries in a single CLI with a
strict JSON contract on stdout (
{"data": ...}) and errors on stderr ({"error": "..."}, exit code 1). - Guidance skills — agent-driven workflow guides; no code required.
Quick Start
# Validate Mermaid diagram syntax
node skills/mermaid-diagram-builder/scripts/index.js validate --code 'graph TD
A --> B'
# Render a diagram to PNG
node skills/mermaid-diagram-builder/scripts/index.js render \
--input diagram.mmd --format png --output out.png --width 800
# Extract text from a PDF
node skills/pdf/scripts/index.js text document.pdf
# Merge PDFs
node skills/pdf/scripts/index.js merge out.pdf a.pdf b.pdf
Installation
Install a single skill into your project or agent configuration:
npx skills add unreadloags/node-agent-skills/<skill-name>
Replace <skill-name> with the slug of the skill you want (see the table
below). Alternatively, copy a skill's folder into your agent's skill directory
— tool skills only need npm install inside their folder.
Development
npm install # installs all workspace dependencies (hoisted to the root)
npm test # runs every skill's node:test suite
Adding a skill
- Create
skills/<slug>/with aSKILL.md(agent-facing guide) and, for tool skills, apackage.json+scripts/index.jsCLI. - Keep the JSON I/O contract: stdout
{"data": <result>}, stderr{"error": "..."}+ exit 1. - Add a
test/suite usingnode:testandspawnSyncagainst the CLI. - Run
npm installat the root to update the workspace lockfile, thennpm test. - Add the skill to the table below.
Available Skills
| Skill | Type | Description | Status |
|---|---|---|---|
pdf |
tool | Native Node.js PDF toolkit: text extraction and search (incl. regex), metadata, bookmarks and annotations, page editing (merge with ranges/split/rotate/crop/remove), create (text or spec with images), stamps, page numbers, watermark, rendering and thumbnails, image extraction. | Available |
mermaid-diagram-builder |
tool | Native Node.js Mermaid toolkit: syntax validation with line numbers, rendering to SVG/PNG/JPG/PDF/HTML, graph stats (nodes/edges/actors/tasks/states...), mermaid block extraction from markdown, and code repair. | Available |
launch-audit |
guidance | Pre-launch and pre-commit readiness audit: repo hygiene, committed secrets (redacted), env var documentation, database migration readiness, dead code, weak auth, failing builds, and deployment footguns. | Available |
frontend-ui |
guidance | Guidance for intentional, distinctive visual design: art direction, typography, color systems, layout, motion, and interface copy. | Available |
Deploying
This repository is deployed as a GitHub repository, which is how
npx skills add resolves skills. Before publishing:
npm test # all suites green
npm ci # installs exactly from the lockfile (CI-friendly)
git add . && git commit -m "..." && git push
Commit package-lock.json — it is the single source of truth for every skill
workspace. Keep node_modules/ out of git (already ignored). Do not commit
.env files; use .env.example templates only.
License
MIT — see LICENSE. Third-party assets retain their own licenses
(e.g. the Liberation fonts bundled with mermaid-diagram-builder ship their
OFL license alongside the fonts).
No comments yet
Be the first to share your take.