Hook sdk integration
LLM invocation patterns from hooks via SDK. Use when you need background agents, CLI calls, or cost optimization.From its SKILL.md
npx -y skills add chkim-su/forge-editor --skill hook-sdk-integrationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.4 KB, as published. Nobody here has run it
Hook SDK Integration
Patterns for invoking LLM calls from hooks using u-llm-sdk/claude-only-sdk.
IMPORTANT: SDK Detailed Guide
Load when implementing SDK:
Skill("forge-editor:llm-sdk-guide")
This skill covers SDK call pattern interfaces.
llm-sdk-guide covers SDK detailed APIs and types.
Quick Start
# Background agent pattern (non-blocking)
(python3 sdk-agent.py "$INPUT" &)
echo '{"status": "started"}'
exit 0
Key Findings (Verified: 2025-12-30)
| Item | Result |
|---|---|
| SDK calls | Possible from hooks |
| Latency | ~30s (CLI session initialization) |
| Background | Non-blocking execution possible (0.01s return) |
| Cost | Included in subscription (no additional API cost) |
Architecture
Hook (bash) → Background (&) → SDK (Python) → CLI → Subscription usage
│ │
└─── Immediate return (0.01s) ───────────────────────┘
Pattern Selection
| Situation | Pattern | Reason |
|---|---|---|
| Need fast evaluation | type: "prompt" | In-session execution, fast |
| Need isolation | Direct CLI call | Separate MCP config possible |
| Complex logic | SDK + Background | Type-safe, non-blocking |
| Cost reduction | Local LLM (ollama) | Free, privacy |
SDK Configuration (Python)
from u_llm_sdk import LLM, LLMConfig
from llm_types import Provider, ModelTier, AutoApproval
config = LLMConfig(
provider=Provider.CLAUDE,
tier=ModelTier.LOW,
auto_approval=AutoApproval.FULL,
timeout=60.0,
)
async with LLM(config) as llm:
result = await llm.run("Your prompt")
Cost Structure
| Method | Cost |
|---|---|
type: "prompt" | Included in subscription |
| Claude CLI | Included in subscription |
| SDK via CLI | Included in subscription |
| Direct API | Per-token billing |