Agent skill

Watch CI Patterns

by ayutaz in ayutaz/piper-plus

CI workflow の最近 run を集計し、 failure を「flake / drift / env / test bug」に自動分類する skill。

MITAuto-check passedDevOps & Cloud

Install Watch CI Patterns

skills CLI
$ npx skills add ayutaz/piper-plus --skill watch-ci-patterns -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ayutaz/piper-plus watch-ci-patterns --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ayutaz/piper-plus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/watch-ci-patterns .claude/skills/watch-ci-patterns && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
watch-ci-patterns
GitHub stars
230
Token cost
~1.3k tokens
SKILL.md length
363 words
Files
1
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

CI workflow の最近 run を集計し、 failure を「flake / drift / env / test bug」に自動分類する skill。

  • Works in 4 steps: flake: 同じ branch の同じ commit で連続失敗 → 再… → drift: lockfile / version pin / contract… → env: runner OS specific / QEMU emulation… → …
  • Tasks that involve Containers
  • SKILL.md covers 分類カテゴリ, 引数, 現在の状態 and フェーズ 1: workflow 一覧取得, plus 8 more sections
  • Calls gh, jq and cargo

What it does

Watch CI Patterns is an agent skill from ayutaz/piper-plus. CI workflow の最近 run を集計し、 failure を「flake / drift / env / test bug」に自動分類する skill。 既存 /watch-pr <PR の workflow-level 拡張。 引数なしで全 workflow の health check、 --workflow <name で個別 workflow の最近失敗パターンを抽出。 docker-build 45% / go-ci 14% / csharp-ci 13% のような chronic flake を可視化する。

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Containers. It works with Docker and C#. The repository describes itself as: Multilingual neural TTS (6 languages: JA/EN/ZH/ES/FR/PT, code supports SV) — C++, C, Rust, Go, Python, npm (WASM). VITS + Prosody, streaming, CUDA/CoreML/DirectML. pip install…. The licence is MIT.

When your agent uses it

  • Tasks that involve Containers

Example prompts

  • “/watch-ci-patterns”

Requirements

  • Docker
  • Pre-approved tools (allowed-tools): Bash(gh run list *), Bash(gh run view *), Bash(gh workflow list *), Bash(ls .github/workflows/*), Bash(rg *), Bash(grep *), Bash(awk *), Bash(sort *), Bash(uniq *), Read, Grep

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. flake: 同じ branch の同じ commit で連続失敗 → 再 run で pass。 timing / network 由来。
  2. drift: lockfile / version pin / contract 不整合。 pre-commit で先回り可能。
  3. env: runner OS specific / QEMU emulation / disk space / Docker daemon。
  4. test bug: 同じ branch で再 run しても再現。 実装変更を要する。

What it can do on your machine

Read from SKILL.md and the folder at commit 421d066. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(gh run list *)
    • Bash(gh run view *)
    • Bash(gh workflow list *)
    • Bash(ls .github/workflows/*)
    • Bash(rg *)
    • Bash(grep *)
    • Bash(awk *)
    • Bash(sort *)
    • Bash(uniq *)
    • Read

    …and 1 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • jq
    • cargo
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Watch CI Patterns loads about 1.3k tokens when it runs. Until then it costs about 73 tokens; SKILL.md has 363 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~73
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ayutaz/piper-plus at commit 421d066, republished under its MIT licence (© ayutaz). 363 words, ~1,301 tokens.

Download SKILL.mdSave it as .claude/skills/watch-ci-patterns/SKILL.md (or your agent's skills folder).
name
watch-ci-patterns
description
CI workflow の最近 run を集計し、 failure を「flake / drift / env / test bug」に自動分類する skill。 既存 `/watch-pr <PR>` の workflow-level 拡張。 引数なしで全 workflow の health check、 `--workflow <name>` で個別 workflow の最近失敗パターンを抽出。 docker-build 45% / go-ci 14% / csharp-ci 13% のような chronic flake を可視化する。
allowed-tools
Bash(gh run list *), Bash(gh run view *), Bash(gh workflow list *), Bash(ls .github/workflows/*), Bash(rg *), Bash(grep *), Bash(awk *), Bash(sort *), Bash(uniq *), Read, Grep
argument-hint
[--workflow <name>] [--limit 30] [--since 7d]
disable-model-invocation
false

CI Failure Pattern Watcher

15 エージェント workflow 監査の調査結果に基づく skill。 主要 failing workflow:

WorkflowFailure rate主要 failure 種別
docker-build.yml45%flake (arm64 QEMU / disk space / network)
docker-test.yml16%feature-branch test env (disk / arm64)
go-ci.yml14%dep drift (go.mod resolver)
csharp-ci.yml13%feature-branch issue-426 (docker mount)
multi-runtime-rtf.yml5%timing variance / RTF baseline

分類カテゴリ

  1. flake: 同じ branch の同じ commit で連続失敗 → 再 run で pass。 timing / network 由来。
  2. drift: lockfile / version pin / contract 不整合。 pre-commit で先回り可能。
  3. env: runner OS specific / QEMU emulation / disk space / Docker daemon。
  4. test bug: 同じ branch で再 run しても再現。 実装変更を要する。

引数

  • --workflow <name>: 個別 workflow に絞る (省略時は全 workflow)
  • --limit N: 取得する run 数 (default 30)
  • --since DUR: 期間絞り込み (7d / 24h)
  • --branch <name>: 特定 branch に絞る (default 全 branch)

現在の状態

  • ブランチ: !git rev-parse --abbrev-ref HEAD
  • 引数: $ARGUMENTS

フェーズ 1: workflow 一覧取得

bash
gh workflow list --limit 50 --json name,state,id | jq -r '.[] | select(.state == "active") | .name'

--workflow 指定時はその 1 つだけ、 省略時は全 active workflow を順次処理。

フェーズ 2: 各 workflow の最近 run 集計

bash
gh run list --workflow="$WORKFLOW" --limit "$LIMIT" \
    --json conclusion,name,headBranch,createdAt,displayTitle,databaseId,event

集計:

  • 全 run 数
  • conclusion 別 (success / failure / cancelled / skipped)
  • failure rate (failure / (success + failure))

フェーズ 3: failure run の commit / branch クラスタリング

同じ commit SHA / branch で複数 run があれば flake 疑い。 異なる branch で同じ workflow が同じ step で fail なら drift 疑い:

bash
gh run list --workflow="$WORKFLOW" --status=failure --limit 50 \
    --json headSha,headBranch,databaseId,createdAt | \
    jq -r 'group_by(.headSha) | map({sha: .[0].headSha, count: length, branches: [.[].headBranch] | unique}) | .[]'

count >= 2 && branches.length == 1 = flake or test bug。 count == 1 && branches.length > 1 = drift。

フェーズ 4: 失敗ログのパターン抽出

failure run の上位 3 件を gh run view --log-failed でログ取得、 既知 pattern と grep:

bash
gh run view "$RUN_ID" --log-failed 2>&1 | tail -200 > /tmp/run_$RUN_ID.log

# Pattern matching
grep -E "(disk full|no space left)" /tmp/run_$RUN_ID.log && echo "ENV: disk"
grep -E "(connection refused|timeout|TLS)" /tmp/run_$RUN_ID.log && echo "ENV: network"
grep -E "(go.mod|inconsistent vendoring|missing go.sum)" /tmp/run_$RUN_ID.log && echo "DRIFT: go.mod"
grep -E "(ruff|format.*drift|cargo fmt)" /tmp/run_$RUN_ID.log && echo "DRIFT: format"
grep -E "(qemu|exec format error|illegal instruction)" /tmp/run_$RUN_ID.log && echo "ENV: arm64-emulation"
grep -E "FAILED.*test_" /tmp/run_$RUN_ID.log | head -5  # 実 test failure 名

抽出した signature を分類カテゴリに mapping。

Show full SKILL.md (136 more words)Show less

フェーズ 5: report 生成

markdown
## CI Pattern Report — $(date +%Y-%m-%d)

### Summary
- workflows scanned: $N
- total runs (last $LIMIT): $TOTAL
- failure rate (overall): $RATE%

### Top failing workflows
| Workflow | Failure% | Primary category |
|----------|---------|------------------|
| docker-build | 45% | env (arm64 QEMU) |
| go-ci | 14% | drift (go.mod) |
| ... | ... | ... |

### Action items
- [ ] go-ci drift: `go mod tidy` を pre-push に追加検討
- [ ] docker-build flake: arm64 build を concurrency 制限
- [ ] csharp-ci issue-426: 個別 fix (test bug)

フェーズ 6: 既存 skill との連携

flake / env と判定したら何もしない (再 run 任せ)。 drift と判定したら以下を提案:

  • ruff drift → /bump-deps ruff --target <ver> 推奨
  • ORT drift → /bump-deps ort --target <ver> 推奨
  • format drift → pre-commit run --all-files
  • contract drift → 該当 contract gate を pre-commit + CI で再走

test bug は個別 fix なので skill では着手しない、 issue 番号で記録。

注意

  • memory feedback_ci_cancelled_baseline: cancelled / skipped は failure ではない、 baseline 検証が silently skip されることがあるので注意。
  • memory feedback_ci_matrix_no_reduction: matrix の OS × version 削減は提案しない (網羅性優先)。
  • memory feedback_merge_caution: 自動で gh workflow run 再実行はしない、 user 確認後のみ。
  • rate limit: gh CLI は GH API の 5000/h を共有。 大量 workflow ある repo では --limit を保守的に。

使用例

text
# 全 workflow の health check
/watch-ci-patterns

# docker-build に絞って深堀り
/watch-ci-patterns --workflow docker-build.yml --limit 50

# 最近 24h の failure のみ
/watch-ci-patterns --since 24h

# loop で 30 分ごと監視
/loop 30m /watch-ci-patterns --since 24h

期待効果

  • chronic flake (docker-build 45%) と 本物の drift / test bug を分離
  • failure log の 手作業 gh run view 巡回を skill 化
  • drift と判定したら 既存 /bump-deps / /precheck skill にバトンを渡す
  • /loop と組み合わせて 継続的 CI health monitor

© ayutaz, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/watch-ci-patterns of ayutaz/piper-plus.

Open the folder on GitHubat commit 421d066

Compare with similar skills

Watch CI Patterns next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Watch CI Patterns compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Watch CI Patterns this skillayutaz/piper-plus230—~1.3kAutomated safety check: PassMIT
Foundationdb AspireSnowBankSDK/foundationdb-dotnet-client158—~3.4kAutomated safety check: PassBSD-3-Clause
Aspire DeploymentCommunityToolkit/Aspire629—~4.5kAutomated safety check: NotesMIT
Docker Scout AuditHabitat-Thinking/ai-literacy-superpowers114—~2kAutomated safety check: PassCustom licence
GreptimeDB Dev Docker ImageGreptimeTeam/greptimedb6.7k—~4kAutomated safety check: NotesApache-2.0
Code Audit3stoneBrother/code-audit8921 repos~2.7kAutomated safety check: PassNone

Similar skills

  • Foundationdb Aspire

    SnowBankSDK/foundationdb-dotnet-client

    How to run a FoundationDB cluster and connect to it from .NET — getting the IFdbDatabaseProvider that the keys/transactions/layers skills assume you already have.

    158 GitHub stars~3.4k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Aspire Deployment

    CommunityToolkit/Aspire

    WORKFLOW SKILL — Deploy Aspire apps from AppHost models to Docker Compose, Kubernetes, Azure, AWS, or preview Radius.

    629 GitHub stars~4.5k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Docker Scout Audit

    Habitat-Thinking/ai-literacy-superpowers

    A skill your agent uses when auditing Docker images in this project for CVEs, base image staleness, or remediation recommendations — covers all four TUI images (Go, Python, Kotlin, C)

    114 GitHub stars~2k tokensUpdated 18 days ago
    SecurityAuto-check passed
  • GreptimeDB Dev Docker Image

    GreptimeTeam/greptimedb

    Packages a locally built GreptimeDB debug binary into a development-only Docker image for local-cluster testing, with an optional push to a dev registry.

    6.7k GitHub stars~4k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Code Audit

    3stoneBrother/code-audit

    Professional code security audit skill covering 55+ vulnerability types.

    892 GitHub starsUsed in 1 repo~2.7k tokens
    SecurityAuto-check passed
  • Senior DevOps Toolkit

    maslennikov-ig/claude-code-orchestrator-kit

    Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…

    260 GitHub starsUsed in 6 repos~1.1k tokens
    DevOps & CloudAuto-check: notes

More from ayutaz/piper-plus

All 20 skills in this repo
  • Skill Health

    ayutaz/piper-plus

    .claude/skills//SKILL.md の frontmatter / referenced script 実在 / trigger 衝突 / .claude/hooks/.sh の executable+shebang を検査する meta-skill。

    230 GitHub stars~626 tokensUpdated today
    Auto-check passed
  • Bump Deps

    ayutaz/piper-plus

    ORT / openjtalk / ruff のような cross-runtime に canonical sync が必要な依存関係を 1 コマンドで bump する read-mostly skill。

    230 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Check Cross Runtime

    ayutaz/piper-plus

    Python canonical (src/pythonrun/piperplus/, src/python/pipertrain/, src/python/g2p/piperplusg2p/) を変更した PR で、 ONNX I/O 以外の追随漏れ (phonemizer / config schema / CLI flag / data 形式 / API 変更) を 7 ランタイム +…

    230 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Check Loanword

    ayutaz/piper-plus

    ZH-EN code-switching loanword の同期と forward-compat を 1 コマンドで検査。zhenloanword.json を編集したり 5 ランタイムのいずれかに新規エントリを追加する前後に呼ぶ。Python source を canonical とし、Rust×2 / Go / C / WASM / C++ の 6 mirror + Python…

    230 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Check New Runtime Asset

    ayutaz/piper-plus

    新規データアセット (JSON/TOML) を追加した PR で「7 箇所の package metadata 更新が全て揃っているか」を 1 コマンドで確認。MANIFEST.in / pyproject package-data / Cargo features / npm files / C Content / Android assets / SPM resources の更新漏れを…

    230 GitHub stars~964 tokensUpdated today
    Auto-check passed
  • Check PR Ready

    ayutaz/piper-plus

    PR 作成前の最終チェックリスト (lint/test/docs/CHANGELOG/未コミット確認)。/precheck の拡張版で、ドキュメント整合性も検証します。

    230 GitHub stars~687 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Watch CI Patterns

What does Watch CI Patterns do?

CI workflow の最近 run を集計し、 failure を「flake / drift / env / test bug」に自動分類する skill。. Watch CI Patterns is an agent skill from ayutaz/piper-plus.

When should I use Watch CI Patterns?

Watch CI Patterns fits situations like: tasks that involve Containers.

How do I install Watch CI Patterns in Claude Code?

Run `npx skills add ayutaz/piper-plus --skill watch-ci-patterns -a claude-code`. Or copy the skill folder (.claude/skills/watch-ci-patterns in ayutaz/piper-plus) into .claude/skills/watch-ci-patterns in your project. Claude Code loads it when a task matches its description.

How do I install Watch CI Patterns in Codex?

Run `npx skills add ayutaz/piper-plus --skill watch-ci-patterns -a codex`. Or copy the skill folder (.claude/skills/watch-ci-patterns in ayutaz/piper-plus) into .agents/skills/watch-ci-patterns in your project. Codex loads it when a task matches its description.

Can I use Watch CI Patterns in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ayutaz/piper-plus --skill watch-ci-patterns -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/watch-ci-patterns, .gemini/skills/watch-ci-patterns, .github/skills/watch-ci-patterns and .opencode/skills/watch-ci-patterns in your project.

What does Watch CI Patterns need to run?

Going by SKILL.md and its folder, Watch CI Patterns needs the command-line tools its instructions call (gh, jq, cargo and git). Our summary lists: Docker. Its frontmatter pre-approves these tools: Bash(gh run list *), Bash(gh run view *), Bash(gh workflow list *), Bash(ls .github/workflows/*), Bash(rg *), Bash(grep *), Bash(awk *), Bash(sort *), Bash(uniq *), Read, Grep.

Does Watch CI Patterns access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Watch CI Patterns safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Watch CI Patterns use?

Watch CI Patterns is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Watch CI Patterns use?

About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Watch CI Patterns?

Skills that share tags, products or a category with Watch CI Patterns: Foundationdb Aspire (SnowBankSDK/foundationdb-dotnet-client, 158 stars), Aspire Deployment (CommunityToolkit/Aspire, 629 stars), Docker Scout Audit (Habitat-Thinking/ai-literacy-superpowers, 114 stars) and GreptimeDB Dev Docker Image (GreptimeTeam/greptimedb, 6.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Watch CI Patterns?

ayutaz (a GitHub user) maintains it in ayutaz/piper-plus, which has 230 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 8, 2026.

Source: ayutaz/piper-plus on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.