Borrowing it
Nothing to install: this file belongs to apokamo/kaji. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/apokamo/kaji/main/.claude/skills/release/SKILL.mdgit clone --depth 1 https://github.com/apokamo/kajiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/apokamo/kaji/release)<a href="https://agentmods.dev/skills/apokamo/kaji/release"><img src="https://agentmods.dev/badge/skills/apokamo/kaji/release/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/apokamo/kaji/release"><img src="https://agentmods.dev/badge/skills/apokamo/kaji/release.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 9 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Tool Misuse · line 322 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Tool Misuse · line 322 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Tool Misuse · line 402 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Tool Misuse · line 402 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Tool Misuse · line 313 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Tool Misuse · line 318 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Tool Misuse · line 338 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Tool Misuse · line 355 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- medium MCP Rug Pull · line 383 uvx/uv tool run commands without ==version create a rug-pull risk.Fix: Pin the version: uvx package-name==1.2.3
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00039 | $0.06092 |
| Opus 5.5 | $0.00016 | $0.02437 |
| Sonnet 5.5 | $0.00008 | $0.01218 |
| Haiku 4.5 | $0.00004 | $0.00609 |
Grade A, and why
release scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 442 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Release
kaji の release を maintainer の手元で進める skill。
各 step で user 承認を挟みながら version bump → CHANGELOG → tag → GitHub Release ページ作成まで進める。
PyPI publish は GitHub Release 公開後に .github/workflows/publish-pypi.yml が
GitHub Actions + PyPI Trusted Publisher で実行する。
いつ使うか
| タイミング | このスキル |
|---|---|
| kaji の release(version bump + tag + Release ページ)を切る | ✅ 必須 |
| dry-run(push / Release ページ作成手前まで確認したい) | ✅ --dry-run 経路 |
| PyPI publish | ✅ GitHub Release 公開後、publish-pypi.yml へ引き継ぐ |
.github/workflows/release-please.yml の再有効化 |
❌ 対象外(本 skill は maintainer 手元実行前提) |
入力
/release # 通常実行(push と Release ページ作成まで進める)
/release --dry-run # ローカル状態のみ更新(push / gh release create はスキップ)
引数なしで起動し、skill 側で git / pyproject の状態を読んで判定する。
前提
- 実行場所: kaji 本体の main worktree で実行する(release branch は切らない、main 直接 update する運用)
ghCLI を使う(GitHub 運用)- GitHub を指す git remote が 1 つ存在すること。Step 1 で
git remote -vの URL から動的に抽出する。.kaji/config.tomlのprovider.github.git_remote値と整合する remote 名であることが前提 - 解決した GitHub remote に対して
git pushできる権限を maintainer が持っていること uv/make checkが走る環境(kaji 開発環境セットアップ済み)- PyPI publish を行う場合、GitHub environment
pypiが作成済みで approval rule が設定されていること - PyPI 側で project
kajiの Trusted Publisher(初回は Pending Trusted Publisher)が設定済みであること- owner:
apokamo - repository:
kaji - workflow filename:
publish-pypi.yml - environment:
pypi
- owner:
Note: 現状 skill は
git remote -vの URL grep でのみ remote を解決し、.kaji/config.tomlのprovider.github.git_remoteは直接読まない。config 値を変えただけでは動作は変わらない点に注意。将来kaji config git-remote相当の CLI を追加する余地あり。
実行手順
Step 1: Pre-flight check
以下を順に確認する。1 つでも失敗した時点で停止し、user に復旧手順を提示する。
# 1-0. GitHub remote 名を解決
# `git remote -v` から URL に github.com を含む push remote を動的抽出する。
# `.kaji/config.toml` の `provider.github.git_remote` 値と整合する
# remote 名であることが前提(skill は config を直接読まない)。
GITHUB_REMOTE=$(git remote -v | grep -m 1 'github\.com.*(push)' | cut -f1)
# 上記で見つからない場合、`origin` が GitHub を指していれば fallback
if [ -z "$GITHUB_REMOTE" ]; then
if git remote get-url origin 2>/dev/null | grep -q github; then
GITHUB_REMOTE=origin
else
echo "ABORT: no git remote pointing to github.com found"
exit 1
fi
fi
echo "Resolved GitHub remote: $GITHUB_REMOTE"
# 1-1. main checkout 状態
git rev-parse --abbrev-ref HEAD # → "main" であること
# 1-2. working tree clean
git status --porcelain # → 空であること
# 1-3. 上流 sync
git fetch "$GITHUB_REMOTE"
git rev-list --left-right --count "$GITHUB_REMOTE/main"...HEAD
# → "0\t0"(ahead/behind ともに 0)であること
# 1-4. 解決した remote が GitHub を指していることを再確認
git remote get-url "$GITHUB_REMOTE" # → github.* を含むこと
# 1-5. gh CLI 認証済み
gh auth status # → "Logged in" 表示
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago Changed 96ba40e8524b
- 1mo ago Changed · +35 lines 81a3c4d960be
- 1mo ago First seen · 407 lines · 39 tokens per session scan A 6e923e6e748e
release is a skill published in the GitHub repository apokamo/kaji (15 stars, last pushed 5d ago), licensed Apache-2.0. It adds 39 tokens to every session and 6,092 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
release-announcement
Write a release announcement — changelog, blog post, in-app note, or social post — that leads with user impact, names the audience, and includes upgrade/migration steps without filler.
codew-release-qa-sweep
Use before claiming Codewhale release work is done: run the full gate sweep and list the manual QA targets.
gh-credit-harvest
Harvest one community PR into a release branch with authorship and credit preserved, verified green, and a warm thank-you.
github
Skill "github" from Hmbown/Codewhale, covering github, when to use, setup, workflow and non-goals.
release
Skill "release" from Hmbown/Codewhale, covering release, invocation, non-goals and workflow.
git-workflow
Use when naming or scoping a branch, writing or fixing a commit message, picking the gitmoji for a commit, untangling history (rebase versus merge versus squash), or cutting a versioned release — the portable git-convention layer for any repo. Covers gitmoji + Conventional Commits, SemVer tags, branch hygiene…