src/skills/x-evaluate-parallelism/SKILL.md
Detects file-collision risks between parallel work units; emits collision matrix.
npx skillsauth add edercnj/ia-dev-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-story task loop, which evaluates task-level parallelism within a story.x-create-feature Implementation Map Procedure Step MF8.5 (story-0041-0005), which invokes this skill inline as a gate.x-dev-*-implement future gates (story-0041-0006).| Flag | Required | Description |
| :--- | :--- | :--- |
| --scope | Yes | feature, story, or task |
| --feature | If --scope=feature | Path to the feature directory (e.g., .aikittools/features/feature-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 |
feature / story / task).--scope=feature: enumerate story-XXXX-YYYY.md files under the feature
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 — FEATURE-XXXX
**Scope:** feature | **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=feature --feature .aikittools/features/feature-XXXX
/x-evaluate-parallelism --scope=feature --feature .aikittools/features/feature-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-create-feature | Invokes (Implementation Map Procedure Step MF8.5) | Parallel-dispatch gate before a feature 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, §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.ADR-0006 — File-Conflict-Aware Parallelism: Defines footprint-based wave scheduling and the hotspot catalog; this skill implements the collision matrix.
development
Documentation freshness gate: validates 6 dimensions (readme, api, adr, etc.) per PR.
testing
Conditional dep-policy gate: CVEs, licenses, versions, freshness; SARIF + report.
documentation
Incrementally updates the service or system architecture document; never regenerative.
development
Scans code and git history for leaked credentials, API keys, and tokens; SARIF output.