Official agent skill

Azure Functions Node Worker

by Azure in Azure/azure-functions-nodejs-worker

Repository-specific Azure Functions Node.js Host-worker architecture and change-validation workflow.

OfficialMITAuto-check passedBackend & APIs

Install Azure Functions Node Worker

skills CLI
$ npx skills add Azure/azure-functions-nodejs-worker --skill azure-functions-node-worker -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Azure/azure-functions-nodejs-worker azure-functions-node-worker --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Azure/azure-functions-nodejs-worker.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/azure-functions-node-worker .claude/skills/azure-functions-node-worker && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
azure-functions-node-worker
GitHub stars
110
Token cost
~2.1k tokens
SKILL.md length
927 words
Files
2 (incl. references)
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Repository-specific Azure Functions Node.js Host-worker architecture and change-validation workflow.

  • Works in 5 steps: Classify the Change → Trace the Owning Path → Preserve Domain Invariants → …
  • Every implementation
  • SKILL.md covers Core Model, Required Workflow, Change-to-Validation Matrix and Boundaries
  • Calls npm and npx

What it does

Azure Functions Node Worker is an agent skill from Azure/azure-functions-nodejs-worker, published by the product's own GitHub organization. Repository-specific Azure Functions Node.js Host-worker architecture and change-validation workflow. Use for every implementation, fix, refactor, test, or explanation involving this repository, especially worker startup, gRPC StreamingMessage handling, initialization, specialization, metadata/indexing, function loading and invocation, programming models, hooks, converters, logging, process lifecycle, Node.js behavior, protobuf, build, or tests. Validate each code change against Host compatibility and Node runtime…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/architecture.md`).

It sits in Backend & APIs, covering gRPC and Protobuf. It works with Azure Functions, gRPC and Node.js. The repository describes itself as: The Node.js worker for the Azure Functions runtime - https://functions.azure.com. The licence is MIT.

When your agent uses it

  • Every implementation
  • Explanation involving this repository
  • Especially worker startup
  • GRPC StreamingMessage handling

Example prompts

  • “/azure-functions-node-worker”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Classify the Change
  2. Trace the Owning Path
  3. Preserve Domain Invariants
  4. Implement and Test the Behavior
  5. Report Validation

What it can do on your machine

Read from SKILL.md and the folder at commit 8c3b7f3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Azure Functions Node Worker loads about 2.1k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 140 tokens; SKILL.md has 927 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~140
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Azure/azure-functions-nodejs-worker at commit 8c3b7f3, republished under its MIT licence (© Azure). 927 words, ~2,077 tokens.

Download SKILL.mdSave it as .claude/skills/azure-functions-node-worker/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
azure-functions-node-worker
description
Repository-specific Azure Functions Node.js Host-worker architecture and change-validation workflow. Use for every implementation, fix, refactor, test, or explanation involving this repository, especially worker startup, gRPC StreamingMessage handling, initialization, specialization, metadata/indexing, function loading and invocation, programming models, hooks, converters, logging, process lifecycle, Node.js behavior, protobuf, build, or tests. Validate each code change against Host compatibility and Node runtime invariants.
argument-hint
[change, file, or behavior]

Azure Functions Node.js Worker

Apply this skill to code changes in this repository. It supplies domain context and a mandatory validation workflow; it does not replace focused security analysis or required human review.

Read architecture.md before reasoning about behavior that crosses the Host-worker boundary or more than one lifecycle stage.

Core Model

Treat this repository as the process boundary between the Azure Functions Host and a user's Node.js function application:

  1. src/nodejsWorker.ts enters the worker and src/Worker.ts parses Host-provided startup arguments.
  2. src/GrpcClient.ts creates the bidirectional gRPC stream.
  3. src/setupEventStream.ts routes Host StreamingMessage requests to event handlers and constructs protocol responses.
  4. Initialization or specialization loads the function app and establishes process-wide state in WorkerContext and AppContext.
  5. Metadata/load handlers select worker indexing or legacy Host indexing.
  6. InvocationHandler bridges RPC data to the active @azure/functions programming model, runs hooks, invokes user code, and converts the response.
  7. Termination runs app hooks, closes the stream, and exits the process.

The Host, worker, programming model, and function app are separate compatibility surfaces. Do not reason about one in isolation when a change crosses their boundary.

Required Workflow

1. Classify the Change

Identify all affected surfaces before editing:

  • Host RPC contract or message routing
  • worker startup, state, or lifecycle
  • function app discovery or module loading
  • programming model or core API bridge
  • invocation bindings or typed-data conversion
  • hooks, logging, errors, or diagnostics
  • Node.js runtime, event loop, environment, working directory, or process exit
  • generated protobuf, packaging, dependencies, or release configuration

If any critical path is affected, also load azure-functions-node-worker-critical-path. If data crosses a trust boundary, executable content is loaded, credentials may be exposed, or dependencies change, also load azure-functions-node-worker-security.

2. Trace the Owning Path

Start at the code that directly decides behavior. Trace only the relevant path:

Host input -> StreamingMessage -> handler -> worker/app state or programming model -> response/log/side effect

State the local invariant being preserved and a cheap test that could falsify the proposed behavior. Do not edit generated rpc.js, rpc_static.js, or rpc.d.ts directly. Protocol changes start in azure-functions-language-worker-protobuf/src/proto/ and regenerate outputs with npm run gen.

3. Preserve Domain Invariants

For every change, verify the applicable invariants:

  • Every handled request retains its requestId, expected response property, and StatusResult semantics.
  • Handler failures are returned through the common event-stream error path; host-bound error text remains sanitized.
  • setupEventStream() and setupCoreModule() are established before user app code depends on them.
  • Worker state is process-wide. Specialization resets app state without accidentally reinitializing the worker identity or stream.
  • Worker indexing and legacy Host indexing remain distinct; registration locks are not weakened.
  • Invocation input/output conversion remains symmetric with the programming-model contract.
  • Pre- and post-invocation hooks retain ordering and documented mutation behavior.
  • User code loading preserves CommonJS and ESM behavior, package main handling, retry behavior, and entry-point error policy.
  • Code does not assume gRPC requests or invocations are serialized. Avoid blocking the Node.js event loop and unbounded synchronous work.
  • Changes to process.env, process.cwd(), module caches, listeners, timers, and process exit account for process-wide effects and test cleanup.
  • Logs keep system/user category semantics and do not bypass error or secret sanitization.
  • Generated protocol outputs match their .proto sources and are reviewed as generated artifacts.
Show full SKILL.md (407 more words)Show less
4. Implement and Test the Behavior

Keep the change at the owning abstraction. Add or update the nearest test that observes the externally meaningful result, not only an internal call.

Use the test map in architecture.md. Prefer the smallest executable check first, for example:

powershell
npx mocha -r ts-node/register "test/Worker.test.ts"
npx mocha -r ts-node/register "test/eventHandlers/InvocationHandler.test.ts"

Then run the checks required by the affected surface:

powershell
npm run lint
npm test
npm run build

npm run build regenerates protobuf outputs before compiling. Inspect those generated changes and do not accept unrelated churn.

Run npm run host-sanity for changes to startup arguments, gRPC behavior, protocol routing, worker configuration, module loading, or Host compatibility when the adjacent Host repository and prerequisites are available. Report clearly when that integration check cannot run.

5. Report Validation

Do not say a change is validated without executable evidence. Report:

  • the invariant tested
  • the exact focused and broad checks run
  • pass/fail results
  • checks not run and why
  • whether security analysis or human review is required

Do not treat lint, compilation, snapshots, or generated-code verification alone as behavioral validation.

Change-to-Validation Matrix

Changed surfaceMinimum focused validationBroader validation
Worker.ts, GrpcClient.ts, startuptest/Worker.test.ts, test/GrpcClient.test.ts as applicablelint, full tests, build; Host sanity for contract changes
setupEventStream.ts, event handlersmatching test/eventHandlers/*.test.tslint, full tests, build
startApp.ts, package parsing, script loadingtest/startApp.test.ts, test/parsers/parsePackageJson.test.ts, or test/loadScriptFile.test.tslint, full tests, build
invocation, hooks, converterstest/eventHandlers/InvocationHandler.test.ts plus a focused regressionlint, full tests, build
reload or process statetest/eventHandlers/FunctionEnvironmentReloadHandler.test.ts with state cleanup assertionslint, full tests, build
terminationtest/eventHandlers/terminateWorker.test.tslint, full tests, build
errors, logging, sanitizationtest/errors.test.ts or nearest handler testlint, full tests, build; security skill
blocked event loop or runtime versionstest/blockMonitorTest.ts or test/utils.test.tslint, full tests, build
.proto or generated RPC filesregenerate with npm run gen, focused handler/converter testslint, full tests, build, generated diff review, Host sanity
dependency, bundle, or packaging filesfocused startup/load testlint, full tests, build, webpack; security and human review

Boundaries

  • Do not infer Azure Functions Host behavior solely from worker code. If compatibility depends on unspecified Host behavior, identify the assumption and require Host documentation, Host source, or an integration test.
  • Do not "fix" intentional execution of function app code as though it were arbitrary code execution. The worker exists to load and run that code; security findings must show an unintended boundary expansion.
  • Do not hand-edit generated protobuf outputs.
  • Do not silently broaden supported Node.js versions, protocol fields, capabilities, or programming-model behavior.
  • Do not claim approval for a critical-path change. Produce validation evidence and hand it to the required human reviewer.

© Azure, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in .github/skills/azure-functions-node-worker of Azure/azure-functions-nodejs-worker.

  • SKILL.md
  • references/architecture.md

Open the folder on GitHubat commit 8c3b7f3

Compare with similar skills

Azure Functions Node Worker next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Azure Functions Node Worker compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Azure Functions Node Worker this skillAzure/azure-functions-nodejs-worker110—~2.1kAutomated safety check: PassMIT
Compileapache/skywalking-nodejs180—~1.3kAutomated safety check: PassApache-2.0
Fishjam JS Server SDKsoftware-mansion-labs/skills291—~1.4kAutomated safety check: PassMIT
Adding Personhog RpcPostHog/posthog40k—~2.1kAutomated safety check: PassCustom licence
Cortexdb Memory Openclawliliang-cn/cortexdb274—~1.6kAutomated safety check: PassMIT
Use Yaakmountain-loop/yaak19k—~1.9kAutomated safety check: PassMIT

Similar skills

  • Compile

    apache/skywalking-nodejs

    Compile / build / type-check the skywalking-nodejs agent. An agent skill from apache/skywalking-nodejs.

    180 GitHub stars~1.3k tokensUpdated 22 days ago
    Backend & APIsAuto-check passed
  • Fishjam JS Server SDK

    software-mansion-labs/skills

    Node.js / TypeScript server SDK for Fishjam — backends that create rooms, mint peer tokens, listen to server notifications, and run agents.

    291 GitHub stars~1.4k tokensUpdated 9 days ago
    Backend & APIsAuto-check passed
  • Adding Personhog Rpc

    PostHog/posthog

    Official

    Guide for adding a new RPC to personhog-replica and personhog-router.

    40k GitHub stars~2.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Cortexdb Memory Openclaw

    liliang-cn/cortexdb

    Give a Node.js agent (such as OpenClaw) durable, local-first memory plus a queryable SPARQL knowledge graph, backed by CortexDB through its gRPC sidecar and the cortexdb-client npm package.

    274 GitHub stars~1.6k tokensUpdated yesterday
    Knowledge ManagementAuto-check passed
  • Use Yaak

    mountain-loop/yaak

    A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…

    19k GitHub stars~1.9k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Golang Pro

    antoniopaya22/go-rest-template

    Implements concurrent Go patterns using goroutines and channels, designs and builds microservices with gRPC or REST, optimizes Go application performance with pprof, and enforces idiomatic Go with…

    172 GitHub starsUsed in 3 repos~1.2k tokens
    Backend & APIsAuto-check passed

More from Azure/azure-functions-nodejs-worker

  • Azure Functions Node Worker Critical Path

    Azure/azure-functions-nodejs-worker

    Official

    Mandatory human-intervention gate for critical Azure Functions Node.js worker code.

    110 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Azure Functions Node Worker Security

    Azure/azure-functions-nodejs-worker

    Official

    Security analysis for the Azure Functions Node.js worker. An agent skill from Azure/azure-functions-nodejs-worker.

    110 GitHub stars~2.4k tokensUpdated today
    Auto-check passed

Categories

Questions about Azure Functions Node Worker

What does Azure Functions Node Worker do?

Repository-specific Azure Functions Node.js Host-worker architecture and change-validation workflow. Azure Functions Node Worker is an agent skill from Azure/azure-functions-nodejs-worker, published by the product's own GitHub organization.js Host-worker architecture and change-validation workflow.

When should I use Azure Functions Node Worker?

Azure Functions Node Worker fits situations like: every implementation; explanation involving this repository; especially worker startup; GRPC StreamingMessage handling.

How do I install Azure Functions Node Worker in Claude Code?

Run `npx skills add Azure/azure-functions-nodejs-worker --skill azure-functions-node-worker -a claude-code`. Or copy the skill folder (.github/skills/azure-functions-node-worker in Azure/azure-functions-nodejs-worker) into .claude/skills/azure-functions-node-worker in your project. Claude Code loads it when a task matches its description.

How do I install Azure Functions Node Worker in Codex?

Run `npx skills add Azure/azure-functions-nodejs-worker --skill azure-functions-node-worker -a codex`. Or copy the skill folder (.github/skills/azure-functions-node-worker in Azure/azure-functions-nodejs-worker) into .agents/skills/azure-functions-node-worker in your project. Codex loads it when a task matches its description.

Can I use Azure Functions Node Worker in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Azure/azure-functions-nodejs-worker --skill azure-functions-node-worker -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/azure-functions-node-worker, .gemini/skills/azure-functions-node-worker, .github/skills/azure-functions-node-worker and .opencode/skills/azure-functions-node-worker in your project.

What does Azure Functions Node Worker need to run?

Going by SKILL.md and its folder, Azure Functions Node Worker needs the command-line tools its instructions call (npm and npx). Our summary lists: Node.js.

Does Azure Functions Node Worker access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Azure Functions Node Worker safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Azure Functions Node Worker use?

Azure Functions Node Worker is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Azure Functions Node Worker use?

About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.7k tokens, read only when the agent opens those files.

What are the alternatives to Azure Functions Node Worker?

Skills that share tags, products or a category with Azure Functions Node Worker: Compile (apache/skywalking-nodejs, 180 stars), Fishjam JS Server SDK (software-mansion-labs/skills, 291 stars), Adding Personhog Rpc (PostHog/posthog, 40k stars) and Cortexdb Memory Openclaw (liliang-cn/cortexdb, 274 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Azure Functions Node Worker?

Azure (a GitHub organization, an official publisher) maintains it in Azure/azure-functions-nodejs-worker, which has 110 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 8, 2026.

Source: Azure/azure-functions-nodejs-worker on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.