Skip to content
Agentmart
Submit a tool

async-concurrency

Design correct async and concurrent code — bounded parallelism, backpressure, cancellation, and deadlock avoidance.

Skill by xanstomper

IndexedMIT★ 1
Write a review

Chalk Labs

Need help deploying async-concurrency?

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/xanstomper-async-concurrency

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

Design correct async and concurrent code — bounded parallelism, backpressure, cancellation, and deadlock avoidance. Use when writing worker pools, streaming pipelines, or anything with await/Promise.all/spawn.

Use cases: design, writing

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

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/async-concurrency

What's inside

Skill name
async-concurrency
Description
Design correct async and concurrent code — bounded parallelism, backpressure, cancellation, and deadlock avoidance. Use when writing worker pools, streaming pipelines, or anything with await/Promise.all/spawn.
License
MIT
Instructions
21 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Async & Concurrency Procedure

## Trigger / when to use
Load when writing worker pools, processing streams, using Promise.all/SettleAll, spawning subprocesses or threads, or debugging hangs, unbounded memory growth, or unhandled rejections.

## Approach
1. **Bound every fan-out**: `Promise.all(items.map(work))` over 10k items launches 10k concurrent operations — memory and rate limits explode. Use a pool with a fixed concurrency (p-limit, worker pool, semaphore).
2. **Choose all-vs-settle deliberately**: `Promise.all` rejects on first failure and leaks the rest (unhandled rejections); `Promise.allSettled` waits for everything. For independent work where partial success matters, settle; for transactions, all.
3. **Always propagate cancellation**: a long chain without an AbortSignal check keeps running after the caller is gone — the process hangs at exit with work nobody reads. Thread the signal through every await.
4. **Backpressure, not buffering**: if a producer outruns the consumer, queue capacity must be bounded; drop-to-dead-letter is a decision you make explicitly, never an OOM you discover.
5. **Never hold a lock across await** (JS) or block inside async (Python/Go): it destroys parallelism and invites deadlock. Do the async work, then take the lock for the state update.

## Pitfalls
- Floating promises (`void asyncFn()` with no error handler) — failures vanish silently.
- Assuming one await is atomic — between your check and your write, another task mutates the state (read-modify-write races).
- Unbounded queues "temporarily" — they become the OOM when the consumer stalls.
- Mixing callbacks and async control flow — pick one boundary and adapt (util.promisify, asyncio.to_thread).

## Verification
Write a test that runs the pool at 2x expected concurrency with a slow/dying task, then asserts: bounded peak in-flight, no unhandled rejection, prompt cancellation on signal, and correct results for the survivors.

From xanstomper/mochi, MIT.

More from xanstomper/mochi

Signals

Stars
1
Forks
2
Open issues
6
Last commit (this folder)
Oct 14, 2026 (16 days ago)
Last release
Oct 23, 2026 (8 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from xanstomper

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 async-concurrency 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 async-concurrency?

CallGet help
Cite this page

async-concurrency skill. Agent Mart. https://agentmart.dev/skills/xanstomper-async-concurrency (last updated 2026-10-24)