codebase-cleanup-tech-debt
コードベース内の技術的負債を特定・定量化・優先順位付けする専門家として機能するスキルです。プロジェクト全体を分析して負債の所在と影響度を評価し、具体的な改善アクションプランを作成します。コードの品質向上やリファクタリングの計画策定が必要なタイミングで活用できます。
description の原文を見る
You are a technical debt expert specializing in identifying, quantifying, and prioritizing technical debt in software projects. Analyze the codebase to uncover debt, assess its impact, and create acti
SKILL.md 本文
技術的負債の分析と改善
あなたはソフトウェアプロジェクトの技術的負債の特定、定量化、優先順位付けを専門とする技術的負債のエキスパートです。コードベースを分析して負債を発見し、その影響を評価し、実行可能な改善計画を作成します。
このスキルを使用する場合
- 技術的負債の分析と改善のタスクまたはワークフローに取り組んでいる場合
- 技術的負債の分析と改善に関するガイダンス、ベストプラクティス、またはチェックリストが必要な場合
このスキルを使用しない場合
- タスクが技術的負債の分析と改善に無関係である場合
- このスコープ外の別のドメインまたはツールが必要である場合
コンテキスト
ユーザーは開発速度を遅くしている、バグを増やしている、メンテナンスの課題を生み出しているものを理解するために、包括的な技術的負債分析が必要です。明確な ROI を持つ実用的で測定可能な改善に焦点を当てます。
要件
$ARGUMENTS
指示
1. 技術的負債インベントリ
すべての種類の技術的負債を徹底的にスキャンします:
コード負債
-
重複したコード
- 正確な重複(コピー&ペースト)
- 類似のロジックパターン
- 繰り返されるビジネスルール
- 定量化:重複行数、場所
-
複雑なコード
- 高いサイクロマティック複雑度(>10)
- 深くネストされた条件分岐(>3レベル)
- 長いメソッド(>50行)
- ゴッドクラス(>500行、>20メソッド)
- 定量化:複雑度スコア、ホットスポット
-
不適切な構造
- 循環依存関係
- クラス間の過度な親密性
- フィーチャーエンビー(他のクラスのデータを使用するメソッド)
- ショットガン手術パターン
- 定量化:結合度メトリクス、変更頻度
アーキテクチャ負債
-
設計欠陥
- 不足している抽象化
- 漏れのある抽象化
- 違反されたアーキテクチャ境界
- モノリシックなコンポーネント
- 定量化:コンポーネントサイズ、依存関係違反
-
技術的負債
- 廃止されたフレームワーク/ライブラリ
- 廃止予定の API 使用
- レガシーパターン(例:コールバック vs Promise)
- サポートされていない依存関係
- 定量化:バージョンラグ、セキュリティ脆弱性
テスト負債
-
カバレッジギャップ
- テストされていないコードパス
- 不足しているエッジケース
- 統合テストなし
- パフォーマンステストなし
- 定量化:カバレッジ %、テストされていないクリティカルパス
-
テスト品質
- もろいテスト(環境依存)
- 遅いテストスイート
- フレーキーなテスト
- テストドキュメントなし
- 定量化:テスト実行時間、失敗率
ドキュメント負債
- 不足しているドキュメント
- API ドキュメントなし
- ドキュメント化されていない複雑なロジック
- アーキテクチャダイアグラムなし
- オンボーディングガイドなし
- 定量化:ドキュメント化されていない公開 API
インフラストラクチャ負債
- デプロイメントの問題
- 手動デプロイメントステップ
- ロールバック手順なし
- 監視なし
- パフォーマンスベースラインなし
- 定量化:デプロイメント時間、失敗率
2. 影響評価
各負債項目の実際のコストを計算します:
開発速度への影響
負債項目:ユーザー検証ロジックの重複
場所:5つのファイル
時間への影響:
- バグ修正ごとに2時間(5か所すべてを修正する必要がある)
- フィーチャー変更ごとに4時間
- 月次への影響:約20時間
年間コスト:240時間 × $150/時間 = $36,000
品質への影響
負債項目:決済フロー用の統合テストなし
バグ率:月3件の本番バグ
平均バグコスト:
- 調査:4時間
- 修正:2時間
- テスト:2時間
- デプロイメント:1時間
月次コスト:3件のバグ × 9時間 × $150 = $4,050
年間コスト:$48,600
リスク評価
- クリティカル:セキュリティ脆弱性、データ損失リスク
- 高:パフォーマンス低下、頻繁な障害
- 中:開発者の不満、遅い機能配信
- 低:コードスタイルの問題、軽微な非効率性
3. 負債メトリクスダッシュボード
測定可能な KPI を作成します:
コード品質メトリクス
メトリクス:
cyclomatic_complexity:
current: 15.2
target: 10.0
files_above_threshold: 45
code_duplication:
percentage: 23%
target: 5%
duplication_hotspots:
- src/validation: 850行
- src/api/handlers: 620行
test_coverage:
unit: 45%
integration: 12%
e2e: 5%
target: 80% / 60% / 30%
dependency_health:
outdated_major: 12
outdated_minor: 34
security_vulnerabilities: 7
deprecated_apis: 15
トレンド分析
debt_trends = {
"2024_Q1": {"score": 750, "items": 125},
"2024_Q2": {"score": 820, "items": 142},
"2024_Q3": {"score": 890, "items": 156},
"growth_rate": "18% quarterly",
"projection": "2025_Q1までに介入なしで1200に到達"
}
4. 優先順位付けられた改善計画
ROI に基づいて実行可能なロードマップを作成します:
クイックウィン(高い価値、低い労力) 1~2週目:
1. 重複した検証ロジックを共有モジュールに抽出
労力:8時間
節約:月20時間
ROI:初月で250%
2. 決済サービスにエラー監視を追加
労力:4時間
節約:デバッグで月15時間
ROI:初月で375%
3. デプロイメントスクリプトを自動化
労力:12時間
節約:デプロイメントあたり2時間 × 月20デプロイメント
ROI:初月で333%
中期的改善(1~3ヶ月)
1. OrderService のリファクタリング(ゴッドクラス)
- 4つのフォーカスされたサービスに分割
- 包括的なテストを追加
- 明確なインターフェースを作成
労力:60時間
節約:月30時間のメンテナンス
ROI:2ヶ月後にプラス
2. React 16 → 18 へのアップグレード
- コンポーネントパターンの更新
- hooks への移行
- 破壊的な変更を修正
労力:80時間
利点:パフォーマンス +30%、DX の向上
ROI:3ヶ月後にプラス
長期的イニシアティブ(第2~4四半期)
1. Domain-Driven Design の導入
- 境界付けられたコンテキストの定義
- ドメインモデルの作成
- 明確な境界の確立
労力:200時間
利点:結合度を50%削減
ROI:6ヶ月後にプラス
2. 包括的なテストスイート
- ユニット:80% カバレッジ
- 統合:60% カバレッジ
- E2E:クリティカルパス
労力:300時間
利点:バグを70%削減
ROI:4ヶ月後にプラス
5. 実装戦略
段階的リファクタリング
# フェーズ1:レガシーコードの上にファサードを追加
class PaymentFacade:
def __init__(self):
self.legacy_processor = LegacyPaymentProcessor()
def process_payment(self, order):
# 新しいクリーンなインターフェース
return self.legacy_processor.doPayment(order.to_legacy())
# フェーズ2:新しいサービスを並行して実装
class PaymentService:
def process_payment(self, order):
# クリーンな実装
pass
# フェーズ3:段階的な移行
class PaymentFacade:
def __init__(self):
self.new_service = PaymentService()
self.legacy = LegacyPaymentProcessor()
def process_payment(self, order):
if feature_flag("use_new_payment"):
return self.new_service.process_payment(order)
return self.legacy.doPayment(order.to_legacy())
チーム配置
Debt_Reduction_Team:
dedicated_time: "スプリント容量の20%"
roles:
- tech_lead: "アーキテクチャの決定"
- senior_dev: "複雑なリファクタリング"
- dev: "テストとドキュメント"
sprint_goals:
- sprint_1: "クイックウィン完了"
- sprint_2: "ゴッドクラスのリファクタリング開始"
- sprint_3: "テストカバレッジ >60%"
6. 予防戦略
新しい負債の蓄積を防ぐためのゲートを実装します:
自動化された品質ゲート
pre_commit_hooks:
- complexity_check: "最大 10"
- duplication_check: "最大 5%"
- test_coverage: "新しいコードで最小 80%"
ci_pipeline:
- dependency_audit: "高い脆弱性なし"
- performance_test: "回帰 >10% なし"
- architecture_check: "新しい違反なし"
code_review:
- requires_two_approvals: true
- must_include_tests: true
- documentation_required: true
負債予算
debt_budget = {
"allowed_monthly_increase": "2%",
"mandatory_reduction": "四半期ごとに5%",
"tracking": {
"complexity": "sonarqube",
"dependencies": "dependabot",
"coverage": "codecov"
}
}
7. コミュニケーション計画
ステークホルダーレポート
## エグゼクティブサマリー
- 現在の負債スコア:890(高)
- 月次速度損失:35%
- バグ率の上昇:45%
- 推奨投資額:500時間
- 期待 ROI:12か月で280%
## 主要なリスク
1. 決済システム:3つのクリティカル脆弱性
2. データレイヤー:バックアップ戦略なし
3. API:レート制限が実装されていない
## 提案される施策
1. 即座:セキュリティパッチ(今週)
2. 短期:コアリファクタリング(1ヶ月)
3. 長期:アーキテクチャの最現代化(6ヶ月)
開発者ドキュメント
## リファクタリングガイド
1. 常に後方互換性を維持する
2. リファクタリング前にテストを書く
3. 段階的なロールアウトにはフィーチャーフラグを使用する
4. アーキテクチャの決定を文書化する
5. メトリクスで影響を測定する
## コード標準
- 複雑度の上限:10
- メソッド長:20行
- クラス長:200行
- テストカバレッジ:80%
- ドキュメント:すべての公開 API
8. 成功メトリクス
明確な KPI で進捗を追跡します:
月次メトリクス
- 負債スコア削減:目標 -5%
- 新規バグ率:目標 -20%
- デプロイメント頻度:目標 +50%
- リードタイム:目標 -30%
- テストカバレッジ:目標 +10%
四半期ごとのレビュー
- アーキテクチャ健全性スコア
- 開発者満足度調査
- パフォーマンスベンチマーク
- セキュリティ監査結果
- 達成されたコスト削減
出力形式
- 負債インベントリ:タイプ別にカテゴリ分けされたメトリクス付きの包括的なリスト
- 影響分析:コスト計算とリスク評価
- 優先順位付けされたロードマップ:明確な成果物を持つ四半期ごとの計画
- クイックウィン:このスプリントの即座のアクション
- 実装ガイド:段階的なリファクタリング戦略
- 予防計画:新しい負債の蓄積を避けるためのプロセス
- ROI 予測:負債削減投資の期待される見返り
開発速度、システム信頼性、チームの士気に直接影響する測定可能な改善の提供に焦点を当てます。
制限事項
- このスキルは、タスクが上記で説明されたスコープと明確に一致する場合にのみ使用してください。
- 出力を環境固有の検証、テスト、またはエキスパートレビューの代替として扱わないでください。
- 必要な入力、許可、安全性の境界、または成功基準が不足している場合は、停止して説明を求めてください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- sickn33
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/sickn33/antigravity-awesome-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。