asc-workflow
リポジトリローカルのマルチステップ自動化を定義・検証・実行・再開・監査するスキルです。現在の `asc workflow` コマンドと `.asc/workflow.json` を使用し、ステップの出力結果やリリース・TestFlight の安全なワークフロー管理にも対応しています。
description の原文を見る
Define, validate, run, resume, and audit repo-local multi-step automations with current `asc workflow` and `.asc/workflow.json`, including step outputs and safe release/TestFlight workflows.
SKILL.md 本文
asc workflow
以下を使用して CLI 内でレーンスタイルの自動化が必要な場合にこのスキルを使用します:
asc workflow validateasc workflow listasc workflow run
Workflow はリポジトリローカルな自動化ファイルです。信頼できるシェルコマンドを実行し、ステップ出力を stderr にストリーミングし、stdout はマシン可読な JSON として保持します。
コマンド検出
常にフラグを以下で確認してください:
asc workflow --help
asc workflow validate --help
asc workflow list --help
asc workflow run --help
エンドツーエンドフロー
.asc/workflow.jsonを作成します。- 構造と参照を検証します:
asc workflow validate
- 公開ワークフローを検出します:
asc workflow list
asc workflow list --all
- 実行をプレビューします:
asc workflow run --dry-run beta BUILD_ID:123456789 GROUP_ID:abcdef
- 実行します:
asc workflow run beta BUILD_ID:123456789 GROUP_ID:abcdef
- 復旧可能な実行が失敗した場合は、JSON 結果から取得した実行 ID で再開します:
asc workflow run release --resume "release-20260312T120000Z-deadbeef"
--resume を使用する場合は追加の KEY:VALUE パラメータを渡さないでください。保存されたワークフローファイル、パラメータ、永続化された出力が再利用されます。
ファイルの場所と形式
- デフォルトパス:
.asc/workflow.json - パスをオーバーライド:
asc workflow run --file ./path/to/workflow.json <name> - JSONC コメントはサポートされています。
- トップレベルフック:
before_all,after_all,error - Workflow キー:
description,private,env,steps - ステップの形式:
- 文字列省略形:
"echo hello" runシェルコマンドworkflowサブワークフロー呼び出しnameラベルif条件変数名withワークフロー呼び出しステップの環境変数オーバーライドoutputsJSON stdout から名前付き実行ステップを抽出するためのマップ
- 文字列省略形:
出力
実行ステップは出力を宣言できます。コマンドは stdout に JSON を出力する必要があるため、出力を生成する asc コマンドに対して --output json を渡してください。
出力参照は以下を使用します:
${steps.step_name.OUTPUT_NAME}
ルール:
outputsを宣言するステップは参照安全なnameを持つ必要があります。- 出力は
runステップでは許可されていますが、ワークフロー呼び出しステップでは許可されていません。 - 出力生成名は、同じ実行グラフで一緒に実行できるワークフロー全体で一意である必要があります。
- 永続化された出力はワークフロー実行状態に保存されるため、シークレットを出力にマップしないでください。
ランタイムパラメータ
asc workflow run <name> [KEY:VALUE ...] は両方のセパレータをサポートします:
asc workflow run beta VERSION:2.1.0
asc workflow run beta VERSION=2.1.0
繰り返されたキーは最後の書き込みが勝ちます。シェルコマンドでは、$VERSION のようなシェル展開を通じてパラメータを参照します。
環境変数の優先順位
メインワークフロー実行:
definition.env < workflow.env < CLI params
with を使用したサブワークフロー呼び出し:
sub-workflow env < caller env and params < step with
条件付き
ステップに "if": "VAR_NAME" を追加します。真実の値は 1、true、yes、y、および on です (大文字小文字は区別されません)。参照チェックでは、マージされたワークフロー環境/パラメータを最初に確認し、次にプロセス環境を確認します。
ワークフロー例
{
"env": {
"APP_ID": "123456789",
"VERSION": "1.0.0",
"GROUP_ID": ""
},
"before_all": "asc auth status",
"after_all": "echo workflow_done",
"error": "echo workflow_failed",
"workflows": {
"beta": {
"description": "Resolve the latest build and distribute it to TestFlight",
"steps": [
{
"name": "resolve_build",
"run": "asc builds info --app $APP_ID --latest --platform IOS --output json",
"outputs": {
"BUILD_ID": "$.data.id"
}
},
{
"name": "list_groups",
"run": "asc testflight groups list --app $APP_ID --limit 20 --output json"
},
{
"name": "add_build_to_group",
"if": "GROUP_ID",
"run": "asc builds add-groups --build-id ${steps.resolve_build.BUILD_ID} --group $GROUP_ID"
}
]
},
"release": {
"description": "Validate, stage, and submit an App Store version",
"steps": [
{
"name": "validate",
"run": "asc validate --app $APP_ID --version $VERSION --platform IOS --output json"
},
{
"name": "stage",
"run": "asc release stage --app $APP_ID --version $VERSION --build $BUILD_ID --metadata-dir ./metadata/version/$VERSION --confirm --output json"
},
{
"name": "submit",
"if": "SUBMIT_FOR_REVIEW",
"run": "asc review submit --app $APP_ID --version $VERSION --build $BUILD_ID --confirm --output json"
}
]
},
"publish-appstore": {
"description": "High-level upload plus App Store review submission",
"steps": [
{
"name": "publish",
"run": "asc publish appstore --app $APP_ID --ipa ./build/MyApp.ipa --version $VERSION --wait --submit --confirm --output json"
}
]
}
}
}
有用な実行例
asc workflow validate | jq -e '.valid == true'
asc workflow list --pretty
asc workflow list --all --pretty
asc workflow run --dry-run beta BUILD_ID:123 GROUP_ID:grp_abc
asc workflow run beta BUILD_ID:123 GROUP_ID:grp_abc | jq -e '.status == "ok"'
asc workflow run release BUILD_ID:123 SUBMIT_FOR_REVIEW:true
asc workflow run release --resume "release-20260312T120000Z-deadbeef"
安全ルール
.asc/workflow.jsonをコードのように扱い、信頼できるワークフローファイルのみを実行します。- 信頼できない PR からシークレットを使用してワークフローを実行することを避けます。
- ワークフローファイルをバージョン管理に保持します。
- 最初に検証し、次にドライラン、その後に実行します。
- 変更ステップの明示的な ID と
--confirmを使用します。 asc validate、asc release stage、asc review submit、およびasc publish appstoreを使用します。削除された送信コマンドは使用しないでください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- rorkai
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/rorkai/app-store-connect-cli-skills / ライセンス: MIT
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
ghost-bits-cast-attack
Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。