feat(skills): add geo-audit — generative engine optimization visibility - #2
Open
amritmirch wants to merge 2 commits into
Open
feat(skills): add geo-audit — generative engine optimization visibility#2amritmirch wants to merge 2 commits into
amritmirch wants to merge 2 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
geo-audit: a monthly skill that measures whether a web-grounded AI assistant recommends this project, and tracks that number over time.SEO measures whether you rank. GEO measures whether you get named in the answer. When someone asks an assistant "best open source agent framework", the answer names three or four projects and the rest of the category effectively does not exist.
What it does
Runs a set of buyer-intent queries through live web search and scores each answer on three axes:
first/listed/mention/absentaccurate/hedged/wrongA clean win requires
appear && sentiment == accurate; being named inaccurately is a disambiguation problem, not a win. Headline score isclean wins / total queries.Beyond the score it extracts two things the number alone won't tell you:
open(accepts PRs/comments) oreditorial(needs outreach). This is the placement target list for the next month.Diffs against the previous snapshot and reports only what moved.
Query-set design
The skill generates four kinds and requires the mix: category (the giants' query), niche (what you should already own), branded (surfaces collisions), problem (how buyers describe the pain before they know product names). An all-category set produces a flat 0/N that never moves and teaches nothing.
Honest limits, stated in the skill
Because answers are grounded in live pages rather than frozen training data, fixes surface in days to weeks, which is why the cadence is monthly: fast enough to see movement, slow enough for noise to average out.
Conventions followed
mode: read-only, same contract asseo-audit/competitor-monitor. Verified againstskill_mode.sh: the mode grantsWebSearchplus the redirect/notify primitives this needs, and noWrite/Edit.memory/geo-audit/<STAMP>.json, written before notifying so a notify failure never costs the baseline. Log tomemory/logs/${today}.md.GEO_NO_CHANGE), no-op with no target (GEO_NO_TARGET).enabled: false, schedule: "0 9 1 * *", so it is inert until switched on.references/rubric.mdfixes the scoring definitions (so a March score is comparable to an August one) and maps each failure mode to its fix.Validation run locally
bin/generate-skills-jsonregenerated (74 → 75 skills)eyebrow scanv0.4.1 (checksum-verified) regeneratedeyebrowlock.json; findings: none; the CI coverage gate passes for every skillvalidate-config.jsCLEAN ·check-skill-categories.shOK ·check-capabilities-parity.shOK ·validate-readme-catalog.mjsOK ·validate-skill-packs.mjsOK