本文へ移動
cccskills
無料GitHub で公開日本語紹介

speed-up-ci

CIの実行時間を計測して遅いジョブや工程を特定し、チェックの品質を保ったまま、効果を比較しながら高速化するスキルです。

原文原文の説明を見る

CI is slow, time to green, how long do checks take, p50/p90, make CI faster, speed up a job or spec, hillclimb CI. Use to measure PR CI time, find where a job's seconds go, and land speedups one measured change at a time without weakening any check.

different-ai/openworkスター 24,316(GitHub 24,316 + cccskills 0)
連携ツールGitHubMySQL

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • CIの完了時間を計測したいとき
  • 遅いジョブやテストを特定
  • 高速化の前後を比較したいとき
  • チェックを保ってCIを短縮

日本語での紹介

できること

CIの遅さを感覚ではなく実測値で調べます。プルリクエストのpushから必須チェックが通るまでの時間や、すべてのGitHub Actionsチェックが終わるまでの時間を集計し、中央値や上位パーセンタイルで基準値を記録します。各ジョブ・ステップの所要時間やテストの記録を確認して、時間を使っている箇所を特定します。そのうえで改善仮説を一つずつ試し、同じ条件に近い実行結果と比較して効果を判断します。

こんなときに便利

CIが遅く、どのジョブやテストが原因か分からないときに役立ちます。サービス起動や重複ビルド、繰り返しのセットアップなど、改善候補を測定結果から探したいチームにも向いています。速度を上げながら、チェックが検出する不具合やマージ前の検査を維持したい場面で使えます。

使い方の例

  • 「直近のプルリクエストでCIが通るまでの時間を測って」
  • 「このCIジョブのどのステップに時間がかかっているか調べて」
  • 「改善案を一つ試し、変更前後のCI時間を比較して」

注意点

GitHub Actionsの実行情報やリポジトリ内のCI計測スクリプトを使います。比較には同じ種類のランナーによる基準実行が必要です。チェックを弱めたり省略したりせず、変更後も同じ不具合を検出できることを保ちます。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

資料チェック

SKILL.md の記述から、注意が要る操作と導入の前提を AI が確認しました。点数は実際に動かした結果(実行検証)だけで付けています。

安全面送信・削除・コマンド実行などの扱いが明示されているか
A良好チェックを弱めず、失敗は再利用しないなどの制約がある。
導入のしやすさ必要なツールや API キーが少ないか、書かれているか
B一部不足GitHub Actions情報とNode.js等の計測スクリプト利用が前提。

点数には入れていません。 2026年10月28日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。

評価が違うと思ったら、見直しを依頼する

どの項目が、なぜ違うと思うかを書いてください。ログインは不要です。内容を SKILL.md と照らし合わせて評価を作り直し、この欄に反映します。

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

含まれるファイル(1)

  • SKILL.md5.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Skill: Speed up CI

CI speed is a measured number, not a feeling. Measure it the same way every time, find where the seconds actually go, change one thing, measure again, keep it only if the number moved and every check still guards what it did.

1. Measure time to green

node .github/scripts/ci-time-to-green.mjs --hours 24            # all PRs
node .github/scripts/ci-time-to-green.mjs --hours 6 --branch-prefix perf/ci-x --json
  • required: push → last merge-gating check green (openwork-tests-required, warden-clear).
  • full: push → last GitHub Actions check green. "Evidence preview" is ignored (a link, not a test).
  • Failed or unfinished commits are excluded from the percentiles and counted separately.

Record the baseline (p50/p90/p99 and n) before changing anything. Compare p50/p90 with at least ~20 commits; one PR's run is a data point, not a trend.

2. Find where the seconds go

Never guess from YAML. Read the timings GitHub and the test kit already record.

# Every job and step of a run, with durations
gh run view <run-id> --json jobs --jq '.jobs[] | "\(.name)", (.steps[] | "  \(.name)")'
gh api repos/different-ai/openwork/actions/jobs/<job-id> \
  --jq '.steps[] | "\(((.completed_at|fromdate)-(.started_at|fromdate)))s \(.name)"'
# Full log (strip colours)
gh api --allow-escape-sequences repos/different-ai/openwork/actions/jobs/<job-id>/logs | sed 's/\x1b\[[0-9;]*m//g'

For e2e specs, download the run's pr-proof-* artifacts and read test-runs/*/test-run.json: every trace entry has a stage, channel, verb and ms. Sum ms by (stage, channel, verb): world/seed/den|desktop|appWeb is time spent starting services; body/* is the test. Compare createdAt/closedAt with the first and last trace entry to see setup and teardown the trace does not cover.

Things that look slow but are not the cause until measured: runner pickup (usually ~3s), the test's own assertions. Things that usually are: starting services per test, rebuilding the same commit in several jobs, waiting on something no assertion uses, repeated setup in every matrix job.

3. Choose the change: strongest rung first

Work down this list (the classic performance mantras) and stop at the first rung that reaches the target:

  1. Don't do it. Remove waits and work whose result nothing checks (e.g. waiting for a reviewer snapshot to save before reporting a verdict).
  2. Don't do it again. Reuse a result whose inputs are byte-identical: build once per commit and share it; skip a suite whose input hash already passed. Failures are never reused.
  3. Do it less. Start one service per job and isolate tests inside it (one organization per test) instead of one service per test.
  4. Do it later. Move work that need not block a push into the merge queue.
  5. Do it when nobody is waiting. Pre-warm images and worlds on dev.
  6. Do it concurrently. Shard long serial steps.
  7. Do it cheaper. Faster flags, in-memory databases, fewer statements.

Rung 7 alone rarely gets far: folding the Den API test schema DDL and an in-memory MySQL saved 18s on a 134s step. Rungs 1-3 remove minutes.

4. The loop

  • One hypothesis per change, naming a mechanism ("den-web runs next dev and recompiles per test"), never "try caching".
  • Measure before and after on CI, against a control on the same runner type at about the same time (another PR on current dev, or the same job on dev). Laptop wall times are not evidence: other work on the machine moved the same suite between 94s and 147s.
  • Keep a change only when the number moves past noise and every gate stays green. Otherwise revert it completely and record why.
  • Log every attempt, kept or not, in a decision.tsv outside the repo: id, hypothesis, change, before, after, delta, tests, verdict, note.
  • Independent hypotheses can run in parallel, each in its own worktree and PR. Give each lane the baseline, the measured facts and these rules.

Guardrails

  • Never weaken a check for speed. No skipped specs, no soft-failing steps, no looser assertions. A moved check must still run before merge (e.g. in the merge queue) and fail for the same defects.
  • Never make the shared clone shallow. git fetch --depth=1 in any worktree writes .git/shallow for every worktree and the main checkout; rebases then replay the whole history. CI scripts that fetch with depth 1 are for CI only. If it happens: confirm the parents of the shallow commit exist (git cat-file -e), move .git/shallow aside, run git fsck --connectivity-only.
  • Work in a worktree from fresh origin/dev; do not touch someone else's checkout, branch or running containers. Start your own MySQL on a free port with a unique name, and remove it afterwards.
  • Den API tests assume UTC: run them locally with TZ=UTC, or the hourly sign-in tests fail for reasons unrelated to your change.
  • Check open PRs for the same files before starting (gh pr list), and re-measure after rebasing onto a dev that changed the job you measured.
  • A red dev invalidates every comparison: fix or wait for it first (diagnose-a-red-run).

Evidence in the PR

Name the job and step, the control run and your run, and the seconds: "Run Den API security tests: 134s → 116s (run A vs run B, same runner)." State Release note: none. Follow open-a-pr.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

add-a-feature

無料概要あり

OpenWorkの新機能を無効状態で登録し、組織別・提供環境別の段階公開から全体停止、公開完了後のフラグ削除まで、一貫した仕組みで管理するスキル。

  • 実装前に新機能を登録したいとき
  • 特定の組織から段階公開したいとき
  • cloudとself_hostedの提供範囲を分離
different-ai/openwork2.4万2026年10月30日 更新

browser-automation

無料概要あり

ローカル開発中のOpenWorkのElectronアプリに接続し、画面の状態確認や入力・タスク送信を自動化します。応答を画面で確かめながら、挙動の調査やデバッグを進めるためのスキルです。

  • ローカルのElectronアプリへ接続
  • デバッグ中に画面の状態を確認
  • 入力欄からタスクを送信したいとき
different-ai/openwork2.4万2026年10月30日 更新

confidentiality-review

無料概要あり

変更差分の追加行から、顧客・見込み客・取引先・外部の個人を特定する情報を確認。情報そのものを再掲せず、該当箇所と最小限の修正方針を報告します。

  • 顧客や取引先の識別情報を確認したいとき
  • 文書やテストデータの識別情報の確認
  • 情報を再掲せずに漏えい箇所を報告
different-ai/openwork2.4万2026年10月30日 更新

connect-openwork-mcp

無料概要あり

Claude CodeやCodexなどをOpenWork MCP Gatewayに接続し、組織のスキル・プラグイン・外部接続を使うための設定と認証、接続確認を進めます。

  • AIクライアントと組織リソースの接続
  • MCPの認証と利用可能ツールの確認
  • 接続組織の切り替えや認証エラー対応
different-ai/openwork2.4万2026年10月30日 更新

contributor-screen

無料概要あり

外部協力者のプルリクエストを実行前に調べ、難読化や隠れた通信、不審な依存関係などを確認。通常の差分レビューでは見落としやすい挙動を指摘します。

  • 外部からの変更を実行前に確認したいとき
  • 難読化コードや不明な通信の確認
  • 依存関係とインストール処理の確認
different-ai/openwork2.4万2026年10月30日 更新

create-plugin

無料概要あり

OpenWorkで使うOpenCodeプラグインのひな形を作成し、独自ツールの定義や処理を呼び出すフック、設定ファイルへの追加まで整えるスキル。

  • OpenWorkに独自ツールを追加したいとき
  • メモの保存・一覧表示機能の作成
  • ツール実行前後の処理追加
different-ai/openwork2.4万2026年10月30日 更新

different-ai のスキルをすべて見る

このスキルの問題を報告する