nix-darwin/config/claude/skills/devlog/SKILL.md
Manage devlogs (session journal entries) under the active repo's `.claude/devlogs/`. Subcommands - `write` creates a new date-stamped entry, `read` loads existing entries into context. Use when the user invokes `/devlog <subcommand>` or asks to write, save, recall, or load today's/recent devlogs.
npx skillsauth add nubiv/my-nome devlogInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Records and recalls per-session devlogs in <repo-root>/.claude/devlogs/. Filenames are date-stamped and never overwritten — collisions get an incrementing index suffix.
| Subcommand | Purpose |
|---|---|
| write | Create a new devlog entry for the current session. |
| read | Load one or more existing devlogs into the conversation. |
If the user invokes /devlog with no subcommand, ask which one they want.
Both subcommands need the repo root and the devlogs directory:
REPO_ROOT="$(git rev-parse --show-toplevel)"
DIR="$REPO_ROOT/.claude/devlogs"
If the cwd is not in a git repo, ask the user where the devlogs live before continuing. Today's date is date +%Y-%m-%d.
write subcommandCreates a new entry. Never overwrites an existing file.
YYYY-MM-DD.mdYYYY-MM-DD-1.md, YYYY-MM-DD-2.md, … (1-indexed, increment until free)mkdir -p "$DIR"
DATE="$(date +%Y-%m-%d)"
PATH_OUT="$DIR/$DATE.md"
i=1
while [ -e "$PATH_OUT" ]; do
PATH_OUT="$DIR/$DATE-$i.md"
i=$((i+1))
done
Then write the entry to $PATH_OUT using Write and report the final absolute path back to the user.
# Devlog — YYYY-MM-DD
**Session window:** HH:MM–HH:MM (local)
**Branch:** <git branch>
**Repo:** <repo name>
## Summary
One-paragraph high-level recap of what this session set out to do and what shipped.
## Changes
- <file/area>: <what changed and why>
## Decisions
- <decision>: <reasoning / alternatives considered>
## Issues & blockers
- <issue>: <status — open / resolved / deferred>
## Next steps
- [ ] <todo>
Omit sections with nothing meaningful — don't pad with "N/A".
git log --since=..., git status, git diff --stat, and concrete decisions made in conversation.read subcommandLoads existing devlog files into context using Read so their content is available for the rest of the conversation.
Parse the user's argument(s) after read:
| Arg form | Behavior |
|---|---|
| (none) | Load the most recent devlog (latest by filename sort). |
| today | Load all of today's entries (YYYY-MM-DD*.md), in index order. |
| latest N | Load the N most recent devlog files. |
| YYYY-MM-DD | Load every entry for that date (base file + all indexed suffixes). |
| YYYY-MM-DD-N | Load that exact indexed file. |
| all | Load every devlog (warn first if more than ~20 files — likely too much context). |
Filenames sort lexicographically by YYYY-MM-DD[-N], so ls "$DIR" | sort gives chronological order.
$DIR (e.g. ls "$DIR"). If empty or missing, tell the user there are no devlogs and stop.Read each file in chronological order./devlog read → loads the single most recent file./devlog read today → loads 2026-05-22.md, 2026-05-22-1.md, … if they exist./devlog read 2026-05-20 → loads every entry from 2026-05-20./devlog read latest 3 → loads the 3 newest devlogs.Before finishing a write:
<repo-root>/.claude/devlogs/YYYY-MM-DD.md or YYYY-MM-DD-N.mdBefore finishing a read:
Read (not cat) for each filedevelopment
Run MY_WIKI operations (ingest, query, research, lint). Use when the user wants to add sources to the wiki, ask questions against it, research new topics from the web, or audit its quality.
testing
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
tools
Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, search vault content, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.
data-ai
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.