Install
$ agentstack add skill-kriscard-skills-close-day ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Close Day
End-of-day ritual. Parses today's daily note, updates project notes in-place, surfaces vault connections, and sets up tomorrow. A 5-minute ritual — not a lengthy report.
Ask, Don't Assume
Shared principle (canonical version in the vault skill): never guess, deduce, or fill gaps with assumptions about the user's notes, priorities, or intent. If you don't know — a date range, what counts as a win, which goals are active — ask. Before writing any synthesis or judgment into a note, show your draft with its source and get explicit confirmation. Missing data is not permission to invent.
Obsidian Access
Use Obsidian CLI via Bash. On failure: "Obsidian CLI isn't working — update Obsidian with CLI enabled."
Step 1 — Load Context (run in parallel)
TODAY="2 - Areas/Daily Ops/$(date +%Y)/$(date +%Y-%m-%d).md"
obsidian read path="$TODAY" 2>/dev/null || echo "(no daily note — run /daily first)"
obsidian files folder="1 - Projects/" format=json
obsidian read path="AGENTS.md" 2>/dev/null || echo "(AGENTS.md not found)"
Parse all captured content from today's daily note: free-form writing, meeting notes, ideas, tasks, people referenced, decisions made.
Step 2 — Vault Connection Discovery
Run searches per theme from today, then trace backlinks:
obsidian search:context query="" limit=10
obsidian search:context query="" limit=10
obsidian backlinks file=""
Surface: "Today you wrote about X. This connects to [[note]] from [date] — worth revisiting?" Flag themes recurring 3+ times in the past two weeks.
Step 3 — Extract & Categorize
Source: today's daily note (Step 1).
Four categories to extract:
- Action Items — promises to others, deadlines, follow-ups
- Ideas & Insights — observations, hypotheses, perspective shifts
- People & Commitments — messages to send, meetings to schedule
- Questions Raised — things to investigate, pending decisions
Cross-reference against existing open tasks:
obsidian tasks todo path="$TODAY"
Flag any action items missing from the task list.
Step 4 — Update Project Notes In-Place
Match active projects to today's work (explicit mentions + implied work). For each match, read the project note first:
obsidian read path="1 - Projects//.md"
Then update only the sections that changed. These are section-targeted edits — never append raw entries at the bottom. The CLI has no patch, so updating a named section means either the MCP obsidian_patch_content tool (heading-targeted, supports operation: replace|append) or a read + create ... overwrite rewrite of the whole note. Ask the user which to use, then apply the changes below:
📍 Current Status— replace the section with summary + date:
_Updated: $(date +%Y-%m-%d)_\n\n\n\n### What's in progress\n\n\n### Open questions / Blockers\n
🧠 Key Decisions— append a row only if a decision was made today:
| $(date +%Y-%m-%d) | | |
📝 Notes & Context— append only if a new insight emerged:\n
Guidelines: only update on meaningful progress; preserve existing content; use the user's own language; adapt to non-standard templates.
Related Notes Discovery (per matched project)
qmd query " " --json -n 5
obsidian links file="1 - Projects//.md"
Filter: drop 2 - Areas/Daily Ops/ hits, already-linked notes, and source: claude-memory notes unless opted in. Keep at most 3 candidates.
Propose — never write without approval:
[[Project A]] — related notes worth linking:
- [[note-1]] (3 - Resources/...) —
Approve any to append to 🔗 Links & References?
Step 5 — Carry Forward
TODAY="2 - Areas/Daily Ops/$(date +%Y)/$(date +%Y-%m-%d).md"
obsidian append path="$TODAY" content="## Carry Forward\n- [item 1]\n- [item 2]"
If the Quick Wrap section is empty, draft answers:
- Did I explore anything new today?
- What did I actually move forward?
- What bottleneck became obvious?
- One thing to carry into tomorrow?
Output Format
Keep output concise. Focus on filing what matters, not summarizing the day.
Today's Extraction — [categories with items]
Vault Connections — [recurring themes, links to older notes]
Project Notes Updated — [list with what changed per project]
Related Notes (proposed) — [per-project candidates; awaiting approval]
Carry Forward — [what matters tomorrow]
Quick Wrap — [draft answers if section empty]
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: kriscard
- Source: kriscard/Skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.