Community라이팅 & 에디팅github.com

병렬 작업 (Parallel Work)

여러 하위 에이전트를 동시에 실행하는 패턴 — 팬아웃 및 배리어, 메이커/체커, 생성 후 필터링, 순위 결정을 위한 토너먼트, 근본 원인 분석을 위한 가설 팬아웃, 조건부 중지 루프 등을 제공합니다.

병렬 작업 (Parallel Work)란 무엇인가요?

이 스킬은 여러 독립적인 작업 단위를 동시에 처리해야 할 때 사용하는 병렬 실행 패턴 모음입니다. 단위 간 의존성이 없고, 결과물을 안전하게 병합할 수 있으며, 작업 크기가 한 번에 처리하기에 너무 크거나 반복적인 경우에 유용합니다. Claude Code, Cursor, Codex 등 다양한 AI 에이전트 플랫폼에서 사용할 수 있도록 설계되었으며, SKILL.md 문서에 팬아웃/팬인, 기계적 팬아웃, 메이커/체커, 생성 후 필터링, 토너먼트, 가설 팬아웃, 조건부 중지 루프 등 7가지 구체적인 패턴과 함께 각 패턴의 적용 조건, 전제 조건, 캡 및 중지 조건 설정 방법을 명확히 제시합니다. 병렬화로 인한 조정 비용(팬인 대기, 충돌 없는 병합, 판단자와 생성자 분리)을 명시적으로 지불하도록 요구하며, 작업 단위가 진정으로 독립적일 때만 사용하도록 권장합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Jamie-BitFlight/claude_skills/tree/main/plugins/agent-orchestration/skills/parallel-work

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

병렬 작업 (Parallel Work)은(는) 무엇을 하나요?

병렬성은 단위마다 새로운 컨텍스트를 제공하고 속도를 높입니다. 대신 조정 비용이 따릅니다: 기다려야 하는 팬인, 충돌하지 않아야 하는 병합, 생성자가 아닌 별도의 판단자가 필요합니다. 단위가 진정으로 독립적일 때 사용하고, 조정 비용을 명시적으로 지불하십시오.

전제 조건

  • 단위가 독립적이어야 합니다: 어떤 단위도 다른 단위의 결과를 기다리지 않고 시작할 수 있어야 합니다.
  • 단위가 무엇인지 알고 있어야 합니다. 원인을 모른다면 먼저 조사 디스패치를 한 번 보내십시오.
  • 쓰기가 격리되어야 합니다: 각 단위는 서로 다른 파일에 쓰거나, 각 단위가 자체 작업 트리에서 실행되어 해당 단위가 수정한 파일만 커밋해야 합니다 (자세한 내용: delegate/references/harness-notes/claude-code.md의 격리 섹션 참조).

하나라도 충족되지 않으면 → 직렬화하거나 먼저 조사하십시오.

패턴

팬아웃, 팬인. 동일한 단계의 N개 디스패치를 단위당 하나씩, 함께 보냅니다. 모든 디스패치를 기다리는 단일 통합 디스패치가 (그 기다림이 배리어입니다) 전달 파일들을 하나로 병합합니다. 각 단위의 출력을 파일로 유지하고, 통합자는 파일 경로를 읽으며 여러분의 컨텍스트를 읽지 않습니다.

기계적 팬아웃. 하나의 process 디스패치가 정확한 변경 사항을 한 번 결정합니다. N개의 일반 디스패치가 이를 그대로 각 대상에 적용합니다. 하나의 review 디스패치가 전체 세트를 검사합니다. 오케스트레이터는 세트가 아무리 작아도 직접 편집을 적용하지 않습니다.

메이커/체커. 결과를 만든 사람이 그 결과를 평가하지 않습니다. review를 다른 에이전트(해당 도메인에 리뷰어 유형의 에이전트가 있으면 그 에이전트로, 없으면 다른 역할의 전문가로)에게 성공 기준과 아티팩트 경로와 함께 라우팅하고, 생성자의 추론 내용은 전달하지 않습니다.

생성 후 필터링. 후보를 생성하기 위해 팬아웃합니다. 하나의 디스패치가 작성된 루브릭에 따라 중복을 제거하고 점수를 매깁니다. 점수가 높은 후보만 계속 진행됩니다. 생성 전에 루브릭을 먼저 작성하십시오.

토너먼트. 한 번에 판단하기에는 너무 큰 세트를 순위 매길 때 사용합니다. 각각 두 항목을 보유한 쌍별 비교 디스패치, 파일에 저장된 브래킷을 사용합니다. 비교 판단이 절대 점수보다 더 신뢰할 수 있습니다.

가설 팬아웃. 근본 원인 분석용: 각기 다른 증거 소스(로그, 코드, 데이터)당 하나의 디스패치가 자신의 소스만으로 가설을 수립합니다. 그런 다음 각 가설당 하나의 디스패치가 이를 반증하려고 시도합니다. 반증에서 살아남은 것이 결과입니다.

조건부 중지 루프. 크기를 알 수 없는 작업용: 관찰 가능한 조건(새로운 발견 없음, 게이트 출력에 오류 없음, 체크리스트 파일에 체크되지 않은 항목 없음)이 충족될 때까지 디스패치를 반복합니다. 첫 번째 반복 전에 캡을 설정하십시오 (기본값 5). 캡에 도달하면 나머지와 함께 PARTIAL을 보고합니다.

체크리스트 팬아웃

- [ ] 항목이 있는 마크다운 파일은 바로 사용 가능한 단위 목록입니다: 체크되지 않은 각 항목당 하나의 디스패치를 보내고, 각 디스패치는 자신의 항목을 DONE 시 체크하도록 지시받은 후, "체크되지 않은 항목이 없음" 조건에서 조건부 중지 루프를 실행합니다. 같은 파일을 명명하는 항목은 직렬화하십시오.

캡 및 중지 조건

모든 루프와 모든 팬인은 시작하기 전에 숫자가 명시되어 있어야 합니다: 반복 횟수, 재디스패치 횟수, 또는 단위 수. 캡에 도달하면 사용자에게 PARTIAL 또는 BLOCKED를 보고하고, 절대 조용히 재시도하지 않습니다.

지속적 팀

일부 하네스는 공유 작업 목록과 메시징 기능이 있는 장기 실행 에이전트 팀을 제공합니다. 이들은 에이전트가 일관되지 않게 따르는 지시 및 통신 오버헤드를 추가하며, 하네스 간에 이식 가능하지 않습니다. 위의 패턴은 이러한 기능이 전혀 필요하지 않습니다. 에이전트가 작업 중간에 메시지를 교환해야 하는 경우에만 팀을 사용하고, 그런 경우 하네스 노트를 참조하십시오.

참고 자료

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Jamie-BitFlight/agentskill-kaizen-meta-docs

Agentskill kaizen plugin documentation index. Load when needing to read about cross-platform notes, improvement plans, or DuckDB integration.

Jamie-BitFlight/bash-51-features

Bash 5.1 release features and improvements with practical examples. Use when working with Bash 5.1 features, epoch time variables, redirection enhancements, or when user asks about Bash 5.1 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-52-features

Bash 5.2 release features and improvements with practical examples. Use when working with Bash 5.2 features, variable handling enhancements, readline improvements, or when user asks about Bash 5.2 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-53-features

Bash 5.3 release features and improvements with practical examples. Use when working with Bash 5.3 features, new command substitution, GLOBSORT, loadable builtins, or when user asks about Bash 5.3 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-development

This skill should be used when the user asks to "write a bash script", "create a shell script", "implement bash function", "parse arguments in bash", "handle errors in bash", or mentions bash development, shell scripting, script templates, or modern bash patterns.

Jamie-BitFlight/bash-lint

This skill should be used when the user asks to "lint bash script", "run shellcheck", "format shell script", "use shfmt", "fix shellcheck errors", or mentions shell script linting, formatting, code quality, or pre-commit hooks for bash.

Jamie-BitFlight/bash-logging

This skill should be used when the user asks to "add logging to bash script", "colorize output", "implement log levels", "CI/CD sections", "terminal colors in bash", or mentions logging functions, emoji output, collapsible CI sections, or shlocksmith.

Jamie-BitFlight/bash-portability

This skill should be used when the user asks about "POSIX compatibility", "portable shell scripts", "cross-shell compatibility", "bashisms", "shebang selection", or mentions writing scripts that work on different shells (bash, sh, dash, zsh) or different systems.

Jamie-BitFlight/bash-testing

This skill should be used when the user asks to "test bash script", "write shell tests", "use shunit2", "use shellspec", "create test suite for bash", or mentions unit testing, test frameworks, mocking, or test-driven development for shell scripts.

Jamie-BitFlight/brainstorming-skill

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or when users request help with ideation, marketing, and strategic planning. Explores user intent, requirements, and design before implementation using research-validated prompt patterns.

Jamie-BitFlight/clang-format

Configure clang-format code formatting. Use when: user mentions clang-format or .clang-format, analyzing code style/patterns, creating/modifying formatting config, troubleshooting formatting, brace styles/indentation/spacing/alignment/pointer alignment, or codifying conventions.

Jamie-BitFlight/commitlint

When setting up commit message validation for a project. When project has commitlint.config.js or .commitlintrc files. When configuring CI/CD to enforce commit format. When extracting commit rules for LLM prompt generation. When debugging commit message rejection errors.

Jamie-BitFlight/conventional-commits

When writing a git commit message. When task completes and changes need committing. When project uses semantic-release, commitizen, git-cliff. When choosing between feat/fix/chore/docs types. When indicating breaking changes. When generating changelogs from commit history.

Jamie-BitFlight/dasel-reference

Use when querying, modifying, or converting JSON, YAML, TOML, XML, CSV, HCL, or INI with dasel v3. Complete reference for selectors, functions, conditionals, variables, spread operator, type casting, and format-specific patterns.

Jamie-BitFlight/data-exploration

Use when exploring unknown structured data files with dasel v3 — discover schema, list keys, find nested values, sample arrays, identify data types across JSON, YAML, TOML, XML, CSV, HCL, INI formats

Jamie-BitFlight/data-transformation

Use when modifying, converting, or transforming structured data with dasel v3 — in-place mutations, format conversion, batch operations, array manipulation, object construction, and merge patterns across JSON, YAML, TOML, XML, CSV, HCL, INI

Jamie-BitFlight/delegate

Decompose substantive work into phases, dispatch each phase to a sub-agent, and adjudicate what comes back. Use whenever a request asks for implementation, investigation, a fix, a review, or any change to files — including small ones — and whenever you are about to read source or run a diagnostic yourself instead of handing it off. Also use when a report from a sub-agent needs judging, when a phase needs re-dispatching, or when a user names one instance of a pattern. Does not apply when your own prompt begins "Your ROLE_TYPE is sub-agent." — then follow references/sub-agent-contract.md instead.

Jamie-BitFlight/enterprise-hibernate-hbm

Dasel v3 query patterns for Hibernate .hbm.xml mapping files — entity-table binding, Java property-to-column extraction, one-to-many set/list/bag relationship tracing, many-to-one foreign key discovery, batch scanning across 60+ HBM files. Use when querying Hibernate ORM class mappings, extracting schema metadata from Java persistence layer, or auditing entity-column relationships in enterprise legacy codebases.

Jamie-BitFlight/enterprise-installanywhere

Dasel v3 query patterns for InstallAnywhere .iap_xml installer definitions — use when querying action sequences, discovering variables, resolving platform conditions, navigating panels, or comparing installer variants. Files are 2.5+ MB, 65,000+ lines — too large for context reads, requires structural dasel queries.

Jamie-BitFlight/enterprise-maven-pom

Dasel v3 selector patterns for Maven POM XML files — use when querying dependency versions, filtering by groupId or scope, extracting module hierarchy from parent POMs, or detecting version conflicts across enterprise multi-module Java projects. Load this skill when working with pom.xml files using dasel.

관련 스킬