本文へ移動
cccskills
無料GitHub で公開

ci-local-parity

Reproduce ai-repo PR checks locally with Poe and CI scripts, including per-package typecheck and coverage behavior. Use when validating changes before push or when user asks which local commands match CI.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md4.0 KB
  • references/ci-gaps.md2.1 KB
  • references/package-matrix.md2.4 KB

SKILL.md(原文)

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

What I do

Run ai repository checks locally with the closest possible parity to PR CI:

  • Map changed files to affected packages
  • Run checks in CI order: format-check → lint → test → typecheck → coverage → depcheck
  • Apply per-package behavior (strict vs baseline typecheck, test args, extras)
  • Highlight checks that cannot be fully reproduced via Poe

When to use me

  • User asks how to run CI checks locally in ai
  • User wants the exact local commands before opening/updating a PR
  • User asks about Poe tasks vs CI scripts and where they differ

Use instead

  • ci-fix — diagnosing an already-failed CI run
  • ruff — lint/format-only cleanup without CI parity
  • uv — dependency/lockfile maintenance

Workflow

Step 0: Preconditions

Run from the repo root. Verify tooling:

uv --version
uv run poe --help

If uv is missing, stop and ask the user to install it.


Step 1: Determine target packages

git fetch origin main
git diff --name-only origin/main...HEAD

Map changed files to packages using the dir field in: .github/actions/get-packages-matrix/package_configuration.json

→ See references/package-matrix.md for the full package list.


Step 2: Run baseline checks (CI order)

From inside each package directory:

uv run ruff format --check .   # CI lint = format check + lint check
uv run poe lint
uv run poe test
uv run poe depcheck

poe format writes files — it is not equivalent to the CI lint step.


Step 3: Typecheck (strict vs baseline)

Determine mode from package_configuration.json flags:

  • Strict (typecheck_use_baseline: false, typecheck_require_zero_errors: true):
    uv run poe typecheck
    
  • Baseline (new errors vs origin/main only):
    uv run poe ci-typecheck
    # fallback if task missing:
    bash "$(git rev-parse --show-toplevel)/.github/scripts/dev.sh" typecheck --dir .
    

→ See references/package-matrix.md for per-package mode.


Step 4: Coverage (diff-based)

uv run poe ci-coverage
# fallback if task missing:
bash "$(git rev-parse --show-toplevel)/.github/scripts/dev.sh" coverage --dir .

Full-package (non-diff) coverage:

uv run poe coverage

Step 5: Call out CI gaps

Some jobs are not reproducible via Poe. Note them explicitly; do not claim full parity.

→ See references/ci-gaps.md for the full list (min-deps, config-check, PR policy).


Quick recipes

Any package — closest PR-CI parity

cd <package_dir>
uv run ruff format --check .
uv run poe lint
uv run poe test
uv run poe depcheck
uv run poe ci-typecheck || bash "$(git rev-parse --show-toplevel)/.github/scripts/dev.sh" typecheck --dir .
uv run poe ci-coverage  || bash "$(git rev-parse --show-toplevel)/.github/scripts/dev.sh" coverage  --dir .

Strict packages: unique_toolkit, unique_sdk, unique_skill_tool

cd <package_dir>
uv run ruff format --check .
uv run poe lint
uv run poe test        # sdk: add -- -m "not integration"
uv run poe depcheck
uv run poe typecheck
uv run poe ci-coverage || bash "$(git rev-parse --show-toplevel)/.github/scripts/dev.sh" coverage --dir .

Tips

  1. Always include ruff format --check — CI lint is two commands, not one.
  2. Check the matrix flags; don't assume strict or baseline mode.
  3. Prefer ci-* Poe tasks for diff parity; fall back to dev.sh when absent.
  4. Never claim full parity — deps/config/policy jobs require manual steps.
  5. Run from the repo root so script paths and git base refs resolve correctly.

レビュー

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

同じリポジトリのスキル

概要と使いどころ

Implement comprehensive error handling for Python code paths to keep services resilient and user-friendly. Use when failures are currently silent or exceptions leak through.

日本語の概要は準備中です。原文の説明を表示しています。

Unique-AG/ai52026年10月12日 更新

Tabular and numerical data analysis with descriptive statistics and insights. Use when the user provides data, tables, CSVs, or numbers and wants analysis.

日本語の概要は準備中です。原文の説明を表示しています。

Unique-AG/ai52026年10月12日 更新

Financial factsheet analysis with key metrics extraction and investment rationale

日本語の概要は準備中です。原文の説明を表示しています。

Unique-AG/ai52026年10月12日 更新

ci-fix

無料

Diagnose and fix CI failures without leaving your editor.

日本語の概要は準備中です。原文の説明を表示しています。

Unique-AG/ai52026年10月12日 更新

Ask clarifying questions before implementing to ensure Python requirements are understood. Use when a task lacks detail, dependencies are unclear, or multiple interpretations are possible.

日本語の概要は準備中です。原文の説明を表示しています。

Unique-AG/ai52026年10月12日 更新

Delete local git branches whose remotes are gone, after verifying via gh CLI that each was actually merged.

日本語の概要は準備中です。原文の説明を表示しています。

Unique-AG/ai52026年10月12日 更新

Unique-AG のスキルをすべて見る

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