audit
Freeプロジェクト監査。「監査して」「audit」「/audit」で発火。設計/UX/品質/テストなどの観点でコードベース全体を監査し、課題をissuesディレクトリに書き出す。実行ログで重複実行を防止。特定の差分・コミットのレビューには使わない(codex-review / cross-review を使う)。
The English summary is being prepared. Showing the original description.
Swift の repo で、新しいメソッド (ヘルパー・初期化・値を組み立てる関数) を書く前に同じものが既にないかを dupscan index で引き、実装が終わったセルフレビューで dupscan gate を回して増えた写しを寄せる。
関連の実装 (定義・参照・ファイルの中身・呼び出し元) を grep より先に探すときにも使う (def / refs / callers)。「dupscan」「重複したメソッド」「類似メソッドの統合」「既にあるヘルパーを探して」「セルフレビュー」「定義元」「参照」「呼び出し元」「似た関数」で発火。
寄せるときはドメインの境界を確かめる (4 節)。Swift 以外の repo では使わない (対応する言語は Swift だけ)。
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
dupscan (実体は dotfiles の bin/dupscan。PATH 上にあるので、どの repo でもそのまま呼べる) は Swift のメソッドを構文木で読む。調べる repo には何も書かない。
詳しい使い方と限界は ~/dotfiles/src/dupscan/README.md、検出の方法は ~/dotfiles/docs/dupscan-detection.md。
写しが生まれやすいもの (ヘルパー・初期化・値を組み立てる関数・テストの fixture) を書く前に、同じものが既にないかを 1 回引く。 全部の定義の前に引く必要はない。上位 20 件を 1 行ずつ返す (DualNoteApp の 1130 単位で 0.5 秒。初回だけ build に時間がかかる)。
dupscan index -returns StorageLocation # 作ろうとしている値の型 (戻り値の型の一部)
dupscan index -name location # 名前の候補の一部
dupscan index -param-type ConnectionID # 受け取る型
dupscan index -doc bucket # doc comment の語
使えるものがあれば使う (repo が .dupscan.json の shared に書いた共通の置き場所の定義は [shared] と出て先に並ぶ。
他のファイルから使えないものは [private] か [fileprivate] と出る。使うなら共通の置き場所へ寄せる)。無ければ書く。
Swift の定義・参照を探すときは grep より先にこちらを使う。構文木から引くので、コメント・文字列・呼び出し側の行が混ざらず、返る量が少ない (LSP の「定義へ移動」「参照を検索」の代わり。Swift の 4 repo の 7 日で grep 2,882 回に対し dupscan 13 回だった。issue 921)。 文字列・コメント・設定ファイルを探すなら grep のほうが向く。Swift の repo でシンボルを grep すると、hook がこの節のコマンドを 1 行案内する。
dupscan def StorageClient # 定義を本体つきで (型は宣言とメンバーの一覧: protocol の要件・格納 property・enum の case を含む)
dupscan def StorageClient.upload # 型を絞る (generic の引数と where 句は外して照合する)。make(x:_:) で引数ラベルも絞れる
dupscan refs StorageClient # 参照の一覧 ([型の位置] / [式の位置] と、それを囲む関数)。宣言名・引数名・局所の束縛・ラベルは数えない
dupscan callers 'make(x:_:)' # 呼び出しの箇所と、それを囲む関数 (名前だけでも引ける)
dupscan index -file Sources/Foo.swift # このファイルに何があるか (outline)
型を解決しないので、同名の別の定義・参照も当たる (近似)。flag は名前・パスの前に書く。
実装が終わったら、commit の前に回す。repo が make test や CI に gate を組み込んでいれば同じ判定がそこでも走るので、先に回せば手戻りが減る (組み込んでいない repo では、ここで回すのが唯一の確かめ)。
dupscan gate # upstream との merge-base から作業ツリーまでに増えた写し。無ければ 1 行で rc=0
// dupscan:allow <false-positive|intentional> <理由>、
組なら違反の -v に出る「除外の 1 行」に kind と reason を埋めて repo の root の .dupscan.json に貼る。
除外を書いたら、ユーザーへの報告に書く (除外は gate を緩めるので、人の目に届けるのが唯一の歯止め。gate の 1 行目にも「新しく足された除外」と出る)-base origin/master のように渡すdupscan near <file>:<関数名> / dupscan explain <file>:<関数名>dupscan が見るのは本体の形だけで、ドメインの境界は見ない。同じ形でも同じ規則とは限らない。gate の違反を寄せるときも、 report の既存の組をまとめて統合するときも、1 組ずつ次を確かめてから寄せる (ユーザー指示 2026-10-25)。
intentional と理由を書いて除外するUtil / Helper / Common のような、ドメインの語で名前の付かない置き場所に寄せない。
寄せた先の型・関数の名前をドメインの語で付けられないなら、境界をまたいでいる兆候として寄せ方を考え直すNo reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
プロジェクト監査。「監査して」「audit」「/audit」で発火。設計/UX/品質/テストなどの観点でコードベース全体を監査し、課題をissuesディレクトリに書き出す。実行ログで重複実行を防止。特定の差分・コミットのレビューには使わない(codex-review / cross-review を使う)。
The English summary is being prepared. Showing the original description.
AVFoundation (AVPlayer / AVPlayerLayer / AVPlayerItemVideoOutput / AVAsset) の落とし穴・文書化されていない実装挙動・debugging チェックリストを集約した reference skill。Swift / Objective-C で AVPlayer を使った動画再生 / seek / scrub / frame stepping を実装・debug するときに発火。VLCKit ではなく **AVFoundation 系** の問題に特化。
The English summary is being prepared. Showing the original description.
このセッションで行った変更をコミットする。「コミットして」「commit」「/c」で発火。push はしない/クレデンシャルは混入させない。
The English summary is being prepared. Showing the original description.
ディレクトリ・レイヤーごとに置いた CLAUDE.md と README.md が実体 (コード・コマンド・構成) とずれていないかを点検し、裏の取れた乖離だけを直す。引数で対象のディレクトリを任意に指定できる (省略時は repo 全体)。「CLAUDE.md を refresh して」「README が古くないか見て」「claude-md-refresh」「/claude-md-refresh」で発火。issues/ の更新漏れは issue-writeback / issue-sync の担当で、この skill は扱わない。
The English summary is being prepared. Showing the original description.
一時領域 (/private/tmp の Claude Code の作業場所・$TMPDIR・dotfiles の tmp/) に溜まったものを bin/tmpclean で数え、消す候補を種類ごとに見せて、ユーザーが承認した plan の古くて使用中でないものだけをゴミ箱へ移す (dotfiles の tmp/ は別の承認を取って make clean-tmp で消す)。「/tmp を掃除して」「一時ファイルを片付けて」「TMPDIR が溜まっていないか見て」「cleanup-tmp-dir」で発火。消す前に必ず承認を取る。
The English summary is being prepared. Showing the original description.
Codex が設計・実装を担い、Claude が要件確定・成果物の検証・反復・commit/push を管理する。「codex に書かせて」「codex メインで実装」「codex-drive」で発火。大きめの機能・移植・プロトコル実装向け。余剰トークンを厚く使う運用も選べる。
The English summary is being prepared. Showing the original description.