GitHub Agentic Workflowsの設計・作成・更新・デバッグ・アップグレード依頼を見分け、対応する手順書へ案内するスキルです。
- ワークフローを新規設計・作成したいとき
- 既存ワークフローを更新したいとき
- エラーの調査やデバッグをしたいとき
GitHub CLIの受け入れテストを追加・変更する際に、リポジトリの共有範囲やAPI利用量、並行実行を考慮したテスト設計と検証を支援します。
Use when adding or changing GitHub CLI acceptance tests, txtar scripts, testdata groups, repository fixtures, or acceptance harness behavior.
実行スコア 未検証
インストール方法を見るGitHub CLI(gh)を実際のGitHubリソースに対して動かす受け入れテストの追加や変更を支援します。テストごとに、利用者権限が必要かどうかと、共有・分離・リポジトリなしのどのフィクスチャ方式を使うかを決めます。共有リポジトリで他のテストと干渉しない命名や状態管理、作成したリソースの記録と後片付け、APIリクエスト数の抑制も扱います。非同期に登録されるワークフローなどは、固定時間の待機ではなく条件を確認して待ちます。変更したテストは、まず対象を絞って検証する流れです。
GitHub CLIの機能や受け入れテスト用スクリプトを変更する開発者向けです。複数テストが同じリポジトリやAPI制限を共有する環境で、競合や不要なリソース作成を避けながら動作を確かめたい場合に役立ちます。
ライブテストはGitHub上のリソースを操作します。実行には受け入れテスト用の認証情報が必要です。検証方法と認証変数はacceptance/README.mdを確認します。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
SKILL.md の記述から、注意が要る操作と導入の前提を AI が確認しました。点数は実際に動かした結果(実行検証)だけで付けています。
点数には入れていません。 2026年10月26日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Acceptance tests exercise gh against live GitHub resources. Minimize repository
creation and cloning without allowing concurrent scripts to interfere.
Read acceptance/README.md and nearby scripts before editing.
Every .txtar script must start with exactly one capability declaration:
# requires-user-capability: false
Set the declaration to true only when the script requires a user principal,
such as account SSH/GPG keys, personal-account forks, or user membership APIs.
Repository and organization operations supported by an installation token
should use false.
Every script must contain exactly one declaration:
| Mode | Use when |
|---|---|
fixture-repo shared REPO | One initialized private repository is enough and every operation can coexist with concurrent and accumulated state. |
fixture-repo isolated REPO | One initialized private repository is enough, but the test needs clean state, changes repository-global state, or performs multiple coordinated Git ref updates. |
fixture-repo none | No repository is needed, or the test needs multiple repositories, public visibility, special creation options, or repository lifecycle coverage. |
Managed fixtures are initialized, have discussions enabled, and are deleted by
the harness. Scripts using shared or isolated must not run gh repo create.
With none, create every required repository explicitly and immediately
register deferred cleanup. Use defer gh repo delete --yes $ORG/$REPO when the
repository should still exist under that name. Use defer cleanup-repo $REPO
when testing deletion or renaming; it is scoped to $ORG and treats an already
absent repository as success.
Repositories created with an initial commit can remain busy after gh repo create returns. Before renaming one, use wait-for-repository-ready $ORG/$REPO to wait for its default-branch commit. GitHub can retain the
repository creation lock after that commit becomes readable, so keep the
gh repo rename command inline and allow a 10-second stabilization delay
between this readiness check and that command.
Scripts within a group run concurrently. A shared script must remain correct when the repository already contains unrelated resources.
$RANDOM_STRING, adding
$SCRIPT_NAME only when useful. Width-constrained commands such as
gh pr status truncate long titles.$RANDOM_STRING in the commit
contents or message when scripts could otherwise create the same tree from the
same parent.isolated script. Unique refs do not prevent concurrent
Git pushes and merges in a shared repository from contending.env2upper for Actions variables and
secrets whose generated names are asserted later.--repo $ORG/$REPO or GH_REPO=$ORG/$REPO. Clone only
when local Git behavior is part of the test.If any operation violates this contract, use isolated; do not weaken
assertions to make sharing appear safe.
Scripts share token-wide API rate limits. Count requests across the whole test process and combine compatible live assertions. Keep coverage for a narrowly limited endpoint in one script so concurrent scripts cannot burst the limit. For Code Search's 10 requests/minute bucket, use at most five HTTP requests in the entire acceptance process, even when they run sequentially. This reserves half the bucket for pagination, retries, and other token activity. Count the requests made by each command, keep representative live coverage, and move remaining variants to unit tests.
Use bounded condition-based waits for asynchronously registered resources.
Fixed sleeps are both slower when registration is fast and unreliable when it
is slow. Use wait-for-workflow after pushing a new workflow definition, then
use wait-for-run before watching or inspecting a triggered workflow run.
After gh workflow run, wait-for-run captures the returned run URL when the
server provides one and falls back to polling for older servers.
On timeout, wait-for-run captures the pushed commit and remote ref, workflow
files, recent unfiltered runs, commit check suites, and an Actions API request
ID. Use that evidence to distinguish event ingestion, run indexing, filtering,
and push/setup failures before changing fixture isolation or timeout budgets.
Cancellation tests must use a self-contained workflow with a deliberately long
step so the run cannot finish before the cancellation request, plus a short job
timeout so a failed cancellation cannot run for the full step. After
registration, use wait-for-run-status RUN_ID in_progress before cancellation
because the cancellation endpoint can reject a run that is still starting. Do
not wait for GitHub to finish cancellation after the command confirms that the
request was submitted; that tests Actions' eventual behavior rather than the
CLI contract. Do not lengthen registration sleeps to compensate for a short or
externally dependent job.
Every live mutation must resolve through $ORG/$REPO, a resource ID or URL
captured from something created under $ORG, or fixture cleanup scoped to
GH_ACCEPTANCE_ORG. Do not rely on ambient Git remotes or repository context.
env2upper VAR_NAME=TESTSCRIPTS_${RANDOM_STRING}
fixture-repo shared REPO
env GH_REPO=$ORG/$REPO
exec gh variable set $VAR_NAME --body value
exec gh variable get $VAR_NAME
stdout '^value$'
Run metadata checks without live credentials:
go test -tags=acceptance \
-run '^(TestSelectAcceptanceTestGroups|TestFilterAcceptanceScripts|TestTokenHasUserCapability|TestAcceptanceScriptsDeclareUserCapabilityRequirement|TestAcceptanceScriptsDeclareFixtureRepository|TestRequiresUserCapabilityForScript|TestValidateFixtureRepositoryDeclaration|TestFixtureRepositoryManager)$' \
./acceptance
Run a changed live script with GH_ACCEPTANCE_GROUP and
GH_ACCEPTANCE_SCRIPT; see acceptance/README.md for the credential variables.
Use -count=1 to bypass the Go test cache. Start with one script. If concurrency
is required to reproduce the behavior, pass only the contending scripts as a
comma-separated filter and repeat that focused set before widening the run.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
GitHub Agentic Workflowsの設計・作成・更新・デバッグ・アップグレード依頼を見分け、対応する手順書へ案内するスキルです。
実際のCLIコマンドをケースや目標に沿って実行・記録し、観察した動作を確認できる動画などの証拠にまとめます。
CLI操作の記録や実行結果を期待値と照合し、動画などの証拠をローカルで作成・確認して、ケースごとの結果と成果物を返します。
指定されたCLIテストのコマンド、入力、順序、期待条件を保ったまま実行し、観察結果に照らして各ケースを判定するスキルです。
指定された目標と許可範囲に沿ってCLIの確認項目を選び、各操作の準備・実行・検証を順に進めて結果を整理するスキルです。
cli-exerciseの実行前にGoや録画関連ツールの利用可否を調べ、不足時は導入手順への同意を得て再確認する内部モジュールです。