xiaohongshu
xiaohongshu
managing-agent-lifecycles
Implements persistent agent lifecycle management with 6 lifespans (ephemeral, turn, context, session, workflow, project). Use when creating agents that survive across turns, managing workflow-scoped execution, or needing automatic cleanup at lifecycle boundaries.
Full skill instructions
Persistent agent lifecycle management for Claude Code projects. Creates agents with defined lifespans and automatic disposal.
import { AgentRegistry } from 'claude-agent-lifecycle';
const registry = new AgentRegistry();
// Create session-scoped agent (survives until session ends)
const { agent, isNew } = await registry.create({
lifespan: 'session',
name: 'my-advisor',
model: 'haiku',
});
// Resume later in same session
const advisor = await registry.resume('my-advisor');
| Lifespan | Auto-Disposal | Use Case |
|---|---|---|
ephemeral | Immediately | Fire-and-forget tasks |
turn | Stop event | Per-response helpers |
context | Context reset | Multi-turn conversations |
session | SessionEnd | Knowledge advisors |
workflow | Manual/complete | Story/feature execution |
project | Manual only | Singleton services |
How long should the agent live?
├── Just this one call? → ephemeral
├── Until response completes? → turn
├── Until context resets? → context
├── Until session ends? → session
├── Until work unit completes? → workflow
└── Forever (manual disposal)? → project
When implementing agent lifecycle management:
bun add claude-agent-lifecyclebackend-dev not agent1)For agents persisting throughout a Claude Code session:
const { agent, isNew } = await registry.create({
lifespan: 'session',
name: 'shadow-advisor',
model: 'haiku',
metadata: { role: 'knowledge-retrieval' },
});
For agents tied to a unit of work:
// Start executor for story
await registry.startWorkflow({
lifespan: 'workflow',
workflowId: 'FEAT-001',
name: 'executor',
});
// Add specialists
await registry.startWorkflow({
lifespan: 'workflow',
workflowId: 'FEAT-001',
name: 'backend-dev',
});
// Complete when done (disposes all workflow agents)
await registry.completeWorkflow('FEAT-001');
For short-lived per-response agents:
const { agent } = await registry.create({
lifespan: 'turn',
name: 'code-analyzer',
});
// Automatically disposed when Stop hook fires
See patterns.md for detailed implementations.
Hooks automatically dispose agents at lifecycle boundaries.
{
"Stop": [{
"hooks": [{
"type": "command",
"command": "bun \"${CLAUDE_PLUGIN_ROOT}/hooks/lifecycle-manager.ts\""
}]
}],
"SessionEnd": [{
"hooks": [{
"type": "command",
"command": "bun \"${CLAUDE_PLUGIN_ROOT}/hooks/lifecycle-manager.ts\""
}]
}]
}
import { AgentRegistry } from 'claude-agent-lifecycle';
import { getHookEvent } from 'claude-hooks-sdk';
const event = getHookEvent();
const registry = new AgentRegistry();
if (event.type === 'Stop') {
await registry.disposeByLifespan('turn');
}
if (event.type === 'SessionEnd') {
await registry.disposeByScope(event.session.sessionId);
}
.agent/agents/
├── session/{session-id}/{agent-name}.json
├── workflow/{workflow-id}/{agent-name}.json
└── project/{agent-name}.json
Enable for troubleshooting:
AGENT_LIFECYCLE_DEBUG=true claude
Output:
[agent-lifecycle] Created: shadow-advisor (session)
[agent-lifecycle] Stop: Disposed 1 turn-scoped agents
| Method | Purpose |
|---|---|
create(config) | Create or resume agent |
resume(name) | Resume by name |
dispose(id) | Dispose specific agent |
startWorkflow(config) | Start workflow agent |
completeWorkflow(id) | Complete and dispose workflow |
See api-reference.md for complete API documentation.
# As plugin (recommended)
/plugin marketplace add hgeldenhuys/claude-agent-lifecycle
/plugin install claude-agent-lifecycle
# As package
bun add claude-agent-lifecycle
api-reference.md - Complete API documentationpatterns.md - Detailed pattern implementationsexamples.md - Real-world usage examplesxiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience