From workflow
使い込むほど成長する「育成アバター」とダッシュボードを扱う。~/.belta/ に貯まった活動 データ(セッション・依頼・学習ルール・自動生成エージェント・自作スキル・記憶・トークン量・ 連続稼働日)から、レベル・XP・6軸ステータス・実績バッジ・スキルツリーを再計算し、自己完結 HTML(~/.belta/dashboard.html)を生成する。「アバター」「ダッシュボード」「レベル」 「成長」「どれくらい育った」「実績」「バッジ」「アバターの名前/画像を変えたい」等の発話、 または /avatar コマンドで起動。希望時のみ匿名化して GitHub Pages 公開も担う。
How this skill is triggered — by the user, by Claude, or both
Slash command
/workflow:avatarThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
belta は使うほど学習データ(ルール・エージェント・スキル・notes・記憶)が貯まる。本スキルはそれを **RPG 育成風のアバター**に翻訳し、成長を可視化する。
belta は使うほど学習データ(ルール・エージェント・スキル・notes・記憶)が貯まる。本スキルはそれを RPG 育成風のアバターに翻訳し、成長を可視化する。
avatar-stats.js(集計)→ avatar-render.js(HTML)。この二層分担は、既存の「notes-scan.js(決定的走査)+ insights(LLM 要約)」と同じ。
/avatar / /avatar setup / /avatar --publish を実行したときsetup 手順へnode "${CLAUDE_PLUGIN_ROOT}/scripts/avatar-stats.js" --md
~/.belta/ 配下を走査し、レベル・XP・6軸・バッジ・ストリーク・スキルツリーを計算して人間可読サマリを返す(--json で構造化)。~/.belta/avatar/history.json(永続台帳)に稼働日・累積セッションを union 追記する(副作用はこれだけ)。node "${CLAUDE_PLUGIN_ROOT}/scripts/avatar-render.js"
~/.belta/dashboard.html を自己完結 HTML(CDN 依存ゼロ)で再生成する。アバター画像があれば base64 で埋め込み、レーダーチャート・稼働ヒートマップ・バッジ・スキルツリー・よく使うスキル/よく使う依頼/よく使うコマンド/エージェント使用比率(ドーナツ)/採用エージェント・自作スキルを描画。~/.belta/notes/(依頼)と ~/.belta/audit/skills.json・commands.json・agents.json(usage-track.js フックが Skill / スラッシュコマンド / Task の発火を記録)に基づく。記録が無ければ各パネルは「まだ記録がありません」と正直表示する(创作しない)。これらは依頼文・スキル/コマンド/エージェント名を含むため ローカル専用。GitHub Pages 公開(--publish)では avatar-anonymize.js のホワイトリストにより一切出力されない。out(絶対パス)・url(file:// リンク)・markdown(そのまま貼れる完成リンク [🎮 ダッシュボードを開く](file://…))を含む。OS の open コマンドは打たない。ダッシュボードの案内方法は Step 3 の必須ルールに従う。Step 1 のサマリを材料に、会話で短く励ます(結論先出し):
locked の req を 1〜2 個)。ダッシュボードへの案内は必ずクリック可能なリンクで締める(最重要・違反禁止):
avatar-render.js 出力の markdown の値をそのまま 1 行で出力する(例: [🎮 ダッシュボードを開く](file:///Users/you/.belta/dashboard.html))。/Users/.../dashboard.html や ~/.belta/dashboard.html)を本文に書いてはいけない(クリックできず、利用者が毎回コピペする羽目になる。これがまさに避けたい挙動)。markdown の値)で出す。markdown が空(url 取得不可)のときに限り、out のパスを文言で案内する(fail-open)。setup 指定時、または未設定時)アバターの名前・ポートレート画像を登録する。初回オンボーディング(/workflow-setup の Step 1.6)でも同じ手順を使う。
名前を尋ねる(任意。未回答ならデフォルト名「あいぼう」)。
画像を尋ねる(任意):「お好みの画像があればファイルのパスを貼り付けてください(png/jpg/webp/gif/svg・2MB 以下)。後からでも変更できます」。
取得した値で実行:
node "${CLAUDE_PLUGIN_ROOT}/scripts/avatar-setup.js" --name "<名前>" [--image "<画像の絶対パス>"]
avatar.yaml(~/.belta/avatar.yaml)に名前・画像ファイル名を保存。画像は ~/.belta/avatar/base.<ext> に複製。「画像はあなたのPC内(~/.belta/avatar/)にのみ保存され、GitHub 公開時は既定で含めません」と一言添える。
--publish 指定時のみ・既定オフ)機密の壁を必ず守る。 依頼文・PII・本名・顔写真を外に出さない。
機能が許可されているか確認:node "${CLAUDE_PLUGIN_ROOT}/scripts/belta-init.js" get feature_avatar_publish が true でなければ、公開は行わず「設定で公開を有効化してください」と案内して終了。
匿名化:
node "${CLAUDE_PLUGIN_ROOT}/scripts/avatar-anonymize.js" --in <stats.json> --out docs/public/avatar-stats.json
目視確認:生成された docs/public/avatar-stats.json を Read し、文字列値(本名・業務名など)が混入していないかを確認する。
AskUserQuestion で「この内容を GitHub Pages に公開してよいですか?(URL を知る人は誰でも閲覧できる可能性があります)」と最終確認。
承認時のみ git add docs/public/avatar-stats.json docs/avatar.md → git commit → git push(いずれも ask 権限。プッシュで既存 .github/workflows/docs.yml が自動デプロイ)。
名前・画像も公開したい明示があれば --include-name / --include-image を付けるが、その都度 AskUserQuestion で確認する。
cat/sed を必須経路に置かない。Mac / Windows 両対応)。~/.belta/dashboard.html・~/.belta/avatar/・(公開時のみ)docs/public/。docs.yml の注記どおり、private リポでも Pages は URL 既知なら閲覧され得る前提で、匿名数値のみ・三重ゲート(コード/gitleaks CI/LLM 確認)を守る。npx claudepluginhub belta-group/belta-workflow-agent --plugin workflowSets up isolated workspaces using native worktree tools or git worktree fallback. Use before starting feature work to protect the current branch.