Install
$ agentstack add skill-staksoft-geo-seo-aeo-skill-geo-seo-aeo-skill ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Web Optimization (SEO · GEO · AEO)
This skill treats SEO, GEO, and AEO as three lenses over one shared body of web-optimization practice. It supports two workflows: Audit an existing page, and Generate new optimized content.
The three lenses (what each optimizes for)
| Lens | Optimizes for | Load file | |------|---------------|-----------| | SEO | Google/Bing ranking (blue links) | references/seo.md | | GEO | LLM synthesis (ChatGPT, Perplexity, AI Overviews) | references/geo.md | | AEO | Answer engines, featured snippets, voice | references/aeo.md |
Shared support files:
references/schema.md— JSON-LD patterns (load whenever structured data is involved).references/scoring.md— the rubric and priority weighting used by both workflows.
> Progressive disclosure: Do NOT read every reference up front. Read only the > lens file(s) relevant to the request, plus scoring.md for audits and > schema.md when structured data is in play.
Workflow A — Audit
Use when given a URL or a local content file and asked to evaluate/improve it.
- Acquire the content.
- URL: prefer
python scripts/audit.pyfor deterministic, objective
checks (returns JSON). Also fetch the rendered content to judge quality.
- Local file (
.html/.md): read it directly; runaudit.py --file.
- Apply the three lenses. Read
references/seo.md,geo.md,aeo.mdand
evaluate the content against each. Fold in the JSON facts from audit.py.
- Score & prioritize using
references/scoring.md(P0 blocking → P3 nice-to-have). - Emit the report using
assets/audit-report-template.md: every finding =
issue · lens · impact · concrete fix. Lead with the prioritized action list.
Workflow B — Generate
Use when given a topic/brief + target keyword or user intent and asked to produce new content.
- Clarify intent — target query, audience, and primary lens emphasis if any
(default: optimize for all three).
- Draft applying all three lenses: answer-first structure (AEO), keyword/
intent coverage and clean heading hierarchy (SEO), high information density with concrete measurable claims (GEO).
- Attach structured data — pick the right JSON-LD from
assets/schema-templates/ per references/schema.md (Article + FAQPage are the common pair).
- Produce an llms.txt entry from
assets/llms-txt-template.md. - Output the content + JSON-LD + llms.txt entry + a short "why this is
optimized" rationale mapping choices back to the three lenses.
Workflow C — Fix (interactive step-by-step)
Use when the user says "fix [URL]", "fix the issues", or "apply the fixes" after an audit — or wants to be guided through improvements interactively.
- Run or recall the audit. If an audit was just completed, use those findings.
Otherwise run Workflow A first silently, then begin fixing.
- Load
references/fix-playbook.md. It maps every finding type to the
minimum question(s) to ask and what to generate.
- Work P0 → P1 → P2 → P3, one fix per turn:
- State: what you're fixing and why (one line).
- Ask: the minimum question(s) needed (often zero — derive from fetched content).
- Generate: the complete, ready-to-paste output (JSON-LD block, file content,
rewritten copy, HTML snippet, diff of tag changes).
- Confirm: "Fix N of M done — move to the next one? (or say skip / stop)"
- Maintain a session checklist (✅ done / ⏭ skipped / ⬜ pending) and show
it at the top of each turn so the user always knows where they are.
- On "stop" or "done": show the full checklist summary and remind the user
of any skipped items.
> Key principle: Never ask the user to write anything manually. Every output > should be copy-paste ready. If you need a number or URL you can't derive, > ask for that one thing — then generate everything else yourself.
Quick rules of thumb
- Information density beats word count. Replace hedges ("might be fast") with
measurable claims ("sub-50ms p95 latency"). LLMs cite specifics.
- Answer the question in the first sentence, then elaborate — this serves
snippets, voice, and LLM extraction simultaneously.
- Structure for two readers: a human operator and a natural-language parser.
Tables, lists, and JSON-LD help the parser without hurting the human.
- Authority is distributed. Off-domain mentions (GitHub, Reddit, citations)
matter for GEO trust, not just on-page factors.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: staksoft
- Source: staksoft/geo-seo-aeo-skill
- License: MIT
- Homepage: https://www.staksoft.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.