/ 目錄 / 演練場 / aso-skill
● 社群 furkancingoz ⚡ 即開即用

aso-skill

作者 furkancingoz · furkancingoz/aso-skill

從 Claude Code 完成端對端 App Store 最佳化:中繼資料、競品分析、截圖,以及透過 JWT 直接提交至 App Store Connect。

六個指令涵蓋 ASO 完整生命週期:具字元驗證的中繼資料產生、透過 iTunes API 進行競品分析、AI 截圖產生(Gemini MCP)、透過 JWT 直接呼叫 App Store Connect API 提交、版本管理,以及自動產生法律文件(隱私權政策、使用條款)。徹底省去 iOS 上架流程中的網頁介面操作。

為什麼要用

核心特性

即時演示

實際使用效果

aso-skill.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "aso-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/furkancingoz/aso-skill",
        "~/.claude/skills/aso-skill"
      ],
      "_inferred": true
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "aso-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/furkancingoz/aso-skill",
        "~/.claude/skills/aso-skill"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "aso-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/furkancingoz/aso-skill",
        "~/.claude/skills/aso-skill"
      ],
      "_inferred": true
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "aso-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/furkancingoz/aso-skill",
        "~/.claude/skills/aso-skill"
      ],
      "_inferred": true
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "aso-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/furkancingoz/aso-skill",
        "~/.claude/skills/aso-skill"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "aso-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/furkancingoz/aso-skill",
          "~/.claude/skills/aso-skill"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add aso-skill -- git clone https://github.com/furkancingoz/aso-skill ~/.claude/skills/aso-skill

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: aso-skill

在單一工作階段最佳化現有 App Store 上架資訊

👤 安裝量成長停滯的獨立 iOS 開發者 ⏱ ~60 min intermediate

何時使用: 當產品頁面的轉換率持平,且你希望透過數據驅動的方式進行更新。

前置條件
  • App Store Connect API 金鑰(JWT) — App Store Connect -> Users and Access -> Integrations -> 建立金鑰;下載 .p8 檔案
  • 已安裝 Skill — git clone https://github.com/furkancingoz/aso-skill ~/.claude/skills/aso-skill
步驟
  1. 執行競品分析
    Use aso-skill to pull the top 10 competitors for 'habit tracker' in the US store. Compare their subtitles and keywords.✓ 已複製
    → 附有頻率加權關鍵字群集的比較表
  2. 產生最佳化中繼資料
    Now generate a new title, subtitle, keyword list, and promotional text for my app. Validate character limits.✓ 已複製
    → 各欄位均未超出限制,並依預估影響力排序
  3. 透過 ASC API 提交
    Push the new metadata to App Store Connect as a new version pending submission.✓ 已複製
    → 版本草稿已建立;等待手動審核

結果: 以數據為基礎更新上架資訊,並直接提交,無需操作 ASC 介面。

注意事項
  • 關鍵字塞入超過 100 字元欄位上限 — Skill 會進行驗證,但建議再次確認 — 關鍵字堆砌會降低相關性
搭配使用: github

端對端提交全新 iOS 應用程式

👤 首次上架的獨立開發者 ⏱ ~180 min advanced

何時使用: 當你已備好 IPA,且希望將其他流程全部自動化。

前置條件
  • IPA 已上傳至 App Store Connect — xcode or Transporter
步驟
  1. 產生中繼資料 + 法律文件
    Generate metadata and auto-draft privacy policy + terms for a meditation app targeting EN/DE/FR.✓ 已複製
    → 已本地化的中繼資料 + 已託管的法律文件網址
  2. 產生截圖
    Use aso-skill + Gemini MCP to generate 5 App Store screenshots per locale matching the app's visual identity.✓ 已複製
    → 符合正確解析度的 PNG 截圖組
  3. 提交審核
    Attach the build, upload screenshots, submit for review with a phased 7-day rollout.✓ 已複製
    → 版本狀態:Waiting For Review

結果: 應用程式進入審核流程,無需手動開啟 ASC。

注意事項
  • 截圖文字違反商店規範 — 請 Skill 將截圖文字保持簡潔,並確保位於安全區域內

依據競品變動進行季度關鍵字更新

👤 負責已上架應用程式的成長行銷人員 ⏱ ~30 min intermediate

何時使用: 每季定期執行,或當競品調整其關鍵字策略時。

步驟
  1. 比對本季與上季關鍵字差異
    Compare this quarter's competitor keyword cluster against last quarter's. What's new?✓ 已複製
    → 新增 / 移除的關鍵字清單
  2. 提出更新建議
    Propose a keyword update — keep my wins, capture 2–3 new opportunities.✓ 已複製
    → 修訂後符合 100 字元限制的關鍵字欄位

結果: 即時更新關鍵字,反映當前市場現況,而非六個月前的研究資料。

組合

與其他 MCP 搭配,撬動十倍槓桿

以另一個 ASO Skill 的報告層搭配本 Skill 的執行層使用

After aso-skill submits, use claude-code-aso-skill reporting to summarize the changes.✓ 已複製
aso-skill + github

將中繼資料與截圖提交至版本庫進行版本控制

Write metadata to fastlane/metadata and commit with the version tag.✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
competitor_analysis search term, country 研究階段 0 (iTunes API free)
generate_metadata app profile, target keywords 草稿撰寫階段 0
generate_screenshots app identity, device sizes 素材準備階段 Gemini MCP quota
generate_legal app profile, jurisdictions 提交前 0
asc_submit version, metadata, screenshots, build 最終提交階段 ASC API calls

成本與限制

運行它的成本

API 配額
iTunes Search API:免費,有輕微的速率限制。App Store Connect:依帳號配額計算。
每次呼叫 Token 數
截圖產生時用量較大;其他情況用量適中
費用
Skill 本身免費;Gemini 用量費用另計
提示
將競品資料快取至本機保存一季 — 競品資訊不會每小時都有變動

安全

權限、密鑰、影響範圍

最小權限: App Store Connect: App Manager on one app (prefer) over admin
憑證儲存: JWT .p8 金鑰儲存於本機;透過環境變數中的路徑引用,絕對不要提交至 git
資料出站: iTunes API (public), Apple ASC API, Gemini MCP if screenshots enabled
切勿授予: Account Holder role to the key used by the skill

故障排查

常見錯誤與修復

ASC 401

JWT 已過期(最長 20 分鐘)— 重新產生;並確認 issuer id 與 key id 填寫正確

驗證: curl with the JWT against https://api.appstoreconnect.apple.com/v1/apps
Metadata field rejected for character limit

Skill 驗證未涵蓋本地化情境 — 請逐語系個別驗證

Screenshots wrong resolution

請明確指定裝置清單;Apple 要求的截圖尺寸會隨時更新

替代方案

aso-skill 對比其他方案

替代方案何時用它替代權衡
claude-code-aso-skill當你需要以 Agent 為基礎的 ASO 報告框架時與 ASC 的直接整合程度較低
Fastlane deliver當你已有現成的 Fastlane 流程時不具備 AI 中繼資料草稿撰寫功能

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills