⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
linkedin-post
Draft a daily LinkedIn post for S M Moshiur Rahman about business development, grounded in a real problem he hit that day and real numbers from OmniRank. Use when he says "linkedin post", "today's post", "draft a post", or describes friction he wants written up.
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
Not yet listed on ClawHub or SkillsMP
// README
OmniRank
One page. Every engine.
Score a site's SEO, AEO and GEO signals against its real HTML, then generate the machine-readable ground truth AI engines can cite.
OmniRank scores a website's live HTML against the concrete rules that search engines,
answer engines and generative AI systems use to crawl, quote and cite content, then
generates llms.txt, llms-full.txt and facts.json so the page becomes machine-readable
ground truth an AI engine can cite directly.

Real terminal output from omnirank audit https://example.com — nothing staged, nothing cropped.
SEO, AEO and GEO read the same HTML
Three audiences parse one document. A crawlable, well-marked-up, machine-readable page wins all three at once — that is the entire bet OmniRank makes, and why it audits one artifact (your rendered HTML) instead of three separate tools.
| Layer | Audience | What it wants | What OmniRank does |
|---|---|---|---|
| SEO | Googlebot, Bingbot | Crawlable, canonical, correctly sized metadata, valid structured data | Checks h1, canonical, title/description length, OpenGraph, JSON-LD |
| AEO | AI Overviews, Copilot, voice assistants | A short, liftable, factual answer near the top of the page | Checks for a 40–60 word AnswerBlock, an FAQ section, and speakable markup |
| GEO | ChatGPT, Claude, Perplexity, Gemini | Machine-ingestible ground truth plus explicit permission to cite | Generates and verifies llms.txt, llms-full.txt, facts.json with a citation licence |
The table above is not aspirational copy — it is also, deliberately, how this README is
written. It has one <h1>, an AnswerBlock-shaped opening paragraph, an FAQ section, and
descriptive headings. If OmniRank asked your page to do these things, it does them too.
Audit any site in one command
OmniRank is not published to PyPI, npm or a container registry — install it from source
into a virtual environment. Homebrew and other PEP 668-managed Python installs refuse a
bare pip install, so activate a venv first:
git clone https://github.com/bemoshiur/OmniRank.git && cd OmniRank
python3 -m venv .venv && source .venv/bin/activate && make install
python3 -m omnirank.cli audit https://example.com
Real output, captured against https://example.com:
OmniRank 0.2.0 — https://example.com
overall 76/100 aeo 80 geo 60 perf 100 seo 67
1 URLs checked, 10 findings
[FAIL] seo.canonical.missing https://example.com/
observed: no rel=canonical
fix: Add <link rel="canonical" href="https://example.com/"> to <head>.
[FAIL] seo.description.missing https://example.com/
observed: no meta description
fix: Add a meta description summarising the page.
[WARN] seo.og.missing https://example.com/
observed: missing og:title, og:image
fix: Add the missing OpenGraph tags so social unfurls render.
[FAIL] aeo.answer-block.missing https://example.com/
observed: no element matching '.answer-block'
fix: Add <div class="answer-block" data-speakable> with a 40-60 word plain-prose answer.
[FAIL] aeo.faq.too-few https://example.com/
observed: 0 FAQ pairs
fix: Add FAQs as semantic <dl>/<dt>/<dd> or <details>, mirrored by FAQPage JSON-LD.
[FAIL] seo.schema.absent https://example.com/
observed: no application/ld+json blocks
fix: Emit JSON-LD describing this page and cross-reference the site organisation by stable @id.
[FAIL] geo.llms.missing https://example.com/llms.txt
observed: HTTP 404 at llms.txt
fix: Generate llms.txt at build time and serve it as a static file.
[FAIL] geo.llms-full.missing https://example.com/llms-full.txt
observed: HTTP 404 at llms-full.txt
fix: Generate llms-full.txt at build time and serve it as a static file.
[FAIL] geo.facts.missing https://example.com/facts.json
observed: HTTP 404 at facts.json
fix: Generate facts.json at build time and serve it as a static file.
[FAIL] geo.ai-allowlist.missing https://example.com/robots.txt
observed: HTTP 404 at /robots.txt
fix: Publish a robots.txt that explicitly allows AI crawlers.
report: .omnirank/reports/2026-08-03-audit.json
example.com ships nothing but a static placeholder page, so this is close to a worst
case — real sites usually clear a handful of these on the first pass. Every finding
carries observed, expected, and fix — enough to act on without opening the code.
For a configured repo, copy the starter config and gate a build on specific gates:
cp templates/omnirank.config.example.json omnirank.config.json
python3 -m omnirank.cli audit --config omnirank.config.json --fail-on h1 canonical schema
python3 -m omnirank.cli geo --config omnirank.config.json --out public
Exit codes: 0 clean · 1 a --fail-on gate failed · 2 usage or config error. The
non-zero exit is what makes it a CI gate, not just a report — see
Use OmniRank as a CI gate below.
What ships in v0.4.0
| Skill | Status | What it does |
|---|---|---|
audit | Shipped | Scores SEO, AEO, GEO, perf, security and structured-data gates against a site's real HTML — including a cross-URL pass over the whole crawled set — and reports observed / expected / fix for every gap |
geo-artifacts | Shipped | Generates llms.txt, llms-full.txt and facts.json, each with an explicit citation licence |
fix (preview) | Shipped | Resolves a finding's URL to the source file that owns it and prints the unified diff it would apply for the four mechanical findings. Writes nothing — there is no --write flag |
Still exactly two skills. v0.4.0 adds 18 new finding ids across four groups: a new
security layer (HSTS, nosniff, CSP absence, Referrer-Policy, mixed content, and a
missing HTTP→HTTPS redirect); indexability contradictions provable from a site's own
declarations (a sitemap URL its own robots.txt disallows, a canonical pointing at a
noindexed/redirecting/missing page, a hreflang alternate that is itself noindexed);
Google's required rich-result properties for eight structured-data types; and on-page
accessibility overlap (missing alt, skipped heading levels, empty or generic link
text, missing lang). It also normalises the score model so a layer's budget scales
with its own gate count instead of a flat constant — scores from 0.3.0 and 0.4.0 are
not comparable. omnirank fix still writes nothing to your project; file
modification ships once the locator is proven against real repositories and the write
guarantees in docs/research/2026-08-04-automation-architecture.md §2.5 are
implemented and tested. Everything under Roadmap below is not present in v0.4.0.
Roadmap
| Skill | Target | What it will do |
|---|---|---|
aeo-onpage | v0.2 | Emit JSON-LD by entity type; draft AnswerBlocks and FAQs; Next.js codegen |
indexing | v0.3 | IndexNow, GSC URL Inspection, Bing Submit, Wayback, hash-based freshness |
offsite-entity | v0.4 | sameAs gap analysis, peer mention-ga |
// HOW IT'S BUILT
KEY FILES