Deno
SkillProductivityIf 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).
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Deno skill
What this skill tells your AI
The instructions your AI receives, as published by openhands/extensions in skills/deno/SKILL.md and read by ahel’s review.
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 removeto 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 packagesnpm:for npm packages- URL imports are also supported (and cached)
- Lockfile:
deno.lockhelps ensure reproducible dependency resolution.
Signals
- GitHub stars
- 143
- Forks
- 83
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
deno-openhands- Source
- github.com/openhands/extensions