Babysitter Garbage Collection
Expert skill for garbage collector design and implementation including various collection algorithms
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/garbage-collection" ~/.claude/skills/a5c-ai-babysitter-garbage-collection && rm -rf "$T"
manifest:
library/specializations/programming-languages/skills/garbage-collection/SKILL.mdtags
source content
Garbage Collection Skill
Overview
Expert skill for garbage collector design and implementation including various collection algorithms.
Capabilities
- Implement mark-sweep collection
- Implement copying/semi-space collectors
- Implement generational collection with write barriers
- Implement concurrent/incremental marking (tri-color)
- Design object header layouts and type info
- Implement precise vs conservative root scanning
- Design card table and remembered set implementations
- Implement finalizers and weak references
Target Processes
- garbage-collector-implementation.js
- memory-allocator-design.js
- interpreter-implementation.js
- bytecode-vm-implementation.js
Dependencies
GC Handbook literature (Jones, Hosking, Moss)
Usage Guidelines
- Algorithm Selection: Start with simple mark-sweep, evolve to generational as needed
- Write Barriers: Design write barriers early if considering generational/concurrent GC
- Root Scanning: Implement precise root scanning for safety
- Pause Times: Measure pause times and optimize for application requirements
- Testing: Build GC stress tests and allocation-heavy benchmarks
Output Schema
{ "type": "object", "properties": { "algorithm": { "type": "string", "enum": ["mark-sweep", "copying", "mark-compact", "generational", "concurrent"] }, "writeBarrier": { "type": "string", "enum": ["none", "card-table", "remembered-set", "snapshot-at-beginning", "incremental-update"] }, "rootScanning": { "type": "string", "enum": ["conservative", "precise"] }, "generatedFiles": { "type": "array", "items": { "type": "string" } } } }