Typescript Node Stinger logo

Typescript Node Stinger

Organization
legioncodeinc
typescript-node-stinger

Review TypeScript and Node code. Use for SvelteKit types, tsconfig, ESM, Zod boundaries, testing, or npm package builds. Read README.md for the guide map.

Overview

Publisherlegioncodeinc
Repositoryvibe-coding-tools
Skill nametypescript-node-stinger
Stars
94
Forks
44
Bundled files
56
LicenseAGPL-3.0-or-later
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 56 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by legioncodeinc on GitHub. Read the source before you install it.

Installation

Install the Typescript Node Stinger AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/legioncodeinc/vibe-coding-tools/tree/main/plugins/backend-and-desktop-tools/skills/typescript-node-stinger
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/legioncodeinc/vibe-coding-tools.git /tmp/vibe-coding-tools
mkdir -p .claude/skills
cp -r /tmp/vibe-coding-tools/plugins/backend-and-desktop-tools/skills/typescript-node-stinger .claude/skills/typescript-node-stinger
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Typescript Node Stinger in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Typescript Node Stinger on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Typescript Node Stinger is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

typescript-node-stinger

You are equipping typescript-node-wasp-drone, the Wasp Nest's TypeScript/Node specialist. This skill covers modern TypeScript/Node practice as it actually applies to this repo's stack: SvelteKit (Svelte 5) deployed to Vercel with Neon Postgres and Drizzle ORM as the PRIMARY case, and it fully preserves the npm library/CLI publishing case (Hivemind) it was originally forged for as a SECONDARY, still-supported case.

Every factual claim in the SvelteKit-case guides traces to a downloaded primary source in the source research archive (not shipped; the shipped distillation summarizes it). Do not author a TypeScript/Node fact from training data - if it is not archived, it is not a fact yet. The Wasp Nestmind-case guides trace to the earlier research/ (source-repository research, not shipped with the plugin) folder from the 2026-06-16 pass, preserved as-is.

Opinionation is the product. When you answer, say "do X, not Y" with reasoning and a citation - not "here are options." The one exception is the handful of genuinely current, still-open tradeoffs this pass researched (Biome vs ESLint, zod vs valibot, pnpm vs alternatives, Turborepo vs Nx) - those get a decision guide with a stated default, not a false sense of settled consensus.

When to use this skill

  • Reviewing, refactoring, or authoring TypeScript/Node code anywhere in this repo
  • Setting up or auditing a SvelteKit app's tsconfig.json, verbatimModuleSyntax, or moduleResolution
  • Typing a load function, a form action, a +server.ts endpoint, or the App.Locals/App.PageData ambient types
  • Writing TypeScript that reads or writes through Drizzle (the type-inference layer around it, not the schema/migration design itself)
  • Choosing or reviewing zod vs valibot at a validation boundary
  • Setting up or auditing Vitest (unit/component) or Playwright (e2e) for a SvelteKit app
  • Deciding Biome vs ESLint+Prettier, or auditing an existing lint/format setup
  • Choosing a package manager or a monorepo tool (pnpm, Turborepo, Nx) for this stack
  • Pinning or auditing engines.node against Vercel's supported-version policy
  • Any of the legacy Hivemind-case triggers: "Hivemind code review", "add a zod-validated MCP tool", "add a column to a Deep Lake table", "fix the esbuild bundle", "wire a new harness", "jscpd is failing", "publish/pack-check"
  • Or whenever typescript-node-wasp-drone is invoked

Do NOT use for Vercel platform configuration (adapter, ISR, env vars, cron, images, middleware, firewall, cost - vercel-stinger), Drizzle schema design/migrations/connection pooling/RLS (neon-drizzle-stinger), Svelte 5 component/markup authoring and runes idiom (svelte-stinger), secrets/env mechanics (doppler-stinger), a formal security audit (security-stinger), repo hygiene (github-repo-health-stinger), Deep Lake schema design from a data-engineering POV (vector-store-wasp-drone), recall/embeddings strategy (retrieval-wasp-drone/embeddings-runtime-wasp-drone), or PRD authoring (library-wasp-drone).

What Hivemind is (the legacy case this skill was originally forged for)

@deeplake/hivemind v0.7.x - Activeloop's open-source "one brain for all your agents": cloud-backed shared memory and skill propagation for coding agents. The loop is Capture -> Codify (skillify) -> Search (recall) -> Propagate. Persistence is Activeloop Deep Lake reached over an HTTP SQL API, not Postgres, not Drizzle. This is the legacy case this skill was originally forged for, still fully supported for that use case - if you're working inside Hivemind itself, or any other repo shaped like it (a published npm package/CLI), the guides marked "Legacy/library case" below are your authority, unchanged from the original forging. If you're working in THIS repo's actual SvelteKit app, they are reference material for what a different kind of TypeScript/Node deliverable looks like, not your primary guidance.


First move on every invocation

  1. Classify the project. SvelteKit app on Vercel (primary case), npm library/CLI (Hivemind, secondary case), or something else. See guides/00-principles.md's "First move" section for the concrete signals to check.
  2. Read package.json and the matching tsconfig. For the SvelteKit case: svelte.config.js + the generated .svelte-kit/tsconfig.json (moduleResolution: "bundler", verbatimModuleSyntax: true). For the Wasp Nestmind case: tsconfig.json directly (module/moduleResolution: Node16, target: ES2022, strict: true).
  3. Classify the invocation. Route to the matching guide per the table below.
  4. Read guides/00-principles.md before writing any finding - the classification checklist, severity rubric, and cross-Drone handoff rules all live there.

Routing table

SvelteKit / general TypeScript (primary case)

InvocationPrimary guide(s)Output
TypeScript/Node code review (SvelteKit app)guides/00-principles.md, guides/02-project-layout-esm.mdStandalone: library/requirements/reports/typescript/<date>-code-review.md. Feature-tied: library/requirements/<lifecycle>/prd-<###>-<title>/reports/<date>-ts-review.md
tsconfig / module-resolution questionguides/23-tsconfig-for-sveltekit.mdtsconfig findings + fix
Typing a load function, form action, or +server.tsguides/24-typing-sveltekit-load-actions-endpoints.mdTyped route code + findings
TypeScript patterns around Drizzle queriesguides/25-drizzle-type-inference-patterns.mdFindings; hand off schema/migration design to neon-drizzle-stinger
zod / valibot at a boundaryguides/12-strict-types-and-zod.md (2026 update section)Validation schema + boundary review
Vitest unit/component setup, Playwright e2eguides/26-vitest-playwright-for-sveltekit.mdTest layer plan + config review
Biome vs ESLint+Prettier decision or auditguides/27-biome-vs-eslint-prettier.mdDecision + migration plan or config review
Package manager / monorepo tooling choiceguides/28-pnpm-and-monorepo-options.mdRecommendation + migration notes
engines.node / Vercel Node-version auditguides/29-node-version-policy-on-vercel.mdPin recommendation + deprecation check
Async/concurrency audit (either case)guides/08-async-concurrency.mdConcurrency-bounding + batching review
Error-handling audit (either case)guides/09-error-handling.mdSwallowed-catch + error-shape findings
Strict types / any-elimination (either case)guides/12-strict-types-and-zod.mdany-elimination plan
Node runtime feature question (either case)guides/16-node22-runtime.md, guides/29-node-version-policy-on-vercel.mdRuntime-feature + version-policy audit
Common footguns scan (either case)guides/22-common-failure-modes.md + the "Common findings" sections in guides/23-29Findings list
ADRRelevant topic guide + cross-Stinger templates/ADR.mdlibrary/knowledge/private/architecture/ADR-<n>-<topic>.md

npm library / CLI publishing - Hivemind (secondary case, clearly labeled)

InvocationPrimary guide(s)Output
ESM / import-resolution audit (Node16/NodeNext)guides/01-stack-enforcement.md, guides/02-project-layout-esm.mdFindings list with file:line
Deep Lake query / SQL-API auditguides/03-deeplake-sql-api.md, examples/02-deeplake-query-with-retry-and-semaphore.mdFindings: un-batched queries, missing Semaphore, missing SQL guards
esbuild bundle changeguides/04-esbuild-bundling.md, examples/08-add-an-esbuild-bundle-entry.mdUpdated bundle entry + sync-versions/define check
Add / review an MCP toolguides/05-mcp-sdk-tools.md, examples/01-zod-validated-mcp-tool.mdTool with zod/v3 inputSchema + error handling
just-bash / VFS workguides/06-just-bash-vfs.mdShell-engine usage review
Harness model questionguides/07-harness-model.md, examples/06-wire-a-new-harness-install-path.mdPer-harness bundle + install-path plan
Vitest setup / audit (Hivemind's tests/ mirroring harnesses)guides/10-vitest-discipline.md, guides/11-vitest-async-fixtures.mdtests/ layout + fixture plan + coverage report
jscpd / quality-gate failureguides/13-jscpd-and-quality-gate.mdDedup plan + gate explanation
npm / publishing questionguides/14-npm-and-publishing.md, guides/18-publish-and-pack-check.mdfiles allowlist + prepack/pack-check check
Deep Lake schema changeguides/15-deeplake-schema-healing.md, examples/05-add-a-column-via-healmissingcolumns.mdColumnDef edit + healing verification
Secrets / SQL-injection guard (Deep Lake)guides/17-secrets-and-sql-guards.mdToken-handling + sqlStr/sqlLike/sqlIdent findings; handoff to security-wasp-drone
tree-sitter graph workguides/19-tree-sitter-graph.mdGrammar + optional-dep handling review
CLI / scriptsguides/20-cli-and-scripts.mdyargs-parser CLI + scripts/*.mjs patterns
Deep Lake SDK / HF transformersguides/21-deeplake-sdk-and-hf.mdSDK usage + optional-dep guard review

Hard rules

SvelteKit / general case (primary)

#RuleGuide
1moduleResolution: "bundler" for the SvelteKit app; extend the generated .svelte-kit/tsconfig.json, don't fight it. No .js extensions on relative TS imports in this context.guides/23-tsconfig-for-sveltekit.md
2verbatimModuleSyntax: true means type-only imports must say so. import type { Foo }, never a bare import { Foo } for a type-only symbol.guides/23-tsconfig-for-sveltekit.md
3strict: true is non-negotiable in every context. No loosening to satisfy a stubborn import.guides/23-tsconfig-for-sveltekit.md, guides/12-strict-types-and-zod.md
4Always import route types from ./$types, never hand-write RouteParams/PageData/Actions.guides/24-typing-sveltekit-load-actions-endpoints.md
5A universal load must explicitly forward a server load's data via its data argument - it does not happen automatically.guides/24-typing-sveltekit-load-actions-endpoints.md
6handle does not re-run after a form action. Code relying on event.locals reflecting a cookie the current action just changed is wrong.guides/24-typing-sveltekit-load-actions-endpoints.md
7Drizzle relational-query callbacks reference the callback's own aliased table, never the directly-imported table object, inside nested/self-referential where/orderBy/extras.guides/25-drizzle-type-inference-patterns.md
8Never hand-write a type duplicating a Drizzle table's shape. Use $inferSelect/$inferInsert.guides/25-drizzle-type-inference-patterns.md
9zod by default for this app's server-side validation; evaluate valibot only for code that actually ships into a client component or edge function.guides/12-strict-types-and-zod.md
10Vitest for mocked component/unit tests, Playwright for unmocked e2e - the split is what's mocked, not file size.guides/26-vitest-playwright-for-sveltekit.md
11biome ci (no auto-fix) in CI gates, biome check --write only locally/pre-commit.guides/27-biome-vs-eslint-prettier.md
12pnpm workspaces + Turborepo is this stack's default, not npm.guides/28-pnpm-and-monorepo-options.md
13Pin engines.node explicitly ("22.x" or "24.x"); an unset or unbounded value drifts silently with Vercel's dashboard default.guides/29-node-version-policy-on-vercel.md
14No any at boundaries; no swallowed errors. Applies identically in every context.guides/12-strict-types-and-zod.md, guides/09-error-handling.md

npm library / CLI publishing - Hivemind (secondary case)

#RuleGuide
15ESM only, .js extensions on relative imports under Node16/NodeNext resolution - the opposite of rule 1 above, correct for THIS context only.guides/01-stack-enforcement.md
16zod at every external boundary; zod ^4 in the app, zod/v3 in the MCP server.guides/12-strict-types-and-zod.md
17Deep Lake queries go through the SQL-API client, bounded by Semaphore(5), never hand-rolled fetch.guides/03-deeplake-sql-api.md
18SQL string interpolation is guarded via sqlStr/sqlLike/sqlIdent.guides/17-secrets-and-sql-guards.md
19Deep Lake schema is single-sourced; column adds go through healMissingColumns, never a hand-rolled ALTER.guides/15-deeplake-schema-healing.md
20The version is single-sourced via package.json + sync-versions.mjs + esbuild define.guides/04-esbuild-bundling.md
21The quality gate is tsc + jscpd + husky - no ESLint, no Prettier. Do not import the SvelteKit-case Biome/ESLint decision into this context.guides/13-jscpd-and-quality-gate.md
22The files allowlist is the publish contract; prepack builds, pack-check verifies.guides/18-publish-and-pack-check.md
23Optional deps (@huggingface/transformers, tree-sitter) are guarded, never a hard top-level import.guides/21-deeplake-sdk-and-hf.md

Severity rubric

Every finding is classified:

  • Must-fix - correctness bug, swallowed error, any crossing a boundary, missing validation on external input, un-guarded SQL interpolation, a wrong-context import-extension or module-resolution rule applied, loosened tsconfig strictness, a CI lint/format gate that auto-fixes instead of failing, hardcoded token/key, and (Hivemind case) hand-rolled Deep Lake fetch, hand-rolled ALTER, hardcoded version string, CJS in an ESM module. Blocks merge.
  • Should-refactor - duplication near a gate threshold, a missing test for a new exported function, an un-pinned/unbounded engines.node, a package-manager or monorepo-tool proposal made as a drive-by without a migration plan, a decision-guide tradeoff (Biome vs ESLint, zod vs valibot, pnpm vs npm) applied without checking whether the stated reasoning actually transfers to this stack. Cannot block a time-sensitive PR but opens a follow-up.
  • Style - naming preference, import grouping. Never block on style alone.

Severity is the finding's credibility. Calling a style nit "must-fix" destroys trust.


Cross-Drone handoffs

ConcernOwnertypescript-node-stinger's role
Vercel platform config (adapter, ISR, env vars, cron, images, middleware, firewall, cost, domains)vercel-wasp-droneOwn engines.node and the TypeScript/build-adjacent concerns only
Neon/Drizzle schema design, migrations, connection pooling, RLSneon-drizzle-wasp-droneOwn the TS type-inference patterns around Drizzle, not the ORM/database design
Svelte 5 component/markup authoring, runes idiom, SvelteKit patterns beyond typingsvelte-wasp-droneOwn the TypeScript typing layer for load/actions/+server.ts
Secrets/env mechanics (Doppler project/config, CLI, rotation)doppler-wasp-droneConsume env vars through the typed boundary this skill enforces
Security audit (auth, injection, secret scanning, credential lifecycle)security-wasp-droneEnsure guarded interpolation + env-only secrets are in place; audit is theirs
Post-implementation QAquality-wasp-droneProvide the Vitest/Playwright suite as audit evidence
Repo hygiene, branch protection, CI workflow densitygithub-repo-health-wasp-dronePart of the Ship Gate below
Deep Lake table/index design from a data-engineering POV (Hivemind case)vector-store-wasp-droneOwn the TS access patterns + deeplake-schema.ts mechanics
Recall ranking, embeddings strategy, evals (Hivemind case)retrieval-wasp-drone and embeddings-runtime-wasp-droneProvide the TS implementation under it
Docker, CI runners, release automation, cloud (Hivemind case)ci-release-wasp-droneCo-own the build + npm run ci shape and the harness bundle outputs
PRD authoringlibrary-wasp-droneProvide the architectural rationale that goes into the PRD

Output paths

Reports land in the host repo's library/ tree, never inside this Stinger. There is no reports/ subfolder in the Stinger.

  • Standalone reviews / audits -> library/requirements/reports/typescript/<date>-<topic>.md
  • Feature-tied -> library/requirements/<lifecycle>/prd-<###>-<title>/reports/<date>-<type>-report.md
  • Issue-tied -> library/issues/<lifecycle>/ird-<###>-<title>/reports/<date>-<type>-report.md
  • ADRs -> library/knowledge/private/architecture/ADR-<n>-<topic>.md

Guides

Numbered so order is obvious. Read 00-principles.md on every invocation - its "First move" section routes you to the right set below.

SvelteKit / general (primary case):

  • guides/00-principles.md - project-type classification, first-move checklist, severity rubric, cross-Drone boundaries.
  • guides/02-project-layout-esm.md - SvelteKit src/routes/src/lib layout and its ESM import rules, alongside the Wasp Nestmind src/ layout for contrast.
  • guides/08-async-concurrency.md - async/await correctness, batching, concurrency bounding (applies to both cases).
  • guides/09-error-handling.md - narrow, surface, never swallow (applies to both cases).
  • guides/12-strict-types-and-zod.md - strict TS, no any at boundaries, zod vs valibot including the 2026 update for this stack.
  • guides/16-node22-runtime.md - Node runtime features (applies to both cases); see 29 for the Vercel-specific version policy.
  • guides/22-common-failure-modes.md - the Wasp Nestmind-era footgun catalog, cross-referencing the SvelteKit-case "Common findings" sections in 23-29.
  • guides/23-tsconfig-for-sveltekit.md - moduleResolution: "bundler", verbatimModuleSyntax, why SvelteKit's generated tsconfig looks the way it does.
  • guides/24-typing-sveltekit-load-actions-endpoints.md - load return-type inference, form action typing, +server.ts, App.Locals/App.PageData.
  • guides/25-drizzle-type-inference-patterns.md - $inferSelect/$inferInsert, the relational query builder's typing rules; links to neon-drizzle-stinger for schema/migrations.
  • guides/26-vitest-playwright-for-sveltekit.md - vitest-browser-svelte/@testing-library/svelte component testing, Playwright e2e, the mocked-vs-unmocked split.
  • guides/27-biome-vs-eslint-prettier.md - the current tradeoff and this skill's default for a Svelte-first codebase.
  • guides/28-pnpm-and-monorepo-options.md - pnpm as default, Turborepo vs Nx and when each earns its place.
  • guides/29-node-version-policy-on-vercel.md - which Node majors Vercel supports, engines.node pinning, the Node 20 deprecation timeline.

npm library / CLI publishing - Hivemind (secondary case, clearly labeled in each guide):

  • guides/01-stack-enforcement.md - ESM + Node 22 + tsconfig Node16/ES2022/strict; the Wasp Nestmind dependency set; substitution policy.
  • guides/03-deeplake-sql-api.md - the Deep Lake SQL-API client: query(), retry, Semaphore(5), batching.
  • guides/04-esbuild-bundling.md - the multi-harness bundle model, sync-versions.mjs, esbuild define version inlining.
  • guides/05-mcp-sdk-tools.md - McpServer.registerTool, zod/v3 inputSchema, the search/read/index tool shape.
  • guides/06-just-bash-vfs.md - just-bash as the VFS shell engine over Deep Lake.
  • guides/07-harness-model.md - the per-harness packaging model.
  • guides/10-vitest-discipline.md - vitest run, coverage-v8, tests/ mirroring harnesses/.
  • guides/11-vitest-async-fixtures.md - mocking the Deep Lake client, fixtures, temp-dir patterns.
  • guides/13-jscpd-and-quality-gate.md - jscpd threshold 7, npm run ci, no ESLint/Prettier by design.
  • guides/14-npm-and-publishing.md - npm (not pnpm here), the files allowlist, scoped publish.
  • guides/15-deeplake-schema-healing.md - ColumnDef, buildCreateTableSql, healMissingColumns.
  • guides/17-secrets-and-sql-guards.md - tokens via env/config only; sqlStr/sqlLike/sqlIdent.
  • guides/18-publish-and-pack-check.md - prebuild -> build -> prepack, pack-check.mjs.
  • guides/19-tree-sitter-graph.md - tree-sitter + grammars as optional deps for the codebase graph.
  • guides/20-cli-and-scripts.md - the hivemind bin, yargs-parser CLI, scripts/*.mjs.
  • guides/21-deeplake-sdk-and-hf.md - the deeplake SDK, @huggingface/transformers as an optional dep.

Templates

templates/tsconfig.json (the Wasp Nestmind-case canonical compiler config - not the SvelteKit case, which extends its own generated config per guides/23), templates/vitest.config.ts, templates/schema.ts (a zod boundary module), templates/esbuild-entry.mjs, templates/example.test.ts, templates/husky-pre-commit + templates/lint-staged.config, templates/package-scripts.json. All Hivemind-case artifacts; no SvelteKit-case templates exist yet in this Stinger.

Scripts

scripts/audit-untyped-boundaries.mjs, scripts/audit-unbatched-queries.mjs, scripts/audit-hardcoded-secrets.mjs, scripts/audit-swallowed-catch.mjs, scripts/audit-schema-drift.mjs, scripts/check-esm-node22.mjs. All Hivemind-case tooling (invocation instructions in scripts/README.md); several (audit-untyped-boundaries.mjs, audit-hardcoded-secrets.mjs, audit-swallowed-catch.mjs) are general enough to run against SvelteKit-app TypeScript too - verify their glob targets src/ correctly for a SvelteKit layout before relying on them there.

Examples

examples/01-zod-validated-mcp-tool.md, examples/02-deeplake-query-with-retry-and-semaphore.md, examples/03-vitest-suite-for-a-recall-function.md, examples/05-add-a-column-via-healmissingcolumns.md, examples/06-wire-a-new-harness-install-path.md, examples/08-add-an-esbuild-bundle-entry.md. All Hivemind-case worked examples; no SvelteKit-case examples exist yet in this Stinger.

References (the alternatives we don't pick, or the current open tradeoff)

references/README.md, references/tsc-vs-babel.md, references/vitest-vs-jest.md, references/esbuild-vs-tsup.md, references/zod-vs-valibot.md, references/npm-vs-pnpm.md - all Hivemind-era demoted-alternatives docs, preserved as-is. Active SvelteKit-case recommendations live in guides/23-29, including the still-open 2026 tradeoffs (Biome vs ESLint, zod vs valibot, pnpm vs alternatives, Turborepo vs Nx) - these are decision guides with a stated default, not settled "we don't pick this" verdicts the way the Wasp Nestmind-era references are.

Research

Two research trails, kept separate:

  • Source research archive (not shipped with the plugin): the shipped distillation summarizes it; do not require it.
  • research/research-plan.md (source-repository research, not shipped with the plugin) + dated notes - the original 2026-06-16 Hivemind-era pass. Every Hivemind-case guide cites this trail. Untouched by this pass.

Output conventions

  • All file paths in findings are absolute when referencing project files. Relative when referencing guides in this Stinger.
  • Every claim is sourced. Either a guide section, a references/research/raw/ (source-repository research, not shipped with the plugin) file, or a file in the repo.
  • Do not invent versions. Read them from package.json.
  • Never approve a PR that breaks a Hard Rule above - but only block on Must-fix severity.

When in doubt

  • Unfamiliar pattern in the repo? Read the actual source before asserting.
  • New pattern from a blog post? Mark it "experimental" and cite the source.
  • Hand off the moment a question crosses a boundary in the cross-Drone table.
  • Not sure which case applies? Re-run the classification in guides/00-principles.md's "First move" section rather than guessing.

Quality bar

A TypeScript/Node task run through this skill is done when: the project type was classified correctly (SvelteKit app vs npm library/CLI) before any guide was applied, the relevant guide(s) were read in the right set (not mixing a Hivemind-case rule into the SvelteKit case or vice versa), every factual claim used in the output traces to the source research archive (not shipped; the shipped distillation summarizes it) for the SvelteKit case (or research/ [source-repository research, not shipped with the plugin] for the Wasp Nestmind case), and - for anything development-focused - the Ship Gate below completed with user approval before commit or push.

Critical Directive

  • You must read all files and context contained within your skill.
  • In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task.
  • Additional related skills can be found here:
    • vercel-stinger - Vercel deploy/build specifics, Node version selection on Vercel, ISR/caching. Consult for anything beyond the engines.node field this skill owns.
    • neon-drizzle-stinger - Drizzle schema design, migrations, connection pooling, RLS. This skill covers the TypeScript patterns AROUND Drizzle, not Drizzle itself.
    • svelte-stinger - Svelte 5 runes and component authoring. This skill covers the TypeScript/Node fundamentals underpinning SvelteKit, not component markup itself.
    • doppler-stinger - secrets/env handling mechanics. Consult for the Doppler side of the env-typing guidance in this skill.
    • security-stinger - Security audit pass, first gate of the Ship Gate pipeline below.
    • quality-stinger - Post-implementation QA pass, second gate of the Ship Gate pipeline below.
    • github-repo-health-stinger - Repo hygiene audit, orchestrator-level final Ship Gate step below.
    • tanstack-stinger - TanStack Query/Table/Form usage in the same SvelteKit stack, when a page's data layer uses TanStack alongside SvelteKit's own load/remote functions.

Ship Gate

Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The sub-agent should make every effort to reinforce to the orchestrating agent to load this skill prior to committing or pushing code to the repository. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so.


Part of The Wasp Nest, curated by [Mario Aldayuz a.k.a @thenotoriousllama].

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Typescript Node Stinger AI skill do?

Review TypeScript and Node code. Use for SvelteKit types, tsconfig, ESM, Zod boundaries, testing, or npm package builds. Read README.md for the guide map.

Why use Typescript Node Stinger on TypingMind?

Because you install it once and use it with any model. Typescript Node Stinger is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Typescript Node Stinger in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/legioncodeinc/vibe-coding-tools/tree/main/plugins/backend-and-desktop-tools/skills/typescript-node-stinger. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Typescript Node Stinger?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Typescript Node Stinger?

As many as you like. As long as a model supports skills, you can use Typescript Node Stinger with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Typescript Node Stinger AI skill free?

Yes. It is published on GitHub by legioncodeinc under the AGPL-3.0-or-later license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇