tier-management について
tier-managementは、pollinationsリポジトリでユーザーのTierを判定・更新する運用スキルです。資格確認、データベース更新、残高管理、バッチ昇格スクリプトを扱います。
主な機能
- 01GitHubでTier資格に関わる活動を確認
- 02D1でユーザーTierを照会・更新
- 03Tier残高の補充と即時更新
- 04確認対象の課金エラー利用者を抽出
- 05ドライラン付きの開発者一括昇格
活用シーン
- 01SeedまたはFlowerの資格をユーザーごとに判定
- 02Tierを更新し、必要に応じて残高を設定
- 03課金エラー利用者の確認や開発者の一括昇格
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pollinations/ pollinations --skill tier-managementインストール後、Claude Code で/tier-managementを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignorescripts/check-github-dev.shcheck-user-balance.shfetch-stargazers.shupdate-tier.shupgrade-devs.sh詳細
要件
このスキルを使用する前に、以下を確認してください。
- GitHub CLI:
brew install gh && gh auth login - Node.js/npx:
brew install node - Wrangler:
npm install -g wrangler - jq:
brew install jq(JSON の解析用) - sops:
brew install sops(シークレットの復号用)
pollinations リポジトリのルートから、enter.pollinations.ai/ にアクセスできる状態で実行してください。
ティアレベル
| ティア | 絵文字 | Pollen | 頻度 | 基準 |
|---|---|---|---|---|
| microbe | 🦠 | 0 | なし | アカウントを審査中 |
| spore | 🍄 | 0.01 | 1時間ごと | 認証済みアカウント |
| seed | 🌱 | 0.15 | 1時間ごと | GitHub での活動 |
| flower | 🌸 | 0.4 | 1時間ごと | コントリビューター |
| nectar | 🍯 | 0.8 | 1時間ごと | レガシー — 既存ユーザーには引き続き対応していますが、新規付与は終了しています |
アップグレードの経路
🍄 Spore → 🌱 Seed
- ⭐ pollinations リポジトリにスターを付けた
- 💬 Issue または PR を作成した
- 💳 購入した
🌱 Seed → 🌸 Flower
- 🛠️ pollinations/pollinations にコードをプッシュした
- 📦 ショーケースにプロジェクトが掲載されている
- 🌐 API を使用してオープンソースのものを構築した
ユーザーのティアを評価する
Flower の確認(以下のいずれかを満たせば該当)
pollinations にコミットしていますか?
gh api 'search/commits?q=repo:pollinations/pollinations+author:USERNAME' --jq '.total_count'
リストにプロジェクトが掲載されていますか?
grep -ri "author.*USERNAME" pollinations.ai/src/config/projects/
Seed の確認(以下のいずれかを満たせば該当)
Issue/PR に関与していますか?
gh api 'search/issues?q=repo:pollinations/pollinations+involves:USERNAME' --jq '.total_count'
リポジトリにスターを付けていますか?
.claude/skills/tier-management/scripts/fetch-stargazers.sh USERNAME
ユーザーのティアを更新する
現在のティアの仕組み
- すべてのティアで残高が1時間ごとに補充されます
- 繰り越しはありません。各期間の開始時に残高はティアの設定値にリセットされます
- D1 を更新するだけで済みます。外部のサブスクリプションシステムは不要です
クイック更新
ステップ 1:ユーザーを見つける
cd enter.pollinations.ai
npx wrangler d1 execute DB --remote --env production \
--command "SELECT id, github_username, email, tier, tier_balance FROM user WHERE LOWER(github_username) LIKE '%USERNAME%';"
ステップ 2:ティアを更新する
npx wrangler d1 execute DB --remote --env production \
--command "UPDATE user SET tier='TIER' WHERE github_username='USERNAME';"
残高は次の1時間ごとの補充サイクルで自動的に更新されます。
ステップ 3(任意):残高をすぐに更新する
# Set balance immediately (e.g., flower = 0.4 pollen)
npx wrangler d1 execute DB --remote --env production \
--command "UPDATE user SET tier='flower', tier_balance=0.4 WHERE github_username='USERNAME';"
ステップ 4:GitHub でユーザーに通知する
Hey @USERNAME! You've been upgraded to [EMOJI] [TIER] tier!
Your benefits:
- [POLLEN] free compute (refills hourly)
- All standard models
一括処理
課金の問題があるユーザーを見つける
model-debugging スキルを使用して、402 エラー(課金/クォータ)が発生しているユーザーを見つけます。
# Find spore-tier users with >10 402 errors in last 24 hours
.claude/skills/model-debugging/scripts/find-402-users.sh 24 10 spore
# Save to file for batch processing
.claude/skills/model-debugging/scripts/find-402-users.sh 24 10 spore | cut -f1 > /tmp/users.txt
注:402 は課金の問題(pollen 残高、キーの予算)を示します。403 は権限の問題(モデルへのアクセス拒否)を示します。
ユーザーが開発者か確認する
# Check single user
.claude/skills/tier-management/scripts/check-github-dev.sh OliverCWY
# Output: dev: repos=12 followers=13 account_year=2017
開発者を Seed に一括アップグレードする
# Dry run first (no changes)
.claude/skills/tier-management/scripts/upgrade-devs.sh /tmp/users.txt --dry-run
# Apply upgrades
.claude/skills/tier-management/scripts/upgrade-devs.sh /tmp/users.txt
このスクリプトは以下を実行します。
- GitHub プロフィールで開発者としての活動(リポジトリ、フォロワー、アカウントの作成時期)を確認します
- 現在 spore ティアのユーザーのみをアップグレードします(ダウングレードはしません)
- レート制限を避けるため、GitHub API 呼び出しの間に2秒の遅延を設けます
- アップグレード/スキップしたユーザーの概要を表示します
ユーザーの残高を確認する
.claude/skills/tier-management/scripts/check-user-balance.sh username_or_email
主要ファイル
| ファイル | 用途 |
|---|---|
enter.pollinations.ai/src/tier-config.ts | ティアから pollen への対応付け(信頼できる唯一の情報源) |
enter.pollinations.ai/src/scheduled.ts | Cron ハンドラー:ティアの補充(1時間ごと/1日ごと) |
enter.pollinations.ai/src/auth.ts | 新規ユーザー登録時にティアを設定 |
enter.pollinations.ai/wrangler.toml | Cron スケジュール:0 0 * * * |
注記
- すべてのティアで残高が1時間ごとに補充され、繰り越しはありません
- 新規ユーザーには
sporeティアと、1時間あたり 0.01 pollen が付与されます - ティアのアップグレードは次回の補充時に反映されます(または
tier_balanceを手動で設定してください)
コメント
Markdown 対応