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.
View and manage the task stack and processing queue. An agent skill from agenticnotetaking/arscontexta.
$ npx skills add agenticnotetaking/arscontexta --skill tasks -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install agenticnotetaking/arscontexta tasks --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/agenticnotetaking/arscontexta.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skill-sources/tasks .claude/skills/tasks && 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 "tasks" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skill-sources/tasks into .claude/skills/tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tasks", 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/agenticnotetaking/arscontexta/tree/main/skill-sources/tasksType 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 agenticnotetaking/arscontexta --skill tasks -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install agenticnotetaking/arscontexta tasks --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agenticnotetaking/arscontexta.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skill-sources/tasks .agents/skills/tasks && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tasks" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skill-sources/tasks into .agents/skills/tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tasks", 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 agenticnotetaking/arscontexta --skill tasks -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install agenticnotetaking/arscontexta tasks --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agenticnotetaking/arscontexta.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skill-sources/tasks .cursor/skills/tasks && 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 "tasks" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skill-sources/tasks into .cursor/skills/tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tasks", 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/agenticnotetaking/arscontexta.git --path skill-sources/tasks--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 agenticnotetaking/arscontexta --skill tasks -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install agenticnotetaking/arscontexta tasks --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agenticnotetaking/arscontexta.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skill-sources/tasks .gemini/skills/tasks && 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 "tasks" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skill-sources/tasks into .gemini/skills/tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tasks", 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 agenticnotetaking/arscontexta tasksInstalls 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 agenticnotetaking/arscontexta --skill tasks -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/agenticnotetaking/arscontexta.git skills-src && mkdir -p .github/skills && cp -r skills-src/skill-sources/tasks .github/skills/tasks && 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 "tasks" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skill-sources/tasks into .github/skills/tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tasks", 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 agenticnotetaking/arscontexta --skill tasks -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install agenticnotetaking/arscontexta tasks --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agenticnotetaking/arscontexta.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skill-sources/tasks .opencode/skills/tasks && 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 "tasks" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skill-sources/tasks into .opencode/skills/tasks/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tasks", 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.
tasksView and manage the task stack and processing queue. An agent skill from agenticnotetaking/arscontexta.
Tasks is an agent skill from agenticnotetaking/arscontexta. View and manage the task stack and processing queue. Shows pending work, active tasks, completed items, and queue state. Triggers on "/tasks", "show tasks", "what's pending", "task list", "queue status".
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.json`).
It sits in Agent Workflows, covering Task breakdown. The repository describes itself as: Claude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as… The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2acfd5c. 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:
ReadWriteEditGrepGlobBashFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and bash).
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.
Tasks loads about 2.8k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 1,064 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: Read, Write, Edit, Grep, Glob, BashAutomated 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 agenticnotetaking/arscontexta at commit 2acfd5c, republished under its MIT licence (© agenticnotetaking). 1,064 words, ~2,758 tokens.
.claude/skills/tasks/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Read these files to configure domain-specific behavior:
ops/derivation-manifest.md — vocabulary mapping
vocabulary.notes for the notes folder namevocabulary.note / vocabulary.note_plural for note type referencesvocabulary.topic_map for MOC referencesvocabulary.cmd_reflect / vocabulary.cmd_reweave / vocabulary.cmd_verify for phase command namesops/config.yaml — pipeline chaining mode, automation settings
If no derivation file exists, use universal terms.
Target: $ARGUMENTS
Parse the operation:
status: show task stack + queue state (combined view)add [description]: add a task to the stackdone [task-number]: mark a task as completeddrop [task-number]: remove a task without completingreorder [number] [position]: move a task to a different position in the stackdiscoveries: show only the Discoveries sectionSTART NOW. Execute the requested operation.
Two systems, one view.
The task stack (ops/tasks.md) and the pipeline queue (ops/queue/queue.yaml or ops/queue/queue.json) serve different purposes:
| System | Purpose | Managed By | Updated By |
|---|---|---|---|
| Task stack | Human priorities — what YOU want to work on | You (via /tasks) | Manual: /tasks add, /tasks done |
| Pipeline queue | Automated processing state — what the SYSTEM needs to process | Pipeline skills | Automatic: /reduce, /ralph, /reflect |
/tasks shows BOTH so you always have a unified view of all pending work. The task stack is your working memory. The pipeline queue is the system's working memory. Together they answer: "What should I do next?"
Show both the human task stack and the automated queue.
Step 1: Read task stack
# Read ops/tasks.md
cat ops/tasks.md 2>/dev/nullParse the task stack into sections:
- [ ]- [x]If ops/tasks.md does not exist, note: "No task stack found. Run /tasks add [description] to create one."
Step 2: Read queue state
# Check for queue file (YAML or JSON)
if [[ -f "ops/queue/queue.yaml" ]]; then
QUEUE_FILE="ops/queue/queue.yaml"
PENDING_TASKS=$(grep -c 'status: pending' "$QUEUE_FILE" 2>/dev/null || echo 0)
DONE_TASKS=$(grep -c 'status: done' "$QUEUE_FILE" 2>/dev/null || echo 0)
elif [[ -f "ops/queue/queue.json" ]]; then
QUEUE_FILE="ops/queue/queue.json"
PENDING_TASKS=$(grep -c '"status": "pending"' "$QUEUE_FILE" 2>/dev/null || echo 0)
DONE_TASKS=$(grep -c '"status": "done"' "$QUEUE_FILE" 2>/dev/null || echo 0)
else
QUEUE_FILE=""
PENDING_TASKS=0
DONE_TASKS=0
fiIf a queue file exists, extract pending task details:
Step 3: Check for archivable batches
A batch is archivable when ALL its tasks have status: done:
# For each unique batch in the queue, check if all tasks are done
if [[ -n "$QUEUE_FILE" ]]; then
# Extract unique batch names
# Check each batch: are all tasks done?
# Report archivable batches
fiStep 4: Present combined view
--=={ tasks }==--
Task Stack (ops/tasks.md)
=========================
Current:
1. [ ] {task description}
2. [ ] {task description}
3. [ ] {task description}
Completed:
- [x] {task description} (2026-02-10)
- [x] {task description} (2026-02-08)
Discoveries:
- {discovery noted during work}
Pipeline Queue
==============
Pending: {count} tasks
- {task-id}: {current_phase} — {target title} (batch: {batch})
- {task-id}: {current_phase} — {target title} (batch: {batch})
...
Done: {count} tasks
Archivable batches: {list of batch names where all tasks are done}
Summary: {total current} tasks on stack, {queue pending} in pipelineInterpretation notes:
| Condition | Note |
|---|---|
| Task stack empty | "No tasks on stack. Use /tasks add [description] to add one, or /next for suggestions." |
| Pipeline has pending tasks | "Pipeline has {N} pending tasks. Run /ralph to process them." |
| Archivable batches exist | "Batch '{name}' is ready to archive. Run /archive-batch {name}." |
| Both empty | "All clear. Use /next to find what to work on." |
Add a new task to the task stack.
Step 1: Read current ops/tasks.md
If the file does not exist, create it with the standard structure:
# Task Stack
## Current
## Completed
## DiscoveriesStep 2: Add to Current section
Append the new task as a checkbox item at the END of the Current section:
- [ ] {description}Step 3: Write updated file
Use Edit tool to insert the new item at the end of the Current section, preserving existing content.
Step 4: Report
Added to task stack: {description}
Position: #{N} of {total}
Stack now has {total} current tasks.Mark a task as completed.
Step 1: Read current ops/tasks.md
Parse the Current section to find the Nth task.
Step 2: Validate
If the number is out of range (< 1 or > number of current tasks):
Error: Task #{number} does not exist. Current tasks: 1-{max}.Step 3: Move to Completed
- [x] {description} ({YYYY-MM-DD})Step 4: Write updated file
Step 5: Report
Completed: {description}
Remaining: {N} current tasks.Integration with /next: If the completed task was the top-priority item, suggest: "Top task completed. Run /next for the next recommendation."
Remove a task without completing it.
Step 1: Read current ops/tasks.md
Parse the Current section to find the Nth task.
Step 2: Validate
Same range check as /tasks done.
Step 3: Remove from Current
Remove the item entirely. Do NOT move to Completed.
Step 4: Write updated file
Step 5: Report
Dropped: {description}
Remaining: {N} current tasks.Move a task to a different position in the stack.
Step 1: Read current ops/tasks.md
Parse all Current items.
Step 2: Validate
Both [number] (source) and [position] (destination) must be within range.
Step 3: Reorder
Step 4: Write updated file
Step 5: Report
Moved: {description}
From position #{number} to #{position}
Current stack:
1. [ ] {task 1}
2. [ ] {task 2}
...Show only the Discoveries section from ops/tasks.md.
Discoveries (process later):
- {discovery 1}
- {discovery 2}
...
[If empty: "No discoveries captured. Discoveries are noted during work
for processing in a future session."]Discoveries are captured during pipeline work (e.g., /reduce notes a connection opportunity, /reflect notices a split candidate). They accumulate here until the user decides to convert them to tasks or discard them.
The task stack (ops/tasks.md) and pipeline queue coexist but serve different audiences:
| Aspect | Task Stack | Pipeline Queue |
|---|---|---|
| File | ops/tasks.md | ops/queue/queue.yaml (or .json) |
| Format | Markdown checklist | YAML/JSON with phase tracking |
| Managed by | User via /tasks | Pipeline skills automatically |
| Read by | /next (priority #1) | /ralph (phase routing) |
| Purpose | Human priorities | Automated processing state |
/next reads the task stack first. If the stack has items, /next recommends from the stack (user-set priorities override automated recommendations). If the stack is empty, /next evaluates queue state and vault health to suggest actions.
Skills that generate pipeline work update BOTH:
/reduce adds tasks to the queue AND notes discoveries in tasks.md/seed adds extract tasks to the queue/architect may add implementation tasks to the task stackThe task stack is a simple markdown checklist, always present from day one. Format:
# Task Stack
## Current
- [ ] First priority task
- [ ] Second priority task
- [ ] Third priority task
## Completed
- [x] Something finished (2026-02-10)
- [x] Earlier task (2026-02-08)
## Discoveries
- Interesting connection between [[note A]] and [[note B]] found during /reduce
- MOC [[topic]] might need splitting (40+ notes observed during /reflect)Current is ordered by priority. Position 1 is highest priority. /tasks reorder adjusts position.
Completed is ordered by completion date (most recent first). Provides history of what was accomplished.
Discoveries is unordered. Items accumulate during pipeline work. The user converts them to Current tasks or discards them.
Create it with empty sections on first /tasks add. For /tasks status, report: "No task stack found. Use /tasks add [description] to create one."
Skip the Pipeline Queue section entirely in the status display. Do not show an error.
Report the error with the valid range: "Task #{N} does not exist. Current tasks: 1-{max}."
Task Stack (ops/tasks.md)
=========================
Current:
(empty)
Use `/tasks add [description]` to add a task,
or `/next` for automated suggestions.Use universal vocabulary. All operations work identically.
If multiple agents modify ops/tasks.md simultaneously, last write wins. The file is small enough that conflicts are unlikely, but if detected, report: "Task stack may have been modified by another session. Please review."
When a user wants to convert a discovery to a task:
This is a manual workflow — discoveries do not auto-promote.
© agenticnotetaking, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skill-sources/tasks of agenticnotetaking/arscontexta.
Open the folder on GitHubat commit 2acfd5c
Tasks 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 |
|---|---|---|---|---|---|---|
| Tasks this skillagenticnotetaking/arscontexta | 3.5k | — | ~2.8k | Automated safety check: Notes | 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 | 102k | 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 | |
| Implementation Plan Creatortailcallhq/forgecode | 7.6k | 1 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 |
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.
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.
fynnfluegge/agtx
Runs a whole project unattended on an agtx kanban board, decomposing the goal, starting tasks, unblocking workers and merging each result.
agenticnotetaking/arscontexta
Interactive knowledge graph analysis. An agent skill from agenticnotetaking/arscontexta.
agenticnotetaking/arscontexta
Research a topic and grow your knowledge graph. An agent skill from agenticnotetaking/arscontexta.
agenticnotetaking/arscontexta
Get research-backed architecture advice for your knowledge system.
agenticnotetaking/arscontexta
Show vault statistics and knowledge graph metrics. An agent skill from agenticnotetaking/arscontexta.
agenticnotetaking/arscontexta
Contextual guidance and command discovery. An agent skill from agenticnotetaking/arscontexta.
agenticnotetaking/arscontexta
Surface the most valuable next action by combining task stack, queue state, inbox pressure, health, and goals.
Categories
View and manage the task stack and processing queue. An agent skill from agenticnotetaking/arscontexta. Tasks is an agent skill from agenticnotetaking/arscontexta. View and manage the task stack and processing queue.
Tasks fits situations like: tasks that involve Task breakdown.
Run `npx skills add agenticnotetaking/arscontexta --skill tasks -a claude-code`. Or copy the skill folder (skill-sources/tasks in agenticnotetaking/arscontexta) into .claude/skills/tasks in your project. Claude Code loads it when a task matches its description.
Run `npx skills add agenticnotetaking/arscontexta --skill tasks -a codex`. Or copy the skill folder (skill-sources/tasks in agenticnotetaking/arscontexta) into .agents/skills/tasks 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 agenticnotetaking/arscontexta --skill tasks -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tasks, .gemini/skills/tasks, .github/skills/tasks and .opencode/skills/tasks in your project.
SKILL.md names no scripts, command-line tools or credentials: Tasks is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Edit, Grep, Glob, Bash.
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 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.
Tasks 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.8k tokens (SKILL.md is roughly 11k 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 Tasks: MemPalace Task Handoff (MemPalace/mempalace, 59k stars), Planning And Task Breakdown (abashev/vfs-s3, 106 stars), Incremental Implementation (addyosmani/agent-skills, 102k 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.
agenticnotetaking (a GitHub organization) maintains it in agenticnotetaking/arscontexta, which has 3,492 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on February 24, 2026.
Source: agenticnotetaking/arscontexta on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.