From waggle
Orchestrates autonomous task execution via current session, tmux parallel, or Scheduled Tasks. Fetches ready tasks, validates working directories, and dispatches to the chosen execution mode. Use this skill whenever the user wants to do, run, process, start, dispatch, or launch tasks — including parallel execution, batch processing, or working on the next ready task. Triggers on: "do the next task", "process tasks", "execute tasks", "ready tasks", "run tasks", "start tasks", "dispatch", "launch tasks", "work on next task", "parallel execution", "batch process".
npx claudepluginhub kazukinagata/waggle --plugin waggleThis skill uses the workspace's default tool permissions.
You orchestrate the execution of tasks. Tasks can be executed one at a time in the current session, or in parallel (tmux panes in Terminal CLI / Scheduled Tasks in Claude Desktop and Cowork).
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
You orchestrate the execution of tasks. Tasks can be executed one at a time in the current session, or in parallel (tmux panes in Terminal CLI / Scheduled Tasks in Claude Desktop and Cowork).
Invoke the bootstrap-session skill to establish the active provider and current user.
Skip if active_provider and current_user are already set in this conversation.
After loading the provider SKILL.md and config, verify Core fields exist in the Tasks data source (same check as managing-tasks). Required Core fields (15): Title, Description, Acceptance Criteria, Status, Blocked By, Priority, Executor, Requires Review, Execution Plan, Working Directory, Session Reference, Dispatched At, Agent Output, Error Message, Issuer.
If any Core field is missing, follow the active provider SKILL.md's instructions for handling missing fields (auto-repair or stop, as defined per provider).
Subtasks are eligible for execution regardless of their parent task's status. The parentTask field does not affect dispatch readiness. After a subtask completes and its Status is updated, the status cascading logic (defined in managing-tasks) must be triggered to check whether the parent should auto-transition.
Acknowledged At exists in the schema and is null, update it to the current ISO 8601 timestamp (silent, no user prompt).current_user.id
execution_environment = "cli" → Executor in ("cli", "claude-desktop", "cowork")execution_environment = "claude-desktop" → Executor in ("cli", "claude-desktop", "cowork")execution_environment = "cowork" → Executor = "cowork"current_user.idFor each fetched task:
test -d "$WORKING_DIR"
test -d). Only verify the field is non-empty.For each task that passed Working Directory validation, invoke the validating-fields skill to check that all required fields are in place for the In Progress transition. Pass the task data and target status "In Progress" to the skill; it will construct the canonical JSON, run its validator, and return {valid, errors, warnings}.
Parse the result:
valid: false: present each error to the user and ask them to fill the gaps via AskUserQuestion. After filling, update the task and invoke validating-fields again.valid: true with warnings: present warnings but proceed with dispatch.Only dispatch when validation passes (valid: true).
Display the validated task(s) with a "Ready for dispatch" confirmation:
Display the task list:
Executable tasks:
1. [Urgent] Feature Login → /home/user/project-a
2. [High] API Tests → /home/user/project-b (branch: feature/api)
3. [Medium] Fix Bug #42 → /home/user/project-c
Use AskUserQuestion to choose execution method:
Terminal CLI (execution_environment = "cli"):
| Option | Description |
|---|---|
| One at a time (Recommended) | Select one task and execute in the current session |
| tmux parallel execution | Execute multiple tasks simultaneously in tmux panes |
Claude Desktop (execution_environment = "claude-desktop"):
| Option | Description |
|---|---|
| One at a time (Recommended) | Select one task and execute in the current session |
| Scheduled Task parallel creation | Register each task as a one-time Scheduled Task (fireAt) for parallel execution |
Cowork (execution_environment = "cowork"):
| Option | Description |
|---|---|
| One at a time (Recommended) | Select one task and execute in the current session |
| Scheduled Task parallel creation | Register each task as a one-time Scheduled Task (fireAt) for parallel execution |
cd <Working Directory>git checkout <branch> || git checkout -b <branch>tmux-parallel.md (this directory) and follow Phases 3–6.Load desktop-parallel.md (this directory) and follow Steps 1–6.
See dispatch-prompt.md in this directory.
When generating the dispatch prompt for each task, replace the <ON_COMPLETION_BLOCK> placeholder with the active provider's On Completion Template:
<task_id> → the actual task page ID / row ID<db_path> → the actual database path (SQLite/Turso providers)${CLAUDE_SKILL_DIR} substitutions the dispatcher must resolve. The dispatcher resolves those paths to absolute paths before injection.<ON_COMPLETION_BLOCK>${CLAUDE_SKILL_DIR} or ${CLAUDE_PLUGIN_ROOT} should remain in the final dispatch promptTerminal CLI: If tmux is unavailable, fall back to sequential execution via the Agent tool:
For each task:
task-agent agent using the Agent tool with the assembled dispatch promptSession ReferenceAgent Output, transition Status per Requires ReviewError Message, set Status → "Blocked"Claude Desktop / Cowork: If Scheduled Task creation fails, fall back to executing one at a time within the current session (same flow as "One at a time").
--dangerously-skip-permissions