Agent skill

hook-sdk-integration

LLM invocation patterns from hooks via SDK. Use when you need background agents, CLI calls, or cost optimization.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/testing/hook-sdk-integration

SKILL.md

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("skillmaker:llm-sdk-guide")

This skill covers SDK call pattern interfaces. llm-sdk-guide covers SDK detailed APIs and types.

Quick Start

bash
# 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)

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

References

Didn't find tool you were looking for?

Be as detailed as possible for better results