MemPalace Task Handoff
MemPalace/mempalace
Creates, hands off, claims, executes and closes agent tasks through the MemPalace logstream, with approval of the exact task before it is recorded.
Group a session-metrics session's turns into higher-level SEMANTIC TASKS ("what was I actually trying to do") and render a Tasks companion page (tasks.html + tasks.md) with a worth-it / mixed /…
$ npx skills add centminmod/my-claude-code-setup --skill task-breakdown -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install centminmod/my-claude-code-setup task-breakdown --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/centminmod/my-claude-code-setup.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/task-breakdown .claude/skills/task-breakdown && 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 "task-breakdown" agent skill from https://github.com/centminmod/my-claude-code-setup/tree/master/.claude/skills/task-breakdown into .claude/skills/task-breakdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-breakdown", 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/centminmod/my-claude-code-setup/tree/master/.claude/skills/task-breakdownType 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 centminmod/my-claude-code-setup --skill task-breakdown -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install centminmod/my-claude-code-setup task-breakdown --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/centminmod/my-claude-code-setup.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/task-breakdown .agents/skills/task-breakdown && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "task-breakdown" agent skill from https://github.com/centminmod/my-claude-code-setup/tree/master/.claude/skills/task-breakdown into .agents/skills/task-breakdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-breakdown", 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 centminmod/my-claude-code-setup --skill task-breakdown -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install centminmod/my-claude-code-setup task-breakdown --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/centminmod/my-claude-code-setup.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/task-breakdown .cursor/skills/task-breakdown && 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 "task-breakdown" agent skill from https://github.com/centminmod/my-claude-code-setup/tree/master/.claude/skills/task-breakdown into .cursor/skills/task-breakdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-breakdown", 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/centminmod/my-claude-code-setup.git --path .claude/skills/task-breakdown--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 centminmod/my-claude-code-setup --skill task-breakdown -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install centminmod/my-claude-code-setup task-breakdown --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/centminmod/my-claude-code-setup.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/task-breakdown .gemini/skills/task-breakdown && 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 "task-breakdown" agent skill from https://github.com/centminmod/my-claude-code-setup/tree/master/.claude/skills/task-breakdown into .gemini/skills/task-breakdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-breakdown", 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 centminmod/my-claude-code-setup task-breakdownInstalls 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 centminmod/my-claude-code-setup --skill task-breakdown -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/centminmod/my-claude-code-setup.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/task-breakdown .github/skills/task-breakdown && 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 "task-breakdown" agent skill from https://github.com/centminmod/my-claude-code-setup/tree/master/.claude/skills/task-breakdown into .github/skills/task-breakdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-breakdown", 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 centminmod/my-claude-code-setup --skill task-breakdown -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install centminmod/my-claude-code-setup task-breakdown --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/centminmod/my-claude-code-setup.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/task-breakdown .opencode/skills/task-breakdown && 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 "task-breakdown" agent skill from https://github.com/centminmod/my-claude-code-setup/tree/master/.claude/skills/task-breakdown into .opencode/skills/task-breakdown/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-breakdown", 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.
task-breakdownGroup a session-metrics session's turns into higher-level SEMANTIC TASKS ("what was I actually trying to do") and render a Tasks companion page (tasks.html + tasks.md) with a worth-it / mixed /…
Task Breakdown is an agent skill from centminmod/my-claude-code-setup. Group a session-metrics session's turns into higher-level SEMANTIC TASKS ("what was I actually trying to do") and render a Tasks companion page (tasks.html + tasks.md) with a worth-it / mixed / likely-waste verdict per task. Trigger when the user runs /task-breakdown, when session-metrics suggests a task breakdown after a JSON export, or when the user asks to "group my turns into tasks", "what tasks did this session cover", "which work was worth it vs wasted", or "break this session into tasks". Consumes the…
Its SKILL.md is about 2.4k 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 Task breakdown. The repository describes itself as: Shared starter template configuration and CLAUDE.md memory bank system for Claude Code. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7d5c374. 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.
Shell commands in SKILL.md call:
python3From 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.
Task Breakdown loads about 2.4k tokens when it runs. Until then it costs about 192 tokens; SKILL.md has 1,130 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 centminmod/my-claude-code-setup at commit 7d5c374, republished under its MIT licence (© centminmod). 1,130 words, ~2,445 tokens.
.claude/skills/task-breakdown/SKILL.md (or your agent's skills folder).Turns a session's per-request breakdown (the deterministic request_units
emitted by session-metrics) into semantic tasks the user actually thinks
in — "added auth", "debugged the cache miss" — and labels each with a verdict.
You do the one thing deterministic code can't: decide which requests belong to
the same task. The script does everything else (cost, turns, tokens, waste
signals, the themed page).
Model. This skill runs on your session's current model. It no longer pins
one (a hard model: pin ran the inline turn on that model, dragging the whole
conversation into that model's context window — on a long session that
overflowed and broke invocation). The grouping + verdict work is
judgement-heavy, so it wants a capable model; for a cheaper run that's still
strong enough, /model sonnet before invoking. Don't drop to Haiku — the
semantic verdicts need the headroom.
Division of labour — do not blur it:
request_units in the JSON export. You MUST NOT sum money or
invent figures — --render-tasks recomputes all totals from the export.request_unit_id to
a task, write a short title, a verdict, and a one-line rationale.$ARGUMENTS[0] (optional) = path to a session-metrics JSON export, e.g.
exports/session-metrics/session_<id8>_<ts>.json (session scope is the primary
target; project_*.json also works — units carry a session_id). The export
must contain a request_units array.
If $ARGUMENTS[0] is missing, first generate a session export by invoking the
session-metrics skill (or run its script) for the session of interest with
--output json html, then use the written session_*.json path.
Locate the export and the renderer.
$ARGUMENTS[0], or the JSON you just generated.../session-metrics/scripts/session-metrics.py.claude/skills/session-metrics/scripts/session-metrics.py
Use whichever exists (glob if unsure).Prepare the worksheet + skeleton (preferred — you are an editor, not an
author). Run --prepare-tasks on the export: it prints a compact
one-line-per-request worksheet to stdout and writes a renderable candidate
<stem>_grouping.json next to the export, with deterministic clustering,
seeded titles, and suggested verdicts already filled in.
python3 <renderer> --prepare-tasks <export.json>The worksheet is your single source of grouping signals — do not re-probe
the JSON with jq/Read. Each row shows the unit's candidate cluster
(cl), turns, cost, tokens, risk/reread/cbreak, idle gap, snippet, and top
tools; [cont] marks an agent-completion continuation and [blank] a
no-prompt unit (both pre-attached to the preceding cluster). On a large
session (>120 request units) the worksheet prints a bounded per-cluster
summary instead of per-unit rows (so stdout never overflows the prompt) — the
written skeleton still covers every unit, so treat it as your authoritative
surface and edit it (merge/split/rename) rather than reconstructing the full
per-unit list inline. Then edit the skeleton per steps 3–5 below rather
than writing it from scratch:
rename each seeded title (and drop its _auto_title field once named),
merge/split clusters where the worksheet warrants, write one-line rationales,
and fill any blank verdict the skeleton left for your judgment. Skip to
step 6 (render) when done.
(Fallback — manual authoring.) If you are not using --prepare-tasks, load
the export JSON and read request_units directly. Each unit has: unit_id
("<session_id>:<anchor_index>"), prompt_snippet, prompt_text,
turn_count, combined_cost_usd, total_tokens, tool_histogram,
risk_turn_count, reread_path_count, cache_break_count,
wall_clock_seconds, idle_gap_before_seconds, slash_command,
spawned_subagents, workflow_run_ids, multi_intent_possible.
If request_units is absent, tell the user to re-run session-metrics to
regenerate the export (the per-request breakdown is a newer feature) and stop.
Group into semantic tasks. Read the units in order and cluster consecutive requests that pursue the same goal into one task. Signals, in priority order:
prompt_snippet/prompt_text (same
feature, file, bug, or subject) — the PRIMARY signal.tool_histogram / file targets across adjacent requests.slash_command, a /debug,
/feature-dev, etc.) often begin a task.idle_gap_before_seconds) — a WEAK, confirming-only hint.
A long gap supports a split you already suspect topically; never split on
a gap alone (lunch breaks, overnight continuations).multi_intent_possible may belong to two tasks — note it,
but keep the unit whole (it cannot be divided).
Most sessions yield a handful of tasks. Don't over-segment ("now fix the
test" is usually the SAME task as the feature it follows), and don't
under-segment (one giant "misc" task is useless).
At large scale (many dozens of units, e.g. a project-scope export):
group at session granularity — one titled task per coherent
session-goal — rather than attempting per-unit segmentation. Never emit a
single untitled catch-all task that swallows everything: the renderer's
collapse guard flags a blank-titled task covering the bulk of requests, and
it is a useless grouping anyway. If you cannot segment meaningfully, that is
a signal the input is too coarse for this skill (prefer a single-session
export).Label each task with a verdict, using the deterministic waste signals as evidence, NOT a guess:
worth_it — the task reached its goal at reasonable cost; low
risk_turn_count / re-read churn relative to its size.likely_waste — high risk_turn_count, repeated reread_path_count,
many cache_break_count, or a long turn/cost run with little to show
(e.g. a debug loop that churned).mixed — partly productive, partly churn, or you're unsure.
Bias toward mixed/worth_it when uncertain — a wrong likely_waste
damages trust more than a missed one. Keep the rationale to one honest
sentence tied to the signals ("12 turns, 4 risky re-reads of the same file
before the fix landed").Write grouping.json next to the export (same directory), shape:
{
"schema_version": "1",
"scope_label": "session <id8> · <first_ts>",
"tasks": [
{
"title": "Add token-refresh to auth",
"verdict": "worth_it",
"rationale": "8 requests, one short debug detour, shipped.",
"request_unit_ids": ["<sid>:2", "<sid>:3", "<sid>:5"]
}
]
}Cover every unit_id exactly once across all tasks. (Any you leave out
are swept into a synthetic "Ungrouped requests" task automatically, and the
renderer warns — aim for full coverage.)
Render the companion:
python3 <renderer> --render-tasks <export.json> <grouping.json>The script validates the grouping (flags duplicate / unknown unit ids,
schema drift), recomputes every total from the export, and writes
<stem>_tasks.html + <stem>_tasks.md next to the export. It prints the
output paths and any validation warnings.
Report back to the user with a SHORT SUMMARY ONLY — do not paste the
full task list or the rendered *_tasks.md inline (on a large session that
overflows the reply with "Prompt is too long" / output truncation). Include:
a one-line result (N tasks, total cost, coverage %), the verdict counts
(worth_it / mixed / likely_waste), any grouping warnings the script surfaced,
and the *_tasks.html / *_tasks.md paths. Read every figure back from the
script's stdout / the rendered *_tasks.md — never recompute. Optionally name
up to 3 notable tasks; the full per-task detail lives in the written
files. Offer to open the HTML page.
*_tasks.md after --render-tasks runs.*_workflows.*) — the Tasks page is
a separate, additional artifact.© centminmod, 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 .claude/skills/task-breakdown of centminmod/my-claude-code-setup.
Open the folder on GitHubat commit 7d5c374
Task Breakdown 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 |
|---|---|---|---|---|---|---|
| Task Breakdown this skillcentminmod/my-claude-code-setup | 2.7k | — | ~2.4k | Automated safety check: Pass | MIT | |
| MemPalace Task HandoffMemPalace/mempalace | 59k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Planning And Task Breakdownabashev/vfs-s3 | 106 | 8 repos | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Incremental Implementationaddyosmani/agent-skills | 103k | 1 repos | ~2.3k | Automated safety check: Pass | MIT | |
| ULW Plan Workflowcode-yeongyu/oh-my-openagent | 70k | — | ~3.9k | Automated safety check: Pass | Custom licence | |
| Ask NavigatorYeachan-Heo/oh-my-claudecode | 40k | — | ~4.1k | Automated safety check: Pass | MIT |
MemPalace/mempalace
Creates, hands off, claims, executes and closes agent tasks through the MemPalace logstream, with approval of the exact task before it is recorded.
abashev/vfs-s3
Breaks work into ordered tasks. An agent skill from abashev/vfs-s3.
addyosmani/agent-skills
Delivers a change in thin vertical slices, each implemented, tested, verified and committed before the next, using vertical, contract-first or risk-first slicing.
code-yeongyu/oh-my-openagent
Explore-first planning that turns a vague or large request into one decision-complete work plan, written only after your approval and executed by a separate worker.
Yeachan-Heo/oh-my-claudecode
Charts a foggy effort into a map of decision tickets on the repo's issue tracker and works through them one per session, producing decisions rather than deliverables.
tailcallhq/forgecode
Writes a structured Markdown implementation plan with checkbox tasks, verification criteria and risks, then checks it with a validation script; no code changes.
centminmod/my-claude-code-setup
Audit a session-metrics JSON export for token-usage waste and produce a plain-English findings report.
centminmod/my-claude-code-setup
Generate, edit-from-reference, or analyze images with AI via OpenRouter (Gemini, GPT Image, Seedream, Qwen, MAI, Grok, FLUX.2, Recraft, Muse, Riverflow; Cloudflare AI Gateway BYOK).
centminmod/my-claude-code-setup
Tally Claude Code session token usage and cost estimates from the raw JSONL conversation log.
centminmod/my-claude-code-setup
Consult official Claude Code documentation from code.claude.com using selective fetching.
centminmod/my-claude-code-setup
Dual-AI code analysis pairing OpenAI Codex with Claude code-searcher — the lightest consult variant, two citation-verified perspectives.
centminmod/my-claude-code-setup
Dual-AI code analysis pairing z.ai GLM 5.2 with Claude code-searcher — a lightweight two-model second opinion.
Categories
Group a session-metrics session's turns into higher-level SEMANTIC TASKS ("what was I actually trying to do") and render a Tasks companion page (tasks.html + tasks.md) with a worth-it / mixed /…. Task Breakdown is an agent skill from centminmod/my-claude-code-setup.md) with a worth-it / mixed / likely-waste verdict per task.
Task Breakdown fits situations like: the user runs /task-breakdown; session-metrics suggests a task breakdown after a JSON export; the user asks to group my turns into tasks; what tasks did this session cover.
Run `npx skills add centminmod/my-claude-code-setup --skill task-breakdown -a claude-code`. Or copy the skill folder (.claude/skills/task-breakdown in centminmod/my-claude-code-setup) into .claude/skills/task-breakdown in your project. Claude Code loads it when a task matches its description.
Run `npx skills add centminmod/my-claude-code-setup --skill task-breakdown -a codex`. Or copy the skill folder (.claude/skills/task-breakdown in centminmod/my-claude-code-setup) into .agents/skills/task-breakdown 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 centminmod/my-claude-code-setup --skill task-breakdown -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/task-breakdown, .gemini/skills/task-breakdown, .github/skills/task-breakdown and .opencode/skills/task-breakdown in your project.
Going by SKILL.md and its folder, Task Breakdown needs the command-line tools its instructions call (python3). Our summary lists: Python 3.
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.
Task Breakdown 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.4k tokens (SKILL.md is roughly 9.8k 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 Task Breakdown: MemPalace Task Handoff (MemPalace/mempalace, 59k stars), Planning And Task Breakdown (abashev/vfs-s3, 106 stars), Incremental Implementation (addyosmani/agent-skills, 103k stars) and ULW Plan Workflow (code-yeongyu/oh-my-openagent, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
centminmod (a GitHub user) maintains it in centminmod/my-claude-code-setup, which has 2,657 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.
Source: centminmod/my-claude-code-setup on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.