Append a verbatim entry to a personal, per-repo, gitignored devlog (DEVLOG.md), and seed talking-point nudges from recent git/PR activity and unresolved threads in the previous entry. Use when the user says "create devlog", "devlog", "add a devlog", "dev log entry", "log this", "/create-devlog", or wants to record what they are working on / rant about progress. The user usually dictates via speech-to-text, so the log is recorded WORD-FOR-WORD with only obvious typo and speech-to-text fixes, never summarized, reworded, or analyzed.
70
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
The user keeps a running personal devlog where they rant, in their own words, about what they are working on. This skill appends those rants verbatim and, when they sit down to write, nudges them on what to talk about (recent git activity, and open threads from the last entry). The nudges are optional prompts, never a form to fill in.
Two hard rules that override everything else below:
The devlog is one Markdown file per repo, gitignored, newest entry on top.
Resolve the path in this order:
DEVLOG.md already exists in the repo, use it. Since it is gitignored it will not show in git ls-files, so locate it with find:
find "$(git rev-parse --show-toplevel)" -maxdepth 4 -iname 'DEVLOG.md' -not -path '*/node_modules/*' 2>/dev/nulldocs/ exists → docs/devlog/DEVLOG.md.devlog/DEVLOG.mdgit check-ignore -v <path>. If it is NOT ignored, add the file (or its directory) to the nearest .gitignore first, then proceed. The devlog is personal and must never be committed.If the file does not exist, create it with this header, then add the first entry below it:
# Devlog
Personal, gitignored running log. Newest entries on top./create-devlog spent all morning fighting the schema, or pasted/dictated text): go straight to Writing an entry. Do NOT show nudges first — they already know what they want to say./create-devlog with nothing): go to Step 2 — nudges first, then wait for the user to rant, then write the entry.Only when invoked empty. Produce a short list of optional talking points, then stop and wait.
DEVLOG.md (the top one) to get its date and find open threads.bash <skill-dir>/scripts/devlog-context.sh --since "<last-entry-date or 7 days ago>"Present them plainly and briefly, and say outright they are just prompts — the user can ignore them and rant about whatever they want. Then wait for their next message. Do not interrogate; do not require them to address each one.
Get the current timestamp from the system, then prepend a new entry directly under the # Devlog header (newest on top). Format:
## YYYY-MM-DD HH:MM (branch: <current-branch>)
<the user's words, verbatim, with only typo/STT fixes>The user dictates by voice, so the raw text has speech-to-text errors. Fix those and obvious typos. Nothing else.
Fix (only when the intended meaning is unambiguous):
useEffect, a misheard library/branch/ticket name).Never:
Do not stop to ask about corrections mid-flow — the user does not want analysis while writing. Apply the unambiguous fixes, leave the uncertain bits verbatim, and flag at most the one or two genuinely ambiguous spots in a single line after logging.
This is an informal personal tool, and the user's informal-writing preferences apply to the nudges, the echoed confirmation, and the file scaffolding (NOT to their verbatim words, which stay exactly as dictated):
d58ca85
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.