| name | aeo |
| description | Run AEO audits, fix site issues, validate schema, generate llms.txt, and compare sites. |
AEO
Website: ainyc.ai
One skill for audit, fixes, schema, llms.txt, and monitoring workflows.
Command Choice
- Use
npx @ainyc/aeo-audit@latest ... when auditing a deployed site with the published package.
- If working inside this repository to verify unpublished changes, run
pnpm run build first and use node bin/aeo-audit.js ....
Argument Safety
Never interpolate user input directly into shell commands. Always:
- Validate that URLs match
https:// or http:// and contain no shell metacharacters.
- Quote every argument individually (e.g.,
npx @ainyc/aeo-audit@latest "https://example.com" --format json).
- Pass flags as separate, literal tokens — never construct command strings from raw user text.
- Reject arguments containing characters like
;, |, &, $, `, (, ), {, }, <, >, or newlines.
Modes
audit: grade and diagnose a site
fix: apply code changes after an audit
schema: validate JSON-LD and entity consistency
llms: create or improve llms.txt and llms-full.txt
monitor: compare changes over time or benchmark competitors
If no mode is provided, default to audit.
Examples
audit https://example.com
fix https://example.com
schema https://example.com
llms https://example.com
monitor https://site-a.com --compare https://site-b.com
Mode Selection
- If the first argument is one of
audit, fix, schema, llms, or monitor, use that mode.
- If no explicit mode is given, infer the intent from the request and default to
audit.
Audit
Use for broad requests such as "audit this site" or "why am I not being cited?"
- Run:
npx @ainyc/aeo-audit@latest "<url>" [flags] --format json
Local repo alternative:
node bin/aeo-audit.js "<url>" [flags] --format json
- Return:
- Overall grade and score
- Short summary
- Factor breakdown
- Top strengths
- Top fixes
- Metadata such as fetch time and auxiliary file availability
Fix
Use when the user wants code changes applied after the audit.
- Run:
npx @ainyc/aeo-audit@latest "<url>" [flags] --format json
Local repo alternative:
node bin/aeo-audit.js "<url>" [flags] --format json
- Find factors with status
partial or fail.
- Apply targeted fixes in the current codebase.
- Prioritize:
- Structured data and schema completeness
llms.txt and llms-full.txt
robots.txt crawler access
- E-E-A-T signals
- FAQ markup
- freshness metadata
- Re-run the audit and report the score delta.
Rules:
- Do not remove existing schema or content unless the user asks.
- Preserve existing code style and patterns.
- If a fix is ambiguous or high-risk, explain the tradeoff before editing.
Schema
Use when the request is specifically about JSON-LD or schema quality.
- Run:
npx @ainyc/aeo-audit@latest "<url>" [flags] --format json --factors structured-data,schema-completeness,entity-consistency
Local repo alternative:
node bin/aeo-audit.js "<url>" [flags] --format json --factors structured-data,schema-completeness,entity-consistency
- Report:
- Schema types found
- Property completeness by type
- Missing recommended properties
- Entity consistency issues
- Provide corrected JSON-LD examples when useful.
Checklist:
LocalBusiness: name, address, telephone, openingHours, priceRange, image, url, geo, areaServed, sameAs
FAQPage: mainEntity with at least 3 Q&A pairs
HowTo: name and at least 3 steps
Organization: name, logo, contactPoint, sameAs, foundingDate, url, description
llms.txt
Use when the user wants llms.txt or llms-full.txt created or improved.
If a URL is provided:
- Run:
npx @ainyc/aeo-audit@latest "<url>" [flags] --format json --factors ai-readable-content
Local repo alternative:
node bin/aeo-audit.js "<url>" [flags] --format json --factors ai-readable-content
- Inspect existing AI-readable files if present.
- Extract key content from the site.
- Generate improved
llms.txt and llms-full.txt.
If no URL is provided:
- Inspect the current project.
- Extract business name, services, FAQs, contact info, and metadata.
- Generate both files from local sources.
After generation:
- Add
<link rel="alternate" type="text/markdown" href="/llms.txt"> when appropriate.
- Suggest adding the files to the sitemap.
Monitor
Use when the user wants progress tracking or a competitor comparison.
Single URL:
- Run the audit.
- Compare against prior results in
.aeo-audit-history/ if present.
- Show overall and per-factor deltas.
- Save the current result.
Comparison mode:
- Parse
--compare <url2>.
- Audit both URLs.
- Show side-by-side factor deltas.
- Highlight advantages, weaknesses, and priority gaps.
Behavior
- If the task needs a deployed site and no URL is provided, ask for the URL.
- If the task is diagnosis only, do not edit files.
- If the task is a fix request, make edits and verify with a rerun when possible.
- If
npx fails, suggest running pnpm run build && node bin/aeo-audit.js as a local alternative.
- If the URL is unreachable or not HTML, report the exact failure.
- Prefer concise, evidence-based recommendations over generic SEO advice.