Babysitter Concurrency Primitives
Expert skill for implementing language-level concurrency support including threads, channels, and synchronization
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/programming-languages/skills/concurrency-primitives" ~/.claude/skills/a5c-ai-babysitter-concurrency-primitives && rm -rf "$T"
manifest:
library/specializations/programming-languages/skills/concurrency-primitives/SKILL.mdsource content
Concurrency Primitives Skill
Overview
Expert skill for implementing language-level concurrency support including threads, channels, and synchronization.
Capabilities
- Design threading API and primitives
- Implement mutex and condition variables
- Implement channel-based message passing
- Design async/await and coroutine systems
- Implement work-stealing schedulers
- Handle thread-local storage
- Design memory model and ordering
- Implement green threads/goroutines
Target Processes
- concurrency-primitives.js
- interpreter-implementation.js
- bytecode-vm-implementation.js
- garbage-collector-implementation.js
Dependencies
Concurrency theory, Go scheduler references
Usage Guidelines
- Model Choice: Choose between shared memory and message passing based on language goals
- Memory Model: Define memory ordering semantics clearly
- Scheduling: Design scheduler with fairness and efficiency in mind
- Integration: Ensure GC and concurrency work together correctly
- Testing: Build concurrency stress tests from the start
Output Schema
{ "type": "object", "properties": { "model": { "type": "string", "enum": ["shared-memory", "message-passing", "actor", "csp"] }, "primitives": { "type": "array", "items": { "type": "string" } }, "schedulerType": { "type": "string", "enum": ["os-threads", "green-threads", "work-stealing", "cooperative"] }, "generatedFiles": { "type": "array", "items": { "type": "string" } } } }