Subtask

Wysyła równoległe procesy AI do izolowanych drzew roboczych git za pośrednictwem CLI subtask

Autor: zippoxer · zippoxer/subtask

Działa po konfiguracji ★ 7.6/10

Subtask — Wysyła równoległe procesy AI do izolowanych drzew roboczych git za pośrednictwem CLI subtask

Co robi ten skill

Uczy Claude Code orkiestracji równoległej pracy za pośrednictwem CLI `subtask` Go: każde zadanie otrzymuje własne drzewo robocze git i gałąź, plus rekord zadania z tytułem, gałęzią bazową i historią zdarzeń. Obejmuje pełną pętlę szkicowania, wysyłania do pracownika, przeglądania różnic, przechodzenia etapów (od wykonywania do przeglądu do gotowości) i scalania z powrotem do gałęzi bazowej. Uruchamia się, gdy użytkownik prosi o delegowanie pracy do pracowników lub subagentów, uruchomienie kilku zadań równolegle lub wspomina Subtask z nazwy.

Raport z testu

Zbudowano CLI Go ze źródła (go1.26.5) i uruchomiono wszystko w tymczasowym HOME; prawdziwe ~/.claude/skills i ~/.subtask zostały zweryfikowane jako nienaruszone. Wszystkie 13 poleceń wymienionych w tabeli SKILL.md (ask, draft, send, stage, list, show, diff, merge, close, workspace, interrupt, log, trace) istnieje w binarnym pliku, a `subtask install --no-prompt --scope user --harness claude` zapisał SKILL.md do ~/.claude/skills/subtask/SKILL.md. Artefakt bazowy (/tmp/st-baseline): naprawienie dwóch niezależnych błędów Pythona na mój własny sposób dało 2 sekwencyjne gałęzie i `git worktree list` pokazujące 1 wpis, bez metadanych zadania. Artefakt umiejętności (/tmp/st-skill2): dosłowne przestrzeganie treści dało `git worktree list` z 3 wpisami (main + fix/duration-hours + feat/retry-validation działające jednocześnie na różnych ścieżkach), folder .subtask/tasks/<task>/ na każde zadanie zawierający TASK.md (frontmatter title/base-branch), WORKFLOW.yaml i history.jsonl, tabelę statusu `subtask list` pokazującą oba w trakcie z +1 -1 i +7 -3, oraz `subtask merge` scalające każdy z nich na main ("Merged ... Workspace freed") dla czystego main z 2 commitami. Jednym krokiem, którego nie mogłem wykonać, był rzeczywisty pracownik AI: `subtask send` przygotował worktree i wysłał, ale uprząż zmarła w 3.6s, a `subtask trace` pokazało, że prompt pracownika odpowiedział "Invalid API key - Please run /login", ponieważ tymczasowy HOME nie ma poświadczeń, więc ręcznie zatwierdziłem dane wyjściowe pracownika, aby przetestować przegląd/scalanie. Napotkano również nieudokumentowaną blokadę: w repozytorium, gdzie /.subtask/ nie było gitignored przed szkicowaniem, `subtask merge` odmówił z komunikatem "has uncommitted changes" (ensureGitignore jest wywoływane tylko z `subtask config`, a nie `draft`). Skan bezpieczeństwa czysty: SKILL.md nie ma URL-i, skryptów, base64 ani tekstu iniekcji, a opcjonalne haki pluginów tylko echo "consider loading the subtask skill" przypomnienia.

Testowano: 2026-07-21 · Claude Code 2.x (agent harness)

Instalacja

git clone --depth 1 https://github.com/zippoxer/subtask.git /tmp/subtask-src
mkdir -p ~/.claude/skills/subtask
cp /tmp/subtask-src/pkg/install/SKILL.md ~/.claude/skills/subtask/SKILL.md
# REQUIRED: the skill is a thin wrapper and does nothing without the `subtask` Go binary.
#   brew install zippoxer/tap/subtask
#   # or: go install github.com/zippoxer/subtask/cmd/subtask@latest
#   # or: curl -fsSL https://subtask.dev/install.sh | bash   (upstream install script; audit before running)
# Then configure the worker harness (writes the same SKILL.md itself, so the copy above is optional):
#   subtask install --no-prompt --scope user --harness claude   # or --harness codex / opencode
#   # plain `subtask install` is interactive and fails without a TTY ("could not open a new TTY")
# REQUIRED: the chosen harness CLI (claude / codex / opencode) must be installed and authenticated,
#   otherwise `subtask send` fails with "claude failed: exit status 1".
# Recommended: commit `/.subtask/` to .gitignore BEFORE drafting tasks, or `subtask merge` aborts
#   with "has uncommitted changes" because .subtask/ is untracked inside each worktree.
# Optional plugin (adds hooks that remind Claude to load the skill):
#   /plugin marketplace add zippoxer/subtask  &&  /plugin install subtask@subtask

Komendy i przykładowe prompty

  • /subtaskWysyła równoległe procesy AI do izolowanych drzew roboczych git za pośrednictwem CLI subtask

Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):

  • Delegate this task to a subtask worker
  • Run these three tasks in parallel workspaces
  • Create a new subtask for this feature