What does film-date-agent do?
A tool to burn physical optical film camera quartz date stamps onto images, usable from an AI agent. The rendering is done by a physical optical simulation engine (FilmDateStamp), and this skill specifies 'when asked, unhesitatingly burn the optimal preset and date/time and correctly report the result'.
Tool
- Command:
film-date-agent(orpython -m film_date_agent) - Setup verification:
film-date-agent doctormust show all items as[OK] - Preset:
favoriteis the default. The actual content is determined byfavorites.json(default isJapanese Snap (Disposable): disposable camera style, orange glow, 5x7 capsule dots, hour and minute displayed).
If Not Installed / Command Not Found
- If
film-date-agentis missing ordoctorfails, first proceed with installation. If the repository (https://github.com/treeturtlefall-arch/FilmDateStamp-agent) is already cloned, runbash scripts/install_agent.sh, then runbash scripts/install_skill.shto re-deploy this skill. - After installation, run
film-date-agent doctor --jsonagain and confirm"ok": truebefore returning to this procedure.
Trigger Phrases (Activate Upon These Instructions)
- "Add a date stamp to the photo" / "Put a film-style date on it" / "Add a retro date"
- "Make it look like a disposable camera" / "Add a 90s-style date" / "Make it like an 80s SLR"
- "Burn the shooting date and time" / "Add the EXIF date"
- "Also include date and time"
- Also applicable when asked "Put a date stamp on it" right after generating/editing an image
Execution Steps
-
Identify the target image:
- Identify the image mentioned in the conversation, or the one just generated/edited. If unclear, ask without guessing.
-
Select the preset and parameters:
- If no specific instructions: Use the default favorite (
favorite).film-date-agent apply <target_image> --json - If a specific atmosphere/era/style is requested:
- "Disposable camera style" / "Look like a disposable":
--preset japanese-snap-disposable(orange glow, 5x7 capsule dots, hour and minute displayed) - "90s Japan" / "Tokyo snap":
--preset japanese-tokyo-90s(amber glow, 80s 7-seg) - "American style" / "West Coast":
--preset american-west-coast(golden yellow, month-day-year order) - "80s motel" / "Red LED":
--preset american-80s-red-quartz(quartz red, upright SLR 7-seg) - "Europe" / "Paris/Berlin":
--preset european-classic-parisberlin(dot separator, subtle exposure) - "Early 2000s" / "Early compact digital":
--preset y2k-digicam-early-2000s(monospace LCD font) - "70s" / "Classic camera":
--preset monochrome-70s-canodate-eor--preset vintage-70s-color-datematic(mechanical engraved typeface) - "Cyber" / "Sci-fi movie":
--preset cyber-telemetry-80s-sci-fi(cyber green HUD) - "Heisei retro" / "Purikura style":
--preset y2k-pop-heisei-fancy(neon pink rounded characters)
- "Disposable camera style" / "Look like a disposable":
- If no specific instructions: Use the default favorite (
-
Assemble the date/time options:
- If no specific instructions (default): For
favorite, thedatesetting infavorites.json(initial value isphoto) automatically determines the date: EXIF shooting date/time → file creation/modification time → current time in that order. For non-favorite presets, the preset's default date is used. - To use the photo's shooting date/time:
- "Use the shooting date/time" / "With the EXIF date" → Specify
--date photo(automatically extracts EXIF shooting date/time).
- "Use the shooting date/time" / "With the EXIF date" → Specify
- To specify a particular date/time:
- "Set it to December 24, 1998" →
-d "'98 12 24"or--at 1998-12-24 - "August 15, 2004, 2:30 PM" →
--at 2004-08-15T14:30 --show-time
- "Set it to December 24, 1998" →
- To use today's current time:
- "Use today's date" / "With the current time" →
--date auto
- "Use today's date" / "With the current time" →
- Show/hide time (HH:MM):
- "Also include the time" / "Include hours and minutes" →
--show-time - "Date only" / "No time needed" →
--no-time
- "Also include the time" / "Include hours and minutes" →
- To use a random vintage date:
- "Use some random old date" / "Randomize it" →
--date random
- "Use some random old date" / "Randomize it" →
- If no specific instructions (default): For
-
Report the result:
- Parse the
--jsonoutput. Ifokis true, present and report the image path stored inoutputto the user. - Add a brief note about the actual burned date string (
date_text) and the applied style (preset_resolved). - Example: "Burned the shooting date/time
'03 10 02 17:49in 90s Tokyo snap style (Japanese Tokyo 90s)."
- Parse the
-
Error handling:
- Exit code 2 (configuration error): Run
film-date-agent presets listto check available presets and re-select. - Exit code 3 (input file missing): Verify the input image path.
- Exit code 4 (output file conflict): By default, auto-sequencing (
_stamped_1) is applied, but if overwriting is requested, use--overwrite. - Exit code 5 (engine failure): Check the result of
film-date-agent doctorand report to the user.
- Exit code 2 (configuration error): Run
If Asked "What can this do?"
- Run
film-date-agent capabilities --jsonand answer based on the latest capabilities list. - Explanation template:
- It simulates light burning onto film emulsion (physical optical exposure, center core blowout, halation diffusion).
- It has 12 era/region-specific presets (90s Tokyo snap, disposable camera style, West Coast, 80s red LED, early digicam, etc.).
- The date can be selected from: photo EXIF shooting date/time, current date/time, retro random, or any custom string.
- Users can create their own preferred settings and save them as "favorite".
Rules to Follow
- Do not overwrite the original image directly (do not specify the same path as the input image with
-o). - The report must rely on the
outputfield from JSON. Do not guess the filename.