React Doctor
makeplane/plane
Scans React code for lint, accessibility, bundle size and architecture issues, reports a health score and checks that changes do not lower it.
Publish static page artifacts to SourceCraft Sites (Yandex infrastructure, works in Russia), with advisory image optimization and an original-image path.
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill sourcecraft-publisher -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install artwist-polyakov/polyakov-claude-skills sourcecraft-publisher --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/sourcecraft-publisher/skills/sourcecraft-publisher .claude/skills/sourcecraft-publisher && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "sourcecraft-publisher" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/sourcecraft-publisher/skills/sourcecraft-publisher into .claude/skills/sourcecraft-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sourcecraft-publisher", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/sourcecraft-publisher/skills/sourcecraft-publisherType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill sourcecraft-publisher -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install artwist-polyakov/polyakov-claude-skills sourcecraft-publisher --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/sourcecraft-publisher/skills/sourcecraft-publisher .agents/skills/sourcecraft-publisher && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "sourcecraft-publisher" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/sourcecraft-publisher/skills/sourcecraft-publisher into .agents/skills/sourcecraft-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sourcecraft-publisher", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill sourcecraft-publisher -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install artwist-polyakov/polyakov-claude-skills sourcecraft-publisher --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/sourcecraft-publisher/skills/sourcecraft-publisher .cursor/skills/sourcecraft-publisher && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "sourcecraft-publisher" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/sourcecraft-publisher/skills/sourcecraft-publisher into .cursor/skills/sourcecraft-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sourcecraft-publisher", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/artwist-polyakov/polyakov-claude-skills.git --path plugins/sourcecraft-publisher/skills/sourcecraft-publisher--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill sourcecraft-publisher -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install artwist-polyakov/polyakov-claude-skills sourcecraft-publisher --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/sourcecraft-publisher/skills/sourcecraft-publisher .gemini/skills/sourcecraft-publisher && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "sourcecraft-publisher" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/sourcecraft-publisher/skills/sourcecraft-publisher into .gemini/skills/sourcecraft-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sourcecraft-publisher", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install artwist-polyakov/polyakov-claude-skills sourcecraft-publisherInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill sourcecraft-publisher -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/sourcecraft-publisher/skills/sourcecraft-publisher .github/skills/sourcecraft-publisher && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "sourcecraft-publisher" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/sourcecraft-publisher/skills/sourcecraft-publisher into .github/skills/sourcecraft-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sourcecraft-publisher", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill sourcecraft-publisher -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install artwist-polyakov/polyakov-claude-skills sourcecraft-publisher --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/sourcecraft-publisher/skills/sourcecraft-publisher .opencode/skills/sourcecraft-publisher && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "sourcecraft-publisher" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/sourcecraft-publisher/skills/sourcecraft-publisher into .opencode/skills/sourcecraft-publisher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sourcecraft-publisher", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
sourcecraft-publisherPublish static page artifacts to SourceCraft Sites (Yandex infrastructure, works in Russia), with advisory image optimization and an original-image path.
Sourcecraft Publisher is an agent skill from artwist-polyakov/polyakov-claude-skills. 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.
Its SKILL.md is about 990 tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `config/README.md`, `references/publish-checklist.md` and `scripts/optimize_images.py`).
It sits in Frontend & Design, covering Web performance. It works with React. The repository describes itself as: Набор скиллов для Claude. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8bbeead. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3uvFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SOURCECRAFT_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Sourcecraft Publisher loads about 990 tokens when it runs, and up to ~1.1k if it reads all its reference files. Until then it costs about 74 tokens; SKILL.md has 431 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
cp config/.env.example config/.envAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from artwist-polyakov/polyakov-claude-skills at commit 8bbeead, republished under its MIT licence (© artwist-polyakov). 431 words, ~990 tokens.
.claude/skills/sourcecraft-publisher/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.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:
2026/2026-03/ai-digest-week/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/.envRequired: SOURCECRAFT_TOKEN, SOURCECRAFT_REPO, SOURCECRAFT_SITE_URL.
YYYYYYYY-MM<year>/<year-month>/<page-slug>/index.html normally).sourcecraft/sites.yaml exists in repo rootpython3 scripts/publish_static.py --source <dir-or-html> --slug <name> [--date YYYY-MM-DD] [--image-max-kb 500]The script:
.sourcecraft/sites.yaml config existsYYYY/YYYY-MM/slug/.jpg, .jpeg, .png, and .webp images before commitImage 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 500Always return the final public URL:
<SOURCECRAFT_SITE_URL>/<year>/<year>-<month>/<page-slug>/
Before pushing, verify:
index.html entrypointRead if needed:
references/publish-checklist.md — operational checklist before pushing© artwist-polyakov, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (scripts, references) in plugins/sourcecraft-publisher/skills/sourcecraft-publisher of artwist-polyakov/polyakov-claude-skills.
Open the folder on GitHubat commit 8bbeead
Sourcecraft Publisher next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Sourcecraft Publisher this skillartwist-polyakov/polyakov-claude-skills | 208 | — | ~990 | Automated safety check: Notes | MIT | |
| React Doctormakeplane/plane | 61k | 12 repos | ~657 | Automated safety check: Pass | AGPL-3.0 | |
| React Frontend Development Guidelinesdiet103/claude-code-infrastructure-showcase | 10k | 2 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Core Web VitalsvmDeshpande/ai-agent-automation | 178 | 4 repos | ~3.6k | Automated safety check: Pass | MIT | |
| Reduce Bundle Sizekcsujeet/ilamy-calendar | 351 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Shader for Interfacesv2space-labs/shader-for-interfaces | 116 | — | ~3.1k | Automated safety check: Pass | MIT |
makeplane/plane
Scans React code for lint, accessibility, bundle size and architecture issues, reports a health score and checks that changes do not lower it.
diet103/claude-code-infrastructure-showcase
Guidelines for React 18 and TypeScript apps covering Suspense data fetching, lazy loading, feature folders, MUI v7 styling, TanStack Router and performance.
vmDeshpande/ai-agent-automation
Optimize Core Web Vitals (LCP, INP, CLS) for better page experience and search ranking.
kcsujeet/ilamy-calendar
Systematically reduce the shipped bundle size of a JS/TS library without sacrificing code readability or breaking consumer APIs.
v2space-labs/shader-for-interfaces
Decides whether an interface effect belongs in CSS, SVG, Canvas 2D, WebGL or WebGPU, then builds, debugs and visually verifies focused GPU effects inside product UIs.
Lomray-Software/vite-ssr-boost
Migrate an existing Vite and React Router SPA to vite-ssr-boost SSR in Data mode, preserving route objects and checking streaming, hydration, bundle size, and deployment readiness.
artwist-polyakov/polyakov-claude-skills
Launches, monitors and collects results from child AI agent sessions with the agent-deck terminal session manager.
artwist-polyakov/polyakov-claude-skills
Crawls a site with Crawl4AI to audit titles, meta tags, H1s, canonicals, navigation and internal links, and to compare landing pages and competitor sites.
artwist-polyakov/polyakov-claude-skills
Publishes already-built static pages to a GitHub Pages repo under a year, year-month and slug folder layout, optimizes large images and returns the public URL.
artwist-polyakov/polyakov-claude-skills
Shell scripts for web search and research through the Perplexity API: raw results, cited answers, background deep research and page fetching, with results cached on disk.
artwist-polyakov/polyakov-claude-skills
Searches X/Twitter through the xAI Grok API to build digests, trend reports and thread analysis, meant to surface post ideas for a Telegram channel.
artwist-polyakov/polyakov-claude-skills
Яндекс Метрика: детализация трафика по источникам и UTM-меткам, отчёты по конверсиям и поисковым системам, API-сегменты и доступы к счётчикам.
Works with
Categories
Publish static page artifacts to SourceCraft Sites (Yandex infrastructure, works in Russia), with advisory image optimization and an original-image path. Sourcecraft Publisher is an agent skill from artwist-polyakov/polyakov-claude-skills. Publish static page artifacts to SourceCraft Sites (Yandex infrastructure, works in Russia), with advisory image optimization and an original-image path.
Sourcecraft Publisher fits situations like: A static page/React artifact needs to be deployed to SourceCraft under YYYY/YYYY-MM/page-slug directory layout; tasks that involve Web performance.
Run `npx skills add artwist-polyakov/polyakov-claude-skills --skill sourcecraft-publisher -a claude-code`. Or copy the skill folder (plugins/sourcecraft-publisher/skills/sourcecraft-publisher in artwist-polyakov/polyakov-claude-skills) into .claude/skills/sourcecraft-publisher in your project. Claude Code loads it when a task matches its description.
Run `npx skills add artwist-polyakov/polyakov-claude-skills --skill sourcecraft-publisher -a codex`. Or copy the skill folder (plugins/sourcecraft-publisher/skills/sourcecraft-publisher in artwist-polyakov/polyakov-claude-skills) into .agents/skills/sourcecraft-publisher in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add artwist-polyakov/polyakov-claude-skills --skill sourcecraft-publisher -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sourcecraft-publisher, .gemini/skills/sourcecraft-publisher, .github/skills/sourcecraft-publisher and .opencode/skills/sourcecraft-publisher in your project.
Going by SKILL.md and its folder, Sourcecraft Publisher needs Python for the scripts in its folder, the command-line tools its instructions call (python3 and uv) and credentials named SOURCECRAFT_TOKEN. Our summary lists: Python 3; A credential in SOURCECRAFT_TOKEN.
SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Sourcecraft Publisher is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 990 tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 98 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Sourcecraft Publisher: React Doctor (makeplane/plane, 61k stars), React Frontend Development Guidelines (diet103/claude-code-infrastructure-showcase, 10k stars), Core Web Vitals (vmDeshpande/ai-agent-automation, 178 stars) and Reduce Bundle Size (kcsujeet/ilamy-calendar, 351 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
artwist-polyakov (a GitHub user) maintains it in artwist-polyakov/polyakov-claude-skills, which has 208 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.
Source: artwist-polyakov/polyakov-claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.