squackit¶
Semi-QUalified Agent Companion Kit — the stateful intelligence + MCP server layer for fledgling-equipped agents.
squackit wraps fledgling's SQL macros (via pluckit — ast-pluckit on PyPI)
with smart defaults, token-aware output, session caching, compound workflows,
an MCP server, prompt templates, and live resources. It is the Python-side
"cold-start agent support" layer — the opinionated features that don't belong
in fledgling's neutral SQL core.
What it does¶
squackit wears two hats: an MCP server for AI agents, and a CLI for humans.
For agents via MCP:
- 20+ tools for reading code, searching definitions (CSS selectors via pluckit), browsing docs, inspecting git history, and running diagnostics
- 4 compound workflows (
explore,investigate,review,search) that compose multiple tools into single-call briefings - 3 prompt templates that pre-load live project data into exploration, debugging, and review workflows
- 5 always-on resources exposing project overview, diagnostics, docs, git status, and session history
- Smart defaults that infer your project's language, doc layout, and main branch
- Token-aware output with configurable truncation and automatic bypass when the agent narrows its query
- Session caching with per-tool TTL policies and mtime-based invalidation
For humans via CLI:
squackit tool <name>— run any tool from the shell with structured (--json) or human-readable outputsquackit pluck ...— direct access to pluckit chain queriessquackit mcp serve— start the MCP server- Tool names resolve in three conventions (underscore, kebab-case, CamelCase) with shell tab completion
Quick install¶
Then use the CLI:
Or start the MCP server:
Or use it programmatically:
See the Getting Started guide for IDE integration and configuration.
Architecture¶
Layer 4 Consumers (Claude Code, agents, IDE extensions)
Layer 3b squackit ← this package
Layer 3a pluckit (fluent Python API)
Layer 2 fledgling-python (Python bundler)
Layer 1 fledgling (SQL macros)
Layer 0 DuckDB extensions (sitting_duck, markdown, duck_tails, ...)
squackit depends on pluckit and never imports fledgling directly. If squackit needs a capability pluckit doesn't expose, pluckit grows the capability. See Architecture for details.