Agent skill

Compile

by apache in apache/skywalking-nodejs

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

Apache-2.0Auto-check passedBackend & APIs

Install Compile

skills CLI
$ npx skills add apache/skywalking-nodejs --skill compile -a claude-code

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

GitHub CLI
$ gh skill install apache/skywalking-nodejs compile --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/apache/skywalking-nodejs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/compile .claude/skills/compile && 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
compile
GitHub stars
180
Token cost
~1.3k tokens
SKILL.md length
458 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

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

  • Asked to compile
  • SKILL.md covers What the build does (source of…, Prerequisite for every path:…, Path A — Linux / Intel macOS… and Path B — Apple Silicon…, plus 3 more sections
  • Calls npm, tsc and git
  • Make sure it compiles

What it does

Compile is an agent skill from apache/skywalking-nodejs. Compile / build / type-check the skywalking-nodejs agent. Use when asked to "compile", "build", "type-check", "run tsc", "make sure it compiles", or to validate that changes under src/ build cleanly. Mirrors the CI pipeline in .github/workflows/build.yaml (npm i - npm run lint - npm run build) and handles the two things that trip up a fresh/Apple-Silicon checkout: the protobuf submodule and the grpc-tools native-binary download.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering gRPC and Protobuf and CI/CD. It works with gRPC, npm, Node.js and GitHub Actions. The repository describes itself as: The NodeJS agent for Apache SkyWalking. The licence is Apache-2.0.

When your agent uses it

  • Asked to compile
  • Make sure it compiles
  • Validate that changes under src/ build cleanly

Example prompts

  • “compile”
  • “type-check”
  • “run tsc”
  • “/compile”

Requirements

  • Node.js
  • Docker

What it can do on your machine

Read from SKILL.md and the folder at commit d7f266f. 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
    • tsc
    • git
    • docker
    • 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, git, docker 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

Compile loads about 1.3k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 458 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~111
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

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 apache/skywalking-nodejs at commit d7f266f, republished under its Apache-2.0 licence (© apache). 458 words, ~1,318 tokens.

Download SKILL.mdSave it as .claude/skills/compile/SKILL.md (or your agent's skills folder).
name
compile
description
Compile / build / type-check the skywalking-nodejs agent. Use when asked to "compile", "build", "type-check", "run tsc", "make sure it compiles", or to validate that changes under src/ build cleanly. Mirrors the CI pipeline in .github/workflows/build.yaml (npm i -> npm run lint -> npm run build) and handles the two things that trip up a fresh/Apple-Silicon checkout: the protobuf submodule and the grpc-tools native-binary download.

Compile skywalking-nodejs

The source is TypeScript compiled by tsc, but it imports generated gRPC/protobuf stubs. So a build is three stages: fetch the proto definitions -> generate the stubs -> compile.

What the build does (source of truth: package.json + .github/workflows/build.yaml)

npm i            # install deps; the `prepare` hook runs scripts/protoc.sh -> generates src/proto/
npm run lint     # eslint src/**/*.ts  (eslint:recommended + prettier + Apache license-header check)
npm run build    # clean -> prepare (regen src/proto) -> tsc --build src -> regen proto into lib/

npm run build expands to: npm run clean && npm run prepare && tsc --build src && OUT_DIR=lib/proto/ scripts/protoc.sh Output lands in lib/. CI runs this on Node 12/14/16/18 (Node 18 is the highest; Node 10 skips lint).

scripts/protoc.sh invokes node_modules/.bin/grpc_tools_node_protoc (from grpc-tools) and the protoc-gen-ts plugin (from grpc_tools_node_protoc_ts) over protocol/**/*.proto.

Prerequisite for every path: the protobuf submodule

protocol/ is a git submodule (apache/skywalking-data-collect-protocol). A fresh clone leaves it empty, and then tsc fails with a cascade of Cannot find module '../proto/...'. Initialize it first:

bash
git submodule update --init --recursive
find protocol -name '*.proto' | head      # sanity check: should list files

Path A — Linux / Intel macOS (the simple case)

bash
git submodule update --init --recursive
npm i
npm run lint
npm run build

Path B — Apple Silicon (arm64), old checkouts pinning grpc-tools 1.11.x

Current master depends on grpc-tools@^1.13.1, which does ship a darwin-arm64 binary — so Path A (npm i) works natively on Apple Silicon, no workaround needed. Use the steps below only on an older checkout whose lockfile still pins grpc-tools@1.11.2 (no arm64 prebuilt → npm i dies with 404 ... grpc-tools/v1.11.2/darwin-arm64.tar.gz). It installs deps without the broken postinstall, then swaps in a 1.13.x binary that produces compatible stubs:

bash
git submodule update --init --recursive

# 1. Install everything EXCEPT the failing grpc-tools postinstall:
npm i --ignore-scripts

# 2. Get a grpc-tools build that has an arm64 binary (1.13.x), in a scratch dir:
( cd /tmp && rm -rf gtt && mkdir gtt && cd gtt && npm i grpc-tools@latest )

# 3. Replace the binary-less grpc-tools with the working one (bin links stay valid):
rm -rf node_modules/grpc-tools && cp -R /tmp/gtt/node_modules/grpc-tools node_modules/grpc-tools

# 4. Sanity-check the toolchain, then build:
node_modules/.bin/grpc_tools_node_protoc --version    # -> libprotoc 3.19.1
npm run lint
npm run build

This was run end-to-end on darwin-arm64 (Node available locally, tsc 3.9.10): proto stubs generated, tsc --build src exit 0, eslint exit 0, lib/ populated.

Note: --ignore-scripts also skips the prepare/husky hooks, which is why step 4 runs the build explicitly. The swapped node_modules is fine for building; it is not arch-portable to other machines.

Show full SKILL.md (202 more words)Show less

Path C — Docker (mirrors CI exactly; needs Docker Hub access)

Best for reproducibility when the host toolchain is uncooperative, but it requires pulling node:18 (this environment could not reach Docker Hub — registry EOF — so Path B was used instead):

bash
git submodule update --init --recursive
docker run --rm --platform linux/amd64 -v "$PWD":/app -w /app node:18 bash -lc '
  npm i && npm run lint && npm run build
'

--platform linux/amd64 is required on Apple Silicon so grpc-tools downloads its linux-x64 prebuilt; it runs under emulation, so the first npm i is slow — use a long timeout. Afterward rm -rf node_modules to drop the Linux binaries before any host use.

Verifying success

  • tsc --build src exits 0 (it is silent on success); lib/ is populated, e.g. lib/agent/protocol/grpc/clients/TraceReportClient.js.
  • A type error appears as a non-zero exit with a src/....ts(line,col): error TS.... message.
  • Lint failures are usually Prettier (.prettierrc: printWidth 120, singleQuote, trailingComma all) or a missing Apache header (.file-headerrc). Auto-fix formatting with npm run format.
  • Type-check only (skip lint + lib emit), after deps + stubs exist: node_modules/.bin/tsc --build src.

Gotchas

  • Empty protocol/ -> "Cannot find module '../proto/...'" everywhere -> you skipped the submodule.
  • Native arm64 npm i dies in grpc-tools postinstall (404) -> use Path B (swap to grpc-tools 1.13.x).
  • npx tsc with no node_modules silently installs an unrelated deprecated package literally named tsc (tsc@2.0.4) — that is NOT the TypeScript compiler. Install deps first, then use node_modules/.bin/tsc.

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

Files

Just SKILL.md in .claude/skills/compile of apache/skywalking-nodejs.

Open the folder on GitHubat commit d7f266f

Compare with similar skills

Compile 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.

Compile compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Compile this skillapache/skywalking-nodejs180—~1.3kAutomated safety check: PassApache-2.0
Setup Cpu Proxy Serverdrawthingsai/draw-things-community579—~3.8kAutomated safety check: PassGPL-3.0
GitHub Actions CreatorFNOSP/FlyNarwhal4951 repos~2.4kAutomated safety check: PassAGPL-3.0
CI Pipeline Synthesizerkajisho5/ffmpeg-skill1.9k1 repos~1.1kAutomated safety check: PassMIT
Swig CI Reproswig/swig6.3k—~1.2kAutomated safety check: PassCustom licence
GitHub Actions Supply Chain Pinningasyncapi/generator1.1k—~1.9kAutomated safety check: PassApache-2.0

Similar skills

  • Setup Cpu Proxy Server

    drawthingsai/draw-things-community

    Set up and verify a new Draw Things CPU proxy and Envoy server using the scripts in Scripts/ServerManagement/CPUScript.

    579 GitHub stars~3.8k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • GitHub Actions Creator

    FNOSP/FlyNarwhal

    A skill your agent uses when the user wants to create, generate, or set up a GitHub Actions workflow.

    495 GitHub starsUsed in 1 repo~2.4k tokens
    DevOps & CloudAuto-check passed
  • CI Pipeline Synthesizer

    kajisho5/ffmpeg-skill

    Generate GitHub Actions CI/CD pipeline configurations for automated building and testing of library and package projects.

    1.9k GitHub starsUsed in 1 repo~1.1k tokens
    DevOps & CloudAuto-check passed
  • Swig CI Repro

    swig/swig

    Reproduce a GitHub Actions Linux CI failure locally when it does not happen on your machine: a podman/docker image that mirrors the ubuntu-22.04 runner by reusing the real Tools/CI-linux-.sh install…

    6.3k GitHub stars~1.2k tokensUpdated today
    DevOps & CloudAuto-check passed
  • A skill your agent uses when editing, adding, or reviewing any file under .github/workflows/, or when a CI step installs a CLI tool (npm i -g, npx, pipx, uses: /setup-).

    1.1k GitHub stars~1.9k tokensUpdated 2 days ago
    DevOps & CloudAuto-check passed
  • Releasing Blanc

    bnfy/blanc

    Full runbook for cutting a Blanc desktop release — scripts/release.sh mechanics and its required BLANCRELEASE env vars, macOS notarization via 1Password, the Touch ID provisioning profile and…

    105 GitHub stars~2.9k tokensUpdated today
    DevOps & CloudAuto-check: notes

Questions about Compile

What does Compile do?

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

When should I use Compile?

Compile fits situations like: asked to compile; make sure it compiles; validate that changes under src/ build cleanly.

How do I install Compile in Claude Code?

Run `npx skills add apache/skywalking-nodejs --skill compile -a claude-code`. Or copy the skill folder (.claude/skills/compile in apache/skywalking-nodejs) into .claude/skills/compile in your project. Claude Code loads it when a task matches its description.

How do I install Compile in Codex?

Run `npx skills add apache/skywalking-nodejs --skill compile -a codex`. Or copy the skill folder (.claude/skills/compile in apache/skywalking-nodejs) into .agents/skills/compile in your project. Codex loads it when a task matches its description.

Can I use Compile 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 apache/skywalking-nodejs --skill compile -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/compile, .gemini/skills/compile, .github/skills/compile and .opencode/skills/compile in your project.

What does Compile need to run?

Going by SKILL.md and its folder, Compile needs the command-line tools its instructions call (npm, tsc, git, docker and npx). Our summary lists: Node.js; Docker.

Does Compile access the network?

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

Is Compile 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 Compile use?

Compile is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Compile use?

About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Compile?

Skills that share tags, products or a category with Compile: Setup Cpu Proxy Server (drawthingsai/draw-things-community, 579 stars), GitHub Actions Creator (FNOSP/FlyNarwhal, 495 stars), CI Pipeline Synthesizer (kajisho5/ffmpeg-skill, 1.9k stars) and Swig CI Repro (swig/swig, 6.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Compile?

apache (a GitHub organization) maintains it in apache/skywalking-nodejs, which has 180 GitHub stars. The repository was last updated on September 16, 2026.

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