wrap-up
Session Wrap-Up
Run these checks in parallel, then deliver a single consolidated report.
Preflight — is this a git repo?
Run git rev-parse --git-dir 2>/dev/null. If it fails (the current folder is not a git repository), skip the git, harness, and commit-and-push sections entirely. Run only checks 2 and 3 below, deliver a short report, and end with the line:
ℹ️ Not a git repo — git, harness, and commit checks skipped.
Checks to run
1. Git status
Run git status --short and git log --oneline "@{u}.." 2>/dev/null.
Report: uncommitted files (count + list), unpushed commits (count + list).
If both are clean, state that clearly.
1b. Test harness (project-aware)
If tests/run_tests.py exists in the repo root AND there is at least one uncommitted text file (any file the harness might care about: markdown, code, config), run python tests/run_tests.py and include the result. If the harness passes, report ✅ Harness N/N. If it fails, list each failure as ⚠️ HARNESS: and recommend /test for full detail. If tests/run_tests.py does not exist, skip this check silently — most repos have no MEL harness.
2. Recent errors Scan this conversation for any error messages, failed commands, or unresolved issues that were identified but not fixed. Look for: stack traces, "error:", "failed", "TODO", explicit "I'll fix this later" statements.
3. Pending actions Identify anything Ane said she would do or that was left open:
- Files to review or send
- Follow-up tasks mentioned
- Decisions deferred
- Any explicit "next steps" not yet taken
4. Uncommitted changes risk
If there are uncommitted files, run git diff --stat to assess what is at risk of being lost.
Report format
Deliver as a tight checklist. One line per item. No preamble.
SESSION WRAP-UP — [date]
GIT
✅ Nothing uncommitted OR ⚠️ N file(s) uncommitted: [list]
✅ All pushed OR ⚠️ N commit(s) not pushed: [list]
HARNESS (only when relevant files were touched)
✅ N/M checks passed OR ⚠️ N harness check(s) failing — /test for detail
ERRORS
✅ No unresolved errors OR ⚠️ [description of unresolved issue]
PENDING ACTIONS
✅ Nothing open OR ⚠️ [action]: [what Ane committed to]
RECOMMENDATION
[One sentence: either "Safe to close" or specific action to take first]
Commit and push
After delivering the report, if there are uncommitted files or unpushed commits, finish the work block by committing and pushing. Ane has a standing instruction to always commit and push at the end of a work block. Do not ask for permission — execute.
Gate 1 — Harness must pass (if it ran).
If check 1b ran and reported any ⚠️ HARNESS: line, STOP. Do not commit. Tell Ane the harness is red and recommend /test for detail. The wrap-up ends here.
Gate 2 — Sensitive-file scan.
Before staging, scan the uncommitted file list against these patterns: .env, .env.*, *credentials*, *secret*, *token*, *.key, *.pem, *.pfx, *api_key*. If any uncommitted file matches, list the matches and ask Ane explicitly which (if any) to include before proceeding. Otherwise continue silently.
Gate 3 — WIP exclusion.
If any uncommitted file is unrelated to the current session's work and looks mid-edit (a single file the user was clearly developing in another window, e.g. a TODO marker or None placeholder added inline), exclude it from the commit. List excluded files in the report so Ane sees what was left behind.
Stage explicitly.
Add files by name (git add path/to/file path/to/other). Never use git add -A or git add . — these sweep gitignored runtime state, OS metadata, and unrelated WIP into commits.
Draft the message.
Match recent style: run git log --oneline -10 and use the same conventional-commit prefix scheme (feat:, fix:, docs:, chore:, refactor:, with optional scope like docs(overlay):). One-line title under 72 chars; one or two body sentences only when the why is non-obvious. Do not include a generated-by footer unless the project's CLAUDE.md asks for one.
Commit.
Pass the message via a single-quoted HEREDOC so PowerShell/bash do not expand $ or backticks:
git commit -m "$(cat <<'EOF'
<title>
<optional body>
EOF
)"
Push.
Run git push. If the branch has no upstream, set it: git push -u origin <branch>. If push is rejected because the remote is ahead, run git pull --rebase then git push — never --force from this skill.
Confirm in the report. Append a final line to the wrap-up report:
COMMIT & PUSH
✅ Committed <short-SHA> "<title>"
✅ Pushed to <remote>/<branch>
Or, if a gate stopped the commit:
COMMIT & PUSH
⚠️ Skipped — <reason>: [files]
If the working tree was already clean and there were no unpushed commits, omit this section entirely.
More from gasserane/personal-skills
journal-reflection
Guide Ane through structured reflection at end of day, end of week, after a decision, or after encountering new learning material. Use when the user says "journal", "reflect on today", "weekly review", "what did I learn", "after-action review", or references writing to the MELdigitalgarden vault. Produces Obsidian-compatible markdown; writes directly to the vault when filesystem MCP is connected, otherwise returns content for manual save.
28daily-brief
Produce a scannable morning briefing for Ane (Senior MEL/SRHR Specialist at IPPF). Use when the user asks for "daily brief", "morning briefing", "start of day", "what's on today", "plan my day", or similar. Assembles today's priority, calendar, overdue items, pending decisions, and an energy check. Operates on user-provided inputs by default; richer when calendar/email MCP servers are connected.
27mel-framework-citation
Enforce IPPF/UNFPA/UNAIDS evidence-and-rigour citation standard on MEL/SRHR output. Tier-aware on placement — Tier 1 working brief uses an Evidence base line at end of section; Tier 2 publication uses inline citations; Tier 1 / junior-MEL keeps framework names visible in prose AND uses an annotated Evidence base line. Use whenever Ane produces a theory of change, evaluation design, indicator set, donor report, or SRHR programme analysis. Injects current authoritative framework versions with author and year, flags outdated versions, and applies the data-gap protocol. Do not use for non-MEL work.
27evidence-synthesis
Conduct a rigorous rapid evidence assessment or systematic-lite literature review for MEL/SRHR questions. Use when Ane asks for "evidence review", "literature review", "evidence synthesis", "REA", "what does the evidence say", "what do we know about", or similar. Produces a structured brief with question framing, method, findings by theme, confidence grading, and implications for programme or evaluation design. Does not invent citations.
27vi
Vi — HR Specialist and Execution Orchestrator for MEL/SRHR work. Receives an approved plan from Ann (or directly from Ane), designs the specialist roster, spawns specialists as subagents, reviews their outputs, compiles the final product, and returns it. General-purpose — invoked by Ann via Agent tool, or directly by Ane when a plan is already approved.
26li
Li — Knowledge Manager for Ane's library and MEL Wiki. Use when Ane needs to catalog, retrieve, or reorganize documents in the personal knowledge library, or query/maintain the MEL Wiki. Handles INGEST, QUERY, and LINT operations. Does not answer domain questions — retrieves and organizes knowledge for other agents and Ane.
26