
We just shipped the largest ZensInk update since launch. The open source toolkit grew from 8 to 13 tools, the Pro engine got a new GEO scoring module, and the whole system is now agent-native with SKILL.md support.
This post covers what changed, what’s new, and the thinking behind it.
The open source toolkit: 13 tools, zero dependencies
ZensInk’s free CLI toolkit started with 8 tools — keyword research, volume lookup, SERP analysis, competitor gap, keyword difficulty, site audit, ranking data, and performance tracking. All pure Python stdlib, no API keys required (except for the ones that obviously need one).
Five new tools shipped this week:
- keyword_cluster — Groups keywords by semantic similarity using SERP overlap. No embeddings API, no ML model — just plain Python. Feed it 200 keywords, get back clusters that would take an hour to sort manually.
- search_intent — Classifies keywords into informational, commercial, transactional, or navigational. Also flags question queries, buyer-intent terms, and problem-oriented phrases. Useful for mapping content to funnel stages.
- kgr_auto — Automates the Keyword Golden Ratio calculation. Given a keyword, it pulls allintitle results and search volume, then tells you whether the KGR ratio is favorable (< 0.25 = worth doing).
- content_matrix — Takes your keyword cluster and generates a content plan: pillar pages, supporting articles, and internal linking structure. Not AI-generated — it’s deterministic, based on cluster topology.
- onpage_audit — Scores any page on 7 dimensions (title, meta, headings, content depth, internal links, image alt text, URL structure) out of 100, with letter grades A through F.
All five are pure stdlib. pip install and go.
Why we open-sourced these
The honest answer: they’re commodity tools. Keyword clustering, intent classification, KGR — these are well-understood concepts. Charging for them would be silly.
What we kept in Pro is the orchestration layer — the stuff that’s hard to copy:
- Winability Score — personalized keyword difficulty based on your own GSC data, not a generic DR metric
- Content Radar — editorial calendar that prioritizes by winability × search volume × business intent
- Competitor Radar — competitive intelligence with pricing detection and sentiment analysis
- GEO Score — the new module, explained below
- full_audit — the orchestrator that chains everything into one pipeline
Single APIs are commodities. Workflows that chain them into outcomes — that’s where value lives.
GEO Score: 16 dimensions, zero guesses
The headline feature of v1.5 is the GEO Score module (geo_score.py), available in the Pro package.
GEO (Generative Engine Optimization) is about making your content citable by AI search engines — ChatGPT, Perplexity, Google AI Overviews. It’s different from traditional SEO because AI engines don’t just match keywords; they synthesize answers and cite sources.
We looked at the existing approaches — most notably the GEORank framework from Stanford HAI research. The problem: their weights are derived from a paper with r=0.345 correlation to real outcomes. That’s barely better than random. And their architecture requires FastAPI + PostgreSQL + Redis + Qdrant + Neo4j. Heavy.
Our approach is different:
16 dimensions across 5 layers:
- Fact layer (35%) — Does the content contain citable facts? Statistics, definitions, comparisons, step-by-step instructions. AI engines love concrete data.
- Structure layer (25%) — Is the content well-organized? BLUF (Bottom Line Up Front), clear headings, scannable lists. AI parsers need structure to extract.
- Semantic layer (15%) — Entity coverage, topic depth, related concepts. Does the page demonstrate expertise beyond the surface query?
- AI accessibility (15%) — Is the content reachable by crawlers? llms.txt, proper meta tags, no JavaScript-walled content.
- Trust layer (10%) — Author signals, citations, dates, structured data. The credibility signals that make AI engines confident to cite you.
Each dimension is scored with deterministic rules — no AI guessing. The output is a 0–100 score with letter grade, plus P0/P1/P2 prioritized action items.
Self-calibrated weights, not copied from papers. We’re testing the weights against real sites (our own projects, where we control the variables) and adjusting based on observed outcomes. Early data suggests the fact layer deserves even more weight than we initially gave it.
Here’s the thing about GEO scoring: nobody has the “right” answer yet. The field is months old. What we can offer is a transparent, deterministic framework that you can inspect, understand, and argue with — rather than a black box that spits out a number.
Agent-native: SKILL.md
Every ZensInk package now includes a SKILL.md file — a standardized instruction document that tells AI agents (like Cursor, Claude Code, or any MCP-compatible tool) how to use the tools.
This means you don’t need to read the docs. Point your AI agent at the repo, and it knows:
- Which tool to use for which task
- What inputs each tool expects
- How to interpret the output
- How to chain tools into workflows
We’ve been dogfooding this internally — our own AI agent uses ZensInk tools to run SEO audits, generate content plans, and track rankings. The SKILL.md is what makes that possible without human orchestration.
What’s next
- GEO Score calibration — More real-world testing to refine the 5-layer weights
- Agent workflow (v2.0) — Fully autonomous SEO pipeline: detect issues → generate fixes → verify → report
- More integrations — Expanding beyond Google Search Console to Bing Webmaster API, and adding backlink tracking
The open source package is on GitHub. Pro is available at zens.ink.
This is a build log, not a press release. If something breaks, tell us. We’ll fix it.
