AI Visibility
Ryze-AI-Adgent/open-seo-mcp-skills
Measure real AI-engine visibility — traffic from ChatGPT, Perplexity, Claude, Gemini and which pages they cite — from actual GA4 referral data, not prompt sampling.
Navigate Canonry through connected MCP tools or the cnry CLI to inspect evidence, diagnose changes, plan measurement, review integrations, and report results.
$ npx skills add Canonry/canonry --skill canonry -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Canonry/canonry canonry --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Canonry/canonry.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/canonry .claude/skills/canonry && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "canonry" agent skill from https://github.com/Canonry/canonry/tree/main/skills/canonry into .claude/skills/canonry/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canonry", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Canonry/canonry/tree/main/skills/canonryType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Canonry/canonry --skill canonry -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Canonry/canonry canonry --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Canonry/canonry.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/canonry .agents/skills/canonry && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "canonry" agent skill from https://github.com/Canonry/canonry/tree/main/skills/canonry into .agents/skills/canonry/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canonry", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Canonry/canonry --skill canonry -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Canonry/canonry canonry --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Canonry/canonry.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/canonry .cursor/skills/canonry && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "canonry" agent skill from https://github.com/Canonry/canonry/tree/main/skills/canonry into .cursor/skills/canonry/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canonry", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Canonry/canonry.git --path skills/canonry--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Canonry/canonry --skill canonry -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Canonry/canonry canonry --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Canonry/canonry.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/canonry .gemini/skills/canonry && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "canonry" agent skill from https://github.com/Canonry/canonry/tree/main/skills/canonry into .gemini/skills/canonry/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canonry", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Canonry/canonry canonryInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Canonry/canonry --skill canonry -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Canonry/canonry.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/canonry .github/skills/canonry && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "canonry" agent skill from https://github.com/Canonry/canonry/tree/main/skills/canonry into .github/skills/canonry/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canonry", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Canonry/canonry --skill canonry -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Canonry/canonry canonry --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Canonry/canonry.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/canonry .opencode/skills/canonry && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "canonry" agent skill from https://github.com/Canonry/canonry/tree/main/skills/canonry into .opencode/skills/canonry/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "canonry", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
canonryNavigate Canonry through connected MCP tools or the cnry CLI to inspect evidence, diagnose changes, plan measurement, review integrations, and report results.
Canonry is an agent skill from Canonry/canonry. Navigate Canonry through connected MCP tools or the cnry CLI to inspect evidence, diagnose changes, plan measurement, review integrations, and report results. Use this optional host-native skill for CLI workflows and detailed references; connected MCP users can operate through canonryhelp without installing a local runtime or skill.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `references/aeo-analysis.md`, `references/canonry-cli.md` and `references/google-business-profile.md`).
It sits in Marketing & SEO, covering AI search optimization and MCP servers. It works with Model Context Protocol, SQLite and Google Analytics. The repository describes itself as: Agent-first AI SEO (AEO/GEO) operating platform. The licence is MIT.
Read from SKILL.md and the folder at commit 3bf6bc3. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Canonry loads about 3.6k tokens when it runs, and up to ~74k if it reads all its reference files. Until then it costs about 86 tokens; SKILL.md has 1,879 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Canonry/canonry at commit 3bf6bc3, republished under its MIT licence (© Canonry). 1,879 words, ~3,634 tokens.
.claude/skills/canonry/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.<!-- Generated from docs/agent-operations/v1.md by pnpm guide:sync. Do not edit. -->
Canonry is an agent-first AI visibility platform. MCP is the universal entry point for connected agents. Host-native skills are optional upgrades, not a prerequisite or a permission mechanism.
Read the initialization guidance, then call canonry_help with an intent:
status, diagnose, operations, prospecting, measurement, integrations,
reports, or a short task
description. Select an accessible project with canonry_projects_list before
using its exact name in project tools. Inspect each listed tool's input schema;
help suggests tool names, not invented arguments or authorization.
Help returns a versioned, compact route: connection mode, available next
tools, workflow guidance, approval boundaries, and this guide's URL. It performs
no provider calls, reads no project data, and changes no permissions.
next lists stored reads. Optional actions lists loaded tools for work that
requires approval; listing an action does not authorize or execute it.
includeCatalog: true additionally returns toolkit details when needed.
Hosted connections use a fixed catalog. Help only suggests tools offered by that
connection; it never tells a hosted agent to dynamically load a toolkit. A
progressive local stdio connection may return loadToolkits: call
canonry_load_toolkit with one returned name, await it, then call help again.
Loading only changes local tool discovery, never server authority.
The optional canonry://agent-operations/v1 MCP resource contains this same
guide. If the host cannot read resources or open links, continue through help.
Do not install a plugin, local runtime, or skill merely to use connected MCP.
An installed Codex or Claude Canonry skill contains a generated copy of this
guide plus links to host-native references. It does not replace runtime help.
answerMentioned: null means not checked, not false. Missing runs and empty
populations mean no measurement, not zero visibility.Status: read the stored overview and freshness first. Say when evidence is missing instead of silently creating it.
Diagnose: inspect stored history and comparable evidence. Explain what changed separately from why it might have changed. A hypothesis is not a measured cause. Propose bounded verification if stored evidence is insufficient.
Prospecting: generate a one-shot company snapshot without creating a project. Inspect stored provider settings first. Agree on the company, domain, selected providers, and queries before starting the quota-spending snapshot action. Browser-only selection requires manual queries. Progressive stdio help offers the discovery toolkit when this connection permits snapshots; load it, then call help again. Fixed catalogs offer only already available actions. Read-only and restricted connections must not bypass missing snapshot access.
Measurement: inspect the existing setup and results before proposing edits.
Keep research, query tracking, plan publication, and sweep execution separate.
For direct research, submit the final editable query text in one context. For a
reviewed batch, submit each explicit destination with its final text and one
idempotency key. Pattern substitution happens in the client before either
request; choosing a market or Property records a destination only and never
rewrites a query or creates an automatic fan-out. research.run does not
authorize saving patterns, changing tracking, publishing plans, or settings.
Use a supported preview where available, inspect its exact destination and
revision, then seek approval for the actual change. A preview may itself require
write permission; never treat a dry-run flag as a universal safety guarantee.
Integrations: inspect stored connection state and snapshot freshness first. Provider configuration evidence does not prove a browser event fired or a conversion was recorded. Connection, resource selection, refresh/sync, and live reads are separate actions. Credentials belong in the operator's secure setup flow, never in chat, tool arguments, reports, or public guidance.
Reports: use saved evidence for the requested period and scope. Keep mention
and citation signals separate, include dates and sample sizes, and state missing
or stale inputs. For Advanced Property mention rankings, use
canonry_measurement_portfolio_summary and its mentionRanking.strongest,
.weakest, and .excluded lists. It defaults to non-brand questions; state the
returned class and report branded results separately. An unavailable portfolio
aggregate does not invalidate available Property mention rates. Flag excluded
Properties individually; do not silently replace mention ranking with citation
ranking. Compact nextCursor completes only pageList; use list to enumerate
one ranking, markets, observed names or cited domains, preserving filters.
First-page sibling lists are bounded summaries. Keep sample sizes and ties
visible. Preparing a report does not
authorize new measurement.
Use canonry_key_self (CLI canonry key whoami --format json) to inspect the
current credential's scopes, project boundary, and host-derived operator
authority without exposing its token. Missing operator means unapproved.
canonry_settings_get and
canonry_telemetry_get describe the connected server, not the agent's local
machine. Telemetry reports configured preference, effective state, and any
environment override; inspecting status never creates an anonymous identifier.
After approval, canonry_telemetry_update changes that preference and
canonry_provider_settings_update changes an already-configured provider's
model/quota. Both require settings.write; neither accepts credentials.
Server telemetry reads and updates additionally require operator authority.
Ordinary audit-history reads omit internal telemetry events and their state.
Operator authority is deny-by-default and separate from customer admin roles.
The deployment owner must approve a dedicated, instance-wide API key's ID in
the server environment variable CANONRY_OPERATOR_KEY_IDS (comma-separated IDs),
then restart the server. Empty/unset approves nobody; wildcards are invalid.
Keep the bearer private to internal operators; never approve a customer-held or
shared proxy/bootstrap key. Use logs.read for read-only diagnostics, adding
settings.write only when telemetry control is required. Ordinary key creation,
account roles, OAuth consent, and caller headers cannot grant operator status.
Revoking an approved key invalidates it immediately. Host enrollment is a trust
bootstrap step, intentionally unavailable through customer-facing APIs.
API, CLI, and MCP enforce the same boundary; MCP hides internal tools unless
the server confirms operator authority, including in explicit read-only mode.
Project analytics, research, and normal project permissions are unchanged.
canonry_logs_list reads bounded, redacted runtime events from both the
application logger and Fastify request/error logging. It requires an
instance-wide logs.read grant (or wildcard) and a host-approved direct bearer.
Browser sessions, OAuth/delegated credentials, customer admins, and project-scoped
keys cannot use it, even with a project filter or a matching allowlist ID.
A logs.read-only key is read-only automatically, without a
second read marker. Named *.read scopes cannot grant mutations; an explicit
write grant is needed and remains subject to its route gates. Returned messages
are sanitized and bounded; raw request or response bodies, headers, cookies,
provider payloads, and stacks are not
part of the queryable surface. The same secret-redaction policy runs before
console output and storage. Do not deliberately log secrets: redaction is a
defense in depth, not permission to put credentials into diagnostic strings.
Opaque escaped payloads containing secret assignments are omitted when safe
partial masking cannot be guaranteed; correlate their retained error codes and IDs.
File-backed hosts retain runtime logs in SQLite across restarts, bounded to
10,000 events and seven days. In-memory hosts report retention: "process".
Filter by actor, requestId, runId, projectId, module, level, or an
inclusive since/until interval. Keep filters unchanged when resuming an
opaque cursor; retention eviction can invalidate it. Inspect retentionPolicy,
captureErrors, dropped, truncated, and retention before drawing
conclusions. Missing logs are not proof that an action did not happen. Use
canonry_project_history or canonry_history_global for persistent audit events;
offset pages have deterministic ordering but are not snapshots of concurrent writes.
Audit actor comes from authenticated identity (user:<id> or api-key:<id>),
not a caller-supplied header. A delegated MCP credential records its originating
user as actor and the actual credential in credentialId. requestId correlates
HTTP events; userAgent and actorSession are bounded, untrusted client hints,
never identity or permission grants. Older audit rows are not backfilled with
identities the server cannot prove.
Both shipped HTTP hosts issue restart-safe UUID request IDs and return them in
x-request-id. Use that value to correlate a CLI/API failure with log entries;
HTTP diagnostics retain the method and route template, not raw URL parameters.
Request-bound loggers retain completion attribution, while generic background
continuations stop inheriting caller identity after the response completes.
Capture covers the owning server process after initialization, not arbitrary
console output, other worker processes, or host/container logs. Run one server
instance per process and database, as required by the single-tenant deployment
model; this is not a cross-tenant or distributed log collector.
For CLI use, settings reads are remote. Google setup and telemetry retain their
local defaults: pass --target server explicitly to configure the connected
server. schedule list <project> lists all schedule kinds, and
notify events --target server discovers the server's event catalog.
MCP returns legacy text JSON plus structured results. Objects keep their shape;
arrays use {items: [...]} in structuredContent, and scalars use {value: ...}.
Errors preserve the existing envelope and CLI exit codes: HTTP 4xx (including
429 policy limits) use exit 1; HTTP 5xx use exit 2. Server-provided Retry-After
and request IDs are exposed as retryAfterMs and requestId when available;
clients do not infer retryability from HTTP 429 or retry automatically.
For a write with an ambiguous outcome, inspect saved state or its receipt before
retrying; a retry hint is not proof that repeating a write is safe.
Start with stored evidence. Before a live provider read, sweep, probe, research run, sync, write, or externally visible action, obtain approval covering its exact target, action, and bounded work. Approval already given for that exact operation need not be asked for again, but does not extend to more projects, larger batches, retries with new identities, or recurring work.
HTTP GET and MCP readOnlyHint describe aspects of an operation, not its cost
or permission. Provider discovery, account reads, and live diagnostics may
consume quota even when labeled read-only. If the tool's effect is unclear,
inspect its description and request direction before calling it.
Authentication, role/scope checks, project restrictions, quotas, and guarded
approval receipts are enforced by the server. Help, skills, resources, and tool
visibility cannot grant authority. Never change credentials, endpoints, or
project identifiers to work around a missing tool or a 403 response.
For guarded ads writes, inspect unresolved operation receipts before retrying. Use the receipt's supported recovery action; do not replay a mutation under a new identity. An executor cannot create or widen its own human approval grant. On ambiguous results, exhausted bounds, or refusal, stop and report what is known and what permission or operator action is needed.
This public, versioned document is the source for initialization guidance,
intent routes, the optional resource, and generated Canonry SKILL.md files.
Guide v1 may receive compatible clarifications; incompatible routing contracts
require a new guide version. The running server's help describes its actual
catalog and remains usable without fetching this document.
Read only references relevant to the requested task. They are not required for MCP operation.
© Canonry, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (references) in skills/canonry of Canonry/canonry.
Open the folder on GitHubat commit 3bf6bc3
Canonry next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Canonry this skillCanonry/canonry | 171 | — | ~3.6k | Automated safety check: Pass | MIT | |
| AI VisibilityRyze-AI-Adgent/open-seo-mcp-skills | 4.6k | — | ~611 | Automated safety check: Pass | MIT | |
| SEO AuditRyze-AI-Adgent/open-seo-mcp-skills | 4.6k | — | ~663 | Automated safety check: Pass | MIT | |
| SEONexus-JPF/note-companion | 870 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Lognormsickn33/agentic-awesome-skills | 47k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Rank Monitorindranilbanerjee/digital-marketing-pro | 859 | 1 repos | ~2.9k | Automated safety check: Pass | MIT |
Ryze-AI-Adgent/open-seo-mcp-skills
Measure real AI-engine visibility — traffic from ChatGPT, Perplexity, Claude, Gemini and which pages they cite — from actual GA4 referral data, not prompt sampling.
Ryze-AI-Adgent/open-seo-mcp-skills
Full SEO audit of a site from its real Search Console + GA4 data — indexation health, CTR anomalies, decaying pages, striking-distance keywords, quick wins.
Nexus-JPF/note-companion
Use and read this skill immediately if the user request is in any way related to SEO or a site's organic search or AI search presence.
sickn33/agentic-awesome-skills
Work a site's SEO and AI-visibility (GEO) backlog through the hosted LogNorm MCP server: audits, fixes, content, AI-answer tracking.
indranilbanerjee/digital-marketing-pro
Set up and run keyword ranking monitoring — baseline capture, scheduled position checks against GSC and connected rank-tracker MCPs, and severity-tiered alerts (minor/major/critical) on drops…
hashgraph-online/awesome-codex-plugins
Live SEO data via DataForSEO API credentials. An agent skill from hashgraph-online/awesome-codex-plugins.
Canonry/canonry
Diagnose AEO regressions and interpret Canonry AI visibility, Advanced multi-property portfolios, and Site Health evidence.
Categories
Navigate Canonry through connected MCP tools or the cnry CLI to inspect evidence, diagnose changes, plan measurement, review integrations, and report results. Canonry is an agent skill from Canonry/canonry. Navigate Canonry through connected MCP tools or the cnry CLI to inspect evidence, diagnose changes, plan measurement, review integrations, and report results.
Canonry fits situations like: tasks that involve AI search optimization; tasks that involve MCP servers.
Run `npx skills add Canonry/canonry --skill canonry -a claude-code`. Or copy the skill folder (skills/canonry in Canonry/canonry) into .claude/skills/canonry in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Canonry/canonry --skill canonry -a codex`. Or copy the skill folder (skills/canonry in Canonry/canonry) into .agents/skills/canonry in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Canonry/canonry --skill canonry -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/canonry, .gemini/skills/canonry, .github/skills/canonry and .opencode/skills/canonry in your project.
SKILL.md names no scripts, command-line tools or credentials: Canonry is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Canonry is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 70k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Canonry: AI Visibility (Ryze-AI-Adgent/open-seo-mcp-skills, 4.6k stars), SEO Audit (Ryze-AI-Adgent/open-seo-mcp-skills, 4.6k stars), SEO (Nexus-JPF/note-companion, 870 stars) and Lognorm (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Canonry (a GitHub organization) maintains it in Canonry/canonry, which has 171 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 9, 2026.
Source: Canonry/canonry on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.