full-scan

Kiikurage's avatarfrom Kiikurage

Apply the same operation to all files matching a glob pattern. Use this skill whenever you need to process multiple files systematically, such as fixing guideline violations, unifying code style, or fixing type errors. Always use this skill when working with multiple files that match a pattern.

⭐0stars🔀0forks📁View on GitHub🕐Updated Oct 20, 2025

When & Why to Use This Skill

The Full Scan skill is a specialized developer utility designed for systematic, large-scale codebase modifications. It enables users to apply consistent operations—such as fixing guideline violations, unifying code styles, or resolving type errors—across multiple files matching specific glob patterns. By maintaining a persistent session state and tracking progress, it allows for reliable batch processing of large projects, ensuring no file is overlooked during complex refactoring or maintenance tasks.

Use Cases

  • Large-scale Refactoring: Systematically updating deprecated API calls, renaming components, or changing import paths across an entire repository using glob patterns.
  • Automated Code Quality Enforcement: Identifying and fixing linting or guideline violations across multiple packages in a monorepo to ensure architectural consistency.
  • Type Safety Migration: Iteratively resolving TypeScript errors or updating type definitions across all source files following a major dependency upgrade.
  • Boilerplate & Metadata Management: Batch-updating license headers, copyright notices, or standard configuration comments across all matching source files.
nameFull Scan
descriptionApply the same operation to all files matching a glob pattern. Use this skill whenever you need to process multiple files systematically, such as fixing guideline violations, unifying code style, or fixing type errors. Always use this skill when working with multiple files that match a pattern.

Full Scan

Instruction

ユーザーは例えば以下のような形式で依頼します:

<パターン>に対して<処理>を適用してください

例:

  • "packages/**/*.tsxに対してガイドライン違反を修正してください"
  • "src/**/*.ts"にマッチするファイル全てについて、フォーマットを修正して"

1. 既存セッションの確認

まず、full_scan_progress.jsonが存在するかチェックします。

python3 .claude/skills/full_scan/full_scan.py info
  • ファイルが存在し、同じ目的のセッションの場合:

    • 途中から再開します(ステップ3へ)
  • ファイルが存在するが、異なる目的の場合:

    • ユーザーに確認します:
      • 既存のセッションを継続するか
      • 新しいセッションを開始するか(既存データは削除されます)
  • ファイルが存在しない場合:

    • 新しいセッションを開始します(ステップ2へ)

2. 新規セッションの初期化

# セッションを初期化
python3 .claude/skills/full_scan/full_scan.py init "<処理の目的>"

# パターンを追加(複数可)
python3 .claude/skills/full_scan/full_scan.py add "<glob_pattern>"
python3 .claude/skills/full_scan/full_scan.py add "<glob_pattern2>"

# 状態確認
python3 .claude/skills/full_scan/full_scan.py info

3. ファイルの処理ループ

次の5件のファイルを取得し、処理を実行します:

python3 .claude/skills/full_scan/full_scan.py next

各ファイルに対して:

  1. ファイルの内容を確認
  2. 指定された処理を実行(例:ガイドライン違反の修正)
  3. 処理が完了したファイルを記録
# 処理完了をマーク(複数ファイルを一度に指定可能)
python3 .claude/skills/full_scan/full_scan.py complete path/to/file1.tsx path/to/file2.tsx

4. 進捗確認と繰り返し

# 進捗確認
python3 .claude/skills/full_scan/full_scan.py stats

未処理のファイルが残っている場合は、ステップ3に戻ります。

5. 完了

全てのファイルの処理が完了したら、ユーザーに報告します。

コマンドリファレンス

init <purpose>

新しいスキャンセッションを初期化します(既存データは削除されます)。

python3 .claude/skills/full_scan/full_scan.py init "TypeScriptファイルのガイドライン違反を修正"

add <pattern> [--purpose|-p <purpose>]

globパターンにマッチするファイルを追加します。

python3 .claude/skills/full_scan/full_scan.py add "packages/**/*.tsx"
python3 .claude/skills/full_scan/full_scan.py add "src/**/*.ts" --purpose "型エラーの修正"

next

未処理のファイルを5件返します。

python3 .claude/skills/full_scan/full_scan.py next

出力例:

packages/web/src/App.tsx
packages/web/src/NoteList.tsx
packages/web/src/NoteItem.tsx

complete <path> [<path2> ...]

指定されたパスを処理済みとしてマークします。

python3 .claude/skills/full_scan/full_scan.py complete packages/web/src/App.tsx packages/web/src/NoteList.tsx

info

現在のスキャンセッションの情報を表示します。

python3 .claude/skills/full_scan/full_scan.py info

出力例:

Purpose: TypeScriptファイルのガイドライン違反を修正
Patterns: packages/**/*.tsx, packages/**/*.ts
Total files: 20
Completed: 5
Pending: 15
Progress: 25.0%

stats

進捗統計を表示します。

python3 .claude/skills/full_scan/full_scan.py stats

データ構造

full_scan_progress.json の構造:

{
  "purpose": "TypeScriptファイルのガイドライン違反を修正",
  "patterns": ["packages/**/*.tsx", "packages/**/*.ts"],
  "files": {
    "packages/web/src/App.tsx": true,
    "packages/web/src/NoteList.tsx": false,
    "packages/web/src/NoteItem.tsx": false
  }
}
  • purpose: スキャンセッションの目的
  • patterns: 検索に使用したglobパターンのリスト
  • files: ファイルパスと処理状態(true: 処理済み、false: 未処理)