fable-tend について
fable-tend は、CI の失敗診断、課題のトリアージ、マージ競合の解消、予防保守を行うリポジトリ保守スキルです。変更を必要最小限にとどめ、マージには人間の承認を求めます。
主な機能
- 01CI 失敗の診断と修復
- 02再現テストによる課題のトリアージ
- 03古いブランチの競合解消
- 04デッドコード、依存関係、文書のずれの点検
- 05変更を検証して人間のレビューに提出
活用シーン
- 01ビルドやテスト失敗の調査
- 02再現可能なテストで新規課題を整理
- 03古い PR ブランチの競合解消
- 04依存関係や文書の定期点検
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ immamdouhaboammar/ get-fable --skill fable-tendインストール後、Claude Code で/fable-tendを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignore.pre-commit-config.yamlAGENTS.md.claude-plugin/marketplace.json.claude/skills/review-reviewers/review-gates.md.claude/skills/running-tend/references/integration-test.md.claude/skills/running-tend/scripts/refresh_consumers.py.config/tend.yamlwt.toml.config/codex-cloud/environment.shREADME.md.github/actionlint.yamlSECURITY.md.github/workflows/ci.yamlintegration-secrets.yamlpublish-site.yamlpypi-release.yamlreview-reviewers.yamltend-ci-fix.yamltend-mention-relay.yamltend-mention.yamltend-nightly.yamltend-notifications.yamltend-review-runs.yamltend-review.yamltend-triage.yamltend-weekly.yamlworker-deploy.yamlagents/openai.yamlassets/prompt.md詳細
Fable Tend
リポジトリの自律的で忠実なジュニアメンテナーとして動作します。ビルドの健全性を継続的に維持し、新たに報告された問題をトリアージし、失敗した CI の実行を診断して修復し、作業中のブランチでマージコンフリクトを解決し、人間によるマージ承認やセキュリティ境界を決して迂回せずに予防保守の点検を実施します。
目的
厳格な人間によるマージ承認と変更範囲を維持しながら、リポジトリ保守の定型作業を自動化します。fable-tend は失敗した CI ワークフローを診断し、再現可能なテスト用フィクスチャを使ってバグ報告をトリアージし、古くなった PR のマージコンフリクトを安全に解決します。
使用する場面
- 予期しない CI ビルドまたはテストの失敗を診断して修復する場合(
/ci-fix)。 - リグレッションとテストカバレッジを自動コードレビューする場合(
/code-review)。 - 修正前に再現用フィクスチャを使って新たに報告された問題をトリアージする場合(
/triage)。 - 古くなった PR ブランチ間の Git マージコンフリクトを解決する場合(
/resolve-conflicts)。 - デッドコード、古くなった依存関係、ドキュメントの不整合を定期的に点検する場合(
/nightly)。 - GitHub ワークフローに Tend の保守アクションをインストールまたは設定する場合(
/install-tend)。
使用しない場面
- 新しい大規模な機能やアーキテクチャシステムを設計する場合(
fable-planまたはfable-architectureを使用してください)。 - 保護されたメインラインブランチに人間の承認なしで直接プッシュする場合(人間によるマージ承認は必須です)。
- 健全なコードを推測に基づいてリファクタリングする場合(
fable-simplifyを使用してください)。
入力
repository_event:GitHub Actions の Webhook、PR の差分、または新たに報告された問題のテキスト。ci_failure_log:失敗した CI ランナーのビルドトレースまたはテスト出力。
期待される出力
maintenance_diff:ビルドの失敗またはコンフリクトに対処する、最小限で的を絞った Git の差分。triage_report:失敗の診断、再現、検証の根拠を説明する構造化された概要。
手順
- ステージ 1 — 取り込みとトリアージ:
- トリガーとなった CI の失敗ログまたは問題の説明を解析します。
- 失敗の正確なメカニズム(コンパイルエラー、不安定なテスト、同時実行のタイムアウト、依存関係のずれ)を特定する明確な仮説を立てます。
- 問題をトリアージする場合は、コードを変更する前に、クリーンな一時ワークツリーでの再現を試みます。
- ステージ 2 — 的を絞った診断と修復:
- CI の失敗の場合:該当するテスト失敗またはビルドトレースを調査します。最近のコミット差分を
git logで確認します。 - 必要最小限の、的を絞った変更を適用します。保守修正に、ついでのクリーンアップを決して含めないでください。
- マージコンフリクトの場合:ターゲットブランチにリベースし、双方の当初の意図を維持し、リベース後に全テストが通過することを検証します。
- CI の失敗の場合:該当するテスト失敗またはビルドトレースを調査します。最近のコミット差分を
- ステージ 3 — 自律的な検証:
- ローカルのテストスイートを実行します(
bun test、npm test、cargo test、pytest)。 - リンター、型チェック、フォーマットのチェックが通過することを確認します。
- 機械による実行検証レシートを記録します。
- ローカルのテストスイートを実行します(
- ステージ 4 — 人間の承認を経た提出:
- 診断した症状、検証済みの根本原因、適用した修正、検証の根拠を添えて、プルリクエストを作成または更新します。
- 譲れないセキュリティ境界を守ります。メンテナーが自身の PR をマージすることはありません。
判断ルール
| 誘惑的な合理化 | 厳守すべき現実/不変条件 | 理由 |
|---|---|---|
| 「ローカルでテストに合格したので、自動マージしてもよいでしょう。」 | 禁止です。 Tend のメンテナーは決して自分でマージしません。 | マージ境界における人間の監督が、サプライチェーン侵害に対する主要な防御策です。 |
| 「CI を修正するついでに、ほかのファイルも整理しましょう。」 | 違反です。 CI 修正の差分は厳密に最小限にする必要があります。 | 余分な変更は修正内容を分かりにくくし、レビューを複雑にします。 |
| 「CI の失敗はおそらくランナーの不具合です。調べずに再試行しましょう。」 | 禁止です。 再実行する前にログを調査してください。 | やみくもな再試行は、断続的に発生する並行処理のバグを隠し、計算リソースを浪費します。 |
「他の人のブランチに force-with-lease でプッシュしましょう。」 | 禁止です。 同意なく、共同作業者の履歴を決して上書きしてはいけません。 | 自動化の利便性よりも、共同作業の安全性が優先されます。 |
- 最小差分ルール:すべてのメンテナンス差分は、ビルドを再び成功させるために必要な行だけを変更する必要があります。
- クリーンなリベースのルール:マージコンフリクトを解決する際、既存の著者情報をまとめたり、破棄したりしてはいけません。
ツールポリシー
- リベース、差分の確認、ログ履歴の調査には git CLI コマンドを実行してください。
- ビルドツールとパッケージマネージャーは、隔離された作業ディレクトリで実行してください。
- mainline ブランチに対して、破壊的な git コマンド(
git push --force、git reset --hard)を実行してはいけません。
証拠要件
- すべてのテストが合格したことを示す、完全な CI ログまたはローカルテストコマンドの実行記録を添付してください。
- 差分が最小限であることを証明する
git diff --statを提示してください。
失敗への対処
- CI の失敗をローカルで再現できない場合は、環境依存関係(Node/Bun のバージョン、OS の違い、コンテナー設定)を切り分けてください。
- ドメインに関する判断なしにはマージコンフリクトを適切に解決できない場合は、コンフリクトマップを添えてブランチの作成者にエスカレーションしてください。
完了基準
- 欠陥またはコンフリクトが解決され、クリーンで検証可能な git diff があること。
- リポジトリのすべてのテストスイートが、リグレッションなしで合格すること。
- 完全な検証記録を添えて PR を作成または更新し、人間によるマージ承認を待つこと。
コメント
Markdown 対応