deno-knowledge-patch

Installation
SKILL.md

Deno Knowledge Patch

Claude Opus 4.6 knows Deno through 1.x. This skill provides features from Deno 2.2 (2025-02-19) through 2.7 (2026-02-25).

Index

Topic Reference Key features
Permissions references/permissions.md Permission sets in config, --ignore-read/--ignore-env, subdomain wildcards, CIDR
CLI commands references/cli-commands.md dx, deno bundle, deno audit, deno create, deno compile enhancements
Testing & benchmarks references/testing.md Setup/teardown hooks, coverage auto-report, bench iteration control
Package management references/package-and-config.md links, minimumDependencyAge, jsr: in package.json, --npm/--jsr flags
Developer tooling references/developer-tooling.md Lint plugin API, deno fmt tagged templates, new lint rules
Runtime APIs references/runtime-apis.md Deno.spawn(), FsFile.tryLock(), Brotli, SHA3, OTel, WebSocket headers, QUIC
Module system & compat references/module-system.md Import text/bytes, Wasm source phase, --preload, DENO_COMPAT=1, node globals

Quick Reference

Permission sets (2.5+)

Define named permission sets in deno.json:

{
  "permissions": {
    "default": {
      "read": [
        "./data"
      ],
      "env": true
    },
    "dev": {
      "read": true,
      "write": true,
      "net": true
    }
  }
}
deno run -P main.ts     # uses "default" set
deno run -P=dev main.ts # uses "dev" set

Ignore permissions (2.6+)

Return NotFound/undefined instead of throwing for denied resources:

deno run --ignore-read=/etc --ignore-env=AWS_SECRET_KEY main.ts

OpenTelemetry (stable since 2.4)

OTEL_DENO=1 deno --allow-net server.ts

Auto-instruments console.log, Deno.serve, fetch. Custom spans via npm:@opentelemetry/api.


Key new CLI commands

Command Version Purpose
dx / deno x 2.6 Run package binaries (like npx)
deno bundle 2.4 esbuild-based bundler (restored)
deno audit 2.6 Scan deps for CVEs
deno create 2.7 Scaffold from templates
deno approve-scripts 2.6 Approve npm lifecycle scripts

Test hooks (2.5+)

Deno.test.beforeAll(() => { /* once before all tests */ });
Deno.test.beforeEach(() => { /* before each test */ });
Deno.test.afterEach(() => { /* after each test */ });
Deno.test.afterAll(() => { /* once after all tests */ });

Deno.spawn() subprocess shorthands (2.7, unstable)

const child = Deno.spawn("deno", ["fmt", "--check"], { stdout: "inherit" });
const output = await Deno.spawnAndWait("git", ["status"]);
const result = Deno.spawnAndWaitSync("echo", ["done"]);

Import text and bytes (2.4+, unstable)

import message from "./hello.txt" with { type: "text" };    // string
import bytes from "./image.png" with { type: "bytes" };      // Uint8Array

Wasm source phase imports (2.6+)

import source addModule from "./add.wasm";
const { add } = WebAssembly.instantiate(addModule).exports;

Node.js compatibility

Feature Version
DENO_COMPAT=1 (enables all compat flags) 2.4
Buffer, global, setImmediate always available 2.4
@types/node included by default 2.6
jsr: scheme in package.json 2.7
package.json overrides field supported 2.7

Package linking (formerly patch)

{ "links": ["../path/to/local_npm_package"] }

Requires "nodeModulesDir": "auto" or "manual". Renamed from "patch" in 2.4.


Coverage auto-report (2.3+)

deno test --coverage now auto-generates the report. Ignore comments:

// deno-coverage-ignore          — single line
// deno-coverage-ignore-start    — block start
// deno-coverage-ignore-stop     — block end
// deno-coverage-ignore-file     — entire file

Lint plugin API (2.2+, unstable)

{ "lint": { "plugins": ["./my-plugin.ts", "jsr:@scope/plugin"] } }
export default {
  name: "my-plugin",
  rules: {
    "no-foo": {
      create(context) {
        return {
          VariableDeclarator(node) {
            if (node.id.type === "Identifier" && node.id.name === "foo") {
              context.report({ node, message: "Don't use foo" });
            }
          },
        };
      },
    },
  },
} satisfies Deno.lint.Plugin;

Reference Files

File Contents
permissions.md Permission sets, --ignore-read/--ignore-env, subdomain wildcards, CIDR, --deny-import
cli-commands.md dx, deno bundle, deno audit, deno create, deno compile, deno install --compile, deno approve-scripts, deno task
testing.md Test hooks, coverage auto-report and ignore comments, bench iteration control
package-and-config.md links, minimumDependencyAge, jsr: in package.json, overrides, --npm/--jsr flags, "publish": false
developer-tooling.md Lint plugin API, deno fmt tagged templates, deno check no-args, new lint rules
runtime-apis.md Deno.spawn(), FsFile.tryLock(), Brotli, SHA3, OTel, ChildProcess methods, Deno.bundle() API, WebSocket headers, QUIC/WebTransport
module-system.md Import text/bytes, Wasm source phase imports, --preload, --require, DENO_COMPAT=1, node globals, @types/node
Related skills
Installs
3
GitHub Stars
19
First Seen
Apr 7, 2026