← ClaudeAtlas

end-sessionlisted

Runs the end-of-session close-out sequence for a work repo: capture diary + session-learnings, then commit all changes and auto-merge the working branch into the main branch. Invoke when the user signals the session is over ("kończymy sesję", "we're done", "wrap up", "/end-session"). <example> Context: Feature work finished on branch feature/x, user wants to close out. user: "kończymy sesję" assistant: "[END-SESSION] diary + learnings captured, committed 6 files, merged feature/x → main." </example>
reghis86/context-forge · ★ 0 · AI & Automation · score 73
Install: claude install-skill reghis86/context-forge
## What This Does One command to close out a working session in ANY repo: 1. `/diary` — record the session's decisions/outcomes. 2. `/session-learnings` — capture reusable insights to `~/worklogs/learnings/`. 3. Commit every change in the repo. 4. Auto-merge the working branch into the main branch (no confirmation). This is a generic close-out for OTHER repos. It deliberately does NOT run `/evolve` or `plugin-audit` — those are context-forge-internal and run by hand. ## When to Use - User says the session is finishing: "kończymy sesję", "we're done", "wrap up", `/end-session`. - NOT mid-session — this commits and merges, it is a terminal action. ## Steps (run in order, stop on first failure) 1. **Capture diary** — invoke the `diary` skill with a one-line summary of the session's key decision(s) and outcome. If nothing significant happened, skip. 2. **Capture learnings** — invoke the `session-learnings` skill. Let it write to `~/worklogs/learnings/`. 3. **Commit** — from the repo root: ```bash git add -A git commit -m "<conventional message summarizing the session>" ``` If `git commit` reports "nothing to commit", continue to step 4. 4. **Auto-merge into main** — detect the main branch, then merge: ```bash MAIN=$(git symbolic-ref --quiet refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@') [ -z "$MAIN" ] && { git rev-parse --verify --quiet main >/dev/null && MAIN=main || MAIN=master; } CUR=$(git branch --show-curren