goodnight

End-of-day review. Summarizes today's progress, captures new ideas, notes unfinished work to carry over, and offers to add everything to the Obsidian daily note. Use when the user wants to wrap up their day.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "goodnight" with this command: npx skills add iilegendarypokemonii/goodnight-claude/iilegendarypokemonii-goodnight-claude-goodnight

Goodnight - End of Day Review

A Claude Code skill. When the user runs /goodnight, perform an end-of-day review of what they worked on today.

Step 1: Gather context (single parallel batch)

Run ALL of these in parallel as separate Bash tool calls:

Call A -- Git commits today (optional, requires git):

git log --all --oneline --since="midnight" --author="$(git config user.name)" 2>/dev/null || echo "(no git repo)"

Call B -- Daily note (optional, requires Obsidian): Reads the active vault path from Obsidian's app config (obsidian.json), the daily notes folder from .obsidian/daily-notes.json, and today's note content directly from disk. No Obsidian CLI needed.

node "<base-directory>/daily-note.js"

If Obsidian is not installed, the script outputs a message and exits cleanly.

Call C -- Previous session summaries: Extract user and assistant messages from all of today's Claude Code sessions across all projects. User messages show with >, assistant responses with <. This gives a full picture of what was worked on, even in earlier sessions. Reads session logs from ~/.claude/projects/.

node "<base-directory>/sessions-today.js"

Replace <base-directory> with the actual base directory path provided when the skill is invoked.

That's it -- three parallel calls, no sequential steps.

Step 2: Summarize

From the results (especially the session logs which capture the full day's work), write a concise summary with these sections:

## End of Day Review
*Generated at HH:MM*

### Done
- completed items

### In Progress
- unfinished items with context

### Ideas
- new ideas or observations (omit section if none)

### Tomorrow
- carry-over items

Keep it casual, use bullet points, use wikilinks where relevant. Include the current time in the *Generated at HH:MM* line. If there's very little evidence, ask the user what they worked on.

Step 2.5: Ask what's missing

After presenting the summary, ask: "Anything I missed? Meetings, offline work, ideas?"

If the user adds anything, incorporate it into the summary before saving.

Step 3: Ask to save

If Obsidian was detected in Call B, ask: "Want me to add this to today's daily note?" If Obsidian was not detected, ask: "Want me to save this to a file?" and offer to write YYYY-MM-DD-review.md in the current directory.

When saving to Obsidian, use the daily notes folder discovered in Call B. The daily note filename is YYYY-MM-DD.md (local date).

Saving logic -- the review is idempotent:

  1. Read the existing daily note content (from Call B).
  2. Check if it contains the marker ## End of Day Review.
    • If the marker exists: the user ran /goodnight before. Replace everything from --- before ## End of Day Review to the end of the file with the new review. This lets the user re-run /goodnight after doing more work without duplicating. Preserve all content above the ---.
    • If no marker exists but the note has content: append a --- divider followed by the review.
    • If the note doesn't exist: create it with the review content.

The review block always starts with --- + blank line + ## End of Day Review, making it easy to find and replace.

To write the note, use the Obsidian CLI if available (obsidian create for new notes, obsidian append for existing ones), or write directly to disk as a fallback.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Chronos

通用周期任务管理器 - 支持6种周期类型、每月N次配额、自动cron、统一视图,适用于所有定时任务场景

Registry SourceRecently Updated
General

Football

Analyze football and soccer matches, squads, players, and training plans with tactical frameworks, scouting grids, and session blueprints.

Registry SourceRecently Updated
General

Cctv News Fetcher Litiao

Fetch and parse news highlights from CCTV News Broadcast (Xinwen Lianbo) for a given date.

Registry SourceRecently Updated
General

WeRead Book Finder

输入图书名称,优先在微信读书搜索并加入书架;若微信读书没有可信命中或无法加入书架,则自动回退到 Z-Library 搜索并优先下载非 PDF 格式。适用于“把《xxx》加入微信读书书架,不行就去 Z-Library 下载”这类请求。

Registry SourceRecently Updated