This skill should be used when the user says "wrap up", "close session", "end session", "wrap things up", "close out this task", or invokes /wrap-up, "done for the day", or "session complete". Runs an end-of-session checklist covering shipping, memory, and self-improvement.
npx claudepluginhub oliverames/ames-claude --plugin ames-standalone-skillsThis skill uses the workspace's default tool permissions.
Based on [jonathanmalkin's self-improvement loop](https://www.reddit.com/r/ClaudeCode/comments/1r89084/selfimprovement_loop_my_favorite_claude_code_skill/).
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
Based on jonathanmalkin's self-improvement loop.
Convention for session start (not auto-triggered by this skill): When
beginning work in a project repo, check for WORKLOG.md and read the most
recent entry to orient on where the last session left off. Especially
valuable when switching between projects or picking up after days away.
Assess what happened this session before running phases:
Classify based on: number of repos touched, number of commits, whether the session involved decisions or just execution, and overall duration implied by the conversation length.
Run phases in order. Each phase is conversational and inline — no separate documents. Auto-apply all actions without asking.
Commit:
git status in each repo directory that was touched during the sessionFile placement check: 4. If any document-type files (.md, .docx, .pdf, .xlsx, .pptx, media files) were created or saved outside of source code directories:
file-organization skill to verify naming conventionsREADME check:
6. If the session made significant changes (new features, renamed things,
changed APIs, added/removed tools), check if README.md is stale:
CLAUDE.md freshness check:
8. If the session made changes that affect project conventions, structure,
or workflows: check if CLAUDE.md in the affected repo is stale
9. Update any sections that no longer match reality
10. CLAUDE.md files can become very stale — if you notice significant drift,
flag it and fix it
Apple Notes "💻 Tech" check:
11. Use the apple-notes MCP to search notes in the "💻 Tech" folder that
are related to what was worked on this session (search by project name,
tool name, or key terms from the session)
12. For each matching note found, evaluate whether its content is stale or
incomplete given the session's changes:
- New setup steps added, removed, or changed?
- Config values, paths, or commands that have changed?
- Gotchas or workarounds that have been resolved?
- New gotchas or learnings that aren't yet captured?
13. If a note needs updating, use apple-notes to update it directly
14. If a new topic was covered that warrants a new note (e.g. a tool or
workflow not yet documented), create it in the "💻 Tech" folder
15. Report what was found and changed (or "No matching Tech notes")
16. Skip this step for trivial sessions (Phase 0 triage)
Deploy: 17. Check if the project has a deploy skill or script 18. If one exists, run it 19. If not, skip deployment entirely — do not ask about manual deployment
Publish:
20. If package.json exists in the project root:
- Run npm view <package-name> version to get the published version
- Compare against the local package.json version
- If the local version is newer (bumped during this session), run
npm publish to push the new version
- If the versions match, skip — nothing to publish
- If no published version exists (404), this is a new package — ask
the user before first publish
21. If no package.json exists, skip entirely
Task cleanup: 22. Check the task list for in-progress or stale items 23. Mark completed tasks as done, flag orphaned ones
If this session worked in a project repo (not just ~/.claude/ or standalone
scripts), generate a worklog entry:
git log --oneline -10 and git diff HEAD~5..HEAD --stat (or similar)
to review what changed during this sessionWORKLOG.md in the project root. If the file doesn't
exist, create it starting with # Worklog\n\n## YYYY-MM-DD — [Brief summary]
**What changed**: ...
**Decisions made**: ...
**Left off at**: ...
**Open questions**: ...
---
git add WORKLOG.md && git commit -m "worklog: [brief summary]"Multi-repo sessions: If this session made meaningful changes in multiple project repos:
Developer/Scripts doesn't need a worklog — it's not a git repoSkip this phase if the session only touched config files, memory, or non-project work.
Scan the conversation for knowledge worth persisting. This is a structured review, not a vague pass.
Step 1 — Scan for these specific signals:
Step 2 — Classify each finding:
.claude/rules/.claude/rules/ with paths:CLAUDE.local.md@import insteadStep 3 — Apply and report: Write the applicable items. Report in one line per item:
Memory: Saved 2, updated 1, skipped 3 (already known)
- [NEW] feedback: user prefers X over Y
- [NEW] reference: dashboard URL for service Z
- [UPDATED] project: added new teammate info
If nothing worth persisting was learned, say "Nothing new to remember" and move on.
Analyze the conversation for self-improvement findings. If the session was short or routine with nothing notable, say "Nothing to improve" and proceed to Phase 4.
Auto-apply all actionable findings immediately — do not ask for approval on each one. Apply the changes, commit them, then present a summary.
Finding categories:
Action types:
.claude/rules/ filePresent a summary after applying, in two sections — applied items first, then no-action items:
Findings (applied):
1. done Skill gap: Cost estimates were wrong multiple times
-> [CLAUDE.md] Added token counting reference table
2. done Validated approach: Parallel subagents cut review time by 60%
-> [Memory] Saved: Use parallel agents for large code reviews
---
No action needed:
3. Knowledge: Discovered X works this way
Already documented in CLAUDE.md
Run backups:
backup-claude to back up memory, plans, and teams to the private repobackup-telegram if any Telegram config was changed this sessioncommit-push-all to catch any remaining uncommitted reposPrint a brief session report and exit. Format:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Session complete
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Commits: 3 across 2 repos
Memory: 1 new, 1 updated
Worklog: Written to sprout-mcp-server
Notes: Updated 1 Tech note, created 0
Backup: Memory backed up
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Adapt the stats to what actually happened. Omit lines for phases that had nothing to report (e.g., no memory changes = no Memory line). For trivial sessions (Phase 0 triage), keep it to two lines:
Committed and pushed. Backup complete.
After printing the report, stop. Do not run any exit command.