Orca CLI
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
Structured session ending ritual that captures completed work, pending tasks, and learnings before a session ends.
$ npx skills add Resgrid/Core --skill wrap-up-ritual -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Resgrid/Core wrap-up-ritual --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.forge/skills/wrap-up-ritual .claude/skills/wrap-up-ritual && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "wrap-up-ritual" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/wrap-up-ritual into .claude/skills/wrap-up-ritual/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrap-up-ritual", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Resgrid/Core/tree/master/.forge/skills/wrap-up-ritualType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Resgrid/Core --skill wrap-up-ritual -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Resgrid/Core wrap-up-ritual --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.forge/skills/wrap-up-ritual .agents/skills/wrap-up-ritual && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wrap-up-ritual" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/wrap-up-ritual into .agents/skills/wrap-up-ritual/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrap-up-ritual", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Resgrid/Core --skill wrap-up-ritual -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Resgrid/Core wrap-up-ritual --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.forge/skills/wrap-up-ritual .cursor/skills/wrap-up-ritual && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "wrap-up-ritual" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/wrap-up-ritual into .cursor/skills/wrap-up-ritual/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrap-up-ritual", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Resgrid/Core.git --path .forge/skills/wrap-up-ritual--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Resgrid/Core --skill wrap-up-ritual -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Resgrid/Core wrap-up-ritual --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.forge/skills/wrap-up-ritual .gemini/skills/wrap-up-ritual && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "wrap-up-ritual" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/wrap-up-ritual into .gemini/skills/wrap-up-ritual/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrap-up-ritual", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Resgrid/Core wrap-up-ritualInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Resgrid/Core --skill wrap-up-ritual -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .github/skills && cp -r skills-src/.forge/skills/wrap-up-ritual .github/skills/wrap-up-ritual && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "wrap-up-ritual" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/wrap-up-ritual into .github/skills/wrap-up-ritual/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrap-up-ritual", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Resgrid/Core --skill wrap-up-ritual -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Resgrid/Core wrap-up-ritual --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.forge/skills/wrap-up-ritual .opencode/skills/wrap-up-ritual && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "wrap-up-ritual" agent skill from https://github.com/Resgrid/Core/tree/master/.forge/skills/wrap-up-ritual into .opencode/skills/wrap-up-ritual/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrap-up-ritual", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
wrap-up-ritualStructured session ending ritual that captures completed work, pending tasks, and learnings before a session ends.
Wrap Up Ritual is an agent skill from Resgrid/Core. Structured session ending ritual that captures completed work, pending tasks, and learnings before a session ends. Writes a handoff note to .claude/handoff.md so the next session (or a different developer) can pick up exactly where this session left off. Load this skill when the user signals they're wrapping up, says "let's stop here", "that's all for now", "end of session", "wrap up", "save progress", "handoff", or "I'm done for today".
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Session handoff. The repository describes itself as: The Open Source Computer Aided Dispatch (CAD), Personnel, Shift Management, Automatic Vehicle Location (AVL) and Emergency Management Platform that powers Resgrid.com. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit da304c7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Wrap Up Ritual loads about 2k tokens when it runs. Until then it costs about 114 tokens; SKILL.md has 379 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Resgrid/Core at commit da304c7, republished under its Apache-2.0 licence (© Resgrid). 379 words, ~1,972 tokens.
.claude/skills/wrap-up-ritual/SKILL.md (or your agent's skills folder).Sessions are ephemeral, knowledge is permanent — When a session ends, context is lost. But learnings, decisions, and progress don't have to be. The wrap-up ritual bridges the gap between sessions by writing a handoff note.
Three captures every time — Every session ending captures exactly three things: what was DONE, what is PENDING, and what was LEARNED. No exceptions. Skipping any of these creates gaps for the next session.
Handoff notes are written for a stranger — Write the handoff as if the next person has zero context. Include file paths, decision rationale, and specific next steps. "Continue the refactor" is useless. "Refactor src/Orders/CreateOrder.cs to use the Result pattern — see the Catalog module for the established pattern" is actionable.
Consistent location, always overwritten — The handoff file lives at .claude/handoff.md. Each session overwrites the previous one — there's only ever one active handoff. Old handoffs are not valuable; current state is.
Learnings flow to permanent memory — The "learned" section of a wrap-up is a trigger for the self-correction-loop skill. Any correction or discovery worth remembering should be captured in MEMORY.md as a permanent rule, not just in the ephemeral handoff.
The handoff file follows a consistent structure:
# Session Handoff
> Generated: 2025-07-15 | Branch: feature/order-validation
## Completed
- [x] Added FluentValidation to CreateOrder command
- File: `src/Orders/Features/CreateOrder.cs` (lines 15-35)
- Validator checks: non-empty CustomerId, at least 1 item, positive quantities
- [x] Added integration test for validation
- File: `tests/Orders.Tests/Features/CreateOrderTests.cs`
- Tests: InvalidCustomerId_Returns400, EmptyItems_Returns400
- [x] Fixed N+1 query in GetOrderDetails
- File: `src/Orders/Features/GetOrderDetails.cs` (line 28)
- Added `.Include(o => o.Items)` to the query
## Pending
- [ ] Add validation to UpdateOrder command (same pattern as CreateOrder)
- Start from: `src/Orders/Features/UpdateOrder.cs`
- Reference: CreateOrder validator for the established pattern
- [ ] Run full test suite — last run had 2 unrelated failures in Catalog module
- Failures: `CatalogTests.GetProduct_NotFound` and `CatalogTests.ListProducts_Pagination`
- These appear pre-existing, not caused by today's changes
## Learned
- FluentValidation validators must be registered in the module's DI setup
(added to `OrdersModule.cs` line 12) — easy to forget
- The N+1 in GetOrderDetails was not caught by existing tests because the test
fixture seeds only 1 item per order. Consider adding multi-item test data.
## Context
- Working in the `feature/order-validation` branch
- All changes committed up to "Add CreateOrder validation + tests"
- No uncommitted changesRecognize when the user is ending a session:
EXPLICIT SIGNALS:
- "Let's wrap up"
- "That's all for today"
- "I'm done"
- "Save progress"
- "Let's stop here"
- "End of session"
- "Handoff"
- "Pick this up tomorrow"
IMPLICIT SIGNALS:
- User says "thanks" after a series of completed tasks
- User says "good enough for now"
- Long pause after completing a task followed by no new request
RESPONSE:
When you detect a wrap-up signal, offer to write the handoff:
"Let me write a handoff note to .claude/handoff.md so the next session
can pick up exactly where we left off."Before writing the handoff, review the session for learnings:
LEARNING EXTRACTION CHECKLIST:
1. Did the user correct anything? → Capture in MEMORY.md (via self-correction-loop)
2. Did we discover something non-obvious? → Add to "Learned" section
3. Did we make a decision with rationale? → Document the "why" in handoff
4. Did a tool/approach not work? → Note it so the next session doesn't retry
5. Did we find a pattern worth reusing? → Note for potential skill/memory addition
EXAMPLES OF GOOD LEARNINGS:
- "EF Core compiled queries don't work with Include() — use regular queries"
- "The payment gateway sandbox returns 500 on amounts > $10,000"
- "FluentValidation async validators need .MustAsync(), not .Must() with await"
EXAMPLES OF BAD LEARNINGS:
- "We worked on the Orders module" (too vague)
- "Things went well" (not actionable)
- "Used TimeProvider" (already a known rule, not a learning)// BAD — session ends with no capture
User: "Thanks, that's all!"
Claude: "You're welcome! Happy to help."
*Next session: "What were we working on? Let me read through the git log..."*
// GOOD — session ends with a handoff
User: "Thanks, that's all!"
Claude: "Before we wrap up, let me write a handoff note to .claude/handoff.md
so the next session can pick up where we left off."
*Next session: reads handoff, immediately knows the state*// BAD — handoff that doesn't help
## Completed
- Worked on Orders module
## Pending
- More work on Orders
// GOOD — specific, actionable handoff
## Completed
- [x] Added CreateOrder validation (src/Orders/Features/CreateOrder.cs:15-35)
- [x] Integration test for validation (tests/Orders.Tests/Features/CreateOrderTests.cs)
## Pending
- [ ] Add same validation pattern to UpdateOrder (src/Orders/Features/UpdateOrder.cs)
- Reference CreateOrder validator for the pattern// BAD — creating timestamped handoff files
.claude/
├── handoff-2025-07-13.md
├── handoff-2025-07-14.md
├── handoff-2025-07-15.md
*3 files, unclear which is current, stale data accumulating*
// GOOD — single file, always overwritten
.claude/
├── handoff.md ← always the current state
*Permanent learnings go to MEMORY.md, not handoff files*// BAD — handoff without learnings
## Completed
- Fixed N+1 query
## Pending
- Nothing
*The discovery that seeded test data only has 1 item per order (hiding N+1s)
is lost forever*
// GOOD — extract and preserve the insight
## Learned
- Test fixture seeds only 1 item per order, which hides N+1 queries.
Consider adding multi-item test data to the default fixture.
→ Also added to MEMORY.md > Testing: "Seed test data with multiple
child entities to catch N+1 queries"| Scenario | Action |
|---|---|
| User says "wrap up" / "that's all" / "done" | Write handoff to .claude/handoff.md |
| Session completed multiple tasks | List each with file paths and line numbers |
| Session had user corrections | Extract to MEMORY.md AND note in handoff Learned section |
| Next session is likely a different person | Include Decisions Made table with rationale |
| Session had no pending work | Still write a handoff — document what was completed and learned |
| Previous handoff exists | Overwrite it — only the current state matters |
| Work was on a feature branch | Include branch name and last commit message in handoff |
| Session ended with failing tests | Document which tests fail and suspected cause in Pending |
| User doesn't want a handoff | Respect it — but suggest capturing learnings in MEMORY.md at minimum |
| Session was purely exploratory (no code changes) | Write a lighter handoff with findings and recommendations |
© Resgrid, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .forge/skills/wrap-up-ritual of Resgrid/Core.
Open the folder on GitHubat commit da304c7
Wrap Up Ritual next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Wrap Up Ritual this skillResgrid/Core | 229 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Orca CLIstablyai/orca | 88k | 2 repos | ~593 | Automated safety check: Pass | MIT | |
| Beads Task Memorygastownhall/beads | 28k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Session History Searchslopus/happy | 24k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Paseo Agent Handoffgetpaseo/paseo | 20k | 1 repos | ~606 | Automated safety check: Pass | Custom licence | |
| Memori Long-Term MemoryMemoriLabs/Memori | 17k | — | ~2k | Automated safety check: Notes | Custom licence |
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
gastownhall/beads
Tracks multi-session work with dependencies in the bd issue tracker so the agent can find ready tasks and recover its context after conversation compaction.
slopus/happy
Searches past Claude Code, Codex and Cursor sessions and summarizes what was worked on, tried or decided, using extraction scripts instead of reading raw logs.
getpaseo/paseo
Hands off the current task, including context, decisions and failed attempts, to a fresh agent through Paseo by writing a self-contained briefing prompt and launching that agent.
MemoriLabs/Memori
Connects Claude Code to Memori Cloud for long-term memory, recalling stored context before substantive replies and saving new context afterward.
liwp/again
A skill your agent uses when working in a repository that uses bd or Beads for durable project task tracking, issue dependencies, blocker management, multi-session handoff, or shared work memory.
Resgrid/Core
Focus code review effort on the 20% of code that causes 80% of issues.
Resgrid/Core
Autonomous iteration loops for .NET development: build-fix, test-fix, refactor, and scaffold loops.
Resgrid/Core
Auto-document insights and discoveries during development sessions.
Resgrid/Core
Observability for .NET 10 applications. An agent skill from Resgrid/Core.
Resgrid/Core
Strategic Codex model selection for .NET development workflows.
Resgrid/Core
Strategic Claude model selection for .NET development workflows.
Categories
Structured session ending ritual that captures completed work, pending tasks, and learnings before a session ends. Wrap Up Ritual is an agent skill from Resgrid/Core. Structured session ending ritual that captures completed work, pending tasks, and learnings before a session ends.
Wrap Up Ritual fits situations like: signals theyre wrapping up; says lets stop here; thats all for now; im done for today.
Run `npx skills add Resgrid/Core --skill wrap-up-ritual -a claude-code`. Or copy the skill folder (.forge/skills/wrap-up-ritual in Resgrid/Core) into .claude/skills/wrap-up-ritual in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Resgrid/Core --skill wrap-up-ritual -a codex`. Or copy the skill folder (.forge/skills/wrap-up-ritual in Resgrid/Core) into .agents/skills/wrap-up-ritual in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Resgrid/Core --skill wrap-up-ritual -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wrap-up-ritual, .gemini/skills/wrap-up-ritual, .github/skills/wrap-up-ritual and .opencode/skills/wrap-up-ritual in your project.
SKILL.md names no scripts, command-line tools or credentials: Wrap Up Ritual is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Wrap Up Ritual is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Wrap Up Ritual: Orca CLI (stablyai/orca, 88k stars), Beads Task Memory (gastownhall/beads, 28k stars), Session History Search (slopus/happy, 24k stars) and Paseo Agent Handoff (getpaseo/paseo, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Resgrid (a GitHub organization) maintains it in Resgrid/Core, which has 229 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 9, 2026.
Source: Resgrid/Core on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.