Streams all 26 Claude Code lifecycle events (tool calls, permissions, subagents, compaction, sessions) into the @agentic-patterns/server dashboard for live observability. Pair with `ap playground`. See https://github.com/pattern-stack/agentic-patterns-ts/blob/main/docs/CLAUDE-CODE-PLUGIN-ACTIVATION.md for activation + troubleshooting.
Matches all tools
Hooks run on every tool call, not just specific ones
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A compositional agent framework for TypeScript. Agents are built by composing frozen, immutable primitives upward through layers -- from atoms to organisms -- then executed by a runtime with events, gates, workflows, and exporters.
| Package | Description |
|---|---|
@agentic-patterns/core | Atoms, protocols, molecules, rendering, organisms |
@agentic-patterns/runtime | Runner, events, gates, workflows, transport, multi-agent, exporters |
@agentic-patterns/server | Hono HTTP server — routes, SSE, admin API, Claude Code hook bridge |
@agentic-patterns/cli | ap — discover agents, chat in terminal, launch dashboard |
Runtime depends on core. Server depends on runtime + core. Core never imports runtime.
npm install -g @agentic-patterns/cli
ap init my-agents --provider=anthropic --with-plugin
cd my-agents
cp .env.example .env # add ANTHROPIC_API_KEY
bun install
bun run dev # http://localhost:3456
--with-plugin also drops a Claude Code plugin next to your project — open Claude Code in that directory and every one of the 26 lifecycle events (tool calls, permission prompts, subagent spawns, compaction, etc.) streams live into the dashboard's /claude-code page, grouped by session.
Or, skip the CLI and use the library directly:
bun add @agentic-patterns/core @agentic-patterns/runtime ai @ai-sdk/anthropic
import { Persona, Mission, RoleBuilder, AgentBuilder } from "@agentic-patterns/core";
import { AgentRunner, AgentEventBus } from "@agentic-patterns/runtime";
import { anthropic } from "@ai-sdk/anthropic";
const role = new RoleBuilder("assistant")
.withPersona(new Persona({ identity: "a helpful assistant", tone: "concise" }))
.build();
const agent = new AgentBuilder(role)
.withMission(new Mission({ objective: "Help the user" }))
.build();
const runner = new AgentRunner(anthropic("claude-sonnet-4-20250514"), new AgentEventBus());
const result = await runner.run(agent, "Hello!");
console.log(result.response);
git clone https://github.com/pattern-stack/agentic-patterns-ts
cd agentic-patterns-ts
bun install
bun run build
bun run test
Agents are composed from small, frozen primitives. Each primitive answers one question about the agent's behavior.
import { Persona } from "@agentic-patterns/core";
const persona = new Persona({
identity: "a research assistant specializing in data analysis",
tone: "professional and precise",
priorities: ["accuracy over speed"],
});
import { Mission } from "@agentic-patterns/core";
const mission = new Mission({
objective: "Analyze the provided dataset and produce a summary.",
success_criteria: [
"Identify top 3 trends",
"Include statistical backing",
],
constraints: ["Only use provided data, no external sources"],
});
import { Judgment } from "@agentic-patterns/core";
const sourceQuality = new Judgment({
domain: "source-quality",
heuristics: [
"Prefer peer-reviewed sources",
"Cross-reference statistics across multiple sources",
],
escalation_triggers: [
"Contradictory data from equally credible sources",
],
});
A Role composes primitives into a reusable template. Build one with
the fluent RoleBuilder.
import { RoleBuilder, Responsibility } from "@agentic-patterns/core";
const role = new RoleBuilder("research-assistant")
.withPersona(persona)
.withJudgment(sourceQuality)
.withResponsibility(new Responsibility({
key: "analysis",
name: "Data Analysis",
description: "Produce accurate, well-sourced quantitative analysis",
}))
.build();
An Agent is a Role instantiated with a Mission and optional context.
import { AgentBuilder } from "@agentic-patterns/core";
const agent = new AgentBuilder(role)
.withMission(mission)
.withModel("claude-sonnet-4-20250514")
.build();
The runtime package provides AgentRunner, an event bus, and
exporters for observability.
import {
AgentRunner,
AgentEventBus,
ConsoleExporter,
} from "@agentic-patterns/runtime";
const bus = new AgentEventBus();
const exporter = new ConsoleExporter(bus);
exporter.start();
const runner = new AgentRunner(model, bus);
const result = await runner.run(agent, "Analyze Q4 revenue trends.");
console.log(result.response);
exporter.stop();
The workflow layer provides composable patterns for multi-step and iterative agent execution.
npx claudepluginhub pattern-stack/agentic-patterns-tsPlan-first, gate-disciplined SDLC for Claude Code teams. Agents, canvases, primitives, commands.
Progressive disclosure knowledge base and agent team for building applications on the Pattern Stack framework (Atomic Architecture v2.1)
Complete AI coding workflow system. Self-correcting memory + persistent FTS5-indexed research wikis + auto-research loop + multi-LLM council on a single SQLite store. 33 skills, 8 agents, 22 commands, 37 hook scripts across 24 events. Cross-agent via SkillKit.
Claude + Obsidian knowledge companion. Sets up a persistent, compounding wiki vault (Karpathy's LLM Wiki pattern). v1.7 "Compound Vault" + v1.8 methodology modes close 5 of 5 priority gaps from the May 2026 compass artifact. Ships: substrate alignment with kepano/obsidian-skills, default Obsidian CLI transport, hybrid retrieval (contextual prefix + BM25 + cosine rerank per Anthropic's Sept 2024 research), per-file advisory locking for multi-writer safety, pre-commit verifier agent, AND methodology modes (LYT / PARA / Zettelkasten / Generic) for first-class organizational support no other Claude+Obsidian competitor offers. v1.7.x audit closure: every BLOCKER + HIGH + MEDIUM + LOW finding from the v1.7.0 audit is CLOSED or DEFERRED-with-rationale. Optional DragonScale Memory extension (log folds, deterministic addresses, semantic tiling lint, boundary-first autoresearch).
Make your AI agent code with your project's architecture, rules, and decisions.
Domain-specific expert agents for research, documentation, and specialized tasks
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses