Skip to content
Agentmart
Submit a tool

parallel-issues

Work several GitHub issues in parallel with unattended coding agents, one Herdr workspace and git worktree per group of issues, each group delivered as a…

Skill by jmfontaine

IndexedApache-2.0
Write a review

Chalk Labs

Need help deploying parallel-issues?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jmfontaine-parallel-issues

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Work several GitHub issues in parallel with unattended coding agents, one Herdr workspace and git worktree per group of issues, each group delivered as a stack of signed, reviewed pull requests. Use when the user wants to fix a batch, list, or milestone of issues at once, run agents overnight or while away, fan issues out to parallel agents, or check on, review, merge, or clean up such a run. Use it even for short requests such as "work on

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/parallel-issues

What's inside

Skill name
parallel-issues
Description
Work several GitHub issues in parallel with unattended coding agents, one Herdr workspace and git worktree per group of issues, each group delivered as a stack of signed, reviewed pull requests. Use when the user wants to fix a batch, list, or milestone of issues at once, run agents overnight or while away, fan issues out to parallel agents, or check on, review, merge, or clean up such a run. Use it even for short requests such as "work on
License
Apache-2.0
Compatibility
Written for omp. Agents start as omp by default, and the agent reviews run as omp task subagents. Requires Herdr (run from a Herdr pane), gh with the github/gh-stack extension and the workflow scope, the 1Password CLI (op), git with SSH commit signing, Python 3.10+, and the github-workflow, git-branch and git-commit skills, which the agents follow.
Instructions
349 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Agent Skills spec issues

  • files: referenced but missing: references/repository-setup.md

Files (3)

  • SKILL.md
  • prompt.md · assets/
  • parallel_issues.py · scripts/

SKILL.md (first lines)

# Parallel Issues

Plan a batch of GitHub issues with the user, then launch one coding agent per group of
issues that depend on each other or touch the same files. Each agent works unattended
in its own worktree and delivers its group as a stack of pull requests, one per issue,
each signed, checked, and reviewed locally before it is committed. The maintainer
review and the merge are the user's, once they are back.

The point of a batch is that the user starts it and goes off to do something else. So
ask for everything the run will need while the user is still there, and always tell
them plainly whether they can leave now and what will call them back.

The launcher is `scripts/parallel_issues.py` (path relative to this skill directory).
Run it from the repository's main checkout. The agents follow `assets/prompt.md`, the
`github-workflow` and `git-commit` skills, and the repository's agent instruction files
(AGENTS.md, CLAUDE.md). Keep repository-specific rules, such as tests that must not
run concurrently, in those instruction files rather than in the prompt.

## Terms

A **batch** is the issues the user approves in one planning session, taken from a
milestone or from a list the user gives. A **wave** is the groups launched together;
the user merges between waves, so in practice one wave runs per night. Waves are
numbered 1 to n. A **group** is the issues one agent delivers in one worktree as one
stack, one pull request per issue, bottom first. A **layer** is one branch and pull
request of a stack. A group is named after its issues, never with a letter: `#185`
for one issue, `#185/#187/#180` for three.

## When the user is needed

Gather every question before the first unattended step, ask them together, and start
only once all are answered. A question that surfaces after the user has left blocks
the work until they return, which defeats the batch.

- **Planning and launch: needed.** Approving the plan, labels or exclusions to fix,
  and the 1Password prompt that reads the signing key, once per 24 hours (see Signing
  key).
- **While the agents run: not needed.** Agents never ask; they take the conservative
  option and note it in the pull request.
- **After the run: needed only for decisions.** Merging, approving the rejected-layer
  procedure (the only force push the workflow allows), pushing a change only the user
  may push, and anything a `keep` or `leftover` line from `clean` asks them to resolve.
  Ask these together as well, before a long merge, release, or cleanup sequence.

End every turn with one of these, stated in so many words:

- "I need you for: …", listing each item and why; or
- "You can go AFK now. Nothing needs you until …", naming what will need them next
  (the agents finishing, a merge decision, the next 1Password prompt), or "until I
  report back" when nothing will.

Say it right after the launch prints every group as started, and again whenever a
step that needed the user is done.

Notifications come from this session only, and only when the user is needed. Whenever
a turn ends with "I need you for: …" while the user may be away, also send that list:
`parallel_issues.py notify "<short title>"` with the list on standard input. Never let
the watcher or the agents ping the user: the watcher runs with `--no-notify` (see
While it runs), and the agents' own notifications are off through `agent.ompConfig`.

Ask the user to send decisions for an agent through this session, not by typing in
the agent's Herdr pane: this session cannot see those messages, and an agent's pane is
removed by `clean`.

## Before the first run

Check each item and fix what is missing with the user; the launcher refuses to start
otherwise.

- The repository works through branches and pull requests. When its agent instruction
  files allow or require committing straight to the default branch, do not launch:
  the agents only open pull requests, and commits on the default branch land as they
  are. Tell the user why and work those issues in an interactive session. The launcher
  does not check this one.
- This session runs in a Herdr pane (`HERDR_ENV=1`). For agent status to be accurate,
  Herdr's integration for the agent must be installed (`herdr integration status`).
- `gh extension list` shows `github/gh-stack`.
- `gh auth status` lists the `workflow` scope: agents push changes under
  `.github/workflows/` like any other, and GitHub rejects such a push without it
  (`gh auth refresh -h github.com -s workflow` adds it). The launcher does not check
  this one.
- Agents sign every commit with their own key, never the user's:
  - `git config commit.gpgsign` is `true` in the repository.
  - `git config agent.signingKey` holds a 1Password reference to the agent's SSH
    private key, such as `op://Private/Agent signing/private key`. It can differ per
    directory tree through `includeIf`.
  - The agent's public key is in `gpg.ssh.allowedSignersFile` for the repository's
    `user.email`, and is added to the user's GitHub account as a **Signing** key.
  - The user is present when the key is read from 1Password (see Signing key).
- The default branch should require signed commits (a ruleset), so an unverified
  commit fails the push instead of landing.
- Optional, through git config:
  - `agent.ompConfig`: an omp config overlay that the launcher passes to every omp
    agent with `--config`, for settings only unattended agents should get, such as a
    model from another family for their local reviewer, so that review does not share
    the author's blind spots. It should also set `completion.notify`, `ask.notify` and
    `error.notify` to `"off"` (quoted), or every agent notifies the user at the end of
    each turn.
  - `agent.notifyCommand`: a command that sends the user a notification, with a title
    as its argument and the message on standard input, for example a script that
    sends a phone notification. `parallel_issues.py notify` runs it, and so does
    `status --wait` when no session supervises the run.
  - `agent.sshProgram`: the program agents sign with, in place of `ssh-keygen`. It
    takes `ssh-keygen`'s arguments, so it can be a wrapper that runs an extra check
    before signing. The agents and `env` get it as `gpg.ssh.program`.

## Plan the batch

Planning happens with the user, before anything runs.

1. Collect the candidate issues: a milestone's open issues (`gh issue list --milestone
   <name>`, a milestone being one release) or the list the user gives. Read each one.
   Check its labels as well. Each issue needs exactly one change-type label from the
   repository's baseline: the launcher takes the branch type from it, following the
   `git-branch` skill's label table (see Launch), and falls back to `fix` when there
   is none. Fix a missing or misleading label with the user. Never create a label
   outside the repository's baseline; ask instead. The baseline, and the rule for
   deviations, are in the `github-workflow` skill's `references/repository-setup.md`
   (if installed).

From jmfontaine/agent-skills, Apache-2.0.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 24, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from jmfontaine

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get parallel-issues running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying parallel-issues?

CallGet help
Cite this page

parallel-issues skill. Agent Mart. https://agentmart.dev/skills/jmfontaine-parallel-issues (last updated 2026-10-24)