TODO・FIXME コメントを担当者・経過日数つきで一覧化

TODO / FIXME tracker with blame author, age and owner groups

リポジトリ内の TODO・FIXME・HACK・XXX コメントを、ファイルと行番号、git blame による作成者と経過日数つきで集め、担当者別・古さ別にまとめて Markdown か CSV で出力します。Issue の下書きも作れます。

ClaudeHermes AgentCodexCursorMIT(改変・再配布・商用利用可)Python

できること

コードに残った TODO などの「あとでやる」コメントを棚卸しします。

  • Git で管理しているファイルから TODO・FIXME・HACK・XXX(タグは変更可)を検索
  • コメント記号(#、//、/*、<!--、-- など)の後にあるものだけを拾い、文字列中の単語は除外
  • git blame --porcelain で、その行の作成者・メール・日付・経過日数・コミットを取得。未コミットの行も区別
  • TODO(alice): や FIXME[bob] のようにコメントに書かれた担当者も読み取る
  • 担当者別・古さ別(30 日未満/30〜90 日/90〜365 日/1 年超)・タグ別・ファイル別にまとめる
  • 日数・担当者・フォルダで絞り込み、Markdown・CSV・JSON で出力
  • 1 件ごとの Issue 下書き(場所・作成者・内容・完了条件)も作成

使い方

python scripts/todo_scan.py --group age
python scripts/todo_scan.py --format csv --out todos.csv
python scripts/todo_scan.py --older-than 365 --issues --out old-todos.md

エージェントに「1 年以上前の TODO を一覧にして、Issue の下書きも作って」などと頼みます。Claude・Codex・Hermes Agent・Cursor で使えます。

必要な環境

  • Python 3(標準ライブラリのみ)
  • Git

注意点

  • 読み取り専用です。Issue の登録やコメントの削除は、頼んだ場合だけエージェントが行います。
  • blame の作成者は「その行を最後に変更した人」です。整形だけのコミットで変わることがあります。
  • バイナリ、ロックファイル、圧縮済みファイル、1 MB を超えるファイル、Git 管理外のファイルは対象外です。
  • CSV・JSON にはメールアドレスが含まれるので、外部に共有するときは注意してください。
English description

Collects TODO, FIXME, HACK and XXX comments with file:line, git blame author and age, groups them by owner or age, and outputs Markdown or CSV with optional issue drafts.

What it does

Takes stock of "do it later" comments left in the code.

  • Searches tracked files for TODO, FIXME, HACK and XXX (tags are configurable)
  • Matches only after a comment marker (#, //, /*, <!--, -- and others), so words inside strings are ignored
  • Uses git blame --porcelain for the line's author, email, date, age in days and commit; uncommitted lines are marked
  • Reads owners written in the comment, such as TODO(alice): or FIXME[bob]
  • Groups by owner, age (under 30 days, 30-90, 90-365, over 1 year), tag or file
  • Filters by age, owner or folder; outputs Markdown, CSV or JSON
  • Optional issue draft per item (location, author, text, done-when checklist)

How to use

python scripts/todo_scan.py --group age
python scripts/todo_scan.py --format csv --out todos.csv
python scripts/todo_scan.py --older-than 365 --issues --out old-todos.md

Ask the agent something like "list TODOs older than a year and draft issues for them". Works with Claude, Codex, Hermes Agent and Cursor.

Requirements

  • Python 3 (standard library only)
  • Git

Caveats

  • Read-only. The agent files issues or removes comments only when you ask.
  • The blame author is whoever last changed the line; formatting-only commits can change it.
  • Binary files, lockfiles, minified files, files over 1 MB and untracked files are skipped.
  • CSV and JSON output include author emails; take care when sharing outside the team.

インストール方法

  1. ダウンロードしたZIPを展開します(中に todo-fixme-tracker/ フォルダと SKILL.md があります)。
  2. フォルダごと、使うエージェントのスキル置き場にコピーします。
    • Claude:~/.claude/skills/(プロジェクト単位なら .claude/skills/)
    • Hermes Agent:~/.hermes/skills/
    • Codex:~/.agents/skills//Cursor:~/.cursor/skills/
    • Claude アプリ(claude.ai):「カスタマイズ → スキル」からZIPをアップロード
  3. エージェントを再起動し、スキル一覧に表示されることを確認します。

Windows・Mac 別、エージェント別のインストール手順

出品者

HackStar

Skills that make everyday developer work faster and safer: Git, testing, APIs and security.

出品スキル 8 件

出品者のプロフィールとスキル一覧