squackit
Semi-QUalified Agent Companion Kit. A code intelligence toolkit that works two ways: as an MCP server for AI agents, and as a CLI for humans.
Built on pluckit (CSS selectors over ASTs) and fledgling (SQL macros over DuckDB).
Install
pip install squackit
CLI usage
# Run any tool from the shell
squackit tool list
squackit tool view "src/**/*.py" ".fn#main"
squackit tool find_names "**/*.py" ".class"
squackit tool complexity "src/**/*.py" ".fn"
# JSON output for scripting
squackit --json tool find "src/**/*.py" ".fn"
# Pluckit chain queries
squackit pluck "src/**/*.py" find .fn containing cache names
squackit pluck "src/api.py" find .class#Handler children find .fn names
# Start the MCP server
squackit mcp serve
Tool names resolve in three conventions: find_names, find-names, FindNames.
Tab completion is built in (eval "$(_SQUACKIT_COMPLETE=bash_source squackit)").
What agents get via MCP
- ~35 tools — CSS-selector code queries (via pluckit), file I/O, git history, doc navigation, conversation analytics, and diagnostics. The exact set is dynamic (fledgling macros + pluckit tools + pluckins); a full install exposes ~40 MCP tools including the workflows below.
- 4 compound workflows —
explore,investigate,review,search - 3 prompt templates — pre-loaded with live project data
- 5 resources — project overview, docs, git status, session log, diagnostics
plucktool — full pluckit chain grammar for multi-step AST queries, with mutation safety (blocked by default, opt-in viaallow_mutations=true)- Smart defaults — infers language, doc layout, main branch automatically
- Token-aware output — configurable truncation with
max_results/max_lines
Architecture
Layer 4 Consumers (Claude Code, agents, IDE extensions)
│
Layer 3b squackit ─── CLI + MCP server + intelligence
│ smart defaults, caching, truncation,
│ workflows, pluckit tools, mutation safety
│
Layer 3a pluckit ──── fluent Python API (CSS selectors over ASTs)
│
Layer 2 fledgling ── SQL macros + Python bundler
│
Layer 0 DuckDB extensions (sitting_duck, markdown, duck_tails, read_lines)
Pluckit tools take priority over fledgling equivalents when both provide a
capability (e.g., pluckit's find supersedes fledgling's find_definitions).
Note: pluckit is published on PyPI as
ast-pluckit. The import name ispluckit.
Documentation
Full docs at squackit.readthedocs.io.
License
Apache 2.0
Metadata
Release files for squackit 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| squackit-0.9.0.tar.gz | 355.3 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| squackit-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 432.4 kB
Release files / squackit-0.9.0.tar.gz
| Download URL | squackit-0.9.0.tar.gz |
|---|---|
| Size | 355.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d3d9b45d3ee7d680d1c322b65e9c08f8b8da9a5c099504e9953969a7a04d38e
|
|
BLAKE2b-256 checksum How to use checksums |
2ce64f306dce6e3d8ff643046463a76e34893e4a3c791fc561b10d7061c14ef2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.
Transparency logRelease files / squackit-0.9.0-py3-none-any.whl
| Download URL | squackit-0.9.0-py3-none-any.whl |
|---|---|
| Size | 77.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2c325056d214b8dd1673d22080193c45a125e9d63165b8cb08871de3b9a79599
|
|
BLAKE2b-256 checksum How to use checksums |
497178cb395271d44a2f4c14b1382cc386d0c8a8367bc4c2024b2dd768e08f67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.
Transparency logSecurity for squackit 0.9.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for squackit-0.9.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.