Back to skills
SKILL.md
Fix With Verify
ASecurityバグ修正→コンパイル確認→回帰テスト→失敗時 revert の安全修正パイプライン。修正が新たなバグを生まないことを機械的に保証する。USE WHEN 単発バグ修正、影響範囲が見えにくい変更、リファクタの安全確認。SKIP 大規模機能追加は impl-orchestrator、セキュリティ Finding 一括修正は robust-fix、仕様整合性回復は spec-fix を使うこと。
- 4 stars
- 0 votes
- 0 copies
- 2 views
- Added September 12, 2026
Works with
Security analysis
100/100Pro scans all 2 files and shows the line behind each finding
npx -y skills add aibot88/sec_skill_store --skill fix-with-verify --agent claude-codeAre you the author of Fix With Verify?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-fix-with-verify)---
name: fix-with-verify
description: バグ修正→コンパイル確認→回帰テスト→失敗時 revert の安全修正パイプライン。修正が新たなバグを生まないことを機械的に保証する。USE WHEN 単発バグ修正、影響範囲が見えにくい変更、リファクタの安全確認。SKIP 大規模機能追加は impl-orchestrator、セキュリティ Finding 一括修正は robust-fix、仕様整合性回復は spec-fix を使うこと。
argument-hint: "[issue-description or file:line]"
allowed-tools: Read, Write, Edit, MultiEdit, Bash, Grep, Glob
---
# 修正 → 検証パイプライン
## Step 1: ベースライン記録
1. 修正対象ファイルの現在の状態を `git diff` で確認
2. **既存テストを実行してベースライン記録**(言語を自動検出):
| 言語 | コマンド |
|------|---------|
| Rust | `cargo test -p <crate> 2>&1 \| tail -20` |
| Python | `pytest <テストファイル> 2>&1 \| tail -20` |
| Go | `go test ./<パッケージ>/... 2>&1 \| tail -20` |
| Node | `npm test 2>&1 \| tail -20` |
3. 失敗テストがあれば、それが今回の修正対象か確認
## Step 2: 影響範囲分析
1. 修正対象の関数/型の呼び出し元を Grep で特定
2. モジュール依存関係を確認(コアモジュール修正 → 依存モジュールにも影響)
3. 公開 API のシグネチャ変更は影響範囲が広いため要注意
## Step 3: 修正実行
1. **1ファイルずつ修正**(複数ファイル一括変更禁止)
2. 各ファイル修正後にコンパイル/型チェック確認:
| 言語 | コマンド |
|------|---------|
| Rust | `cargo check -p <crate>` (コア修正時は `cargo check --workspace`) |
| Python | `ruff check <file>` / `mypy <file>` |
| Go | `go build ./<パッケージ>/...` |
| Node | `npx tsc --noEmit` |
3. コンパイル/型エラーがあれば即座に修正
## Step 4: セキュリティ・堅牢性チェック(修正内容に応じて)
以下のパターンが修正に含まれる場合、追加チェック:
### パニック/クラッシュ防止
- `unwrap()` / `expect()` → `?` またはエラーハンドリングに置換
- 配列インデックス → `.get()` + エラーハンドリング
- 0除算 → 分母の事前チェック
### インジェクション防止
- SQL/NoSQL 文字列結合 → パラメータバインドに置換
### 入力バリデーション
- 外部入力の型・範囲チェック追加
- NaN / Infinity / 空入力のハンドリング
## Step 5: リグレッション検証
1. Step 1 と同じテストスイートを実行
2. コアモジュール修正時は依存モジュールも検証:
- Rust: `cargo test --workspace`
- Go: `go test ./...`
- Node: `npm test`
3. **新たに失敗したテストがあれば修正を revert**:
```bash
git checkout HEAD -- <file>
```
4. revert 後、より小さな単位で再修正を試みる
5. 3回連続でリグレッションが起きたら代替案を3つ提案してユーザーに選択を求める
## Step 6: エッジケーステスト追加
修正に対応するテストが不足している場合、以下を追加:
- 修正したバグの再現テスト(今後のリグレッション防止)
- 境界値テスト(0, 空, 最大値, null/None/nil)
- エラーケーステスト(不正入力、タイムアウト等)
テスト追加後に再度テスト実行で PASS を確認。
## Step 7: 完了確認
1. `git diff --stat` で変更概要確認
2. lint グリーン確認(言語に応じたツール)
3. 修正内容サマリーを表示:
- 何が壊れていたか
- どう直したか
- 追加したテスト
Files in this skill
- SKILL.md
- source.json
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.