agents
Delegate long-running work (research, deep summaries, multi-step analysis) to detached sub-agents.
Skill by Deibler
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/deibler-agents
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: research, productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/agents
What's inside
- Skill name
agents- Description
- Delegate long-running work (research, deep summaries, multi-step analysis) to detached sub-agents. Edmund orchestrates; the sub-agent does the task in the background. MANDATORY for any task >30s — spawning releases the session lock so new messages are processed immediately.
- License
- MIT
- Instructions
- 144 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# agents
Edmund is the orchestrator. Sub-agents are the workers.
## The mandate
**Any task >30 seconds MUST use `spawn_agent`.** Never run long work inline.
Why: while a `claude -p` turn is running, the session lock is held. New messages queue and the user gets no response until the turn ends. Spawning an agent releases the lock immediately — Edmund ends its turn, and new messages flow through normally. The agent runs in the background; Edmund is woken up when it finishes.
## When to spawn
Spawn when:
- The task will take more than ~30 seconds (deep research, long article summarization, code analysis across many files, video generation pipeline, anything multi-step).
- You want to run two or three investigations in parallel.
- You want to reply to the user *now* and deliver the deeper answer once it's ready.
Don't spawn for:
- Simple one-shot lookups (a single web fetch, one tool call, a quick calculation). Those run fine inline.
- Something that requires the user's iMessage context (sub-agents don't share your persona or person-file memory).
- Media generation (`generate_image` / `generate_video` have their own paths — they're already non-blocking).
## The standard flow
```
user: "research the top iMessage bots and give me a comparison"
edmund: check_incoming() ← any follow-ups before starting?
send_message("on it, give me a few")
spawn_agent(task: "Research the 5 most popular iMessage bot frameworks...")
→ returns agent_20260420_xxx
→ turn ends immediately, session lock released
user (sends a new message while agent runs): "also how are you doing"
→ processed normally — no lock contention
agent finishes → Edmund gets a wake-up event automatically
edmund: read_agent_result(id) → reformat → send reply
```
Wake-up is automatic — when an agent finishes, a cron event fires in the parent session. You do NOT need to poll. The wake-up envelope looks like:
```
[Scheduled event]
A sub-agent you spawned has finished (status: done).
Agent id: agent_... Task was: ...
Read the result with read_agent_result("agent_...") and relay it to the user.
```
When you see this, deliver immediately — read, reformat, send. The user is waiting.
## Mid-task preemption (handoff_current_work)
If you started inline work and then realized it's longer than expected, OR `check_incoming()` shows the user sent a follow-up, use `handoff_current_work`:
```
edmund: [already partway through long research inline]
check_incoming() → "actually can you also order me a pizza lol"
handoff_current_work(
work_done: "Found 3 sources on X, drafted outline...",
work_remaining: "Finish research, compile comparison table, write summary.",
context: "User asked for top 5 iMessage bot frameworks comparison."
)
→ spawns agent_20260420_yyy with full context
send_message("haha on it — also handed the research off, I'll send it when done")
→ turn ends fast, Edmund handles pizza ask inline next turn
```
The agent picks up exactly where you stopped. Edmund wakes up when it finishes.
## Writing a good task
The sub-agent has **no memory of this conversation**. Everything it needs goes into the `task` string. Include:
1. The goal in one sentence.
2. The shape of the deliverable (number of items, bullet vs prose, with or without sources).
3. Any constraints (timeframe, sources to avoid, format).
Bad: `"research iMessage"`
Good: `"List 5 iMessage-compatible messaging frameworks. For each give: name, what it is in one line, the GitHub org, macOS version support, and one differentiator. Skip anything that's Android-first. Return as a numbered list."`
## Tools the sub-agent has
Full MCP palette (generation, history, skills, Bash, Read/Write, etc.) inside its own sandbox at `<parent-sandbox>/agents/<id>/`. It cannot:
- Send iMessage text (`send_message`) or attachments (`send_attachment`) — session key is `agent:<id>`, which doesn't resolve to a chat.
- Access Edmund's person-file or cross-conversation memory.
This is by design. The sub-agent is a focused worker. Edmund is the relay.
## Managing in-flight agents
- `list_agents()` — all agents from this conversation, newest first
- `list_agents(status: "running")` — just the active ones
- `check_agent(id)` — status + log tail; useful when the user asks "what's it doing?"
- `cancel_agent(id)` — when the task's obsolete
- `read_agent_result(id)` — only when status=done
## Reporting back to the user
When you read a result, **don't paste it raw**. The sub-agent's output is structured for you, not for iMessage. Reformat:
- Strip headers and markdown.
- Compress to the iMessage bubble-friendly shape from SOUL.md.
- Lead with the takeaway; follow with the supporting bullets.
- If the result is long, send the takeaway as text and attach the full `result.md` via `send_attachment`.
## Teams (multi-agent coordination)
For multi-stage pipelines or parallel investigation, use `spawn_team` instead of N individual `spawn_agent` calls:
- **`spawn_team(members)`** — one call spawns a coordinated group with a shared `team_id` and a shared scratch dir (`<parent-sandbox>/teams/<team_id>/shared/`). Members can drop files there for handoff.
- **`list_team(team_id)`** — progress across all members.
- **`read_team_results(team_id)`** — role-keyed map of all member results.
- **`cancel_team(team_id)`** — kill the whole group.
Team completion fires ONE wake-up event when all members settle (not one per member). Individual `spawn_agent` fires per-completion.
Pre-shaped team patterns live in `skills/teams/`:
- `research-trio` — scout + summarizer + verifier for researched answers.
- `compare-options` — one agent per named option, same criteria for all, for side-by-side comparisons.From Deibler/edmund-harness, MIT.
More from Deibler/edmund-harness
- 0.592score
iterative-design
Deibler
Use this skill whenever the user is iterating on a visual — flat graphics, logos, badges, t-shirt prints, hockey/sports graphics, or subtle photo edits across…
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
radaromega
Deibler
THE weather source — all weather questions route here, from "is it gonna rain" to severe outbreaks.
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
hike
Deibler
Build a hike brief with a real topographic map, the traced route from OpenStreetMap, trailhead coordinates, and verified conditions.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
cloudflare
Deibler
Headless browser automation via Cloudflare Browser Run — screenshot pages, render PDFs, extract markdown/HTML/links, scrape DOM elements with CSS selectors…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
deep-research
Deibler
Multi-agent deep-research orchestrator.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
gifgrep
Deibler
Search Tenor/Giphy and send a GIF into the chat.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
skycam
Deibler
The sky camera over the house (openskycam, camera sky01, Lancaster County PA), through the `mcp__openskycam__*` tools.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
summarize
Deibler
TL;DR a URL, YouTube video, or local PDF/file via the `summarize` CLI (Gemini Flash).
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
fishing
Deibler
Ground any PA, MD, NJ, or DE fishing question in the local fishing dataset—waters, bass and other species, stocking, catches, boat access, motor rules, depth…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
teams
Deibler
Coordinate multiple sub-agents as one unit — parallel investigation, multi-stage pipelines, or side-by-side comparisons.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
trading-loop
Deibler
The autonomous trading decision loop for Quant.
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
generation
Deibler
Comprehensive multimodal generation via OpenRouter — images (with reference photos), videos (text/image/reference-to-video), and spoken audio.
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 4, 2026 (1 month ago)
- Last release
- Oct 22, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Deibler/edmund-harness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Deibler
- 0.592score
iterative-design
Deibler
Use this skill whenever the user is iterating on a visual — flat graphics, logos, badges, t-shirt prints, hockey/sports graphics, or subtle photo edits across…
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
hike
Deibler
Build a hike brief with a real topographic map, the traced route from OpenStreetMap, trailhead coordinates, and verified conditions.
SkillAFreshness: A★ 1Claude Code +9 - 0.589score
radaromega
Deibler
THE weather source — all weather questions route here, from "is it gonna rain" to severe outbreaks.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
cloudflare
Deibler
Headless browser automation via Cloudflare Browser Run — screenshot pages, render PDFs, extract markdown/HTML/links, scrape DOM elements with CSS selectors…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
gifgrep
Deibler
Search Tenor/Giphy and send a GIF into the chat.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
deep-research
Deibler
Multi-agent deep-research orchestrator.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
agents skill. Agent Mart. https://agentmart.dev/skills/deibler-agents (last updated 2026-10-24)