deno-frontend — скилл для Claude Code: что делает и как установить
Помогает настроить веб-фронтенд под Deno. Подходит для обычных npm-фреймворков вроде Vite или Next.js, а также для серверного рендеринга на Fresh 2.x.
npx skills add denoland/skills --skill deno-frontend -a claude-codeЧто делает deno-frontend
Агент подсказывает правильный подход при сборке фронтенда в Deno. Для стандартных библиотек вроде React или Astro он ориентирует на привычный deno create, чтение package.json через deno install и запуск скриптов командой deno task. Лишние абстракции здесь не выдумываются. Код остаётся обычным для выбранного фреймворка.
Второй путь — Fresh 2.x, собственный фреймворк Deno на архитектуре островов. Скилл описывает маршруты в папке routes/, интерактивные острова в islands/ на Preact со сигналами и запуск через deno run -Ar jsr:@fresh/init.
Для Next.js в deno.json потребуется параметр "nodeModulesDir": "auto". Пропсы компонентов-островов обязаны быть сериализуемыми, поэтому передать функцию внутрь острова не получится.
Какие задачи решает
- настроить запуск Next.js или Astro через команды Deno
- создать проект на Fresh 2.x с островами интерактивности
- перенести проект с Fresh 1.x на вторую версию
- организовать клиентское состояние через Preact signals в
islands/
Примеры запросов агенту
- Создай проект на Vite с React под Deno и настрой скрипты dev
- Добавь интерактивную кнопку со счётчиком в islands/ на Fresh 2.x
- Помоги настроить Next.js в Deno с параметром nodeModulesDir
Как установить deno-frontend
1Через Skills CLI (Vercel)
npx skills add denoland/skills --skill deno-frontend -a claude-code2Вручную: положить файлы
~/.claude/skills/deno-frontend/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/deno-frontend/
1Через Skills CLI (Vercel)
npx skills add denoland/skills --skill deno-frontend -a codex2Вручную: положить файлы
.agents/skills/deno-frontend/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add denoland/skills --skill deno-frontend -a cursor2Вручную: положить файлы
.cursor/skills/deno-frontend/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install denoland/skills deno-frontend2Вручную: положить файлы
.github/skills/deno-frontend/SKILL.md1Через Skills CLI (Vercel)
npx skills add denoland/skills --skill deno-frontend -a gemini-cli2Командой платформы
gemini skills install https://github.com/denoland/skills --path skills/deno-frontendВручную: положить файлы
.devin/skills/deno-frontend/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add denoland/skills --skill deno-frontend -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о deno-frontend
Как установить deno-frontend в Claude Code?
Выполните команду npx skills add denoland/skills --skill deno-frontend -a claude-code. Файл навыка сохранится по пути ~/.claude/skills/deno-frontend/SKILL.md.
Что делает скилл deno-frontend?
Он направляет агента при разработке фронтенда на Deno. Скилл охватывает работу со стандартными npm-инструментами и архитектуру Fresh 2.x.
Какие ограничения действуют для компонентов во Fresh?
Клиентский JavaScript отправляется только для файлов из папки islands/. Их свойства обязаны быть сериализуемыми, поэтому передавать функции в острова нельзя.
Исходный текст
SKILL.md · MIT
---
name: deno-frontend
description: Use when building a web frontend with Deno — running React, Vite, Astro, SvelteKit, Next.js, Nuxt or other npm frameworks under Deno, or working with Fresh, Deno's own island-architecture framework. Covers which path to pick, Fresh 2.x routes, handlers, islands, Preact signals, Tailwind, and Fresh 1.x to 2.x migration.
license: MIT
metadata:
author: denoland
version: "3.0"
---
# Frontend development with Deno
Two paths. Pick by what the project already uses.
## Regular npm frameworks — the usual choice
Deno runs the normal frontend ecosystem: React, Vue, Svelte, Solid, Vite, Astro,
Next.js, Nuxt, SvelteKit, Remix, SolidStart. Nothing needs to be ported, and
there is no Deno-specific way to write them.
```bash
deno create vite my-app # or astro, next, nuxt, svelte…
cd my-app
deno install
deno task dev
```
`deno create` is `npm create`. `deno install` reads `package.json`.
`deno task <script>` runs `package.json` scripts. That is the whole difference.
**Follow the framework's own documentation for everything else** — routing,
components, data loading, and config are the framework's concern, not Deno's.
Don't invent Deno-flavoured variants of their APIs, and don't reach for Fresh
patterns in a React or Svelte project.
The only things worth knowing:
- Some frameworks need `"nodeModulesDir": "auto"` in `deno.json`; Next.js does.
- Permissions apply to the dev server too — framework tasks generally want `-A`.
- Deploying: see the `deno-deploy` skill, which lists per-framework build
commands and presets.
## Fresh — Deno's own framework
Fresh suits a new Deno-first project that wants server rendering with minimal
client JavaScript. It uses **island architecture**: pages render on the server,
and only components in `islands/` ship JavaScript.
```bash
deno run -Ar jsr:@fresh/init
cd my-project
deno task dev # http://localhost:5173
```
A Fresh project is Vite-based: `vite.config.ts` for the build, `main.ts` for the
server, file-based routes in `routes/`, islands in `islands/`, server-only
components in `components/`. Preact supplies the component model, with signals
for state.
```tsx
// islands/Counter.tsx — interactive, ships JS
import { useSignal } from "@preact/signals";
export default function Counter() {
const count = useSignal(0);
return <button onClick={() => count.value++}>Count: {count.value}</button>;
}
```
Three rules carry most of the weight:
1. Islands ship JavaScript — keep them small, leave everything else in
`components/`.
2. Island props must be serializable. Functions cannot be passed.
3. Handlers take a single `(ctx)` parameter.
Load `references/FRESH.md` for routes, handlers, `define` helpers, middleware,
islands, signals, and Tailwind.
Use **Fresh 2.x**, imported from `"fresh"`. For an existing 1.x project, or one
pinned to a `2.0.0-alpha.*` release, see `references/FRESH_MIGRATION.md`.
## Further reading
- <https://fresh.deno.dev/docs> — Fresh documentation
- `references/FRESH.md` — Fresh 2.x patterns in depth
- `references/FRESH_MIGRATION.md` — Fresh 1.x and alpha migration
© denoland · MIT · denoland/skills