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 Gingiris-1031/gingiris-skills --skill gr-seo-patrolgit clone --depth 1 https://github.com/Gingiris-1031/gingiris-skillsWrote 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/gingiris-1031/gingiris-skills/gr-seo-patrol)<a href="https://agentmods.dev/skills/gingiris-1031/gingiris-skills/gr-seo-patrol"><img src="https://agentmods.dev/badge/skills/gingiris-1031/gingiris-skills/gr-seo-patrol/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/gingiris-1031/gingiris-skills/gr-seo-patrol"><img src="https://agentmods.dev/badge/skills/gingiris-1031/gingiris-skills/gr-seo-patrol.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, 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 Data Exfiltration · line 105 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
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.00159 | $0.03449 |
| Opus 5 | $0.00079 | $0.01724 |
| Sonnet 5 | $0.00032 | $0.00690 |
| Haiku 4.5 | $0.00016 | $0.00345 |
Grade A, and why
gr-seo-patrol scanned grade A with 1 finding 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 11d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
import urllib.request, json How it starts
The opening of the file, as written. The whole thing — 267 lines — stays where its author put it; the contents beside it link to each section on GitHub.
gr-seo-patrol — SEO/GEO 日常巡逻
什么时候用
| 场景 | 动作 |
|---|---|
| "跑今日 SEO 日报" | 执行完整巡逻(scripts/daily-report.py) |
| "某关键词排名掉了" | 单词诊断(Claude 直接执行下方诊断流程) |
| "修 canonical" | 批量合并(scripts/canonical-fix.py) |
| "救一下这篇文章" | 社媒救援(scripts/rescue-post.py)—— title 前置 + 3 个高权重内链 |
| "检查 GA4 部署" | 扫 HTML 里的 G-XXXXX tag |
| "查 llms.txt" | HTTP 200 + 字节数 |
核心流程
1. 日报模式
输入:无(全自动) 或 指定关键词清单 输出:
- 关键词排名 diff 表(今日 vs 昨日基线)
- Google 索引数
- llms.txt 状态
- GA4 覆盖状态
- 🚨 异常提示(跌出 top 100、整体刷新)
2. 单词诊断
输入:1 个关键词 过程:
- 跑 4-5 个 long-tail 变体 SERP
- 检查目标 URL 是否 HTTP 200
- 用
site:查询确认是否索引 - 对比 3 天前的数据(如果有历史)
- 2026-06-24 新增检查:
- 确认关键词在 volume 300–1,000 / KD 5–35 区间(若不在,标注为低优先级)
- 检查该页面 title 是否含 best/free/top/guide+年份(CTR 公式)
- 检查该页面内链密度是否超 2-3/段
- 确认页面有 BreadcrumbList schema
- 确认 last-updated 日期已展示(freshness 信号) 输出:雪崩 / 个别 / SERP 刷新 / 死链 四选一,附 2026 合规评分
3. Canonical 批量修复
输入:同主题的 N 篇文章 + 1 个 master URL
过程:替换每篇 frontmatter 里的 canonical_url: → master,GitHub API PUT
安全护栏:
- 只改
_posts/下的 .md - 每篇 commit 独立(方便回滚)
- 跳过 ja/ko(hreflang 替代,保持 self-canonical)
4. 社媒救援
输入:1 个雪崩 URL 动作:
- a. 重写 title:主关键词前置,长度 ≤ 60 字,必须含 best/free/top/guide+年份(2026-06-24 CTR 公式)
- b. 重写 meta description:关键词 rephrase(如 "figma alternative" → "the alternative to Figma")
- c. 从 top-3 高权重文章注入内链(带 anchor text = 目标关键词),每段 ≤ 2-3 个内链上限
- d. 主动添加 1-2 个竞品 blog 外链(提信用分 → 提 ranking)
- e. 检查并添加/更新【最后更新日期】(freshness 信号)
- f. 确认 BreadcrumbList schema 已配置
- g. 记录修改前后到日志
API 依赖
| Service | Env var | 用途 |
|---|---|---|
| DataForSEO | DATAFORSEO_B64 |
SERP 查询 |
| GitHub PAT | GITHUB_TOKEN |
读写 _posts/ |
完整 key 模板见 docs/api-keys-template.md。
SERP 查询模板
import urllib.request, json
def serp(kw, loc=2840, lang="en", depth=100):
key = os.environ["DATAFORSEO_B64"]
payload = json.dumps([{"keyword": kw, "location_code": loc,
"language_code": lang, "device": "desktop",
"depth": depth}]).encode()
req = urllib.request.Request(
"https://api.dataforseo.com/v3/serp/google/organic/live/advanced",
data=payload,
headers={"Authorization": f"Basic {key}",
"Content-Type": "application/json"})
with urllib.request.urlopen(req, timeout=40) as r:
return json.loads(r.read())
What ships with it
17 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- gr-seo-patrol/scripts/canonical-fix.py 2.5 KB runs code
- gr-seo-patrol/scripts/check-page.py 29 KB runs code
- gr-seo-patrol/scripts/check-schema.py 14 KB runs code
- gr-seo-patrol/scripts/check-site.py 13 KB runs code
- gr-seo-patrol/scripts/check-social.py 14 KB runs code
- gr-seo-patrol/scripts/daily-report.py 4.0 KB runs code
- gr-seo-patrol/scripts/README.md 1.2 KB
- gr-seo-patrol/scripts/rescue-post.py 4.0 KB runs code
- gr-seo-patrol/SKILL.md 12 KB
- scripts/canonical-fix.py 2.5 KB runs code
- scripts/check-page.py 29 KB runs code
- scripts/check-schema.py 14 KB runs code
- scripts/check-site.py 13 KB runs code
- scripts/check-social.py 14 KB runs code
- scripts/daily-report.py 4.0 KB runs code
- scripts/README.md 1.2 KB
- scripts/rescue-post.py 4.0 KB runs code
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.
- 11d ago First seen · 267 lines · 159 tokens per session scan A 09b19f6ec875
gr-seo-patrol is a skill published in the GitHub repository Gingiris-1031/gingiris-skills (79 stars, last pushed 6d ago), licensed MIT. It adds 159 tokens to every session and 3,449 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
synthesis-explore
Synthesis EXPLORE stage for the Diffmode growth-tactics pipeline (fuses the blind-combination draw + emergent-mechanism derivation — formerly two separate synthesis steps — into ONE structural-check-only stage). Reads the per-run growth-factors.json (LIGHT vector DB) + synthesis-constraints.json + founder-input +…
growth-factors-mining
Builds a per-run LIGHT growth-vector database for the Diffmode growth-tactics pipeline by mining public growth case studies fresh, every run, and distilling each into atomic "growth factors" (transferable mechanisms). Clean-room — NEVER reads the proprietary tacticsDB. Outputs growth-factors.json (20-40 vectors spread…
diagnostics-intake
Fast founder-input capture for the Diffmode growth-tactics pipeline (the diagnostics stage). Produces WS/01-diagnostics/founder-input.md in the exact schema the enrichment + synthesis stages read. Two modes — (A) URL mode researches a product's website (homepage/pricing/about) plus a web-research pass to prefill the…
lite-constraints
Generates synthesis-constraints.json for the Diffmode growth-tactics pipeline by reasoning in-context over the per-run growth-factors.json (LIGHT vector DB) + founder context — the clean-room, no-Python replacement for the proprietary Python constraints generator. Emits the white-space pairs, mandatory…
ad-angles
Use this skill to brainstorm ad concepts across problem, solution, comparison, proof, and curiosity angles, formats, and visual styles. Trigger it when planning a campaign, refreshing stale creative, testing messaging, or preparing creative briefs.
conversion-audit
Use this skill to run a scored 53-point conversion audit covering customer focus, narrative, copy, design, calls to action, and proof. Trigger it when a landing, sales, product, or ad destination page needs diagnosis, pre-launch review, or prioritized conversion fixes.