dt-js-runtime — скилл для Claude Code: JS-рантайм Dynatrace
Скилл описывает серверный JS-рантайм Dynatrace: контракт функции, лимиты, доступные Web API и модули Node.js. Пригодится, когда пишешь код для AppEngine-песочницы.
npx skills add Dynatrace/dynatrace-for-ai --skill dt-js-runtime -a claude-codeЧто делает dt-js-runtime
Скилл даёт агенту справочник по серверному JS-рантайму Dynatrace — песочнице AppEngine, где выполняется JavaScript и TypeScript. Точка входа обязана экспортировать default async function, синтаксис ES-модулей, аннотации типов и интерфейсы TypeScript допустимы. Другой формы экспорта рантайм не принимает, так что агент сразу подскажет правильный каркас.
Внутри — четыре файла-справочника, которые подгружаются по мере надобности: лимиты и запреты (таймаут, память, квоты ввода-вывода, отсутствие eval, WebSocket, сокетов и файловой системы), список доступных Web API и совместимых модулей Node.js, работа с fetch для внутренних /platform/... и внешних адресов через credential vault и allowlist, а также каталог пакетов @dynatrace-sdk/*. Загружать всё сразу не нужно, поэтому контекст не забивается лишним.
Проверить код можно без деплоя приложения — через dtctl exec function. Команда принимает инлайн-код или файл, а --payload передаёт разобранный JSON прямо в аргумент функции, без обёртки в event.payload. Для настройки аутентификации и переключения контекста скилл отсылает к dynatrace-control. Если функция обращается к внешнему URL, которого нет в allowlist, вызов упадёт — это повод проверить список заранее.
Какие задачи решает
- написать точку входа по контракту рантайма без ошибок в форме экспорта
- узнать, какие модули Node.js и Web API доступны в песочнице
- вызвать внешний URL через fetch с credential vault
- подобрать нужный пакет из каталога
@dynatrace-sdk/* - прогнать функцию локально через
dtctl exec functionдо деплоя
Примеры запросов агенту
- Проверь мою функцию для Dynatrace JS runtime: правильный ли контракт экспорта?
- Какие лимиты по таймауту и памяти в Dynatrace JS runtime?
- Как в этой песочнице сходить во внешний API через fetch с credential vault?
Как установить dt-js-runtime
1Через Skills CLI (Vercel)
npx skills add Dynatrace/dynatrace-for-ai --skill dt-js-runtime -a claude-code2Вручную: положить файлы
~/.claude/skills/dt-js-runtime/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/dt-js-runtime/
1Через Skills CLI (Vercel)
npx skills add Dynatrace/dynatrace-for-ai --skill dt-js-runtime -a codex2Вручную: положить файлы
.agents/skills/dt-js-runtime/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Dynatrace/dynatrace-for-ai --skill dt-js-runtime -a cursor2Вручную: положить файлы
.cursor/skills/dt-js-runtime/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Dynatrace/dynatrace-for-ai dt-js-runtime2Вручную: положить файлы
.github/skills/dt-js-runtime/SKILL.md1Через Skills CLI (Vercel)
npx skills add Dynatrace/dynatrace-for-ai --skill dt-js-runtime -a gemini-cli2Командой платформы
gemini skills install https://github.com/Dynatrace/dynatrace-for-ai --path skills/dt-js-runtimeВручную: положить файлы
.devin/skills/dt-js-runtime/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Dynatrace/dynatrace-for-ai --skill dt-js-runtime -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора29
Похожие
Рядом в теме «Бэкенд и API»
Всё по теме «Бэкенд и API» →Вопросы о dt-js-runtime
Как установить dt-js-runtime в Claude?
Выполни npx skills add Dynatrace/dynatrace-for-ai --skill dt-js-runtime -a claude-code. После этого файл скилла появится по пути ~/.claude/skills/dt-js-runtime/SKILL.md.
Что делает dt-js-runtime?
Описывает серверный JS-рантайм Dynatrace: контракт функции, лимиты и запреты, доступные Web API и модули Node.js, работу с fetch и каталог @dynatrace-sdk/*.
Чем проверять код без деплоя приложения?
Командой dtctl exec function — она принимает инлайн-код или файл, а --payload передаёт JSON прямо в аргумент функции. Аутентификацию и контекст разбирает скилл dynatrace-control.
Исходный текст
SKILL.md · Apache-2.0
---
name: dt-js-runtime
description: Dynatrace server-side JS runtime — function contract, runtime limits, Web APIs, Node.js modules, fetch with credential vault, and the @dynatrace-sdk/* catalog.
license: Apache-2.0
---
# Dynatrace JavaScript Runtime
The Dynatrace JS runtime is a server-side AppEngine sandbox that executes JavaScript/TypeScript.
## Function contract
Every entry point must export a default async function:
```js
export default async function () {
// ...
return result;
}
```
ES module syntax required. TypeScript accepted (type annotations, interfaces, generics). No other export shape is supported.
## References
Start here, then load only the file you need.
| File | When to load |
|------|-------------|
| [references/limits-and-restrictions.md](references/limits-and-restrictions.md) | Timeout / memory / I/O quotas; what's forbidden (`eval`, WebSocket, sockets, filesystem) |
| [references/apis-and-modules.md](references/apis-and-modules.md) | Which Web APIs and Node.js compat modules are available (fetch, crypto, streams, buffer, …) |
| [references/fetch.md](references/fetch.md) | Calling internal `/platform/...` APIs or external URLs, credential vault, outbound allowlist |
| [references/sdk.md](references/sdk.md) | Any `@dynatrace-sdk/*` package — the index routes you to the right per-SDK file |
## Running a function with dtctl
Use `dtctl exec function` to run JS runtime code without deploying an app.
```dtctl
# Run inline code
dtctl exec function --code 'export default async function() { return "hello" }'
# Run from file
dtctl exec function -f script.js
# Pass JSON input — the parsed object is the function's argument
dtctl exec function -f script.js --payload '{"key":"value"}'
```
The function may accept an optional parameter. `--payload` is parsed and passed
as that argument directly — it is not wrapped in an `event.payload` field:
```js
export default async function(payload) {
// with --payload '{"key":"value"}', payload is {"key": "value"}
return payload.key;
}
```
Load the **`dynatrace-control`** skill for authentication setup, context switching, and the full `exec function` reference.
© Dynatrace · Apache-2.0 · Dynatrace/dynatrace-for-ai