agent-deck
Управление сессиями AI агентов через agent-deck CLI. Триггеры (RU): "запусти агента", "запусти саб-агента", "создай сессию",…
Publish static page artifacts to SourceCraft Sites (Yandex infrastructure, works in Russia), with advisory image optimization and an original-image path. Use when a static page/React artifact needs to be deployed to SourceCraft under YYYY/YYYY-MM/page-slug directory layout.
$ npx -y skills add artwist-polyakov/polyakov-claude-skills --skill sourcecraft-publisher --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sourcecraft-publisherContext preview
The summary Claude sees to decide when to auto-load this skill.
Publish static page artifacts to SourceCraft Sites (Yandex infrastructure, works in Russia), with advisory image optimization and an original-image path. Use when a static page/React artifact needs to be deployed to SourceCraft under YYYY/YYYY-MM/page-slug directory layout.
name: sourcecraft-publisher description: Publish static page artifacts to SourceCraft Sites (Yandex infrastructure, works in Russia), with advisory image optimization and an original-image path. Use when a static page/React artifact needs to be deployed to SourceCraft under YYYY/YYYY-MM/page-slug directory layout.
Publish already-built static artifacts to a SourceCraft Sites repository. Works from Russia (Yandex infrastructure).
This skill is the **deployment/output layer** for page artifacts created by other skills (e.g. `telegram-channel-parser` digest).
Every published artifact must go into this path shape inside the target repo:
`<year>/<year>-<month>/<page-slug>/`
Example:
Never publish flat at repo root. Never skip the year or year-month nesting.
Input should already exist as one of these:
This skill does not do frontend design work. It packages and publishes what already exists.
Read `config/README.md` for required environment variables and token setup.
cp config/.env.example config/.env
Required: `SOURCECRAFT_TOKEN`, `SOURCECRAFT_REPO`, `SOURCECRAFT_SITE_URL`.
1. Determine the publish date bucket:
2. Create or update target directory:
3. Copy artifact files into that directory 4. Verify there is an entrypoint (`index.html` normally) 5. Ensure `.sourcecraft/sites.yaml` exists in repo root 6. Commit and force-push to the SourceCraft repo 7. Return the final public URL
python3 scripts/publish_static.py --source <dir-or-html> --slug <name> [--date YYYY-MM-DD] [--image-max-kb 500]
The script:
Image optimization is a recommendation, not a hard requirement. By default, the publishing script tries to keep each raster image under `500KB` by stripping metadata, recompressing, and resizing long edges when needed.
Use `--image-max-kb <kb>` for a different target. Use `--keep-large-images` or `--image-max-kb 0` when the user explicitly needs original-size images (for example, a full-resolution infographic, map, or downloadable media asset).
The original `--source` artifact is not changed. Optimization happens only after files are copied into the publish repo target directory. If Pillow/uv is unavailable or optimization fails, continue publishing originals and mention the warning.
Manual console run for a prepared artifact:
uv run --with pillow python3 scripts/optimize_images.py <artifact-dir> --max-kb 500
Always return the final public URL: `<SOURCECRAFT_SITE_URL>/<year>/<year>-<month>/<page-slug>/`
Before pushing, verify:
Read if needed:
Управление сессиями AI агентов через agent-deck CLI. Триггеры (RU): "запусти агента", "запусти саб-агента", "создай сессию",…
Workflow кросс-агентного ревью с Codex. Triggers (RU): "кодекс ревью". Triggers (EN): "with codex review", "codex review…
SEO-краулер сайтов на базе Crawl4AI. Полный аудит страниц: title, meta, H1, canonical, breadcrumbs, навигация, внутренние ссылки.…
Fill Word document templates (contracts, forms) with structured data using docxtpl. Use when user uploads a .docx template with…
Generate/edit images via fal.ai. Supports Google Nano Banana Pro and OpenAI GPT Image 2 selected from config/.env. Supports…
Анализирует генетические данные пользователя из VCF файла. Используй когда пользователь спрашивает о своей генетике,…