用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Morrison-Lab/ai-config --skill wrap-up命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | wrap-up |
| description | End-of-session verification and UMS. |
| user-invocable | true |
| allowed-tools | ["Bash","Read","Edit","Write"] |
Close out a work session cleanly: confirm where everything actually landed, report it with clickable links (surfacing anything still open), and capture what was learned before the context is gone.
Synonyms: done — a plain "are we done?" entry point that routes here; and
merged — routes here too, and can name the just-merged PR to anchor the
summary (e.g. /merged #74). (Distinct from post-merge, which wraps up a
single just-merged PR rather than the whole session.)
Don't report from memory or assume a merge did/didn't happen — query each thing
fresh (this is the never assume; always verify rule applied to closing out).
Commands below are annotated with their abstract operation token — resolve to
your model's tool via tool-mappings.md instead of
the gh command shown if this session doesn't have gh:
gh pr list --state open --json number,title,headRefName,author,mergeable,mergeStateStatus,comments \
--jq '.[] | "#\(.number) [\(.author.login)] \(.title) [\(.mergeable)]"' # LIST_PRS
gh issue list --state open --json number,title --jq '.[] | "#\(.number) \(.title)"' # LIST_ISSUES
git status --short # uncommitted work?
git worktree list # leftover worktrees (agent isolation / session-lock)?
git log --oneline -5 origin/main # what actually landed on main
gh pr view <N> --json state,mergedAt (or gh issue view; abstract tokens:
VIEW_PR / VIEW_ISSUE). A PR you think you left open may have been merged
by the user, and vice-versa.gh pr list --repo <owner>/<repo> --state open --json number,title,headRefName,author,mergeable,mergeStateStatus,comments
(LIST_PRS).mergeable field. For each PR with mergeable == "CONFLICTING" or
"UNKNOWN" (see resolve-conflicts, "Verify before you act" —
UNKNOWN can mean GitHub hasn't finished computing yet), verify with
git merge-tree --write-tree origin/main origin/<branch> (git ≥ 2.38) before acting,
then check claim status (most recent comment) and fix confirmed conflicts
using the cascade procedure in post-merge step 1.5 (claim → isolated
worktree → merge main → resolve-conflicts skill → push → unclaim). Don't
leave conflicting PRs behind when wrapping up — they block whoever works
the queue next.List, don't bury:
@claude-bot-opened PR) instead of silently passing over it.session-lock leave
worktrees behind (esp. ones whose PR already merged). Flag them and offer to
run clean-worktrees (cw) to sweep the dead ones.pr-status-all skill to produce the report's PR table.
This is a standing user mandate (2026-08-25): every session end or clean stopping point gets a whole-queue dashboard, not just a list of the PRs this conversation happened to touch.
Respect that skill's own Safety Cap --- a queue over 10 open PRs gets its condensed table, not a skipped one.#N).TZ=America/Los_Angeles date "+%Y-%m-%d %H:%M %Z";
the explicit TZ enforces PT on a machine set to any other zone) so "as of
when" is unambiguous when the user re-reads it later.Run the full ums procedure (invoke the ums skill by name): scan the session
for mistakes-corrected, new user preferences, tool quirks, and skill gaps —
including whether spot-skill-opportunities flagged a recurring pattern
during the session that's still unbuilt; update the relevant memory files and
skill definitions; commit via a branch + PR (not direct to main). If
nothing durable emerged, say so explicitly rather than manufacturing edits.
Pause point: after the UMS pass above, before the closing signal or any
/clear flag.
Do-Confirm; per
shared/workflow/skill-checklists.md.
It sits here rather than in step 3 because every item confirms work from an
earlier step --- a checklist placed before the step it checks is a forward
reference, not a confirmation.
git status, local branches, worktrees ---
and the step 3 report was built from its output, not from
recollection.
Marked because recollection covers only the PRs and branches this
conversation created, which is precisely the blind spot: a bot-opened
PR, a leftover harness branch, or another session's PR in the same repo
never entered the conversation, so nothing about them feels outstanding.
The recorded failure is a clean stopping point flagged twice on the
strength of "my three PRs are merged", with the sweep then finding a
stale draft PR and an unused branch./clear flag that has to mention an owed UMS pass is a
flag raised too early.Then close the reply with an explicit stopping-point statement (the last message you post before stopping should always state whether or not this is a clean stopping point for the session):
**Stopping Point**: Clean stopping point reached ("This session is at a good stopping point."). A silent trailing summary leaves the user unsure whether you're actually done or just paused.**Stopping Point**: Not a clean stopping point — [reason/open items], and end the reply with the open question(s) / pending tasks, last and clearly visible.record-learnings (continuous) and ums (the learnings checkpoint,
which this embeds as step 4) — wrap-up is their session-level bookend.spot-skill-opportunities — step 4's UMS pass checks whether it flagged
a recurring pattern during the session that's still unbuilt.pr-status-all --- step 3's PR table comes from this skill, not from a
hand-built list of the session's own PRs.
See its Safety Cap for what happens on a large open-PR queue.checkpoint / compress-session — narrower-scoped snapshots taken
during a session (a task-phase snapshot, a pre-compaction distillation);
wrap-up is the full session-level close-out these feed into, not a
replacement for them.