Install
$ agentstack add skill-hungv47-meta-skills-monitor-aeo ✓ 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
AEO Monitor — Orchestrator
Communication — Horizontal. Owns AI-search visibility measurement (evidence collection + dated snapshots + handoff). Does not own SEO strategy, page rewrites, or technical remediation — those stay in optimize-seo.
Core Question: "Do AI systems cite us — for which queries, on which providers, against which competitors, with what trend?"
> Why this skill exists, when NOT to use it, evidence-class taxonomy, 8-item quality gate summary, six modes: references/playbook.md [PLAYBOOK].
Philosophy
AEO/GEO is an evidence job, not a strategy job. AI-citation outcomes are stochastic and provider-specific; the only honest deliverable is dated, source-tagged, reproducible evidence that strategy work (in optimize-seo) can act on. Evidence > Inference > Hypothesis — every metric carries an evidence-class label (public-doc / observed-test / practitioner-inference / hypothesis); inference and hypothesis never get reported as truth.
Pure orchestration. The skill never calls provider APIs itself — it builds query sets, ingests operator-supplied exports, and dispatches the critic gate. Operators execute the actual queries / API pulls; this skill structures inputs and verifies outputs.
Critical Gates
Before delivering, all must hold:
- No fabricated evidence. A provider without supplied credentials or supplied export is labeled
unavailable— never a default zero, never a guessed citation rate. Missing input becomes a labeled gap, not a silent absence. - Stochastic outputs declare their confidence. Single-run citation observations carry a
single-runcaveat; multi-run aggregates carryn=+%. - AEO ≠ GEO ≠ classic SEO ≠ referral. These four evidence streams are reported in separate sections. Mixing AI Overview cites into "AI citations" or treating referral traffic as a proxy for citation share is a critic FAIL.
- Competitor cited-domains captured even when subject is absent. A monitor run that returns "you weren't cited" without naming who was cited misses the actionable half. Cited-domain inventory is mandatory per query.
- Every metric has source, date, provider/model or API, query set, and freshness window. A number without these fields is a critic FAIL.
- Recommendations are handoffs, not strategy. Findings stop at "evidence shows X gap"; the prescription goes in
handoff-optimize-seo.mdand runs throughoptimize-seo.
Before Starting
Per references/_shared/before-starting-check.md [PROCEDURE] — load product context, check artifact staleness (>30 days → recommend re-run upstream).
| Artifact | Source | Required? | |---|---|---| | icp-research.md | research-icp | Recommended — query set must reflect real audience search behavior | | seo-ai.md / seo-audit.md | optimize-seo | Optional — informs which queries the strategy expects to win | | Prior docs/forsvn/artifacts/marketing/aeo-monitor/[slug]/snapshots/ | this skill | Optional — enables trend mode in full-report |
Pre-Dispatch
Canonical Pre-Dispatch: references/_shared/pre-dispatch-protocol.md [PROCEDURE].
Needed dimensions: mode (default full-report), subject domain, target query set (or ICP source to derive it), competitor domains, available providers/exports.
Query-set design (Layer 0, locked). Pre-Dispatch produces a balanced, locked query-set.md (query-type categories branded/category/comparison/problem/long-tail × volume tiers head/mid/long-tail, atop intent-class mixing) so re-runs stay trend-comparable. Design contract: references/procedures/pre-dispatch.md § "Query-set design".
Full read-order + Cold/Warm Start prompts + write-back map + Chain Position + Skill Deference + IMC Coordination table: references/procedures/pre-dispatch.md [PROCEDURE].
Mode Resolution
Per references/_shared/mode-resolver.md [PROCEDURE] — auto-downgrade ≤3 sentences, no prior artifacts; --fast skips Layer 2 (no critic, single-agent). --fast does NOT skip Cold Start, the six Critical Gates, or the evidence-class labels. Session execution profile (single-vs-multi): inherit per references/_shared/execution-policy.md.
Default mode when unspecified: full-report — runs every mode whose inputs are resolvable; labels every other mode unavailable with the specific gap. One dated snapshot per run; single-mode runs are opt-in.
Agent Manifest
8 sub-agents across three layers (Layer 0 sequential pre-checks + Layer 1 parallel ingestors + Layer 2 sequential report→critic). Full table with per-agent focus, layer placement, mode coverage, and per-route Layer 1/2 expansion: references/agent-manifest.md [PROCEDURE].
Routing — Mode-Based Dispatch
Default is full-report (snapshot is the primary job). Single-mode runs are opt-in.
| Situation | Mode | Route | |-----------|------|-------| | First snapshot, or monthly dated report | full-report (default) | Z | | Spot check: do AI providers cite us for these queries? | ai-citations | A | | Spot check: AI Overview presence on target keywords | geo-overview | B | | Read AI referral evidence from analytics | ai-referrals | C | | Bing Webmaster / IndexNow / sitemap posture + Bing-channel traffic | bing-readiness | D | | llms.txt / llms-full.txt posture | llms-readiness | E |
Per-route Layer 1 / Layer 2 agent fan-out lives in references/agent-manifest.md § "Per-route expansion". Layer 0 (query-set-agent → provider-readiness-agent) runs first on every route.
Full pre-writing object schema, 8-step Multi-Agent Dispatch flow, Single-Agent Fallback, --fast execution path: references/procedures/dispatch-mechanics.md [PROCEDURE].
Artifact Contract
Output path: docs/forsvn/artifacts/marketing/aeo-monitor/[slug]/ (a directory):
docs/forsvn/artifacts/marketing/aeo-monitor/[slug]/
report.md # dated report (this run)
query-set.md # the locked query × provider matrix used this run
handoff-optimize-seo.md # evidence-tagged gap list, consumed by optimize-seo
snapshots/
[YYYY-MM-DD]-ai-citations.json
[YYYY-MM-DD]-geo-overview.json
[YYYY-MM-DD]-ai-referrals.json
[YYYY-MM-DD]-readiness.json
[slug] = kebab-cased subject domain (e.g., example-com for example.com). Snapshot files are written only when their mode (or full-report) ran.
Lifecycle: follows the shared snapshot-directory pattern (references/_shared/artifact-lifecycle.md [PROCEDURE]): snapshots append-only (one set per date), report.md / query-set.md / handoff-optimize-seo.md rewritten in place (prior copies in git). Trend computation reads snapshots/*.json.
Frontmatter (REQUIRED on report.md): skill: monitor-aeo, mode, subject, date, status, evidence-classes (object: count by class).
Full body-section list, per-snapshot JSON schema, and handoff schema: references/format-conventions.md [PROCEDURE].
Anti-Patterns
references/anti-patterns.md [ANTI-PATTERN] — patterns with detection rules, bad/good examples, and per-pattern agent ownership. Top five by frequency: fabricated zero (gate 1), single-run certainty (gate 2), AEO/GEO conflation (gate 3), subject-only reporting (gate 4), strategy creep (gate 6).
Durable Rules (protected)
Completion Status
Every run ends with explicit status:
- DONE — selected mode executed end-to-end, every evidence cell labeled with class + provenance, critic PASS within 2 cycles, handoff written
- DONEWITHCONCERNS — analysis delivered with labeled provider gaps (credentials missing, export incomplete, single-run only); every gap named with the specific input that would resolve it
- BLOCKED — query set un-derivable (no ICP source AND no operator-supplied queries) OR subject domain not supplied; state exactly what's blocked + what unblocks
- NEEDS_CONTEXT — operator invoked a single-mode route whose inputs are entirely missing (e.g.,
ai-citationswith zero provider exports); recommendfull-reportto capture whatever evidence is available, or state which exports to supply
Next Step
Hand handoff-optimize-seo.md to optimize-seo for strategy + page-rewrite work. Re-run on cadence (monthly default) to extend the trend series.
Worked Example
End-to-end Route Z walkthrough (Pre-Dispatch → Layer 0 → parallel Layer 1 → merge → critic PASS → deliver → handling missing providers → --fast variant): references/examples/aeo-walkthrough.md [EXAMPLE].
References
- Playbook:
references/playbook.md[PLAYBOOK] - Agent manifest:
references/agent-manifest.md[PROCEDURE] - Format:
references/format-conventions.md[PROCEDURE] - Anti-patterns:
references/anti-patterns.md[ANTI-PATTERN] - Procedures:
references/procedures/{pre-dispatch, dispatch-mechanics}.md[PROCEDURE] - Example:
references/examples/aeo-walkthrough.md[EXAMPLE] - Domain catalogs (loaded by agents at dispatch):
references/{provider-matrix, llms-readiness}.md - Shared:
references/_shared/{before-starting-check, manifest-spec, mode-resolver, pre-dispatch-protocol, evidence-classes, artifact-lifecycle}.md(evidence-classes canonical atskills/marketing/_shared/evidence-classes.md, shared withoptimize-seo; artifact-lifecycle canonical atskills/marketing/_shared/artifact-lifecycle.md) - Agents: 8 sub-agents in
agents/— seereferences/agent-manifest.md.critic-agent.mdholds the canonical 8-item quality gate + Rewrite Routing Table.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: hungv47
- Source: hungv47/meta-skills
- License: MIT
- Homepage: https://skills.forsvn.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.