/SKILL.md
Node.js project architecture standards for AI-assisted development. Enforces file splitting (<400 lines), config externalization, route modularization, and admin dashboards. Use when creating new Node.js projects, refactoring large single-file codebases, or when AI context window is being consumed by oversized files. Covers H5 games (Canvas/Phaser/Matter.js), data tools (crawlers/scrapers), content platforms, monitoring dashboards, API services, and SDK libraries.
npx skillsauth add abczsl520/nodejs-project-arch nodejs-project-archInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Architecture standards that keep files small enough for AI agents to read/edit without blowing the context window.
index.html max 200 lines, server.js entry max 100 linesconfig.json, loaded at runtime, editable via admin dashboardroutes/ by domain, services/ for shared logic, db.js for databaseadmin.html + routes/admin.js for config hot-reloadDetermine project type, then read the corresponding reference:
| Type | Signals | Reference | |------|---------|-----------| | H5 Game | Canvas, Phaser, Matter.js, game loop, sprites | references/game.md | | Data Tool | Crawler, scraper, scheduler, data sync, analytics | references/tool.md | | Content/Utility | Generator, library, publisher, file processing | references/tool.md | | Dashboard/Monitor | Charts, real-time, alerts, metrics | references/tool.md | | API Service | REST endpoints, middleware, microservice | references/tool.md | | SDK/Library | Shared module, build step, multi-consumer | references/sdk.md |
config.jsonroutes/admin.js + admin.htmlconfig.js fetches /api/config at startup, code reads GAME_CONFIG.xxx or APP_CONFIG.xxx// Server: load and serve config
const config = JSON.parse(fs.readFileSync('./config.json', 'utf8'));
app.get('/api/config', (req, res) => {
const safe = { ...config };
delete safe.admin; // strip secrets
res.json(safe);
});
// Admin: hot-reload
app.post('/admin/config', requireAdmin, (req, res) => {
fs.writeFileSync('./config.json.bak', fs.readFileSync('./config.json'));
fs.writeFileSync('./config.json', JSON.stringify(req.body, null, 2));
Object.assign(config, req.body);
res.json({ ok: true });
});
admin.html auto-generates form from config structure:
x-admin-password header)Large single files consume massive context tokens when AI reads them:
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.