← All skills
publish
49 / 100 · High risk
Only if you trust the author. Some of what it can do is expected: a coding skill usually runs build and test commands.
By kochetkov-ma/claude-brewcode (GitHub) · coding · 39 stars · scanned at commit 5da825f
Publishes text, Markdown, JSON, a file, a folder or a ZIP site to brewpage.app and returns a shareable URL. Use when asked to publish or share content as a link. Triggers: publish, share link, host page, brewpage, опубликуй.
Works with any agent that supports SKILL.md skills.
What this skill can do
Sends data to these websites: brewpage.app
This is disclosed by the author in the skill's SKILL.md or README.
Found in 9 places.
Show 6 more
- brewdoc/skills/publish/scripts/brewpage-lib.sh, line 198
curl -s -A "$BP_UA" -X POST "$url" "$@" - brewdoc/skills/publish/scripts/brewpage-run.sh, line 75
body=$(curl -s -A "$BP_UA" https://brewpage.app/api/limits) || die "limits request failed" - brewdoc/skills/publish/tests/suite-standalone.mjs, line 145
const shown = [...docs[name], 'scripts/brewpage-lib.sh'].flatMap(f => read(f).split('\n')).filter(l => /\bcurl -/.test(l) && !/^\s*(curl -s -A "\$BP_UA"|.*\$\(c - web/docs/src/content/docs/brewdoc/skills/publish.mdx, line 69
**Upload limits.** brewpage.app allows 25 MB per request, 200 files, 5 MB per file and 20 MB in total. Ask the skill to check the limits, or run `curl -s -A "Cl - web/docs/src/content/docs/brewdoc/skills/publish.mdx, line 131
curl -s -A "ClaudeCode/6.12.12 (+https://brewpage.app)" -X DELETE "$OWNER_API" -H "X-Owner-Token: $TOKEN" - web/docs/src/content/docs/brewdoc/skills/publish.mdx, line 132
curl -s -A "ClaudeCode/6.12.12 (+https://brewpage.app)" -X PUT "$OWNER_API" -H "X-Owner-Token: $TOKEN" -F "archive=@/absolute/path/to/new-bundle.zip"
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. Expected for a coding skill.
Found in 84 places.
Show 17 more
- brewdoc/skills/publish/SKILL.md, line 192
bash ${CLAUDE_SKILL_DIR}/scripts/brewpage-run.sh publish {type} --ns '{ns}' --ttl '{days}' --entry '' --delivery-mode '{delivery_mode}' --password-file '{passwo - brewdoc/skills/publish/SKILL.md, line 200
bash ${CLAUDE_SKILL_DIR}/scripts/brewpage-run.sh stage --run '{run_id}' --text '{chunk}' - brewdoc/skills/publish/SKILL.md, line 204
bash ${CLAUDE_SKILL_DIR}/scripts/brewpage-run.sh publish {type} --ns '{ns}' --ttl '{days}' --entry '' --delivery-mode '{delivery_mode}' --password-file '{passwo - brewdoc/skills/publish/SKILL.md, line 208
bash ${CLAUDE_SKILL_DIR}/scripts/brewpage-run.sh cleanup --run '{run_id}' - brewdoc/skills/publish/scripts/history.py, line 55
result = subprocess.run(['git', '-C', root] + arguments, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env={**os.environ, 'LC_ALL': 'C'}) - brewdoc/skills/publish/scripts/publish.mjs, line 4
import { spawn, spawnSync } from 'node:child_process'; - brewdoc/skills/publish/scripts/publish.mjs, line 214
const r = spawnSync('unzip', [flag, zipPath], { encoding: 'utf8', maxBuffer: LIST_MAX_BUFFER, timeout: CHECK_TIMEOUT_MS, killSignal: 'SIGKILL' }); - brewdoc/skills/publish/tests/suite-archive.mjs, line 4
import { spawn, spawnSync } from 'node:child_process'; - brewdoc/skills/publish/tests/suite-archive.mjs, line 69
const r = spawnSync('node', [PUBLISH, 'pack', ...args], { - brewdoc/skills/publish/tests/suite-archive.mjs, line 87
const z = spawnSync('unzip', ['-Z1', zipPath], { encoding: 'utf8', maxBuffer: 64 * 1024 * 1024 }); - brewdoc/skills/publish/tests/suite-archive.mjs, line 141
spawnSync('chmod', ['+x', stub]); - brewdoc/skills/publish/tests/suite-archive.mjs, line 156
const r = spawnSync(process.execPath, [PUBLISH, 'pack', '--dir', SITE, '--out', join(BASE, 'out', 'notool.zip')], - brewdoc/skills/publish/tests/suite-archive.mjs, line 187
writeFileSync(amplify, `const cp=require('node:child_process'),run=cp.spawn; - brewdoc/skills/publish/tests/suite-archive.mjs, line 216
const zipped = spawnSync('zip', ['-q', '-X', '-@', givenZip], { cwd: big, input: `${bigNames.join('\n')}\n` }); - brewdoc/skills/publish/tests/suite-archive.mjs, line 314
const r = spawnSync('zip', ['-r', legacy, '.'], { cwd: SITE, encoding: 'utf8' }); - brewdoc/skills/publish/tests/suite-archive.mjs, line 319
const r2 = spawnSync('zip', ['-r', legacy, '.'], { cwd: SITE, encoding: 'utf8' }); - brewdoc/skills/publish/tests/suite-inspect.mjs, line 5
import { spawnSync } from 'node:child_process';
and 64 more places
Changes files outside its own folder
The author does not mention this.
Found in 5 places.
Show 2 more
Reads your saved credentials, such as SSH keys or .env files
The author does not mention this.
Found in 1 place.
Downloads and installs other software
The author does not mention this.
Found in 1 place.
Safer alternatives
Low-risk skills in the same category (coding) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'publish' ] || [ -L ~/.agents/skills/'publish' ]; then echo 'A skill folder named publish already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/kochetkov-ma/claude-brewcode' "$d" && git -C "$d" checkout --quiet '5da825f1d535d9658f0de0893529c6ce06a613a5' -- 'brewdoc/skills/publish' && mkdir -p ~/.agents/skills && cp -R "$d"/'brewdoc/skills/publish' ~/.agents/skills/'publish' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'publish' ~/.claude/skills/'publish' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for kochetkov-ma/claude-brewcode shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/kochetkov-ma/claude-brewcode/)
Score history
| Date | Version | Score |
|---|
| 2026-11-13 | 5da825f | 49 |
| 2026-11-07 | 9ddf5c0 | 92 |