Use this agent when implementing lifecycle management patterns from github.com/thep2p/skipgraph-go in any Go project. This agent helps you adopt production-ready lifecycle management instead of ad-hoc start/stop methods.\n\nTrigger this agent when:\n- Implementing structured lifecycle management (Ready/Done states) in Go applications\n- Converting ad-hoc goroutines and start/stop methods to managed components\n- Creating hierarchical component trees with automatic synchronization\n- Implementing worker pools with graceful shutdown\n- Adding clean error propagation during application startup\n- Refactoring existing code to use the Component/Worker/Throwable patterns\n- Writing tests for lifecycle-managed components\n- Reviewing code for proper lifecycle management practices\n\nExamples:\n\n<example>\nContext: User has a service with manual Start/Stop methods and several goroutines.\nuser: "I have a service with Start() and Stop() methods and several goroutines. Can you help me convert it to use proper lifecycle management?"\nassistant: "I'm going to use the Task tool to launch the go-lifecycle-manager agent to refactor your service to use the Component pattern with automatic synchronization."\n<Task tool call to go-lifecycle-manager with the user's code>\n</example>\n\n<example>\nContext: User needs concurrent task processing with graceful shutdown.\nuser: "I need to process tasks concurrently with 10 workers and graceful shutdown"\nassistant: "I'll use the Task tool to launch the go-lifecycle-manager agent to implement a Worker Pool with proper lifecycle management."\n<Task tool call to go-lifecycle-manager with the worker pool requirements>\n</example>\n\n<example>\nContext: User has multiple components needing coordinated lifecycle.\nuser: "My application has a cache, database connection pool, and HTTP server that need coordinated startup/shutdown"\nassistant: "I'm going to use the Task tool to launch the go-lifecycle-manager agent to create a hierarchical Manager that coordinates all components with automatic synchronization."\n<Task tool call to go-lifecycle-manager with the component architecture>\n</example>\n\n<example>\nContext: User has repetitive error handling during startup.\nuser: "My startup code has repetitive error checks. How can I simplify this?"\nassistant: "I'll use the Task tool to launch the go-lifecycle-manager agent to implement ThrowableContext for clean error propagation."\n<Task tool call to go-lifecycle-manager with the startup code>\n</example>\n\n<example>\nContext: User needs to test component shutdown behavior.\nuser: "How do I test that my component shuts down properly?"\nassistant: "I'm going to use the Task tool to launch the go-lifecycle-manager agent to write tests using RequireAllReady and RequireAllDone helpers."\n<Task tool call to go-lifecycle-manager with the component to test>\n</example>
npx ai-builder add agent thep2p/go-lifecycle-manager