resources/skills/x-evaluate-parallelism/SKILL.md
Detects file-collision risks between parallel work units; emits collision matrix.
npx skillsauth add edercnj/claude-environment x-evaluate-parallelismInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Evaluate the merge-conflict risk of running two or more work units in parallel,
using the canonical file-collision heuristics catalogued in the
parallelism-heuristics knowledge pack. The skill is intentionally cascading:
it consumes the structured ## File Footprint blocks already emitted by
x-plan-task (Phase 4.5) and x-plan-story (Phase 6), so the output is
deterministic and independent of prose parsing (RULE-008).
The primary consumers are:
x-implement-epic in parallel.x-epic-map Step 8.5 (story-0041-0005), which invokes this skill as a gate.x-dev-*-implement future gates (story-0041-0006).| Flag | Required | Description |
| :--- | :--- | :--- |
| --scope | Yes | epic, story, or task |
| --epic | If --scope=epic | Path to the epic directory (e.g., ai/epics/epic-XXXX) |
| --a / --b | If --scope=story\|task | IDs of the pair to compare |
| --out | No | Output file path (writes to stdout by default) |
| --format | No | markdown (default) or json |
| --map | No | Implementation map path; when supplied its declared phases override the topological derivation |
| --include-soft | No | Include SOFT (read-only) overlaps in the output |
| Code | Meaning | | :--- | :--- | | 0 | No conflicts detected | | 1 | Warnings only (e.g., legacy footprints missing) | | 2 | Hard or regen conflicts detected |
epic / story / task).--scope=epic: enumerate story-XXXX-YYYY.md files under the epic
directory, extract the ## File Footprint block and the Blocked By
column, and derive phases topologically.--scope=story|task: read the two artefacts directly.## File Footprint block is reported as a warning
(RULE-005 — Degrade with Warning) and flagged as non-parallel.For every pair within the same phase, apply the rules in the
parallelism-heuristics KP (RULE-003):
hard — both units write the same path → must be serialized.regen — one writes, the other regenerates (or both regenerate) the same
path → must be serialized.soft — overlap only in read: → safe to run in parallel (ignored unless
--include-soft is passed).Hotspot paths from the KP catalogue (RULE-004) force a hard classification
regardless of the nominal write / regen sets.
Render the report in Markdown (default) or JSON (--format=json). The
Markdown shape is:
# Parallelism Evaluation — EPIC-XXXX
**Scope:** epic | **Items analyzed:** N | **Conflicts:** H hard, R regen, S soft
## Collision Matrix
| A | B | Category | Shared paths |
| :--- | :--- | :--- | :--- |
...
## Recommended Serialization Groups
- **Group N (serialize):** story-... → story-...
- **Group N (parallel):** story-..., story-...
## Hotspot Touches
- `path` touched by: story-X, story-Y
Write to stdout by default, or to --out when supplied.
Return the exit code derived from hardCount + regenCount + warnings
(see table above).
/x-evaluate-parallelism --scope=epic --epic ai/epics/epic-XXXX
/x-evaluate-parallelism --scope=epic --epic ai/epics/epic-XXXX --out reports/parallelism.md
/x-evaluate-parallelism --scope=story --a story-0041-0002 --b story-0041-0003
/x-evaluate-parallelism --scope=task --a TASK-0041-0002-001 --b TASK-0041-0003-001
The skill shells out to the project CLI (parallel-eval subcommand backed by
dev.iadev.parallelism.cli.ParallelEvalCli). It is side-effect-free except
when --out is supplied.
parallelism-heuristics — canonical catalogue of the File Footprint block
format, conflict categories (hard / regen / soft), hotspot list, and
degrade-with-warning policy. Read before modifying collision rules.| Consumer | Relationship | Context |
| :--- | :--- | :--- |
| x-epic-map | Invokes (Step 8.5) | Parallel-dispatch gate before an epic plan is approved |
| x-plan-story | Produces input | Emits the ## File Footprint blocks read here |
| x-plan-task | Produces input | Emits the per-task footprints used in --scope=task |
| x-dev-*-implement | Invokes (future, EPIC-0041 §5+) | Pre-dispatch safety check before parallel worktrees |
Running the skill twice with the same inputs MUST produce byte-identical outputs. Implementation rules that enforce this:
TreeSet (alphabetical iteration).(a, b) ascending before rendering.## File Footprint block only (RULE-001).--out target.tools
Documentation automation v2: stack-aware generation from documentation.targets.
development
Generates or updates CI/CD pipelines per project stack with actionlint validation.
tools
Generates ADRs from architecture-plan mini-ADRs with sequential numbering and index update.
development
Formats source code; first step of the pre-commit chain (format -> lint -> compile).