#543 by GitHub stars
mcollina/skills
My own collection of skills for modern Node.js development
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/documentation/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
c75d70dbfbe9 → c75d70dbfbe9
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → c75d70dbfbe9
No earlier version was observed for comparison.
skills/fastify/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
c75d70dbfbe9 → c75d70dbfbe9
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → c75d70dbfbe9
No earlier version was observed for comparison.
skills/init/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
c75d70dbfbe9 → c75d70dbfbe9
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → c75d70dbfbe9
No earlier version was observed for comparison.
skills/linting-neostandard-eslint9/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
c75d70dbfbe9 → c75d70dbfbe9
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → c75d70dbfbe9
No earlier version was observed for comparison.
skills/node/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
c75d70dbfbe9 → c75d70dbfbe9
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → c75d70dbfbe9
No earlier version was observed for comparison.
skills/nodejs-core/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
c75d70dbfbe9 → c75d70dbfbe9
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → c75d70dbfbe9
No earlier version was observed for comparison.
skills/oauth/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
c75d70dbfbe9 → c75d70dbfbe9
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → c75d70dbfbe9
No earlier version was observed for comparison.
skills/octocat/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
c75d70dbfbe9 → c75d70dbfbe9
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → c75d70dbfbe9
No earlier version was observed for comparison.
skills/skill-optimizer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
c75d70dbfbe9 → c75d70dbfbe9
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → c75d70dbfbe9
No earlier version was observed for comparison.
skills/snipgrapher/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
c75d70dbfbe9 → c75d70dbfbe9
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → c75d70dbfbe9
No earlier version was observed for comparison.
skills/typescript-magician/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
c75d70dbfbe9 → c75d70dbfbe9
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → c75d70dbfbe9
No earlier version was observed for comparison.
Verified commit c75d70dbfbe991d8cec42aeda0b64ff14fbb9ac7
git clone --filter=blob:none --no-checkout https://github.com/mcollina/skills.git .hotskills/mcollina-skills && git -C .hotskills/mcollina-skills checkout --detach c75d70dbfbe991d8cec42aeda0b64ff14fbb9ac7
# Copy each selected skill directory from .hotskills/mcollina-skills into .agents/skills/<skill-name>/Heat
2.7- Star growth, last 7 daysAhead of 37% of tracked repositories
- Star growth, last 24 hoursAhead of 3% of tracked repositories
- Rank movement, last 7 daysAhead of 30% of tracked repositories
- Commits, last 30 daysAhead of 60% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- documentation
skills/documentation - fastify-best-practices
skills/fastify - init
skills/init - linting-neostandard-eslint9
skills/linting-neostandard-eslint9 - node
skills/node - nodejs-core
skills/nodejs-core - oauth
skills/oauth - octocat
skills/octocat - skill-optimizer
skills/skill-optimizer - snipgrapher
skills/snipgrapher - typescript-magician
skills/typescript-magician
How it works
documentation
When your agent uses it
Creates, structures, and reviews technical documentation following the Diátaxis framework (tutorials, how-to guides, reference, and explanation pages). Use when a user needs to write or reorganize docs, structure a tutorial vs. a how-to guide, build reference docs or API documentation, create explanation pages, choose between Diátaxis documentation types, or improve existing documentation structure. Trigger terms include: documentation structure, Diátaxis, tutorials vs how-to guides, organize docs, user guide, reference docs, technical writing.
What it loads into context
Frontmatter
130 tokensAlways available to the agent
SKILL.md
1,161 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Instructions
Files
SKILL.mdcore5,465 bytestile.jsonasset724 bytes
Read SKILL.md
## When to use
Use this skill when you need to create, review, or improve technical documentation following the Diátaxis framework. Examples include:
- Creating user guides
- API documentation
- Tutorial content
- Restructuring existing documentation to better serve different user needs and contexts
## Instructions
Organize documentation into four distinct types — tutorials, how-to guides, reference material, and explanations — each serving different user needs and contexts.
Always ask clarifying questions about the user's context, audience, and goals **before** creating documentation.
View the complete source on GitHubfastify-best-practices
When your agent uses it
Guides development of Fastify Node.js backend servers and REST APIs using TypeScript or JavaScript. Use when building, configuring, or debugging a Fastify application — including defining routes, implementing plugins, setting up JSON Schema validation, handling errors, optimising performance, managing authentication, configuring CORS and security headers, integrating databases, working with WebSockets, and deploying to production. Covers the full Fastify request lifecycle (hooks, serialization, logging with Pino) and TypeScript integration via strip types. Trigger terms: Fastify, Node.js server, REST API, API routes, backend framework, fastify.config, server.ts, app.ts.
What it loads into context
Frontmatter
163 tokensAlways available to the agent
SKILL.md
867 tokensWhen the skill is activated
Reference documents
46,138 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Quick Start
- Recommended Reading Order for Common Scenarios
- How to use
- Core Principles
Files
SKILL.mdcore3,775 bytesrules/authentication.mddoc13,591 bytesrules/configuration.mddoc5,464 bytesrules/content-type.mddoc9,011 bytesrules/cors-security.mddoc9,710 bytesrules/database.mddoc7,863 bytesrules/decorators.mddoc10,316 bytesrules/deployment.mddoc9,589 bytesrules/error-handling.mddoc10,625 bytesrules/hooks.mddoc10,801 bytesrules/http-proxy.mddoc5,807 bytesrules/logging.mddoc8,706 bytesrules/performance.mddoc10,130 bytesrules/plugins.mddoc8,393 bytesrules/routes.mddoc10,667 bytesrules/schemas.mddoc12,899 bytesrules/serialization.mddoc10,605 bytesrules/testing.mddoc11,834 bytesrules/typescript.mddoc9,879 bytesrules/websockets.mddoc9,649 bytestile.jsonasset869 bytes
Read SKILL.md
## When to use
Use this skill when you need to:
- Develop backend applications using Fastify
- Implement Fastify plugins and route handlers
- Get guidance on Fastify architecture and patterns
- Use TypeScript with Fastify (strip types)
- Implement testing with Fastify's inject method
- Configure validation, serialization, and error handling
## Quick Start
A minimal, runnable Fastify server to get started immediately:
View the complete source on GitHubinit
When your agent uses it
Creates, updates, or optimizes an AGENTS.md file for a repository with minimal, high-signal instructions covering non-discoverable coding conventions, tooling quirks, workflow preferences, and project-specific rules that agents cannot infer from reading the codebase. Use when setting up agent instructions or Claude configuration for a new repository, when an existing AGENTS.md is too long, generic, or stale, when agents repeatedly make avoidable mistakes, or when repository workflows have changed and the agent configuration needs pruning. Applies a discoverability filter—omitting anything Claude can learn from README, code, config, or directory structure—and a quality gate to verify each line remains accurate and operationally significant.
What it loads into context
Frontmatter
161 tokensAlways available to the agent
SKILL.md
825 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Instructions
Files
SKILL.mdcore3,765 bytestile.jsonasset906 bytes
Read SKILL.md
## When to use
Use this skill when creating or updating `AGENTS.md` for a repository.
Use it especially when:
- the current `AGENTS.md` is long, generic, or stale
- agents repeatedly make the same avoidable mistakes
- repository workflows changed and agent guidance needs pruning
## Instructions
Treat `AGENTS.md` as a **living list of non-discoverable landmines and workflow gotchas**, not a codebase overview.
### Core rule: discoverability filterView the complete source on GitHublinting-neostandard-eslint9
When your agent uses it
Configures ESLint v9 flat config and neostandard for JavaScript and TypeScript projects, including migrating from legacy `.eslintrc*` files or the `standard` package. Use when you need to set up or fix linting with `eslint.config.js` or `eslint.config.mjs`, troubleshoot lint errors, configure neostandard rules, migrate from `.eslintrc` to flat config, or integrate linting into CI pipelines and pre-commit hooks.
What it loads into context
Frontmatter
134 tokensAlways available to the agent
SKILL.md
689 tokensWhen the skill is activated
Reference documents
1,881 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Quick start: basic neostandard setup
- Common setup workflow (new project)
- How to use
- Core principles
Files
SKILL.mdcore2,673 bytesSKILL.mdcore2,673 bytesSKILL.mdcore2,673 bytesrules/ci-and-editor-integration.mddoc1,068 bytesrules/eslint-v9-flat-config.mddoc1,588 bytesrules/migration-from-legacy-eslint.mddoc996 bytesrules/migration-from-standard.mddoc1,887 bytesrules/neostandard.mddoc1,861 bytestile.jsonasset613 bytes
Read SKILL.md
## When to use
Use this skill when you need to:
- Set up linting in a JavaScript or TypeScript project
- Use `neostandard` as a Standard-like ESLint v9 flat-config baseline
- Configure `eslint@9` with the flat config system (`eslint.config.js`/`eslint.config.mjs`)
- Migrate from `standard` to `neostandard` or ESLint v9
- Migrate from legacy `.eslintrc*` configuration to ESLint v9
- Run linting consistently in CI and local development
## Quick start: basic neostandard setup
Install dependencies and create a minimal `eslint.config.js`:
View the complete source on GitHubnode
When your agent uses it
Provides domain-specific best practices for Node.js development with TypeScript, covering type stripping, async patterns, error handling, streams, modules, testing, performance, caching, logging, and more. Use when setting up Node.js projects with native TypeScript support, configuring type stripping (--experimental-strip-types), writing Node 22+ TypeScript without a build step, or when the user mentions 'native TypeScript in Node', 'strip types', 'Node 22 TypeScript', '.ts files without compilation', 'ts-node alternative', or needs guidance on error handling, graceful shutdown, flaky tests, profiling, or environment configuration in Node.js. Helps configure tsconfig.json for type stripping, set up package.json scripts, handle module resolution and import extensions, and apply robust patterns across the full Node.js stack.
What it loads into context
Frontmatter
188 tokensAlways available to the agent
SKILL.md
1,408 tokensWhen the skill is activated
Reference documents
17,465 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- TypeScript with Type Stripping
- Common Workflows
- High-priority activation checklist (streams + caching)
- How to use
Scripts executed separately
rules/assets/graceful-server.test.tsrules/assets/graceful-server.ts
Files
SKILL.mdcore6,403 bytesSKILL.mdcore6,403 bytesSKILL.mdcore6,403 bytesSKILL.mdcore6,403 bytesSKILL.mdcore6,403 bytesrules/assets/graceful-server.test.tsruns2,657 bytesrules/assets/graceful-server.tsruns2,209 bytesrules/async-patterns.mddoc3,125 bytesrules/caching.mddoc4,900 bytesrules/environment.mddoc6,153 bytesrules/error-handling.mddoc3,916 bytesrules/flaky-tests.mddoc10,610 bytesrules/graceful-shutdown.mddoc4,760 bytesrules/logging.mddoc4,549 bytesrules/modules.mddoc2,091 bytesrules/node-modules-exploration.mddoc3,681 bytesrules/performance.mddoc2,877 bytesrules/profiling.mddoc3,952 bytesrules/streams.mddoc5,225 bytesrules/stuck-processes-and-tests.mddoc3,991 bytesrules/testing.mddoc4,473 bytesrules/typescript.mddoc5,637 bytestile.jsonasset1,017 bytes
Read SKILL.md
## When to use
Use this skill whenever you are dealing with Node.js code to obtain domain-specific knowledge for building robust, performant, and maintainable Node.js applications.
## TypeScript with Type Stripping
When writing TypeScript for Node.js, use **type stripping** (Node.js 22.6+) instead of build tools like ts-node or tsx. Type stripping runs TypeScript directly by removing type annotations at runtime without transpilation.
Key requirements for type stripping compatibility:
- Use `import type` for type-only imports
- Use const objects instead of enums
- Avoid namespaces and parameter properties
- Use `.ts` extensions in imports
View the complete source on GitHubnodejs-core
When your agent uses it
Contributes to and debugs Node.js core, including nodejs/node commit and PR tone, contribution workflows, native crashes, V8 performance, node-gyp builds, N-API bindings, and libuv issues. Use when drafting or reviewing a Node.js core commit or pull request, working in nodejs/node, or diagnosing C++ addons, binding.gyp failures, segfaults, native leaks, V8 deoptimizations, and event-loop internals.
What it loads into context
Frontmatter
140 tokensAlways available to the agent
SKILL.md
2,811 tokensWhen the skill is activated
Reference documents
83,279 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- How to use
- Instructions
Files
SKILL.mdcore11,497 bytesSKILL.mdcore11,497 bytesSKILL.mdcore11,497 bytesSKILL.mdcore11,497 bytesSKILL.mdcore11,497 bytesSKILL.mdcore11,497 bytesSKILL.mdcore11,497 bytesSKILL.mdcore11,497 bytesSKILL.mdcore11,497 bytesSKILL.mdcore11,497 bytesrules/build-and-test-workflow.mddoc13,090 bytesrules/build-system.mddoc7,814 bytesrules/child-process-internals.mddoc12,425 bytesrules/cli-options.mddoc15,188 bytesrules/commit-and-pr-guideline.mddoc16,615 bytesrules/configure.mddoc5,199 bytesrules/contributing.mddoc11,323 bytesrules/crypto-internals.mddoc11,869 bytesrules/debugging-native.mddoc8,040 bytesrules/documentation.mddoc10,813 bytesrules/fs-internals.mddoc10,707 bytesrules/libuv-async-io.mddoc10,877 bytesrules/libuv-event-loop.mddoc11,329 bytesrules/libuv-thread-pool.mddoc10,600 bytesrules/memory-debugging.mddoc12,004 bytesrules/napi.mddoc14,348 bytesrules/native-memory.mddoc12,218 bytesrules/net-internals.mddoc14,085 bytesrules/node-addon-api.mddoc14,926 bytesrules/pre-commit-lint.mddoc11,425 bytesrules/primordials.mddoc12,900 bytesrules/profiling-v8.mddoc10,085 bytesrules/reviewing-prs.mddoc10,586 bytesrules/streams-internals.mddoc11,993 bytesrules/v8-garbage-collection.mddoc11,131 bytesrules/v8-hidden-classes.mddoc9,416 bytesrules/v8-jit-compilation.mddoc10,416 bytesrules/worker-threads-internals.mddoc13,639 bytestile.jsonasset355 bytes
Read SKILL.md
## When to use
Use this skill when you need deep Node.js internals expertise, including:
- C++ addon development
- V8 engine debugging
- libuv event loop issues
- Build system problems
- Compilation failures
- Performance optimization at the engine level
- Understanding Node.js core architecture
- Writing or reviewing `nodejs/node` commits and pull request descriptions
## How to use
View the complete source on GitHuboauth
When your agent uses it
Implements OAuth 2.0/2.1 authorization flows in Fastify applications — configures authorization code with PKCE, client credentials, device flow, refresh token rotation, JWT validation, and token introspection/revocation endpoints. Use when setting up authentication, authorization, login flows, access tokens, API security, or securing Fastify routes with OAuth; also applies when troubleshooting token validation errors, mismatched redirect URIs, CSRF issues, scope problems, or RFC 6749/6750/7636/8252/8628 compliance questions.
What it loads into context
Frontmatter
139 tokensAlways available to the agent
SKILL.md
1,656 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Step-by-step: Authorization Code + PKCE in Fastify
- Security checklist
- Common anti-patterns
- Further implementation references
Files
SKILL.mdcore6,720 bytesSKILL.mdcore6,720 bytestile.jsonasset687 bytes
Read SKILL.md
## When to use
Use this skill when you need to:
- Implement or debug an OAuth 2.0/2.1 flow in a Fastify application
- Validate tokens, configure PKCE, or set up refresh token rotation
- Secure Fastify routes and plugins with access-control middleware
- Resolve RFC compliance questions or identify security anti-patterns
---
## Step-by-step: Authorization Code + PKCE in Fastify
### 1. Install dependencies
View the complete source on GitHuboctocat
When your agent uses it
Use this skill whenever the prompt contains any `github.com` URL, even if the user only pastes a link and gives no GitHub-specific keywords. Handles git and GitHub operations using the gh CLI. Triggers include any GitHub link to an issue, pull request, commit, compare page, Actions run, release, discussion, or repository. Covers creating and reviewing PRs, repository security advisories (GHSA), their comments, and fix PRs in their temporary private forks, private vulnerability report discussions, watching CI checks, interactive rebasing, branch cleanup, submodule management, and repository archaeology with git log/blame/bisect.
What it loads into context
Frontmatter
169 tokensAlways available to the agent
SKILL.md
1,577 tokensWhen the skill is activated
Reference documents
4,402 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Instructions
- Activation examples
- Capabilities
- PR Body Formatting
- Validation Checkpoints for Complex Operations
- Commit Signing and Attribution Rules
Files
SKILL.mdcore6,797 bytesSKILL.mdcore6,797 bytesrules/security-advisory-comments.mddoc8,780 bytesrules/security-advisory-lifecycle.mddoc5,936 bytesrules/security-advisory-private-fork-prs.mddoc4,616 bytestile.jsonasset792 bytes
Read SKILL.md
## When to use
Use this skill for:
- Any prompt containing a pasted `github.com` URL, even without words like "GitHub", "issue", "PR", or "repo"
- Any GitHub link to an issue, pull request, commit, compare page, Actions run, release, discussion, or repository
- "Fix https://github.com/owner/repo/issues/123" style tasks
- Creating, reviewing, and managing pull requests and GitHub issues
- Reading or triaging repository security advisories (GHSA), private vulnerability reports, and advisory comments; adding or editing triage notes
- Creating a GHSA temporary private fork and opening an embargoed fix PR inside it
- Merge conflict resolution and history rewriting
- Pre-commit hook debugging and fixes
- Branch management and cleanup
- GitHub Actions workflow optimization
- Any git command or GitHub workflow questionView the complete source on GitHubskill-optimizer
When your agent uses it
Optimizes AI skills for activation, clarity, and cross-model reliability. Use when creating or editing skill packs, diagnosing weak skill uptake, reducing regressions, tuning instruction salience, improving examples, shrinking context cost, or setting benchmark/release gates for skills. Trigger terms: skill optimization, activation gap, benchmark skill, with/without skill delta, regression, context budget, prompt salience.
What it loads into context
Frontmatter
107 tokensAlways available to the agent
SKILL.md
507 tokensWhen the skill is activated
Reference documents
1,204 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Optimization loop (default workflow)
- How to use
- Practical heuristics
Files
SKILL.mdcore2,327 bytesrules/activation-design.mddoc1,263 bytesrules/benchmark-loop.mddoc1,156 bytesrules/context-budget.mddoc1,072 bytesrules/regression-triage.mddoc1,116 bytesrules/release-gates.mddoc963 bytestile.jsonasset605 bytes
Read SKILL.md
## When to use
Use this skill when you need to:
- Improve whether a skill is actually applied by models
- Diagnose why some criteria fail across all models
- Prevent a skill from making outputs worse
- Refactor skill text for stronger retrieval under context pressure
- Build repeatable benchmark loops and release gates
## Optimization loop (default workflow)
1. **Measure baseline and skill-on behavior** (per model, per scenario, per criterion)
2. **Find failure pattern**:
- universal failure (0% with skill)View the complete source on GitHubsnipgrapher
When your agent uses it
Configures and uses snipgrapher to generate polished code snippet images, including syntax-highlighted PNGs, SVGs, and WebP exports with custom themes, profiles, and styling options. Use when the user wants to create code screenshots, turn code into shareable images, generate pretty code snippets for docs or social posts, produce syntax-highlighted images from source files, or explicitly mentions snipgrapher. Supports single-file renders, batch jobs, watch mode, and reusable named profiles via the snipgrapher CLI or npx.
What it loads into context
Frontmatter
145 tokensAlways available to the agent
SKILL.md
630 tokensWhen the skill is activated
Reference documents
934 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Quick start
- How to use
- Core principles
- Troubleshooting common render failures
Files
SKILL.mdcore2,743 bytesSKILL.mdcore2,743 bytesSKILL.mdcore2,743 bytesSKILL.mdcore2,743 bytesSKILL.mdcore2,743 bytesSKILL.mdcore2,743 bytesrules/rendering-workflows.mddoc1,784 bytesrules/setup-and-configuration.mddoc1,707 bytestile.jsonasset693 bytes
Read SKILL.md
## When to use
Use this skill when you need to:
- Generate image snippets from source code
- Configure reusable snippet rendering defaults
- Batch-render snippet assets for docs, social posts, or changelogs
- Use published `snipgrapher` from npm to generate snippet images
## Quick start
Render a single file to a PNG immediately with no config required:
```bash
npx snipgrapher render file.ts -o output.pngView the complete source on GitHubtypescript-magician
When your agent uses it
Designs complex generic types, refactors `any` types to strict alternatives, creates type guards and utility types, and resolves TypeScript compiler errors. Use when the user asks about TypeScript (TS) types, generics, type inference, type guards, removing `any` types, strict typing, type errors, `infer`, `extends`, conditional types, mapped types, template literal types, branded/opaque types, or utility types like `Partial`, `Record`, `ReturnType`, and `Awaited`.
What it loads into context
Frontmatter
132 tokensAlways available to the agent
SKILL.md
1,050 tokensWhen the skill is activated
Reference documents
24,826 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to use
- Instructions
- Quick Examples
- Reference
Files
SKILL.mdcore4,516 bytesrules/array-index-access.mddoc4,923 bytesrules/as-const-typeof.mddoc4,742 bytesrules/builder-pattern.mddoc8,179 bytesrules/conditional-types.mddoc7,033 bytesrules/deep-inference.mddoc6,903 bytesrules/error-diagnosis.mddoc7,912 bytesrules/function-overloads.mddoc7,588 bytesrules/generics-basics.mddoc7,076 bytesrules/infer-keyword.mddoc7,321 bytesrules/mapped-types.mddoc7,504 bytesrules/opaque-types.mddoc7,114 bytesrules/template-literal-types.mddoc7,499 bytesrules/type-narrowing.mddoc8,675 bytesrules/utility-types.mddoc6,625 bytestile.jsonasset651 bytes
Read SKILL.md
## When to use
Use this skill for:
- TypeScript errors and type challenges
- Eliminating `any` types from codebases
- Complex generics and type inference issues
- When strict typing is needed
## Instructions
When invoked:
1. Run `tsc --noEmit` to capture the full error output before making changes
2. Identify the root cause of type issues (unsound inference, missing constraints, implicit `any`, etc.)
3. Craft precise, type-safe solutions using advanced TypeScript featuresView the complete source on GitHubSkills included
- documentation
- fastify-best-practices
- init
- linting-neostandard-eslint9
- node
- nodejs-core
- oauth
- octocat
- skill-optimizer
- snipgrapher
- typescript-magician
Repository facts
- License
- MIT
- Created
- Jan 27, 2026
- Last pushed
- Oct 27, 2026
- Forks
- 147
- Open issues
- 5
- Project activity
- Active
Rank over the last 12 weeks
Now #543 · best #401 · down 78 in 30 days
- #533 from Oct 30 to Oct 31
- #534 on Nov 1
- #536 on Nov 2
- #538 from Nov 3 to Nov 4
- #542 from Nov 5 to Nov 6
- #543 since Nov 7
52 earlier periods
- #386 on Aug 1
- #371 on Aug 7
- #374 on Aug 8
- #376 on Aug 9
- #388 on Aug 11
- #388 on Aug 14
- #401 on Aug 19
- #406 on Aug 23
- #403 on Aug 24
- #415 on Aug 27
- #418 on Aug 28
- #413 on Aug 29
- #405 on Aug 30
- #419 on Aug 31
- #420 on Sep 3
- #416 on Sep 5
- #414 on Sep 6
- #423 on Sep 7
- #426 on Sep 9
- #429 on Sep 11
- #424 on Sep 12
- #429 on Sep 13
- #437 on Sep 14
- #442 on Sep 16
- #444 on Sep 18
- #440 on Sep 20
- #445 on Sep 21
- #450 on Sep 22
- #438 on Sep 24
- #436 on Sep 25
- #431 on Sep 26
- #444 on Sep 27
- #452 on Sep 28
- #455 on Sep 30
- #448 on Oct 2
- #437 on Oct 3
- #465 on Oct 8
- #467 on Oct 9
- #462 on Oct 10
- #464 on Oct 11
- #474 on Oct 12
- #477 on Oct 14
- #480 on Oct 15
- #483 on Oct 16
- #498 on Oct 20
- #502 on Oct 21
- #497 on Oct 22
- #492 on Oct 23
- #481 on Oct 24
- #524 on Oct 25
- #529 on Oct 28
- #531 on Oct 29
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 3, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 22 notes
skills/linting-neostandard-eslint9/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/linting-neostandard-eslint9/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/node/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/node/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/node/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/node/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/nodejs-core/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/nodejs-core/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/nodejs-core/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/nodejs-core/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/nodejs-core/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/nodejs-core/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/nodejs-core/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/nodejs-core/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/nodejs-core/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/oauth/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/octocat/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/snipgrapher/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/snipgrapher/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/snipgrapher/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 12 dangerous shell commandsin 8 files: nodejs-core/rules/child-process-internals.md:18 node/rules/typescript.md:241 nodejs-core/rules/build-system.md:43 and 5 more
- 235 network referencesin 43 files: fastify/rules/http-proxy.md:31 nodejs-core/rules/contributing.md:17 node/rules/profiling.md:12 and 40 more
- No hidden or obfuscated text
- No instruction overrides
- 2 executable scriptsin 2 files: node/rules/assets/graceful-server.test.ts:1 node/rules/assets/graceful-server.ts:1
- 22 references to secretsin 6 files: node/rules/environment.md:15 fastify/rules/authentication.md:34 oauth/SKILL.md:41 and 3 more
- No requests to vote in Hot
Show all 271 signals by file
skills/fastify/rules/authentication.md
- Access to secretsline 34
[Credential-related source omitted] - Access to secretsline 95
[Credential-related source omitted] - Access to secretsline 256
[Credential-related source omitted] - Access to secretsline 314
[Credential-related source omitted] - Network accessline 316
}, startRedirectPath: '/auth/google', callbackUri: 'http://localhost:3000/auth/google/callback', - Network accessline 317
startRedirectPath: '/auth/google', callbackUri: 'http://localhost:3000/auth/google/callback', discovery: { - Network accessline 318
callbackUri: 'http://localhost:3000/auth/google/callback', - Network accessline 319
discovery: { issuer: 'https://accounts.google.com', }, - Network accessline 320
issuer: 'https://accounts.google.com', - Network accessline 327
// Fetch user info from Google const userInfo = await fetch('https://www.googleapis.com/oauth2/v2/userinfo', { - Network accessline 328
const userInfo = await fetch('https://www.googleapis.com/oauth2/v2/userinfo', { - Access to secretsline 329
[Credential-related source omitted] - Access to secretsline 366
[Credential-related source omitted]
skills/fastify/rules/configuration.md
- Access to secretsline 47
[Credential-related source omitted]
skills/fastify/rules/cors-security.md
- Network accessline 41
// Configured CORS app.register(cors, { origin: ['https://example.com', 'https://app.example.com'], - Network accessline 42
app.register(cors, { origin: ['https://example.com', 'https://app.example.com'], methods: ['GET', 'POST', 'PUT', 'DELETE'], - Network accessline 43
origin: ['https://example.com', 'https://app.example.com'], - Network accessline 64
// Check against allowed origins const allowedOrigins = [ 'https://example.com', - Network accessline 65
const allowedOrigins = [ 'https://example.com', 'https://app.example.com', - Network accessline 66
'https://example.com', - Network accessline 67
'https://app.example.com', - Network accessline 123
styleSrc: ["'self'", "'unsafe-inline'"], imgSrc: ["'self'", 'data:', 'https:'], connectSrc: ["'self'", 'https://api.example.com'], - Network accessline 124
imgSrc: ["'self'", 'data:', 'https:'], connectSrc: ["'self'", 'https://api.example.com'], }, - Network accessline 125
connectSrc: ["'self'", 'https://api.example.com'], - Network accessline 147
useDefaults: true, directives: { 'script-src': ["'self'", 'https://trusted-cdn.com'], - Network accessline 148
directives: { 'script-src': ["'self'", 'https://trusted-cdn.com'], }, - Network accessline 149
'script-src': ["'self'", 'https://trusted-cdn.com'], - Access to secretsline 298
[Credential-related source omitted] - Network accessline 427
request.headers['x-forwarded-proto'] !== 'https' ) { const httpsUrl = `https://${request.hostname}${request.url}`; - Network accessline 428
) { const httpsUrl = `https://${request.hostname}${request.url}`; reply.redirect(301, httpsUrl); - Network accessline 429
const httpsUrl = `https://${request.hostname}${request.url}`;
skills/fastify/rules/deployment.md
- Network accessline 160
# Health check HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1 - Network accessline 161
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1 - Network accessline 162
CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1 - Access to secretsline 177
[Credential-related source omitted]
skills/fastify/rules/error-handling.md
skills/fastify/rules/http-proxy.md
- Network accessline 31
// Proxy all requests to /api/* to another service app.register(httpProxy, { upstream: 'http://backend-service:3001', - Network accessline 32
app.register(httpProxy, { upstream: 'http://backend-service:3001', prefix: '/api', - Network accessline 33
upstream: 'http://backend-service:3001', - Network accessline 39
// With authentication app.register(httpProxy, { upstream: 'http://internal-api:3002', - Network accessline 40
app.register(httpProxy, { upstream: 'http://internal-api:3002', prefix: '/internal', - Network accessline 41
upstream: 'http://internal-api:3002', - Network accessline 64
app.register(replyFrom, { base: 'http://backend-service:3001', - Network accessline 65
base: 'http://backend-service:3001', - Network accessline 98
// Route to different backends based on request if (request.headers['x-beta']) { return 'http://beta-backend:3001'; - Network accessline 99
if (request.headers['x-beta']) { return 'http://beta-backend:3001'; } - Network accessline 100
return 'http://beta-backend:3001'; - Network accessline 101
} return 'http://stable-backend:3001'; } - Network accessline 102
return 'http://stable-backend:3001'; - Network accessline 116
// Configure multiple upstreams const services = { users: 'http://users-service:3001', - Network accessline 117
const services = { users: 'http://users-service:3001', orders: 'http://orders-service:3002', - Network accessline 118
users: 'http://users-service:3001', - Network accessline 119
orders: 'http://orders-service:3002', - Network accessline 120
products: 'http://products-service:3003', - Network accessline 179
app.register(replyFrom, { base: 'http://backend:3001', - Network accessline 180
base: 'http://backend:3001', - Network accessline 215
app.register(httpProxy, { upstream: 'http://ws-backend:3001', - Network accessline 216
upstream: 'http://ws-backend:3001', - Network accessline 227
app.register(replyFrom, { base: 'http://backend:3001', - Network accessline 228
base: 'http://backend:3001', - Network accessline 249
cache.define('proxyGet', async (url: string) => { const response = await fetch(`http://backend:3001${url}`); - Network accessline 250
const response = await fetch(`http://backend:3001${url}`);
skills/fastify/rules/logging.md
skills/fastify/rules/performance.md
- Network accessline 384
# Basic benchmark autocannon http://localhost:3000/api/users - Network accessline 385
autocannon http://localhost:3000/api/users - Network accessline 387
# With options autocannon -c 100 -d 30 -p 10 http://localhost:3000/api/users - Network accessline 388
autocannon -c 100 -d 30 -p 10 http://localhost:3000/api/users - Network accessline 398
const result = await autocannon({ url: 'http://localhost:3000/api/users', - Network accessline 399
url: 'http://localhost:3000/api/users',
skills/node/rules/assets/graceful-server.test.ts
- Executable scriptline 1
Executable file - Network accessline 48
it('should return healthy status when not shutting down', async () => { const port = getPort(); const response = await fetch(`http://localhost:${port}/health`); - Network accessline 50
const response = await fetch(`http://localhost:${port}/health`); - Network accessline 61
const response = await fetch(`http://localhost:${port}/health`); - Network accessline 74
const response = await fetch(`http://localhost:${port}/`); - Network accessline 84
const response = await fetch(`http://localhost:${port}/`);
skills/node/rules/assets/graceful-server.ts
skills/node/rules/async-patterns.md
- Network accessline 49
Limit concurrent operations to prevent resource exhaustion and extreme memory usage. Use [p-limit](https://github.com/sindresorhus/p-limit) or [p-map](https://github.com/sindresorhus/p-map): - Network accessline 74
async function fetchMultiple(urls: string[]): Promise<Map<string, string | Error>> { const results = await Promise.allSettled( urls.map((url) => fetch(url).then((r) => r.text())) - Network accessline 75
const results = await Promise.allSettled( urls.map((url) => fetch(url).then((r) => r.text())) ); - Network accessline 76
urls.map((url) => fetch(url).then((r) => r.text())) - Network accessline 130
try { return await fetch(url, { signal: controller.signal }); - Network accessline 131
return await fetch(url, { signal: controller.signal });
skills/node/rules/caching.md
- Network accessline 22
Use [mnemoist](https://github.com/Yomguithereal/mnemonist) for synchronous memoization: - Network accessline 41
Use [async-cache-dedupe](https://github.com/mcollina/async-cache-dedupe) for async operations with request deduplication: - Network accessline 123
Use [lru-cache](https://github.com/isaacs/node-lru-cache) for bounded in-memory caching:
skills/node/rules/environment.md
- Access to secretsline 15
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Network accessline 40
Use [env-schema](https://github.com/fastify/env-schema) with [TypeBox](https://github.com/sinclairzx81/typebox) for type-safe environment validation: - Access to secretsline 49
[Credential-related source omitted] - Access to secretsline 60
[Credential-related source omitted] - Network accessline 65
Alternatively, use [Zod](https://github.com/colinhacks/zod) for validation: - Access to secretsline 73
[Credential-related source omitted] - Access to secretsline 195
[Credential-related source omitted] - Access to secretsline 197
[Credential-related source omitted] - Access to secretsline 203
[Credential-related source omitted] - Access to secretsline 205
[Credential-related source omitted] - Access to secretsline 208
[Credential-related source omitted] - Network accessline 218
**Cloud Provider Services:** - [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/) - Network accessline 219
- [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/) - Network accessline 220
- [Google Cloud Secret Manager](https://cloud.google.com/secret-manager) - Network accessline 221
- [Azure Key Vault](https://azure.microsoft.com/en-us/products/key-vault) - Network accessline 223
**Infrastructure Tools:** - [HashiCorp Vault](https://www.vaultproject.io/) - Network accessline 224
- [HashiCorp Vault](https://www.vaultproject.io/) - Network accessline 225
- [Doppler](https://www.doppler.com/) - Network accessline 226
- [Infisical](https://infisical.com/)
skills/node/rules/error-handling.md
- Network accessline 12
Use [@fastify/create-error](https://github.com/fastify/fastify-error) for creating custom errors with codes: - Network accessline 105
Do not handle `unhandledRejection` and `uncaughtException` manually. Use [close-with-grace](https://github.com/fastify/close-with-grace) which handles these automatically and triggers graceful shutdown.
skills/node/rules/graceful-shutdown.md
- Network accessline 12
Always use [close-with-grace](https://github.com/fastify/close-with-grace) for handling graceful shutdowns:
skills/node/rules/logging.md
- Network accessline 12
Use [pino](https://github.com/pinojs/pino) for fast, structured JSON logging: - Network accessline 49
Use [pino-pretty](https://github.com/pinojs/pino-pretty) for human-readable output during development: - Network accessline 97
- [pino-pretty](https://github.com/pinojs/pino-pretty) - Human-readable formatting - Network accessline 98
- [pino-elasticsearch](https://github.com/pinojs/pino-elasticsearch) - Send to Elasticsearch - Network accessline 99
- [pino-loki](https://github.com/Julien-R44/pino-loki) - Send to Grafana Loki - Network accessline 100
- [pino-datadog](https://github.com/ovhemert/pino-datadog) - Send to Datadog - Network accessline 154
The [debug](https://github.com/debug-js/debug) module is useful for library and module authors to emit tracing information. It is not meant for application logging:
skills/node/rules/performance.md
- Network accessline 33
Use [piscina](https://github.com/piscinajs/piscina) for CPU-intensive tasks:
skills/node/rules/profiling.md
- Network accessline 12
Use [@platformatic/flame](https://github.com/platformatic/flame) for CPU profiling with flame graph visualization: - Network accessline 52
Use [autocannon](https://github.com/mcollina/autocannon) for HTTP benchmarking: - Network accessline 55
# Basic benchmark npx autocannon http://localhost:3000 - Network accessline 56
npx autocannon http://localhost:3000 - Network accessline 58
# With options npx autocannon -c 100 -d 30 -p 10 http://localhost:3000 - Network accessline 59
npx autocannon -c 100 -d 30 -p 10 http://localhost:3000 - Network accessline 61
# POST request with body npx autocannon -m POST -H "Content-Type: application/json" -b '{"name":"test"}' http://localhost:3000/users - Network accessline 62
npx autocannon -m POST -H "Content-Type: application/json" -b '{"name":"test"}' http://localhost:3000/users - Network accessline 77
const result = await autocannon({ url: 'http://localhost:3000', - Network accessline 78
url: 'http://localhost:3000', - Network accessline 89
[wrk](https://github.com/wg/wrk) is a high-performance HTTP benchmarking tool: - Network accessline 92
# Basic benchmark wrk -t12 -c400 -d30s http://localhost:3000 - Network accessline 93
wrk -t12 -c400 -d30s http://localhost:3000 - Network accessline 95
# With Lua script for custom requests wrk -t12 -c400 -d30s -s post.lua http://localhost:3000 - Network accessline 96
wrk -t12 -c400 -d30s -s post.lua http://localhost:3000 - Network accessline 107
[k6](https://k6.io/) is ideal for complex load testing scenarios: - Network accessline 119
export default function () { const res = http.get('http://localhost:3000'); - Network accessline 120
const res = http.get('http://localhost:3000');
skills/node/rules/streams.md
skills/node/rules/typescript.md
- Dangerous shell operationline 241
"clean": "rm -rf dist",
skills/nodejs-core/rules/build-system.md
- Dangerous shell operationline 43
sudo apt-get install -y \ - Network accessline 360
"module_name": "addon", "module_path": "./lib/binding/{platform}-{arch}", "host": "https://github.com/user/repo/releases/download/", - Network accessline 361
"module_path": "./lib/binding/{platform}-{arch}", "host": "https://github.com/user/repo/releases/download/", "remote_path": "v{version}", - Network accessline 362
"host": "https://github.com/user/repo/releases/download/", - Network accessline 416
- Node.js Building: https://github.com/nodejs/node/blob/main/BUILDING.md - Network accessline 417
- GYP documentation: https://gyp.gsrc.io/docs/UserDocumentation.md - Network accessline 418
- node-gyp: https://github.com/nodejs/node-gyp - Network accessline 419
- prebuildify: https://github.com/prebuild/prebuildify
skills/nodejs-core/rules/child-process-internals.md
- Dangerous shell operationline 18
├── exec() - Dangerous shell operationline 301
## exec() and execFile() - Dangerous shell operationline 303
### exec() Implementation - Dangerous shell operationline 308
function exec(command, options, callback) { - Dangerous shell operationline 487
exec('ls -la', (err, stdout) => { });
skills/nodejs-core/rules/commit-and-pr-guideline.md
- Network accessline 38
Fixes: https://github.com/nodejs/node/issues/12345 - Network accessline 238
Signed-off-by: A. Contributor <contributor@example.com> PR-URL: https://github.com/nodejs/node/pull/12345 - Network accessline 239
PR-URL: https://github.com/nodejs/node/pull/12345 - Network accessline 240
Fixes: https://github.com/nodejs/node/issues/12344 - Network accessline 274
Fixes: https://github.com/nodejs/node/issues/52112 - Network accessline 278
Reverts https://github.com/nodejs/node/pull/53063. There are still some - Network accessline 285
Fixes https://github.com/nodejs/node/issues/54991 - Network accessline 323
Refs: https://github.com/nodejs/node/issues/12345 - Network accessline 336
Fixes: https://github.com/nodejs/node/issues/12345 - Network accessline 401
- [Current contribution policy](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/CONTRIBUTING.md) - [Commit message guidelines](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc/con - Network accessline 402
- [Commit message guidelines](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc/contributing/pull-requests.md#commit-message-guidelines) - Network accessline 403
- [Pull request template](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/.github/PULL_REQUEST_TEMPLATE.md) - [Pull request guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc - Network accessline 404
- [Pull request guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc/contributing/pull-requests.md) - Network accessline 405
- [Large pull request guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc/contributing/large-pull-requests.md) - Network accessline 406
- [Supported subsystems](https://github.com/nodejs/core-validate-commit/blob/main/lib/rules/subsystem.js)
skills/nodejs-core/rules/contributing.md
- Network accessline 17
# Fork and clone git clone https://github.com/YOUR_USERNAME/node.git - Network accessline 18
git clone https://github.com/YOUR_USERNAME/node.git - Network accessline 21
# Add upstream remote git remote add upstream https://github.com/nodejs/node.git - Network accessline 22
git remote add upstream https://github.com/nodejs/node.git - Network accessline 57
# Browse issues labeled "good first issue" # https://github.com/nodejs/node/labels/good%20first%20issue - Network accessline 58
# https://github.com/nodejs/node/labels/good%20first%20issue - Network accessline 190
Fixes: https://github.com/nodejs/node/issues/12345 - Network accessline 256
Signed-off-by: Human Contributor <human@example.com> PR-URL: https://github.com/nodejs/node/pull/12345 - Network accessline 257
PR-URL: https://github.com/nodejs/node/pull/12345 - Network accessline 258
Fixes: https://github.com/nodejs/node/issues/12344 - Network accessline 262
See the pinned [collaborator guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc/contributing/collaborator-guide.md#landing-pull-requests) - Network accessline 263
[collaborator guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc/contributing/collaborator-guide.md#landing-pull-requests) - Network accessline 264
and [commit queue guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc/contributing/commit-queue.md) - Network accessline 397
# Update commit message git commit --amend # Add: Backport-PR-URL: https://github.com/nodejs/node/pull/12346 - Network accessline 399
# Add: Backport-PR-URL: https://github.com/nodejs/node/pull/12346 - Network accessline 411
- [Contributing guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/CONTRIBUTING.md) - Network accessline 412
- [Collaborator guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc/contributing/collaborator-guide.md) - Network accessline 413
- [C++ style guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc/contributing/cpp-style-guide.md) - Network accessline 414
- [Building Node.js](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/BUILDING.md)
skills/nodejs-core/rules/crypto-internals.md
- Network accessline 499
- Node.js crypto source: `lib/crypto.js`, `src/crypto/` - OpenSSL documentation: https://www.openssl.org/docs/ - Network accessline 500
- OpenSSL documentation: https://www.openssl.org/docs/ - Network accessline 501
- Web Crypto API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API
skills/nodejs-core/rules/debugging-native.md
- Dangerous shell operationline 241
echo "/tmp/core.%e.%p" | sudo tee /proc/sys/kernel/core_pattern - Network accessline 477
- LLDB commands: https://lldb.llvm.org/use/map.html - Network accessline 478
- GDB manual: https://sourceware.org/gdb/current/onlinedocs/gdb/ - Network accessline 479
- V8 debugging: https://v8.dev/docs/debug - Network accessline 480
- Node.js debugging: https://nodejs.org/en/docs/guides/debugging-getting-started
skills/nodejs-core/rules/documentation.md
- Network accessline 59
changes: - version: REPLACEME pr-url: https://github.com/nodejs/node/pull/XXXXX - Network accessline 60
- version: REPLACEME pr-url: https://github.com/nodejs/node/pull/XXXXX description: Added the `signal` option. - Network accessline 61
pr-url: https://github.com/nodejs/node/pull/XXXXX
skills/nodejs-core/rules/fs-internals.md
- Dangerous shell operationline 447
sudo dtruss -f node app.js
skills/nodejs-core/rules/libuv-async-io.md
- Dangerous shell operationline 396
sudo dtrace -n 'syscall::read:return /pid == $target/ { printf("%d bytes", arg1); }' -p $(pgrep node) - Network accessline 419
console.log('Active requests:', requests.length); requests.forEach(r => console.log(' ', r.constructor.name)); - Network accessline 420
requests.forEach(r => console.log(' ', r.constructor.name)); - Network accessline 516
- libuv documentation: http://docs.libuv.org/ - Network accessline 517
- libuv Design Overview: http://docs.libuv.org/en/v1.x/design.html
skills/nodejs-core/rules/libuv-event-loop.md
skills/nodejs-core/rules/libuv-thread-pool.md
- Network accessline 431
- libuv Thread Pool: http://docs.libuv.org/en/v1.x/threadpool.html
skills/nodejs-core/rules/memory-debugging.md
skills/nodejs-core/rules/napi.md
- Network accessline 638
- N-API documentation: https://nodejs.org/api/n-api.html
skills/nodejs-core/rules/native-memory.md
skills/nodejs-core/rules/net-internals.md
- Dangerous shell operationline 547
sudo dtrace -n 'syscall::connect:entry /pid == $target/ {
skills/nodejs-core/rules/node-addon-api.md
skills/nodejs-core/rules/profiling-v8.md
- Dangerous shell operationline 140
sudo dtrace -x ustackframes=100 -n 'profile-97 /pid == $target/ { - Network accessline 310
# Clone node git clone https://github.com/nodejs/node.git - Network accessline 311
git clone https://github.com/nodejs/node.git - Network accessline 461
- V8 blog: https://v8.dev/blog - Network accessline 462
- V8 profiler: https://v8.dev/docs/profile - Network accessline 463
- Node.js profiling guide: https://nodejs.org/en/docs/guides/simple-profiling - Network accessline 464
- 0x: https://github.com/davidmarkclements/0x
skills/nodejs-core/rules/reviewing-prs.md
- Network accessline 173
- Link to the [contributing guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/CONTRIBUTING.md) - Network accessline 195
# Check CI status for a PR ncu-ci https://github.com/nodejs/node/pull/12345 - Network accessline 196
ncu-ci https://github.com/nodejs/node/pull/12345 - Network accessline 237
- [Current contributing policy](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/CONTRIBUTING.md) - [Pull request and review guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc - Network accessline 238
- [Pull request and review guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc/contributing/pull-requests.md) - Network accessline 239
- [Collaborator guide](https://github.com/nodejs/node/blob/cf882a79042cba4146acfdb7993b6a97c21e7239/doc/contributing/collaborator-guide.md)
skills/nodejs-core/rules/v8-garbage-collection.md
- Network accessline 467
- V8 Blog: https://v8.dev/blog
skills/nodejs-core/rules/v8-hidden-classes.md
skills/nodejs-core/rules/v8-jit-compilation.md
- Network accessline 320
# Open in turbolizer (from V8 tools) # https://nickmccurdy.github.io/turbolizer/ - Network accessline 321
# https://nickmccurdy.github.io/turbolizer/ - Network accessline 489
- V8 Ignition: https://v8.dev/docs/ignition - Network accessline 490
- V8 TurboFan: https://v8.dev/docs/turbofan - Network accessline 492
- Turbolizer: https://nickmccurdy.github.io/turbolizer/
skills/nodejs-core/rules/worker-threads-internals.md
- Network accessline 589
- Internal implementation: `lib/internal/worker.js` - C++ bindings: `src/node_worker.cc`, `src/node_messaging.cc` - SharedArrayBuffer: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer - Network accessline 591
- SharedArrayBuffer: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
skills/oauth/SKILL.md
skills/octocat/SKILL.md
- Network accessline 11
- Any prompt containing a pasted `github.com` URL, even without words like "GitHub", "issue", "PR", or "repo" - Any GitHub link to an issue, pull request, commit, compare page, Actions run, release, discussion, or repository - "Fix https:// - Network accessline 12
- Any GitHub link to an issue, pull request, commit, compare page, Actions run, release, discussion, or repository - "Fix https://github.com/owner/repo/issues/123" style tasks - Creating, reviewing, and managing pull requests and GitHub iss - Network accessline 13
- "Fix https://github.com/owner/repo/issues/123" style tasks - Creating, reviewing, and managing pull requests and GitHub issues - Reading or triaging repository security advisories (GHSA), private vulnerability reports, and advisory commen - Network accessline 40
- `Fix https://github.com/mercurius-js/mercurius/issues/1227` - Network accessline 41
- `Review https://github.com/nodejs/node/pull/12345` - Network accessline 42
- `What changed in https://github.com/org/repo/compare/v1.0.0...v1.1.0?` - Network accessline 43
- `Check https://github.com/org/repo/actions/runs/123456789` - Network accessline 44
- `Investigate https://github.com/org/repo/commit/abcdef1234567890` - Network accessline 45
- `Triage https://github.com/org/repo/security/advisories/GHSA-xxxx-xxxx-xxxx, including the discussion` - Network accessline 47
- `Open a fix PR in the private fork of https://github.com/org/repo/security/advisories/GHSA-xxxx-xxxx-xxxx`
skills/octocat/rules/security-advisory-comments.md
- Network accessline 14
1. Resolve the repository and GHSA identifier from the repository advisory URL (`https://github.com/OWNER/REPO/security/advisories/GHSA_ID`). For a global GHSA link or bare identifier, fetch the global advisory (`gh api "advisories/$ghsa"`) - Network accessline 22
The [October 2, 2026 announcement](https://github.blog/changelog/2026-10-02-repository-security-advisory-comments-api-in-public-preview/) describes a public preview for **public repositories** on GitHub Free, Pro, Team, and Enterprise Cloud - Network accessline 27
- Comment deletion is not supported through this API. Do not create disposable test comments expecting to delete them afterward. - Stop live probes on access denial or blocked execution and report the verification limit. Check repository/GH - Network accessline 29
- Consult the [REST reference](https://docs.github.com/en/rest/security-advisories/repository-advisories) for current preview behavior. Use the standard JSON Accept header below; do not invent a preview media type. - Network accessline 33
All paths below are relative to `https://api.github.com`.
skills/octocat/rules/security-advisory-lifecycle.md
- Network accessline 72
Verified on October 17, 2026 against the [REST reference](https://docs.github.com/en/rest/security-advisories/repository-advisories), the public [OpenAPI description](https://github.com/github/rest-api-description), and the GitHub Docs page
skills/octocat/rules/security-advisory-private-fork-prs.md
- Network accessline 60
- `POST .../forks` on an advisory that already has a fork returns `403 A repository already exists for this security advisory.` Read `private_fork.full_name` from the advisory instead of retrying. - Creating the fork requires write access t - Network accessline 61
- Creating the fork requires write access to the advisory (repository admin, security manager, or advisory collaborator; confirm against the [REST reference](https://docs.github.com/en/rest/security-advisories/repository-advisories#create-a
skills/typescript-magician/SKILL.md
- Network accessline 64
async function fetchUser(): Promise<any> { const res = await fetch("/api/user"); - Network accessline 65
const res = await fetch("/api/user"); - Network accessline 83
async function fetchUser(): Promise<User> { const res = await fetch("/api/user"); - Network accessline 84
const res = await fetch("/api/user");
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 271 facts
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuefastify/rules/authentication.md:34Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuefastify/rules/authentication.md:95Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuefastify/rules/authentication.md:256Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuefastify/rules/authentication.md:314Low confidence
- Network access in code of documentationfastify/rules/authentication.md:316Low confidence
- Network access in code of documentationfastify/rules/authentication.md:317Low confidence
- Network access in code of documentationfastify/rules/authentication.md:318Low confidence
- Network access in code of documentationfastify/rules/authentication.md:319Low confidence
- Network access in code of documentationfastify/rules/authentication.md:320Low confidence
- Network access in code of documentationfastify/rules/authentication.md:327Low confidence
- Network access in code of documentationfastify/rules/authentication.md:328Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuefastify/rules/authentication.md:329Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuefastify/rules/authentication.md:366Low confidence
- Access to secrets in code of documentationfastify/rules/configuration.md:47Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:41Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:42Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:43Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:64Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:65Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:66Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:67Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:123Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:124Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:125Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:147Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:148Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:149Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuefastify/rules/cors-security.md:298Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:427Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:428Low confidence
- Network access in code of documentationfastify/rules/cors-security.md:429Low confidence
- Network access in code of documentationfastify/rules/deployment.md:160Low confidence
- Network access in code of documentationfastify/rules/deployment.md:161Low confidence
- Network access in code of documentationfastify/rules/deployment.md:162Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuefastify/rules/deployment.md:177Low confidence
- Network access in code of documentationfastify/rules/error-handling.md:298Low confidence
- Network access in code of documentationfastify/rules/error-handling.md:299Low confidence
- Network access in code of documentationfastify/rules/error-handling.md:300Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:31Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:32Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:33Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:39Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:40Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:41Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:64Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:65Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:98Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:99Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:100Low confidence
- Network access in code of documentationfastify/rules/http-proxy.md:101Low confidence
and 221 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skills/documentation/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/documentation/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/documentation/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/documentation/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/documentation/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/mcollina-skills/)