Communityコーディング&開発github.com

jcchikikomori/skills-md

Claude Code と opencode のためのスキルリポジトリ

skills-md とは?

このスキルは、Claude Code や opencode などの AI エージェントに対して、Git 操作の厳格なルールを適用するための設定ファイルです。特に GPG 署名付きコミットをユーザー自身が行う環境において、エージェントによる `git commit` や `git push` の自動実行を禁止し、`git add` によるステージングと読み取り専用コマンドに制限します。マージやリベースの前には、上流ブランチとの差分やファイルの競合リスクを評価し、テストやスペックファイルへの影響を確認する手順を定めています。これにより、誤ったコミットや CI の誤検出を防ぎ、安全かつ予測可能なワークフローを実現します。また、タグのバージョニングやプルリクエストのサイズ制限など、プロジェクトの品質基準を維持するためのガイドラインも含まれています。

対応✓Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add jcchikikomori/skills-md

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Git ルール

  • git commit や git push は絶対に実行しない — コミットは GPG で署名されるためです。
  • あなたの仕事は 変更を準備してステージングするだけ (git add) です。ユーザーが GPG + TTY が動作する自身のターミナルで手動でコミットおよびプッシュします。
  • git stash、git diff、git status、git log、git add、および読み取り専用の git コマンドはすべて問題ありません。
  • 元に戻す/取り消す場合は、git blame を使用して変更を特定し、ミスを減らします。
  • 変更を行う前に、まず現在のリポジトリをフェッチします。上流から進行中の変更がある場合は、マージ/リベースが必要かどうかを尋ねます。

ターゲットブランチへのマージ/リベース

上流の変更を統合する前に、以下の手順を順に実行します。

  1. 上流をフェッチ

    git fetch origin
    
  2. 分岐を確認 — 現在のブランチにないターゲット上のコミット

    git log HEAD..origin/<target> --oneline
    
  3. 重複するファイル変更を確認

    git diff --name-only HEAD...origin/<target>
    
  4. スペック/テスト影響チェックを実行 (以下を参照) — これはマージまたはリベースの前に行います。

  5. 競合リスクを評価 — 分岐またはファイルの重複が大きい場合は、マージとリベースのどちらにするかユーザーに尋ねます。

  6. ステージングのみ — ユーザーが手動でコミットおよびプッシュします (GPG 制約)。

スペックとテストの影響チェック

マージまたはリベースの前に、現在のブランチの作業と重複する上流のスペック/テスト変更がないかスキャンします。

git diff HEAD...origin/<target> -- \
  '*_spec.rb' '*.spec.*' '*.test.*' \
  'spec/' 'test/' '__tests__/' 'tests/'

上流でスペック/テストファイルが変更された場合:

  • 差分を表示 — どのテストファイルが変更されたか、および何が変更されたかを示します。
  • ドメインの重複をフラグ — 変更されたテストが、現在のブランチが変更する同じ機能やファイルをカバーしているかどうかを特定します。
  • 先に進む前に尋ねる — 現在のブランチの実装が古いまたは新しく変更されたスペックによってテストされる可能性がある場合は、最初にブランチを更新するか、そのまま進めるかをユーザーに尋ねます。

根拠: 新しい実装を含むブランチに上流のテスト変更をマージすると、CI で false-negative が発生します。テストは古い動作をテストするため合格します。マージ前にスペックのずれを捕捉することで、混乱を招く下流の障害を回避できます。

競合の解決

  • マージ競合がある場合は、問題を評価し、解決するかどうかをユーザーに決定してもらいます。
  • 競合はファイルごとに解決します。すべてを一度に解決しないでください。

タグ

  • 既存のバージョンプレフィックスに従います (利用可能な場合)。
  • SemVer のバージョニング形式に従います (例: v1.0.0-beta)。

プルリクエスト基準

  • PR サイズ ≤ 200 行 (合理的な簡略化が不可能な場合を除く)。
  • 範囲限定: チケット/ストーリーの変更のみ (無関係なリファクタリングは不可)。
  • 短い説明または変更点を箇条書きで記述。

関連スキル