java/src/main/resources/targets/claude/skills/knowledge-packs/parallelism-heuristics/SKILL.md
Canonical catalog of file-collision heuristics for parallel task, story, and epic execution. Defines the File Footprint block format, the three Conflict Categories (hard / regen / soft), a hotspot list of high-contention paths, and the degrade-with-warning policy. Consumed by x-task-plan, x-story-plan, x-epic-map, x-parallel-eval, and x-dev-*-implement.
npx skillsauth add edercnj/claude-environment parallelism-heuristicsInstall 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.
Single source of truth for detecting file-level collisions between work units (tasks, stories, or epics) that might run in parallel. Downstream planning and execution skills consume this pack so they all apply the same rules when deciding whether two units can safely run concurrently, must be serialized, or must be merged into a single commit.
Without this pack, each skill would re-implement its own heuristics and the catalog of hotspots (hand-curated high-contention paths such as shared assemblers and root-level metadata files) would drift between them. The pack keeps the catalog auditable — edits here propagate to every consumer.
File Footprint block in
its markdown artifact (task file, story file, epic file, or plan file).x-task-plan, x-story-plan, x-epic-map,
x-parallel-eval, x-dev-*-implement.Every planning artifact that participates in parallelism analysis MUST declare
a ## File Footprint section using the canonical shape below. Subsections
MUST appear in the order write: → read: → regen: (any may be empty and
omitted). Paths are repository-relative and one per bullet. Glob patterns
(**/*.java, src/test/resources/golden/**) are permitted.
## File Footprint
### write:
- path/to/file1.java
- path/to/file2.md
### read:
- path/to/contextual.java
### regen:
- src/test/resources/golden/**
Subsection semantics:
| Subsection | Meaning |
| :--- | :--- |
| write: | Paths the unit intentionally creates or modifies by hand. |
| read: | Paths the unit needs to read for context; NOT modified. |
| regen: | Paths that will be regenerated as a side-effect of a build step (e.g., mvn process-resources, golden regeneration). The unit does not edit them manually. |
Given two units A and B with footprints, pairwise overlap is classified as:
| # | Category | Detection | Resolution |
| :--- | :--- | :--- | :--- |
| 1 | Hard | A.write ∩ B.write ≠ ∅ | Serialize — never run in parallel; pick a deterministic order (e.g., task ID ascending). |
| 2 | Regen | A.write ∩ B.regen ≠ ∅ or A.regen ∩ B.regen ≠ ∅ | Serialize — regenerated outputs will be clobbered if both run concurrently. |
| 3 | Soft | Overlap only in read: (A.read ∩ B.read ≠ ∅ with no write/regen overlap) | Ignore — read-only overlap is safe for parallelism. |
No overlap at all → units are independent and MAY run in parallel without further checks.
High-contention paths extracted from the repository's history of merge conflicts. Whenever a unit touches one of these, planning skills SHOULD warn the author and encourage splitting or serializing the work.
The list below is the initial seed (story-0041-0001). Later stories add new entries as hotspots are observed; the catalog is intentionally auditable.
java/src/main/java/dev/iadev/application/assembler/SettingsAssembler.javajava/src/main/java/dev/iadev/application/assembler/HooksAssembler.javajava/src/main/java/dev/iadev/application/assembler/SkillsAssembler.javaCLAUDE.md.gitignoreCHANGELOG.mdpom.xmljava/src/test/resources/golden/**.claude/templates/** (regen-only; hand-edits here violate RULE-007 —
source of truth lives under java/src/main/resources/targets/claude/)Units MAY omit the ## File Footprint block. Consumers MUST degrade
gracefully:
WARNING log line identifying the unit and the skill that noticed
the omission.Malformed footprints (wrong headings, missing subsections, unparseable bullet lines) follow the same rule: warn, treat as unknown, serialize.
## File Footprint
### write:
- java/src/main/java/dev/iadev/domain/model/Greeter.java
### read:
- java/src/main/java/dev/iadev/domain/model/Person.java
Two tasks with this shape but different write: paths are independent and run
in parallel.
## File Footprint
### write:
- java/src/main/resources/targets/claude/rules/21-new-rule.md
### regen:
- .claude/rules/21-new-rule.md
- java/src/test/resources/golden/**
Any other task touching java/src/test/resources/golden/** creates a Regen
conflict and MUST be serialized.
## File Footprint
### write:
- java/src/main/java/dev/iadev/application/assembler/SkillsAssembler.java
- java/src/main/java/dev/iadev/application/assembler/SkillsCopyHelper.java
### read:
- java/src/main/resources/targets/claude/skills/**
### regen:
- .claude/skills/**
- java/src/test/resources/golden/**
Touches two hotspots (SkillsAssembler.java and
java/src/test/resources/golden/**). Planning skills SHOULD warn the author
and serialize this story against any sibling touching the same files.
story-planning KP (layered decomposition, dependency DAG) — complementary
knowledge pack that defines the units this pack classifies.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).