Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add XuanRanL/loamwright-SEO-Skill --skill phase-monitorgit clone --depth 1 https://github.com/XuanRanL/loamwright-SEO-SkillWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/xuanranl/loamwright-seo-skill/phase-monitor)<a href="https://agentmods.dev/skills/xuanranl/loamwright-seo-skill/phase-monitor"><img src="https://agentmods.dev/badge/skills/xuanranl/loamwright-seo-skill/phase-monitor/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/xuanranl/loamwright-seo-skill/phase-monitor"><img src="https://agentmods.dev/badge/skills/xuanranl/loamwright-seo-skill/phase-monitor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium analysis-evasion · line 1 Suspicious Unicode normalization or mixed-script contentFix: Review the flagged content for security risks. Ensure no credentials, secrets, or sensitive data are exposed.
- medium Excessive Agency · line 175 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00077 | $0.02475 |
| Opus 5 | $0.00039 | $0.01238 |
| Sonnet 5 | $0.00015 | $0.00495 |
| Haiku 4.5 | $0.00008 | $0.00248 |
Grade A, and why
phase-monitor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 200 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Phase Monitor Orchestrator
Closed-loop monitoring: detect changes → feed back to Optimize phase.
Unlike other phases this runs asynchronously (scheduled), not in a synchronous user-initiated chain.
Inputs
state.project_slug(required, monitor is always per-project)- Optional
state.target_urls[](specific URLs to check; else all published URLs in change-log)
Stages (run in parallel, independent)
1. rank-tracker
- Query GSC for impressions/clicks/position per URL (your property only)
- SerpApi (engine=google) = LIVE SERP rank for tracked keywords incl. competitors —
GSC only sees your own property; SerpApi sees the whole SERP. Pooled free 250/mo:
`python -m scripts.fetch.serpapi_query --engine google --q "{keyword}" --gl {cc} --json`
→ find your domain's position in organic_results; record competitor positions too
- Compare to baseline (projects/{slug}/baselines/)
- T+7 / T+14 / T+30 / T+90 windows
- Position change → traffic impact table (#1→#2 = -55%)
- Output: projects/{slug}/rank-history-{date}.json
2. ai-visibility-tracker
- Active probe: ChatGPT/PPLX/Claude/Gemini × 5 queries per article
- SerpApi AI-answer engines = is the article's domain CITED in each engine's AI answer?
Track BOTH distinct Google GEO surfaces (they cite independently):
· `--engine ai_overview` → Google AI Overview (inline summary): check its `references[]` links
· `--engine google_ai_mode` → Google AI Mode (the dedicated AI tab): richer `references[]`
({title, link, source, snippet}) + reconstructed_markdown — a SECOND, independent GEO signal
Plus `--engine bing` (Bing/Copilot surface). For each engine, match the project domain against
every `references[].link` → cited? at what rank/index? Record per engine + per query.
Structured + repeatable; complements the ChatGPT/PPLX/Claude/Gemini LLM probes.
(Non-US target markets: `naver` / `baidu` are also callable.)
- Compare to geo-baseline.json
- ai_resolution_status changes: recognized → partial = alert
- Cumulative citation count over time
- Output: projects/{slug}/probes/{engine}-{date}.json
3. drift-detector
- SHA-256 hash content + meta + schema
- Compare to projects/{slug}/baselines/{snapshot}.sqlite
- 17-rule diff (claude-seo pattern)
- 3 severity levels: critical / high / medium
- Output: drift-report-{date}.json + new baseline if approved
4. content-refresher
- Compute decay score (0-100): traffic 30 + rank 25 + CTR 15 + freshness 15 + replacement 15
- SerpApi `--engine google_trends` interest trajectory for the head term → a declining search-
interest trend is an early decay signal feeding the freshness component (topic cooling, not
just rank loss)
- Threshold actions:
- <30 → urgent refresh
- 30-50 → schedule refresh in 7d
- 50-75 → schedule refresh in 30d
- >75 → healthy, defer
- Output: refresh-queue.json
5. performance-reporter
- Aggregate 30+ KPIs from all 4 above
- Time periods: week / month / quarter
- Include AI citation KPIs (per-engine)
- Output: projects/{slug}/perf-{period}-{date}.md
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 200 lines · 77 tokens per session scan A 05eda8e41575
phase-monitor is a skill published in the GitHub repository XuanRanL/loamwright-SEO-Skill (49 stars, last pushed 25d ago), licensed Apache-2.0. It adds 77 tokens to every session and 2,475 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
geo-platform-optimizer
Platform-specific AI search optimization — audit and optimize for Google AI Overviews, ChatGPT, Perplexity, Gemini, and Bing Copilot individually.
four-core-documents
Produce Part 3 of the 12-Part engagement: the four strategic-spine documents across 61 steps — 3.1 Business & SBU Analysis, 3.2 Segmentation Framework, 3.3 Brand Positioning & Communications, 3.4 DMFlow — with --doc single-document runs, --view v2 re-runs, and a --combined executive stitch. Triggers on…
continuous-improvement-loop
Run Part 12 of the engagement methodology — the continuous improvement loop that aggregates quarterly-review, customer-feedback, competitive, and operating signals into a Quarterly Product & Offering Improvement Brief for business leadership, plus fast 1-3 page ad-hoc briefs when a significant signal lands…
seo-plan
Build a 12-month SEO strategy and phased roadmap with industry templates (SaaS, ecommerce, local, publisher, agency). With fresh specialist outputs it runs as a dispatcher: scores four pillars — technical, content, topical, AI search — and makes the weakest pillar the plan's lead theme; missing specialists re-run only…
c2pa-metadata
Embed a C2PA provenance manifest into an AI-generated marketing asset (PNG, JPG, WebP, GIF, TIFF, MP4, MOV, WebM, MP3, WAV, PDF) via scripts/embed-c2pa.py — produces a signed copy of the file carrying IPTC digital-source-type AI claims, an optional c2pa.ai-disclosure assertion for EU AI Act Article 50 (applicable 2…
import-guidelines
Import brand guidelines — voice and tone rules, messaging, banned words and restrictions, channel styles, visual identity — and structure them into enforceable markdown files in the brand's guidelines layer, auto-classified by category, conflict-checked against the brand profile, and merged with existing rules rather…