agentleFS
bablsoftbablsoft/accessflow/.claude/skills/parallel-agents/SKILL.md

parallel-agents

Skill12 starsChanged 2 months agoApache-2.0View on GitHub

Fan N genuinely independent AccessFlow jobs out to N sub-agents in one message, then consolidate. Use for work that repeats the same edit across disjoint files — the nine engine row-security appliers, one i18n key across seven locale files, a pattern file per area. Trigger when the user says "in parallel", "fan out", "one agent per engine", "do these at the same time", or asks for a change that obviously repeats across engines/*.

23 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use nextjs-react-expert, intelligent-routing and 2 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • SKB3002Skill

    nextjs-react-expert

    React and Next.js performance optimization from Vercel Engineering. Use when building React components, optimizing performance, eliminating waterfalls, reducing bundle size, reviewing code for performance issues, or implementing server/client-side optimizations.

    Also in 3 projects that use this

  • SKB3002Skill

    intelligent-routing

    Automatic agent selection and intelligent task routing. Analyzes user requests and automatically selects the best specialist agent(s) without requiring explicit user mentions.

    Also in 3 projects that use this

  • xfstudioSkill

    rust-pro

    Master Rust 1.75+ with modern async patterns, advanced type system

    Also in 3 projects that use this

  • VercelSkill

    web-design-guidelines

    Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 22 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Work with a dependency chain: If B needs A's output, that is sequential.

    line 25

“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

parallel-agents

AccessFlow has an unusual amount of genuinely parallel work, because the ten engine plugins are standalone projects that repeat the same shapes. This skill is for that — and only that.

When it fits

  • The nine *RowSecurityApplier classes. The canonical job. Disjoint files, identical task shape, and two of them (Cassandra, Neo4j) have a default branch so the compiler will not find them for you → patterns/engine-fanout.md.
  • Per-engine changes that follow a core.api SPI change — one agent per engines/<id>/.
  • Writing several pattern or doc files in one pass.
  • Adding the same i18n key to six locale files (though a script is usually better).
  • Per-module refactors where each module's internal/ is touched independently.

When it does not

  • Anything touching a shared file — see the conflict list below. Two agents editing types/api.ts will clobber each other, and neither will notice.
  • Work with a dependency chain. If B needs A's output, that is sequential.
  • Fewer than three jobs. The coordination overhead exceeds the saving.
  • Anything that needs a shared decision. Decide first, then fan out the mechanical part.

Shared files — never edit these from more than one agent

FileWhy
backend/src/main/resources/db/migration/Version collision — two agents both pick V130. Assign the number yourself, up front.
backend/src/main/resources/i18n/messages.properties + the 6 localesEvery agent appends; last write wins
frontend/src/types/api.tsOne big union/interface file
frontend/src/utils/enumLabels.tsSame
frontend/src/locales/*.jsonSame
backend/pom.xml, frontend/package.jsonDependency edits serialize
website/sitemap.xmlOne <url> list
.github/workflows/ci.ymlOne matrix
CLAUDE.md, .claude/patterns/README.mdIndex files

The pattern that works: fan out the per-file work, then do the shared-file edits yourself in the consolidation step. Tell each agent explicitly that the shared files are off-limits, and have it report what it would have added instead.

Procedure

  1. Enumerate the jobs and prove they are disjoint. List the exact files each agent owns. If two lists intersect, the split is wrong.
  2. Write the shared context once — the goal, the pattern file to follow, the acceptance criteria, and the verify command. Every prompt gets it verbatim.
  3. Per-agent prompt = shared context + "you own exactly these files" + "do not touch: <shared list>" + the report format.
  4. Spawn them in a single message, one tool call each, so they actually run concurrently.
  5. Consolidate: apply the shared-file edits yourself, then run the full verify.

Prompt template

<shared context: what we're changing and why, one paragraph>

Read .claude/patterns/<relevant>.md before you start.

YOU OWN EXACTLY THESE FILES:
  engines/<id>/src/main/java/.../<Id>RowSecurityApplier.java
  engines/<id>/src/test/java/.../<Id>RowSecurityApplierTest.java

DO NOT EDIT (another agent or the coordinator owns them):
  backend/src/main/resources/i18n/*, frontend/src/types/api.ts,
  frontend/src/utils/enumLabels.ts, frontend/src/locales/*, db/migration/*

TASK: <the specific change>

VERIFY: mvn -q -f engines/<id>/pom.xml test

REPORT (exactly this shape):
  - files changed:
  - verify result:
  - anything you would have added to a shared file, verbatim:
  - anything that surprised you:

Verify after consolidating

mvn -f backend/pom.xml install -DskipTests
for d in engines/*/; do mvn -q -f "$d/pom.xml" test || echo "FAILED $d"; done
mvn -q -f backend/pom.xml test -Dtest='ApplicationModulesTest,ApiPackageDependencyTest,MessagesParityTest'
cd frontend && npm run typecheck && npm run test:coverage

Anti-patterns

  • Splitting by "area" instead of by file → two agents both decide types/api.ts is theirs.
  • Letting each agent pick its own migration version → two V130__*.sql, and Flyway refuses to start. Assign it before fanning out.
  • Fanning out a decision → N agents make N different choices and you reconcile by hand. Decide, then fan out.
  • Skipping the per-agent verify → failures surface only in the consolidated run, where you cannot tell which agent caused them.
  • Trusting a sub-agent's "done" → run the verify command yourself. A report is a claim.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.