Agent Repo Init
study8677/repobrain
One-click initialization of a multi-agent repository from the RepoBrain template.
End-of-session ritual. An agent skill from davepoon/buildwithclaude.
$ npx skills add davepoon/buildwithclaude --skill handoff -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install davepoon/buildwithclaude handoff --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/davepoon/buildwithclaude.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/origin/skills/handoff .claude/skills/handoff && 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 "handoff" agent skill from https://github.com/davepoon/buildwithclaude/tree/main/plugins/origin/skills/handoff into .claude/skills/handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "handoff", 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/davepoon/buildwithclaude/tree/main/plugins/origin/skills/handoffType 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 davepoon/buildwithclaude --skill handoff -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install davepoon/buildwithclaude handoff --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davepoon/buildwithclaude.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/origin/skills/handoff .agents/skills/handoff && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "handoff" agent skill from https://github.com/davepoon/buildwithclaude/tree/main/plugins/origin/skills/handoff into .agents/skills/handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "handoff", 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 davepoon/buildwithclaude --skill handoff -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install davepoon/buildwithclaude handoff --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davepoon/buildwithclaude.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/origin/skills/handoff .cursor/skills/handoff && 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 "handoff" agent skill from https://github.com/davepoon/buildwithclaude/tree/main/plugins/origin/skills/handoff into .cursor/skills/handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "handoff", 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/davepoon/buildwithclaude.git --path plugins/origin/skills/handoff--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 davepoon/buildwithclaude --skill handoff -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install davepoon/buildwithclaude handoff --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davepoon/buildwithclaude.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/origin/skills/handoff .gemini/skills/handoff && 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 "handoff" agent skill from https://github.com/davepoon/buildwithclaude/tree/main/plugins/origin/skills/handoff into .gemini/skills/handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "handoff", 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 davepoon/buildwithclaude handoffInstalls 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 davepoon/buildwithclaude --skill handoff -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/davepoon/buildwithclaude.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/origin/skills/handoff .github/skills/handoff && 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 "handoff" agent skill from https://github.com/davepoon/buildwithclaude/tree/main/plugins/origin/skills/handoff into .github/skills/handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "handoff", 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 davepoon/buildwithclaude --skill handoff -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install davepoon/buildwithclaude handoff --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davepoon/buildwithclaude.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/origin/skills/handoff .opencode/skills/handoff && 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 "handoff" agent skill from https://github.com/davepoon/buildwithclaude/tree/main/plugins/origin/skills/handoff into .opencode/skills/handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "handoff", 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.
handoffEnd-of-session ritual. An agent skill from davepoon/buildwithclaude.
Handoff is an agent skill from davepoon/buildwithclaude. End-of-session ritual. Captures decisions, lessons, gotchas, and open threads. Writes a narrative session log to ~/.origin/sessions/ and stores granular memories via Origin MCP. Previews any unconfirmed captures from the current session before closing. Invoked as /handoff.
Its SKILL.md is about 2.3k 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. It works with Model Context Protocol and Git. The repository describes itself as: A single hub to find Claude Skills, Agents, Commands, Hooks, Plugins, and Marketplace collections to extend Claude Code, Claude Desktop, Agent SDK and OpenClaw. The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 616deb5. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bashmcp__plugin_origin_origin__capturemcp__plugin_origin_origin__list_pendingFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
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.
Handoff loads about 2.3k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 873 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, mcp__plugin_origin_origin__capture, mcp__plugin_origin_origin__list_pendingAutomated 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 davepoon/buildwithclaude at commit 616deb5, republished under its MIT licence (© davepoon). 873 words, ~2,301 tokens.
.claude/skills/handoff/SKILL.md (or your agent's skills folder).End-of-session debrief. Three artifacts each pass:
~/.origin/sessions/<YYYY-MM-DD-HHmm>-<slug>.md.~/.origin/sessions/_status/.These are orthogonal: captures are queryable atoms, session log is the narrative thread, status file lets the next session see where we left off.
Bash: cd_repo=$(git -C "$PWD" rev-parse --show-toplevel 2>/dev/null); echo "${cd_repo:-no-git}"<project> (e.g. origin).no-git → use the cwd basename. Skip git steps below; rely entirely
on conversation context.Read ~/.origin/sessions/_status/handoff-<project>.json for lastHandoff
timestamp (ISO-8601). If file missing, default to "12 hours ago".
After establishing <lastHandoff>, call:
list_pending(limit=50)The MCP returns memory rows with source_id, content, created_at, and
other metadata. Convert lastHandoff (ISO-8601 string, e.g.
2026-05-13T22:50:00Z) to a Unix epoch seconds integer before filtering:
Bash: date -j -f %Y-%m-%dT%H:%M:%SZ "$lastHandoff" +%sOr in your scripting language of choice (Python's datetime.fromisoformat,
JavaScript's Date.parse, etc.). Save the result as lastHandoffEpoch.
Then filter the response rows: keep where row.created_at >= lastHandoffEpoch.
These are captures this session produced that the quality gate left unconfirmed
(untrusted-source captures).
If the filtered list is empty, say nothing. Proceed to Step 2.
If non-empty, render a preview block once, before the existing capture flow:
Pending captures this session (<N> total, top 3 shown):
1. mem_xyz789 "..." (untrusted source: <agent>)
2. ...
Default: proceed (captures stay pending). Opt in by running
`/review captures` before re-invoking /handoff if you want to walk them.Do NOT prompt for per-item action inline. The user proceeds with /handoff regardless; the preview is informational only.
Bash: git -C <repo> log --oneline --since=<lastHandoff>
Bash: git -C <repo> status --short
Bash: git -C <repo> diff --stat HEAD~5..HEAD 2>/dev/null
Bash: git -C <repo> worktree listCapture output. Use it alongside conversation history to infer what happened. If not a git repo, skip — conversation context is the source.
Synthesize silently from git output + conversation. Categorize each item
into user-facing groups. Each maps to a daemon memory_type for the
capture call:
| Display label | daemon memory_type | What belongs here |
|---|---|---|
| Decisions | decision | architectural choice, tool/pattern selection (with WHY) |
| Lessons | lesson | root cause discovered, workaround found, technical insight |
| Insights | gotcha | unexpected behavior, debugging discovery, sharp edge |
| Corrections | preference | user pushed back, corrected approach or assumption |
| Facts | fact | durable project/people/tool fact worth persisting |
Non-memory items (not stored, session-log only):
Skip purely mechanical facts already in git (file paths, function names, config values). The commit log preserves those.
For each non-trivial item, call with the mapped memory_type:
capture(content="<one self-contained sentence with WHY>", memory_type="<decision|lesson|gotcha|preference|fact>")Atomic: one decision per call. Don't merge multiple items into one memory. The daemon dedups against existing knowledge, so re-storing known facts is a no-op.
Only surface items to the user BEFORE storing if they meet one of these bars:
Otherwise just store and report counts at the end.
Bash heredoc to ~/.origin/sessions/<YYYY-MM-DD-HHmm>-<slug>.md:
# Session <YYYY-MM-DD HH:MM> — <slug>
**Project:** <project>
**Range:** <lastHandoff> → <now>
## Accomplished
- <item>
## Decisions
- <decision and rationale>
## Lessons & Gotchas
- <root cause / workaround>
## Open Threads
- <what's unfinished>
## Captures stored
- <source_id_or_brief_summary>
## Git summary
<git log --oneline output><slug> = kebab-case 2-4 word summary (session-handoff-md-writer).
Overwrite ~/.origin/sessions/_status/<project>.md:
# <Project> — Current Status
## Last session (<date>)
- <accomplished bullet>
## Active
<!-- Items touched/spawned in the last 1-2 sessions. Real next-move candidates. -->
- <item> (added <YYYY-MM-DD>)
- <blocked item> (added <YYYY-MM-DD>) (gated: <trigger>)
## Backlog
<!-- Older accretion. Not gated, not picked. Promote back to Active when re-engaged. -->
- <item> (added <YYYY-MM-DD>)Single file per project. New session overwrites — this is the current state, not a log.
Two sections, not one flat list: ## Active and ## Backlog separate
the two types of tasks that get mixed otherwise. Active = fresh signal
worth picking next. Backlog = older parked items, kept for reference but
not in the "what next?" frame.
Date stamp every bullet with (added <YYYY-MM-DD>). Use today's date
when adding a new item; preserve the original date when carrying an item
forward. Dates make age visible at a glance and avoid relative-time drift.
Gated items stay inline-tagged with (gated: <trigger>) — no separate
section. The tag tells the reader why it can't move yet; the bullet stays
in whichever section reflects its recency.
Promotion / demotion rules:
## Active with today's date## Active that wasn't touched this session AND wasn't touched
the prior session → demote to ## Backlog (keep original date)## Backlog that work resumed on → promote back to ## Active
(keep original date — staleness is a property of the work, not the
bullet text)Overwrite ~/.origin/sessions/_status/handoff-<project>.json:
{
"lastHandoff": "<ISO-8601 now>",
"project": "<project>",
"summary": "<one-line>"
}Per-project file prevents parallel sessions from clobbering each other.
After writing the files above, snapshot the change so the user can git log their memory's life timeline. Defensive — silent skip if git is
missing or ~/.origin/ is not a repo yet.
Bash: git -C ~/.origin add -A && \
git -C ~/.origin -c user.name=Origin -c user.email=daemon@origin.local \
commit --quiet -m "session: <slug>" 2>/dev/null || \
(sleep 1 && git -C ~/.origin add -A && \
git -C ~/.origin -c user.name=Origin -c user.email=daemon@origin.local \
commit --quiet -m "session: <slug>" 2>/dev/null) || trueThe retry handles index.lock races — the daemon may be writing to
~/.origin/ at the same moment (auto-commit from captures). One-second
wait is enough for the daemon to release the lock.
Print one summary block with captures grouped by display label:
Handoff stored.
Decisions: <N> (brief list)
Lessons: <N> (brief list)
Insights: <N> (brief list)
Corrections: <N> (brief list)
Facts: <N> (brief list)
Session: ~/.origin/sessions/<filename>
Status: ~/.origin/sessions/_status/<project>.md
Git: <commit hash> session: <slug>Show each label only if non-empty. List items as short phrases, not full sentences — the session log has the details.
/capture (single memory)./recall.stability flag — they never get exported to md.~/.origin/pages/ by the
daemon when /distill runs. Citations link back to source memory ids.~/.origin/sessions/. They are
the narrative axis: chronological, not topical. Browse them as a
changelog of your work.© davepoon, MIT. 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 plugins/origin/skills/handoff of davepoon/buildwithclaude.
Open the folder on GitHubat commit 616deb5
Handoff 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 |
|---|---|---|---|---|---|---|
| Handoff this skilldavepoon/buildwithclaude | 3.6k | — | ~2.3k | Automated safety check: Notes | MIT | |
| Agent Repo Initstudy8677/repobrain | 1.3k | 1 repos | ~404 | Automated safety check: Notes | MIT | |
| Agent Deckasheshgoplani/agent-deck | 1k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Foremergenaw103/foremerge | 538 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Puppetmaster Agent Orchestrationprofessorpalmer/Puppetmaster | 467 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Agtx Task Sweepfynnfluegge/agtx | 1.7k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 |
study8677/repobrain
One-click initialization of a multi-agent repository from the RepoBrain template.
asheshgoplani/agent-deck
agent-deck, the terminal session manager for AI coding agents.
naw103/foremerge
Coordinate parallel coding agents with Foremerge's local Git-compatible CLI and MCP server.
professorpalmer/Puppetmaster
Operates and supervises Puppetmaster, a multi-agent orchestrator, through its MCP tools or CLI, picking the right verb for edits, reviews, audits and long-running jobs.
fynnfluegge/agtx
Breaks a conversation's results into feature-level tasks and pushes them to the agtx kanban board, where each task gets its own worktree and agent session.
getsentry/sentry-wizard
Manage agent skill dependencies with dotagents. An agent skill from getsentry/sentry-wizard.
davepoon/buildwithclaude
Build, update, and apply iOS design specifications using Apple Human Interface Guidelines (HIG) source data.
davepoon/buildwithclaude
Download YouTube videos with customizable quality and format options.
davepoon/buildwithclaude
A skill your agent uses when the user asks to "analyze video", "watch this video", "what happens in this video", "describe this clip", "review this footage", "classify these videos", "compare…
davepoon/buildwithclaude
Discover Atlas Cloud image and video models, inspect their live schemas, and submit one confirmed media generation request with bounded GET polling.
davepoon/buildwithclaude
面向没有编程经验的用户,把想法做成可试用的浏览器插件,并完成检查、商店材料、审核提交和上线验证;也用于继续已有插件、排错和发布新版。用户说“帮我做个插件”“把插件上架”“继续我的插件”时使用。普通网站开发、仅查询插件知识不触发。
davepoon/buildwithclaude
Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives.
Works with
Categories
End-of-session ritual. An agent skill from davepoon/buildwithclaude. Handoff is an agent skill from davepoon/buildwithclaude. End-of-session ritual.
Handoff fits situations like: agent Workflows work in your project.
Run `npx skills add davepoon/buildwithclaude --skill handoff -a claude-code`. Or copy the skill folder (plugins/origin/skills/handoff in davepoon/buildwithclaude) into .claude/skills/handoff in your project. Claude Code loads it when a task matches its description.
Run `npx skills add davepoon/buildwithclaude --skill handoff -a codex`. Or copy the skill folder (plugins/origin/skills/handoff in davepoon/buildwithclaude) into .agents/skills/handoff 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 davepoon/buildwithclaude --skill handoff -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/handoff, .gemini/skills/handoff, .github/skills/handoff and .opencode/skills/handoff in your project.
Going by SKILL.md and its folder, Handoff needs the command-line tools its instructions call (git). Its frontmatter pre-approves these tools: Bash, mcp__plugin_origin_origin__capture, mcp__plugin_origin_origin__list_pending.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Handoff is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.2k 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 Handoff: Agent Repo Init (study8677/repobrain, 1.3k stars), Agent Deck (asheshgoplani/agent-deck, 1k stars), Foremerge (naw103/foremerge, 538 stars) and Puppetmaster Agent Orchestration (professorpalmer/Puppetmaster, 467 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
davepoon (a GitHub user) maintains it in davepoon/buildwithclaude, which has 3,605 GitHub stars. The repository holds 246 skills in this directory. The repository was last updated on October 9, 2026.
Source: davepoon/buildwithclaude on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.