day-in-my-life
Skill155 starsChanged 3 months agoApache-2.0View on GitHub
A 60 to 75 s hand-drawn ink film of the agent's day with its own user ("a day in my life as <name>'s agent"): one average session from the user's local Claude Code history, beginning to end. The story follows what they actually do (coding, tests, docs, shipping, videos, whatever the history shows), told with their real words (first message, check-ins, corrections, praise, memory titles). It is drawn in two-tone p5.brush strokes that boil at 8 fps and scored for strings composed note-for-note on the film's clock (the typed "claude" is the theme). Trigger on: "day in my life as my agent", "a film about me and my agent", "what is it like to be my agent", "animate your day with me", "make a video of our sessions". Covers harvesting the routine and receipts, the privacy gate, the chapter toolbox, the ink kit, the score, render and QC.
- Installs packages
In this repository7 other files it gives its agents.
- camera-3d-captionsSkill
- duoSkill
- p5-paint-animationSkill
- prod-by-claudeSkill
- session-storySkill
- vox-explainerSkill
- x-posting-licenseSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Every line on screen is a receipt.
- Very specific: line 26
Use: when a Claude Code user wants a personal film of their work with the agent, and has at least 10 local sessions over 5 days in …
- Very specific: line 41
Writes: only inside the film folder you create: receipts.json, story.json, story.js, music/, renders/.
- Distinctive: line 77
Nothing idles: Every chapter keeps a camera move, a staged reveal or an action in flight.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
A day in my life as <name>'s agent
The agent reads its own history with the user and makes a short film about it:
- Look: two-tone brush ink, hand-lettered title, one character (the blot).
- Story: one average session in time order, built from what this user actually does (a coder gets a coding day), from the first message to the lesson it keeps.
- Sound: a string score locked to every beat.
Every line on screen is a receipt. The user approves each one before anything renders.
When to use / when not
- Use when a Claude Code user wants a personal film of their work with the agent, and has at least 10 local
sessions over 5 days in
~/.claude/projects. - Do not use for someone else's history, a team's shared logs, product marketing, or content the user won't review. If there are no local transcripts (e.g. claude.ai only), stop: this skill never invents receipts.
Requirements and side effects (complete list)
- Tools: Node 22+, Python 3.9+,
ffmpegon PATH. The HyperFrames CLI pinned tonpx hyperframes@0.8.70(downloaded from the npm registry on first use). - Setup (once, manually):
sh scripts/setup.shrunsnpm cifrom the committed lockfile: p5 2.3.2 (LGPL-2.1), p5.brush 2.2.1 (MIT), puppeteer 25.9.0 (Apache-2.0, which fetches its pinned Chrome for Testing). Forscore.py:python3 -m pip install -r scripts/requirements.txt(numpy, scipy). - Reads (local only):
~/.claude/projects/*/*.jsonl(the user's transcripts),~/.claude/projects/*/memory/*.md, and theCLAUDE.mdof projects those transcripts point at. Nothing is uploaded. - Network at preview/render: the page loads the Gochi Hand font (SIL OFL) from Google Fonts. Nothing else.
- Writes: only inside the film folder you create:
receipts.json,story.json,story.js,music/,renders/. These hold the user's words; never commit or share them. - No credentials, no paid calls.
Workflow
- Setup:
sh scripts/setup.sh(once), plus the pip line above. - Harvest:
python3 scripts/harvest.py --out <film>/receipts.json. Stop ifenoughis false. - Story: build the timeline from
routine(the user's average session, in order), map each step to a chapter type, and fill it from the receipts, per references/story.md. 8 to 13 chapters. Ask the user which name goes in the title. - Privacy gate: show the user one table of every on-screen line with its source (session, timestamp), take their
edits, and get an explicit yes. Then set
"approved": true. - Scaffold:
node scripts/new-film.mjs <film>. It builds the film around thestory.jsonalready in the folder. After any later edit tostory.json, runnode scripts/new-film.mjs <film> --sync. It validates order, fields and captions, blocks secrets, emails and paths, and flags URLs. - Design pass:
node scripts/shoot.mjs <film> chapters <film>/renders/sheet.jpg --sheet 4(one frame per chapter, at its payload moment). Check every chapter reads (blot visible, quotes legible, nothing clipped or covering a bubble) and show the sheet to the user. - Score:
python3 scripts/score.py <film>, per references/score.md. - Render:
npx --yes hyperframes@0.8.70 check <film>, then from<film>:npx --yes hyperframes@0.8.70 render --fps 24 --crf 12 --browser-gpu -o renders/film.mp4. Render locally; the page paints with WebGL. - QC:
python3 scripts/qc.py <film> <film>/renders/film.mp4must pass. Then watch it through once, with sound, before delivering.
Rules
- The user's day, not a template. The routine sets which chapters appear and their order. Never add a step the history doesn't show.
- Receipts only. Quotes are verbatim; stats are counted; names are the user's call. Drop any chapter you can't back with a real line.
- Approval before render.
story.approvedis set only by the user's yes. The validator refuses credentials, emails and file paths outright. - The clock is the score. Timings live in
archetypes.json;scenes.jsandscore.pyboth read it. Never retime one without the other. - Nothing idles. Every chapter keeps a camera move, a staged reveal or an action in flight. The boil is texture.
- Look defaults:
SKETCH = 1.8, two tones, captions lowercase with no trailing period, seams through ink. See references/look.md.
Verify success
new-film.mjs --syncprints no errors.- The design-pass sheet shows every chapter.
qc.pypasses all checks:- stepping: about 8 drawings/s, every change on the 3-frame grid, no hold longer than 3 frames
- seams: a fully inked frame on every wipe and swallow cut
- lamp: picture black and score silent within one frame of each other, until the tag
- loudness: -19 to -15 LUFS, true peak ≤ -1 dBTP
Smoke test without anyone's data (the fictional example story):
node scripts/new-film.mjs /tmp/dimil && python3 scripts/score.py /tmp/dimil \
&& (cd /tmp/dimil && npx --yes hyperframes@0.8.70 render --fps 24 --crf 12 --browser-gpu -o renders/film.mp4) \
&& python3 scripts/qc.py /tmp/dimil /tmp/dimil/renders/film.mp4Files
scripts/:harvest.py: local receipts.new-film.mjs: scaffold and validate.shoot.mjs: stills and sheets.score.py: compose, synthesize and master.qc.py: render checks.setup.sh,package.json,package-lock.json,requirements.txt: pinned dependencies.
assets/kit/: the ink engine (brush-ink.js,props.js,film.js,hf-bridge.js).assets/template/:index.html,scenes.js,archetypes.json,hyperframes.json,story.example.json(fictional).references/:story.md(routine → timeline → lines → privacy gate),look.md(the kit),score.md(the arrangement).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

