Agent Skills: Deno

If the project uses deno, use this skill. Use this skill to initialize and work with Deno projects, add/remove dependencies (JSR and npm), run tasks and scripts with appropriate permissions, and use built-in tooling (fmt/lint/test).

UncategorizedID: openhands/skills/deno

Install this agent skill to your local

pnpm dlx add-skill https://github.com/OpenHands/extensions/tree/HEAD/skills/deno

Skill Files

Browse the full folder contents for deno.

Download Skill

Loading file tree…

skills/deno/SKILL.md

Skill Metadata

Name
deno
Description
If the project uses deno, use this skill. Use this skill to initialize and work with Deno projects, add/remove dependencies (JSR and npm), run tasks and scripts with appropriate permissions, and use built-in tooling (fmt/lint/test).

Deno

Use Deno as the default runtime/tooling when the repo contains deno.json/deno.jsonc, uses deno.lock, or scripts/documentation reference deno task, deno run, deno test, etc.

Quick decision rules

  • Prefer deno task <name> if the repo defines tasks.
  • Use deno add / deno remove to manage dependencies (writes to config).
  • Be explicit about permissions for deno run / deno test.

Common operations

Initialize a new project

deno init

Add dependencies (JSR and npm)

# JSR (recommended for Deno-first packages)
deno add jsr:@std/path

# npm packages are supported too
deno add npm:react

# multiple at once
deno add jsr:@std/assert npm:chalk

Remove dependencies

deno remove jsr:@std/path

Run a script

# Minimal permissions: only what the program needs
# Examples:
#   --allow-net=api.example.com
#   --allow-read=./data
#   --allow-env=FOO,BAR

deno run --allow-net --allow-read main.ts

Run tasks

# list tasks
deno task

# run a task defined in deno.json/deno.jsonc
deno task dev

Formatting, linting, testing

deno fmt
deno lint
deno test

# common permissioned test run
deno test --allow-net --allow-read

Install / run CLIs

# Run a JSR or npm package's CLI without installing globally
deno x jsr:@std/http/file-server -p 8080

# Install globally (requires choosing permissions at install time)
# Prefer the smallest set of permissions; avoid blanket flags unless necessary.
deno install -g -N -R jsr:@std/http/file-server -- -p 8080

Notes / pitfalls

  • Deno is secure-by-default: missing permissions cause runtime errors; add the smallest set of --allow-* flags needed.
  • Dependency specifiers:
    • jsr: for JSR registry packages
    • npm: for npm packages
    • URL imports are also supported (and cached)
  • Lockfile: deno.lock helps ensure reproducible dependency resolution.