#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

Compare on GitHub

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.

Compare on GitHub

skills/fastify/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

c75d70dbfbe9 → c75d70dbfbe9

Compare on GitHub

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.

Compare on GitHub

skills/init/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

c75d70dbfbe9 → c75d70dbfbe9

Compare on GitHub

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.

Compare on GitHub

skills/linting-neostandard-eslint9/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

c75d70dbfbe9 → c75d70dbfbe9

Compare on GitHub

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.

Compare on GitHub

skills/node/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

c75d70dbfbe9 → c75d70dbfbe9

Compare on GitHub

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.

Compare on GitHub

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

Compare on GitHub

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.

Compare on GitHub

skills/oauth/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

c75d70dbfbe9 → c75d70dbfbe9

Compare on GitHub

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.

Compare on GitHub

skills/octocat/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

c75d70dbfbe9 → c75d70dbfbe9

Compare on GitHub

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.

Compare on GitHub

skills/skill-optimizer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

c75d70dbfbe9 → c75d70dbfbe9

Compare on GitHub

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.

Compare on GitHub

skills/snipgrapher/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

c75d70dbfbe9 → c75d70dbfbe9

Compare on GitHub

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.

Compare on GitHub

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

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

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>/
2kGitHub stars
1star in 7 days
11skills in this repository
2commits in 30 days

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

Jul 31, 2026Nov 6, 20261,963

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

1,161 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. When to use
  2. Instructions

Files

  • SKILL.mdcore5,465 bytes
  • tile.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 GitHub

Skills 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

  1. #533 from Oct 30 to Oct 31
  2. #534 on Nov 1
  3. #536 on Nov 2
  4. #538 from Nov 3 to Nov 4
  5. #542 from Nov 5 to Nov 6
  6. #543 since Nov 7
52 earlier periods
  1. #386 on Aug 1
  2. #371 on Aug 7
  3. #374 on Aug 8
  4. #376 on Aug 9
  5. #388 on Aug 11
  6. #388 on Aug 14
  7. #401 on Aug 19
  8. #406 on Aug 23
  9. #403 on Aug 24
  10. #415 on Aug 27
  11. #418 on Aug 28
  12. #413 on Aug 29
  13. #405 on Aug 30
  14. #419 on Aug 31
  15. #420 on Sep 3
  16. #416 on Sep 5
  17. #414 on Sep 6
  18. #423 on Sep 7
  19. #426 on Sep 9
  20. #429 on Sep 11
  21. #424 on Sep 12
  22. #429 on Sep 13
  23. #437 on Sep 14
  24. #442 on Sep 16
  25. #444 on Sep 18
  26. #440 on Sep 20
  27. #445 on Sep 21
  28. #450 on Sep 22
  29. #438 on Sep 24
  30. #436 on Sep 25
  31. #431 on Sep 26
  32. #444 on Sep 27
  33. #452 on Sep 28
  34. #455 on Sep 30
  35. #448 on Oct 2
  36. #437 on Oct 3
  37. #465 on Oct 8
  38. #467 on Oct 9
  39. #462 on Oct 10
  40. #464 on Oct 11
  41. #474 on Oct 12
  42. #477 on Oct 14
  43. #480 on Oct 15
  44. #483 on Oct 16
  45. #498 on Oct 20
  46. #502 on Oct 21
  47. #497 on Oct 22
  48. #492 on Oct 23
  49. #481 on Oct 24
  50. #524 on Oct 25
  51. #529 on Oct 28
  52. #531 on Oct 29

Before you install

Network or broad shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/linting-neostandard-eslint9/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/node/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/node/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/node/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/node/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/nodejs-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/nodejs-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/nodejs-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/nodejs-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/nodejs-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/nodejs-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/nodejs-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/nodejs-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/nodejs-core/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/oauth/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/octocat/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/snipgrapher/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/snipgrapher/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/snipgrapher/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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

  • Network accessline 298
    app.get('/weather', async (request) => {   try {     return await weatherApi.fetch(request.query.city);
  • Network accessline 299
    try {     return await weatherApi.fetch(request.query.city);   } catch (error) {
  • Network accessline 300
    return await weatherApi.fetch(request.query.city);

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

  • Network accessline 395
    // Include in outgoing requests const response = await fetch('http://other-service/api', {
  • Network accessline 396
    const response = await fetch('http://other-service/api', {

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

  • Executable scriptline 1
    Executable file
  • Network accessline 59
    server.listen(3000, '0.0.0.0', () => {     console.log('Server listening on http://0.0.0.0:3000');
  • Network accessline 60
    console.log('Server listening on http://0.0.0.0:3000');

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

  • Network accessline 70
    cache.define('lookupPlan', async (planId: string) => {   return await fetch(`https://billing.internal/plans/${planId}`).then(async (res) => await res.json());
  • Network accessline 71
    return await fetch(`https://billing.internal/plans/${planId}`).then(async (res) => await res.json());

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

  • Network accessline 413
    - libuv documentation: http://docs.libuv.org/
  • Network accessline 415
    - Node.js Event Loop guide: https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/

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

  • Network accessline 557
    - Chrome DevTools Memory Panel: https://developer.chrome.com/docs/devtools/memory-problems/
  • Network accessline 558
    - V8 Memory Management: https://v8.dev/blog/trash-talk
  • Network accessline 559
    - Node.js Diagnostics Working Group: https://github.com/nodejs/diagnostics

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

  • Network accessline 498
    - V8 Memory Management: https://v8.dev/blog/high-performance-gc
  • Network accessline 499
    - Node.js Buffer API: https://nodejs.org/api/buffer.html
  • Network accessline 500
    - AddressSanitizer: https://clang.llvm.org/docs/AddressSanitizer.html

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

  • Network accessline 633
    - node-addon-api documentation: https://github.com/nodejs/node-addon-api
  • Network accessline 634
    - API reference: https://github.com/nodejs/node-addon-api/blob/main/doc/
  • Network accessline 635
    - Examples: https://github.com/nodejs/node-addon-examples

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

  • Network accessline 420
    - V8 Blog on Hidden Classes: https://v8.dev/blog/fast-properties
  • Network accessline 421
    - V8 Blog on Elements Kinds: https://v8.dev/blog/elements-kinds

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

  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]
  • Access to secretsline 149
    [Credential-related source omitted]

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");

skills/typescript-magician/rules/template-literal-types.md

  • Network accessline 218
    function fetchUrl(url: ValidUrl): Promise<Response> {   return fetch(url);
  • Network accessline 219
    return fetch(url);
  • Network accessline 222
    fetchUrl("https://api.example.com"); // OK

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

and 221 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md skills/documentation/SKILL.md.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/documentation/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/documentation/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/documentation/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.

mcollina/skills: #543 on hotskills, 2k stars

[![mcollina/skills on hotskills](https://hotskills.dev/badge/mcollina-skills.svg)](https://hotskills.dev/skill/mcollina-skills/)