Communitygithub.com

treeturtlefall-arch/skill

画像にフィルムカメラのクォーツデート(日付スタンプ)の物理光学露光を焼き付ける道具を、AIエージェントから使うための手続き。描画は物理光学シミュレーションエンジン(FilmDateStamp)が行い、このスキルは「頼まれたら迷わず最適なプリセットと日時で焼き付け、結果を正しく報告する」ことを規定する。

skill とは?

このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)が画像にフィルムカメラ風のクォーツデート(日付スタンプ)を物理光学露光として焼き付けるための手続きを定義します。内部ではFilmDateStampという物理光学シミュレーションエンジンが描画処理を担当し、エージェントは`film-date-agent`コマンド経由で操作します。スキルは「依頼されたら迷わず最適なプリセットと日時で焼き付け、結果を正確に報告する」という動作を規定しており、ユーザーからの指示(例:「写ルンです風にして」「90年代の日付を入れて」)に応じて適切なプリセットと日付・時刻オプションを選択し、結果をJSON形式で報告します。未導入の場合は自動的に導入スクリプトを実行する手順も含んでいます。エラーコードごとの対応方法も定義されており、エージェントが自律的に問題を解決できるよう設計されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/treeturtlefall-arch/FilmDateStamp-agent/tree/HEAD/skill

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

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

ドキュメント

film-date-agent

画像にフィルムカメラのクォーツデート(日付スタンプ)の物理光学露光を焼き付ける道具を、AIエージェントから使うための手続き。描画は物理光学シミュレーションエンジン(FilmDateStamp)が行い、このスキルは「頼まれたら迷わず最適なプリセットと日時で焼き付け、結果を正しく報告する」ことを規定する。

道具

  • コマンド: film-date-agent(または python -m film_date_agent)
  • 導入確認: film-date-agent doctor が全項目 [OK] であること
  • プリセット: favorite(お気に入り)が既定。実体は favorites.json が決める(既定は Japanese Snap (Disposable):写ルンです風、オレンジ発光、5x7カプセルドット、時分併記)。

未導入・コマンドが見つからない場合

  • film-date-agent が無い、または doctor が通らない場合は、まず導入を行う。リポジトリ(https://github.com/treeturtlefall-arch/FilmDateStamp-agent)をクローン済みなら bash scripts/install_agent.sh を実行し、続けて bash scripts/install_skill.sh でこのスキルを配置し直す。
  • 導入後に再度 film-date-agent doctor --json を実行し、"ok": true を確認してから本手順に戻ること。

トリガー語(こんな指示があったら発動)

  • 「写真に日付スタンプを入れて」「フィルム風の日付を入れて」「レトロな日付を入れて」
  • 「写ルンですっぽくして」「90年代風の日付を入れて」「80年代の一眼レフ風にして」
  • 「撮影日時を焼き付けて」「EXIFの日付を入れて」
  • 「日付と時刻(時間)も入れて」
  • 画像を生成・加工した直後に「日付スタンプ押して」と言われた場合も対象

実行手順

  1. 対象画像の特定:

    • 会話の中で言及されている画像、または直前に生成・編集した画像を特定する。不明な場合は勝手に推測せず確認する。
  2. プリセットとパラメータの選択:

    • 特に指定がない場合: 既定のお気に入り(favorite)を使用する。
      film-date-agent apply <対象画像> --json
      
    • 世界観や時代・スタイルの指定がある場合:
      • 「写ルンです風」「使い捨てカメラ風」: --preset japanese-snap-disposable(オレンジ発光・5x7カプセルドット・時分併記)
      • 「90年代日本」「東京スナップ」: --preset japanese-tokyo-90s(アンバー発光・80s 7セグ)
      • 「アメリカ風」「西海岸」: --preset american-west-coast(ゴールデンイエロー・月日年順)
      • 「80年代モーテル」「赤色LED」: --preset american-80s-red-quartz(クォーツレッド・一眼レフ直立7セグ)
      • 「ヨーロッパ」「パリ/ベルリン」: --preset european-classic-parisberlin(ドット区切り・控えめ露光)
      • 「2000年代初頭」「初期コンデジ」: --preset y2k-digicam-early-2000s(等幅液晶フォント)
      • 「70年代」「クラシックカメラ」: --preset monochrome-70s-canodate-e または --preset vintage-70s-color-datematic(機械式彫刻活字)
      • 「サイバー」「SF映画」: --preset cyber-telemetry-80s-sci-fi(サイバーグリーンHUD)
      • 「平成レトロ」「プリクラ風」: --preset y2k-pop-heisei-fancy(ネオピンク丸文字)
  3. 日付・時刻オプションの組み立て:

    • 指定がない場合(既定): お気に入りでは favorites.json の date 設定(初期値は photo)に従い、EXIF 撮影日時 → ファイルの生成・更新時刻 → 現在時刻の順で自動決定される。お気に入り以外のプリセットでは、各プリセット既定の日付が使われる。
    • 写真の撮影日時を使いたい場合:
      • 「撮影日時で」「EXIFの日付で」→ --date photo を指定する(自動で EXIF の撮影日時を抽出)。
    • 特定の日時を指定された場合:
      • 「1998年12月24日にして」→ -d "'98 12 24" または --at 1998-12-24
      • 「2004年8月15日 14時30分」→ --at 2004-08-15T14:30 --show-time
    • 今日の現在時刻を使いたい場合:
      • 「今日の日付で」「今の時間で」→ --date auto
    • 時刻(HH:MM)の表示/非表示:
      • 「時間も入れて」「何時何分も」→ --show-time
      • 「日付だけで」「時間は不要」→ --no-time
    • ランダムなヴィンテージ日付にしたい場合:
      • 「適当な昔の日付で」「ランダムで」→ --date random
  4. 結果の報告:

    • --json の出力をパースし、ok が true であれば、output に格納された画像パスをユーザーに提示・報告する。
    • 焼き付けた実際の日付文字列(date_text)および適用したスタイル(preset_resolved)を一言添える。
    • 例: 「90年代東京スナップ風(Japanese Tokyo 90s)で、撮影日時 '03 10 02 17:49 を焼き付けました。」
  5. エラー時の対応:

    • 終了コード 2(設定エラー): film-date-agent presets list で利用可能なプリセットを確認して選び直す。
    • 終了コード 3(入力ファイル不在): 入力画像のパスを確認する。
    • 終了コード 4(出力ファイル重複): 既定では自動連番(_stamped_1)になるが、上書きを求められている場合は --overwrite を付与する。
    • 終了コード 5(エンジン失敗): film-date-agent doctor の結果を確認してユーザーに報告する。

「どんなことができるの?」と聞かれたら

  1. film-date-agent capabilities --json を実行し、最新の能力一覧に基づいて答える。
  2. 説明の型:
    • フィルム乳剤への光の焼き付け(物理光学露光、中心芯白飛び、ハレーション拡散)をシミュレートする道具であること。
    • 12種類の時代・地域別プリセット(90s東京スナップ、写ルンです風、西海岸、80s赤LED、初期コンデジ等)があること。
    • 日付は写真のEXIF撮影日時、現在日時、レトロランダム、自由な指定文字列から選べること。
    • ユーザー好みの設定を作成して「お気に入り(favorite)」に保存できること。

守ること

  • 元画像を直接上書きしない(-o に入力画像と同じパスを指定しない)。
  • 報告は JSON の output を正とする。推測でファイル名を答えない。

関連スキル