# deploy-chalk-function

Скилл объясняет, как развернуть отдельную Python-функцию в инфраструктуре Chalk и вызывать её удалённо. Нужен для работы с chalkcompute.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 835 установок
- Автор: chalk-ai
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/chalk-ai/chalk-ai-plugins/tree/HEAD/plugins/chalk-deploy-function/skills/deploy-chalk-function/SKILL.md
- Обновлён: 2026-09-15
- HTML: https://affpapa.org/nevibecode/skills/deploy-chalk-function

## Что делает

Скилл показывает схему для Python-файла с пакетом `chalkcompute`: функция помечается декоратором `@chalkcompute.function()`, а при импорте SDK собирает образ, загружает его и регистрирует функцию. Последующий вызов декорированной функции отправляет запрос удалённо и возвращает результат.

В примере используется shebang `uv` и встроенное описание зависимостей скрипта. Версия Python должна быть в диапазоне `>=3.12,<3.14`, потому что транзитивная Rust-зависимость `chalk-remote-call-python` поддерживает максимум Python 3.13. Декоратор нужно вызывать со скобками: запись без них приводит к `TypeError`.

SDK читает учётные данные из `CHALK_API_SERVER`, `CHALK_CLIENT_ID`, `CHALK_CLIENT_SECRET` и `CHALK_ENVIRONMENT_ID`, а не из конфигурации CLI. Без `CHALK_ENVIRONMENT_ID` деплой завершится ошибкой `permission_denied`. Если `chalkcompute` не находится в PyPI-индексе, путь к локальной копии `chalk-sandbox-sdk` можно задать через `tool.uv.sources`.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add chalk-ai/chalk-ai-plugins --skill deploy-chalk-function -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/deploy-chalk-function/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/deploy-chalk-function/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add chalk-ai/chalk-ai-plugins --skill deploy-chalk-function -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/deploy-chalk-function/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add chalk-ai/chalk-ai-plugins --skill deploy-chalk-function -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/deploy-chalk-function/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install chalk-ai/chalk-ai-plugins deploy-chalk-function
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/deploy-chalk-function/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add chalk-ai/chalk-ai-plugins --skill deploy-chalk-function -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/chalk-ai/chalk-ai-plugins --path plugins/chalk-deploy-function/skills/deploy-chalk-function
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/deploy-chalk-function/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add chalk-ai/chalk-ai-plugins --skill deploy-chalk-function -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/chalk-ai/chalk-ai-plugins/tree/HEAD/plugins/chalk-deploy-function/skills/deploy-chalk-function/SKILL.md

## Когда брать
- развернуть отдельную Python-функцию в Chalk
- вызвать опубликованную функцию удалённо
- подключить `chalkcompute` через `uv`
- передать SDK переменные окружения Chalk
- исправить ошибку `permission_denied` при сборке образа

## Примеры запросов агенту
- Создай Python-скрипт с `@chalkcompute.function()` и подготовь его к удалённому запуску в Chalk.
- Проверь, какие переменные окружения нужны `chalkcompute`, и объясни ошибку `permission_denied`.
- Покажи, как вызвать декорированную функцию из того же файла через `uv`.

## Похожие
- [setup-matt-pocock-skills](https://affpapa.org/nevibecode/skills/setup-matt-pocock-skills.md) — скилл · 1052851 установка
- [ask-matt](https://affpapa.org/nevibecode/skills/ask-matt.md) — скилл · 766587 установок
- [to-tickets](https://affpapa.org/nevibecode/skills/to-tickets.md) — скилл · 711230 установок
- [writing-plans](https://affpapa.org/nevibecode/skills/writing-plans.md) — скилл · 282859 установок
- [caveman-review](https://affpapa.org/nevibecode/skills/caveman-review.md) — скилл · 411800 установок
- [caveman-compress](https://affpapa.org/nevibecode/skills/caveman-compress.md) — скилл · 411500 установок

Из того же набора: [chalk-ai/chalk-ai-plugins](https://affpapa.org/nevibecode/by/chalk-ai/chalk-ai-plugins.md) — 4 карточки

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
