Files
kebab/integrations/claude-code
altair823 d9ec7b8dc3 feat(cli): kebab inspect ocr-stats + ocr-failures (Enhancement 3 + wire schema additive minor)
Two new wire schemas land as additive minor: ocr_stats.v1 (corpus-wide
aggregate — total_events, success_rate, p50/p90/p99/max_ms, by_engine,
top-10 by_doc by failure count) and ocr_failures.v1 (per-doc or
corpus-wide recent failures, with --doc-id + --limit). Both ship via
new CLI subcommands `kebab inspect ocr-stats` / `inspect ocr-failures`.

App gains four facade methods: inspect_ocr_stats /
inspect_ocr_failures plus their *_with_config companions — required by
CLAUDE.md "the facade rule" so `--config <path>` is honored. The CLI
dispatch arms thread cfg explicitly into the _with_config form.

Runtime introspection emit (WIRE_SCHEMAS in schema.rs) gains two
entries; the meta JSON Schema (schema.schema.json) is untouched
because its wire.schemas is pattern-based, not enum-based.

ingest_log::percentiles extended to (p50, p90, p99, max). p99 surfaces
only via inspect ocr-stats; IngestSummary (round 1) stays 3-percentile.

SKILL.md synced with the two new schemas (AC-13).

Closure r2 G2 (facade *_with_config pair) + G3 (runtime emit, not
meta schema file) + closure r1 F4 (p99) resolved.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 06:13:08 +00:00
..

Claude Code integration

Skill packages that let Claude Code call kebab automatically when a question would benefit from the user's local KB.

Available skills

Skill Trigger What it does
kebab Internal / org-specific questions, runbooks, indexed-doc lookups Calls kebab search --json / kebab ask --json and folds the results into the answer with citations

Install

User-level (every Claude Code session on this machine):

# from a kebab repo checkout
cp -r integrations/claude-code/kebab ~/.claude/skills/

# verify
ls ~/.claude/skills/kebab/SKILL.md

Or symlink so git pull in the repo updates the skill in place:

mkdir -p ~/.claude/skills
ln -s "$(pwd)/integrations/claude-code/kebab" ~/.claude/skills/kebab

Project-level (only loads when Claude Code runs in a specific project):

mkdir -p <project>/.claude/skills
cp -r integrations/claude-code/kebab <project>/.claude/skills/

After install, start a fresh Claude Code session — the skill self-registers from its frontmatter description and is invoked automatically when a matching question shows up. No config edit needed.

Customization

The shipped SKILL.md is generic on purpose — it triggers on any "internal / org-specific" cue. To make Claude Code more eager (or less) for your corpus, edit the frontmatter description of your local copy and add the team / system / acronym keywords that should trigger the skill (e.g. MLOps, DMQ, AiSuite). Don't PR those keywords back into this repo — they're per-user.

A symlink install + a ~/.claude/skills/kebab/SKILL.md.local patch script is one pattern; another is to keep a fork branch with personalized frontmatter and rebase on main.

Update policy

The skill consumes kebab's wire schema v1 (schema_version fields like search_hit.v1, answer.v1). When the wire schema major-bumps to v2, this skill is updated in the same PR — see the project root CLAUDE.md §Wire schema v1.

Other hosts

kebab exposes the same --json contract to any agent host. To add a new integration:

  1. Drop a directory under integrations/<host>/ mirroring the structure here.
  2. Reference docs/wire-schema/v1/ for the JSON shapes.
  3. Link from this README.md table.

A native MCP server (kebab serve --mcp) and an HTTP wrapper are listed in the root README §외부 AI 통합 as future options.