#900 by GitHub stars

leopard627/fire-your-seo-agency

SEO·AEO·GEO·LLMO·NEO(네이버) 다섯 레인을 진단하고 직접 구현하며, 인용되는 콘텐츠를 계속 생산하는 서브 블로그·콘텐츠 운영 파이프라인까지 세팅하는 스킬. 사이트를 검색엔진·답변엔진·생성 AI·네이버 AI 브리핑이 인용하는 1차 소스로 만든다. "SEO 해줘", "AI에 인용되게 해줘", "네이버 노출 늘려줘", "llms.txt 만들어줘", "블로그 만들어줘/글 써줘", "콘텐츠 백로그·캘린더 잡아줘", "낡은 글 갱신해줘" 류 요청에 사용. Use for "audit my site's SEO", "get my s

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +2 / −2 lines

Before Network or broad shell → After Network or broad shell

5f7249f7eff1 → 4b996ea38859

- 33 curl -sL https://example.com | grep -c "<h1"          # 본문이 SSR로 있는가
+ 33 curl -sL https://example.com | grep -oi '<h1' | wc -l  # 본문이 SSR로 있는가 (압축된 한 줄 HTML도 셈)
- 40 curl -s -o /dev/null -w '%{http_code}' https://example.com/없는페이지  # 404가 404인가
+ 40 curl -s -o /dev/null -w '%{http_code}' https://example.com/no-such-page-404-check  # 404가 404인가

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 5f7249f7eff1

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 4b996ea38859abd4d60bb6725412990c6a0d32f4

git clone --filter=blob:none --no-checkout https://github.com/leopard627/fire-your-seo-agency.git .hotskills/leopard627-fire-your-seo-agency && git -C .hotskills/leopard627-fire-your-seo-agency checkout --detach 4b996ea38859abd4d60bb6725412990c6a0d32f4 # Copy each selected skill directory from .hotskills/leopard627-fire-your-seo-agency into .claude/skills/<skill-name>/
995GitHub stars
8stars in 7 days
1skill in this repository
3commits in 30 days

Heat

4.2
  • Star growth, last 7 daysAhead of 79% of tracked repositories
  • Star growth, last 24 hoursAhead of 3% of tracked repositories
  • Rank movement, last 7 daysAhead of 22% of tracked repositories
  • Commits, last 30 daysAhead of 64% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 23, 2026Nov 5, 2026995

Individual skills in this repository

How it works

fire-your-seo-agency

When your agent uses it

SEO·AEO·GEO·LLMO·NEO(네이버) 다섯 레인을 진단하고 직접 구현하며, 인용되는 콘텐츠를 계속 생산하는 서브 블로그·콘텐츠 운영 파이프라인까지 세팅하는 스킬. 사이트를 검색엔진·답변엔진·생성 AI·네이버 AI 브리핑이 인용하는 1차 소스로 만든다. "SEO 해줘", "AI에 인용되게 해줘", "네이버 노출 늘려줘", "llms.txt 만들어줘", "블로그 만들어줘/글 써줘", "콘텐츠 백로그·캘린더 잡아줘", "낡은 글 갱신해줘" 류 요청에 사용. Use for "audit my site's SEO", "get my site cited by ChatGPT/Perplexity/AI Overviews", "improve search visibility", "create llms.txt", "answer engine / generative engine optimization", "set up a blog that gets cited", "content backlog / calendar / refresh", and any AI-search-visibility request.

What it loads into context

Frontmatter

244 tokens

Always available to the agent

SKILL.md

2,299 tokens

When the skill is activated

Reference documents

27,619 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 불변 원칙
  2. Phase 0 — 진단 (모든 작업의 시작)
  3. Phase 1 — SEO 기반
  4. Phase 2 — 의도 랜딩
  5. Phase 3 — AEO + GEO + LLMO
  6. Phase 4 — NEO (네이버)
  7. Phase 5 — 콘텐츠 운영 (서브 블로그·콘텐츠 관리)
  8. Phase 6 — 측정 루프
  9. 보고 형식

Scripts executed separately

  • tests/__init__.py
  • tests/test_validate.py
  • tools/__init__.py
  • tools/validate.py

Files

  • .claude-plugin/marketplace.jsonasset604 bytes
  • .claude-plugin/plugin.jsonasset606 bytes
  • .github/pull_request_template.mddoc585 bytes
  • .github/workflows/validate.ymlasset791 bytes
  • .gitignoreasset55 bytes
  • CHANGELOG.mddoc5,958 bytes
  • CONTRIBUTING.mddoc2,552 bytes
  • LICENSEasset1,067 bytes
  • README.ko.mddoc9,428 bytes
  • README.mddoc8,666 bytes
  • SKILL.mdcore8,068 bytes
  • SKILL.mdcore8,068 bytes
  • assets/social-preview.pngasset1,056,122 bytes
  • assets/thumbnail-prompt.mddoc3,253 bytes
  • references/aeo.mddoc3,841 bytes
  • references/content.mddoc15,519 bytes
  • references/en/aeo.mddoc3,518 bytes
  • references/en/content.mddoc15,346 bytes
  • references/en/geo.mddoc5,138 bytes
  • references/en/llmo.mddoc2,249 bytes
  • references/en/measure.mddoc3,136 bytes
  • references/en/neo-naver.mddoc3,189 bytes
  • references/en/seo.mddoc3,526 bytes
  • references/geo.mddoc5,229 bytes
  • references/llmo.mddoc2,347 bytes
  • references/measure.mddoc3,284 bytes
  • references/neo-naver.mddoc3,339 bytes
  • references/seo.mddoc3,747 bytes
  • tests/__init__.pyruns45 bytes
  • tests/test_validate.pyruns8,141 bytes
  • tools/__init__.pyruns62 bytes
  • tools/allowed-domains.txtdoc1,061 bytes
  • tools/validate.pyruns14,579 bytes
Read SKILL.md

# fire-your-seo-agency — 운영 절차

당신은 지금부터 이 사이트의 검색·AI 인용 최적화 엔지니어다. 대행사가 월 구독료를 받고 하는
일을 직접 한다. 절차는 진단 → 구현 → 측정이며, **측정 없이 완료를 주장하지 않는다**.

> `references/*.md`(한국어)가 정본이고 `references/en/*.md`는 사람 독자용 영문 미러다.
> 에이전트는 한국어판을 읽으면 된다.

## 불변 원칙

1. **정공법만.** 백링크 구매·품앗이·스팸·클로킹·숨긴 텍스트는 어떤 요청에도 하지 않는다.
   검색엔진 가이드라인 위반은 단기 순위가 아니라 도메인 전체를 건다.
2. **화면(콘텐츠)이 사실 아닌 것을 말하게 하지 않는다.** 과장 메타·거짓 구조화 데이터·
   가시 텍스트와 다른 JSON-LD는 인용 신뢰를 죽인다.
View the complete source on GitHub

Skills included

  • fire-your-seo-agency

Repository facts

License
MIT
Created
Aug 26, 2026
Last pushed
Nov 3, 2026
Forks
222
Open issues
0
Project activity
Active

Rank over the last 12 weeks

Now #900 · best #731 · up 7 in 30 days

  1. #887 on Nov 1
  2. #891 on Nov 2
  3. #895 on Nov 3
  4. #897 on Nov 4
  5. #896 from Nov 5 to Nov 6
  6. #900 since Nov 7
60 earlier periods
  1. #931 on Aug 23
  2. #920 on Aug 26
  3. #910 on Aug 27
  4. #943 on Aug 28
  5. #859 from Aug 29 to Aug 30
  6. #906 on Aug 31
  7. #940 on Sep 1
  8. #906 on Sep 2
  9. #913 on Sep 3
  10. #877 on Sep 4
  11. #851 on Sep 5
  12. #888 on Sep 6
  13. #915 on Sep 7
  14. #929 on Sep 8
  15. #912 on Sep 9
  16. #911 on Sep 10
  17. #877 on Sep 13
  18. #914 on Sep 14
  19. #901 on Sep 15
  20. #916 on Sep 16
  21. #912 on Sep 17
  22. #896 on Sep 18
  23. #873 on Sep 19
  24. #885 on Sep 20
  25. #899 on Sep 21
  26. #914 on Sep 22
  27. #908 on Sep 23
  28. #870 on Sep 24
  29. #817 on Sep 25
  30. #834 on Sep 26
  31. #853 on Sep 27
  32. #886 on Sep 28
  33. #916 on Sep 29
  34. #830 on Oct 1
  35. #845 on Oct 2
  36. #803 on Oct 3
  37. #828 on Oct 4
  38. #842 on Oct 5
  39. #833 on Oct 6
  40. #864 on Oct 7
  41. #907 on Oct 8
  42. #873 on Oct 9
  43. #850 on Oct 10
  44. #852 on Oct 11
  45. #867 on Oct 12
  46. #875 on Oct 13
  47. #887 on Oct 14
  48. #877 on Oct 15
  49. #882 on Oct 16
  50. #802 on Oct 18
  51. #813 on Oct 19
  52. #818 on Oct 20
  53. #829 on Oct 21
  54. #771 on Oct 22
  55. #769 on Oct 23
  56. #731 on Oct 24
  57. #872 on Oct 25
  58. #877 from Oct 28 to Oct 29
  59. #878 on Oct 30
  60. #885 on Oct 31

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 1 note
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 137 signals by file

.claude-plugin/plugin.json

  • Network accessline 4
    "version": "1.3.0",   "author": { "name": "leopard627" },   "homepage": "https://github.com/leopard627/fire-your-seo-agency",
  • Network accessline 5
    "author": { "name": "leopard627" },   "homepage": "https://github.com/leopard627/fire-your-seo-agency",   "license": "MIT",
  • Network accessline 6
    "homepage": "https://github.com/leopard627/fire-your-seo-agency",

README.ko.md

  • Network accessline 5
    [![GitHub stars](https://img.shields.io/github/stars/leopard627/fire-your-seo-agency?style=flat&logo=github)](https://github.com/leopard627/fire-your-seo-agency/stargazers)
  • Network accessline 6
    [![GitHub forks](https://img.shields.io/github/forks/leopard627/fire-your-seo-agency?style=flat&logo=github)](https://github.com/leopard627/fire-your-seo-agency/fork)
  • Network accessline 7
    [![Latest release](https://img.shields.io/github/v/release/leopard627/fire-your-seo-agency?style=flat&label=release)](https://github.com/leopard627/fire-your-seo-agency/releases/latest)
  • Network accessline 8
    [![License: MIT](https://img.shields.io/badge/license-MIT-green?style=flat)](./LICENSE)
  • Network accessline 18
    이 저장소는 [Claude Code](https://claude.com/claude-code) 스킬입니다. 설치하면 당신의 에이전트가
  • Network accessline 23
    이 스킬은 이론이 아닙니다. 1인 개발 증권 서비스 [치킨스탁](https://www.chickstockfi.com)에 같은 플레이북을 적용해서:
  • Network accessline 29
    과정은 [Threads @kindainvestor](https://www.threads.com/@kindainvestor)에서 공개적으로 기록하고 있습니다.
  • Network accessline 63
    # 프로젝트 스킬로 (해당 프로젝트에서만) git clone https://github.com/leopard627/fire-your-seo-agency.git .claude/skills/fire-your-seo-agency
  • Network accessline 64
    git clone https://github.com/leopard627/fire-your-seo-agency.git .claude/skills/fire-your-seo-agency
  • Network accessline 66
    # 또는 개인 스킬로 (모든 프로젝트에서) git clone https://github.com/leopard627/fire-your-seo-agency.git ~/.claude/skills/fire-your-seo-agency
  • Network accessline 67
    git clone https://github.com/leopard627/fire-your-seo-agency.git ~/.claude/skills/fire-your-seo-agency
  • Network accessline 73
    git clone https://github.com/leopard627/fire-your-seo-agency.git .agents/skills/fire-your-seo-agency   # 프로젝트
  • Network accessline 74
    git clone https://github.com/leopard627/fire-your-seo-agency.git ~/.agents/skills/fire-your-seo-agency # 개인
  • Network accessline 158
    <a href="https://www.star-history.com/#leopard627/fire-your-seo-agency&Date">
  • Network accessline 159
    <picture>     <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=leopard627/fire-your-seo-agency&type=Date&theme=dark" />     <source media="(prefers-color-scheme: light)" srcset="https://api.star-hi
  • Network accessline 160
    <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=leopard627/fire-your-seo-agency&type=Date&theme=dark" />
  • Network accessline 161
    <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=leopard627/fire-your-seo-agency&type=Date" />
  • Network accessline 162
    <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=leopard627/fire-your-seo-agency&type=Date" />

README.md

  • Network accessline 5
    [![GitHub stars](https://img.shields.io/github/stars/leopard627/fire-your-seo-agency?style=flat&logo=github)](https://github.com/leopard627/fire-your-seo-agency/stargazers)
  • Network accessline 6
    [![GitHub forks](https://img.shields.io/github/forks/leopard627/fire-your-seo-agency?style=flat&logo=github)](https://github.com/leopard627/fire-your-seo-agency/fork)
  • Network accessline 7
    [![Latest release](https://img.shields.io/github/v/release/leopard627/fire-your-seo-agency?style=flat&label=release)](https://github.com/leopard627/fire-your-seo-agency/releases/latest)
  • Network accessline 8
    [![License: MIT](https://img.shields.io/badge/license-MIT-green?style=flat)](./LICENSE)
  • Network accessline 19
    This repository is a [Claude Code](https://claude.com/claude-code) skill. Install it and
  • Network accessline 24
    This is not theory. The same playbook, applied to [Chickenstock](https://www.chickstockfi.com) — a solo-built Korean stock research service:
  • Network accessline 30
    The journey is documented publicly on [Threads @kindainvestor](https://www.threads.com/@kindainvestor).
  • Network accessline 66
    # As a project skill (this project only) git clone https://github.com/leopard627/fire-your-seo-agency.git .claude/skills/fire-your-seo-agency
  • Network accessline 67
    git clone https://github.com/leopard627/fire-your-seo-agency.git .claude/skills/fire-your-seo-agency
  • Network accessline 69
    # Or as a personal skill (every project) git clone https://github.com/leopard627/fire-your-seo-agency.git ~/.claude/skills/fire-your-seo-agency
  • Network accessline 70
    git clone https://github.com/leopard627/fire-your-seo-agency.git ~/.claude/skills/fire-your-seo-agency
  • Network accessline 76
    git clone https://github.com/leopard627/fire-your-seo-agency.git .agents/skills/fire-your-seo-agency   # project
  • Network accessline 77
    git clone https://github.com/leopard627/fire-your-seo-agency.git ~/.agents/skills/fire-your-seo-agency # personal
  • Network accessline 166
    <a href="https://www.star-history.com/#leopard627/fire-your-seo-agency&Date">
  • Network accessline 167
    <picture>     <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=leopard627/fire-your-seo-agency&type=Date&theme=dark" />     <source media="(prefers-color-scheme: light)" srcset="https://api.star-hi
  • Network accessline 168
    <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=leopard627/fire-your-seo-agency&type=Date&theme=dark" />
  • Network accessline 169
    <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=leopard627/fire-your-seo-agency&type=Date" />
  • Network accessline 170
    <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=leopard627/fire-your-seo-agency&type=Date" />

SKILL.md

  • Network accessline 32
    # 크롤러의 눈: JS 없이 무엇이 보이는가 curl -sL https://example.com | grep -oi '<h1' | wc -l  # 본문이 SSR로 있는가 (압축된 한 줄 HTML도 셈)
  • Network accessline 33
    curl -sL https://example.com | grep -oi '<h1' | wc -l  # 본문이 SSR로 있는가 (압축된 한 줄 HTML도 셈)
  • Network accessline 34
    curl -sL https://example.com | grep -oiE '<meta[^>]*robots[^>]*>'   # ⚠<U+FE0F> noindex 사고 감지
  • Network accessline 35
    curl -sIL https://example.com | grep -i 'x-robots-tag'              # 헤더 레벨 noindex도
  • Network accessline 36
    curl -sL https://example.com | grep -cE '<title|og:|application/ld\+json'  # 메타·OG·LD 존재
  • Network accessline 37
    curl -sL https://example.com/robots.txt                # 크롤러 허용 정책
  • Network accessline 38
    curl -sL https://example.com/sitemap.xml | head        # 사이트맵 존재·규모
  • Network accessline 39
    curl -sL https://example.com/llms.txt                  # GEO 준비 여부
  • Network accessline 40
    curl -s -o /dev/null -w '%{http_code}' https://example.com/no-such-page-404-check  # 404가 404인가
  • Network accessline 41
    # 콘텐츠 운영: 블로그·피드가 있는가, 최근 발행은 언제인가 curl -s -o /dev/null -w '%{http_code}' https://example.com/blog       # 서브 블로그 존재 curl -s -o /dev/null -w '%{http_code}' https://example.com/feed.xml   # RSS/Atom
  • Network accessline 42
    curl -s -o /dev/null -w '%{http_code}' https://example.com/blog       # 서브 블로그 존재
  • Network accessline 43
    curl -s -o /dev/null -w '%{http_code}' https://example.com/feed.xml   # RSS/Atom
  • Network accessline 44
    curl -sL https://example.com/sitemap.xml | grep -o '<lastmod>[^<]*' | sort | tail -1  # 최근 발행일
  • Network accessline 119
    작업 후 보고는 항상: ① 바꾼 것 (before/after) ② 크롤러 눈 검증 결과 (curl 증빙)

references/aeo.md

  • Network accessline 11
    - [ ] [Bing Webmaster Tools](https://www.bing.com/webmasters) 등록 — GSC에서 원클릭

references/content.md

  • Network accessline 21
    # 블로그가 있는가, 크롤러에게 보이는가 curl -s -o /dev/null -w '%{http_code}\n' https://example.com/blog
  • Network accessline 22
    curl -s -o /dev/null -w '%{http_code}\n' https://example.com/blog
  • Network accessline 23
    curl -sL https://example.com/blog | grep -c '<article\|<h2'          # 목록이 SSR인가
  • Network accessline 24
    curl -s -o /dev/null -w '%{http_code}\n' https://example.com/feed.xml # RSS/Atom 존재
  • Network accessline 25
    curl -sL https://example.com/sitemap.xml | grep -c '/blog/'           # 사이트맵 내 글 수
  • Network accessline 26
    curl -sL https://example.com/sitemap.xml | grep -o '<lastmod>[^<]*' | sort | tail -1  # 최근 발행
  • Network accessline 28
    curl -sL https://example.com/blog/어떤-글 | grep -o '"@type":"[A-Za-z]*"' | sort | uniq -c
  • Network accessline 77
    author: { name: "…", url: "/about" } sources:   - { name: "전자공시시스템", url: "https://dart.fss.or.kr/…" }
  • Network accessline 78
    sources:   - { name: "전자공시시스템", url: "https://dart.fss.or.kr/…" } faq:
  • Network accessline 79
    - { name: "전자공시시스템", url: "https://dart.fss.or.kr/…" }
  • Network accessline 82
    related: [samsung-dividend-date, earnings-calendar] status: published     # draft | review | published | refresh-needed | merged canonical: https://example.com/blog/samsung-earnings-date
  • Network accessline 83
    status: published     # draft | review | published | refresh-needed | merged canonical: https://example.com/blog/samsung-earnings-date ---
  • Network accessline 84
    canonical: https://example.com/blog/samsung-earnings-date
  • Network accessline 162
    - [ ] frontmatter: `question`·`answer`·`data_asof`·`sources` 채워짐, h1 = title - [ ] `curl -sL <url>`로 본문·직답·표가 HTML에 있음 (JS 없이)
  • Network accessline 163
    - [ ] `curl -sL <url>`로 본문·직답·표가 HTML에 있음 (JS 없이)

references/en/aeo.md

  • Network accessline 13
    - [ ] Register at [Bing Webmaster Tools](https://www.bing.com/webmasters) — supports

references/en/content.md

  • Network accessline 22
    # Is there a blog, and can crawlers see it? curl -s -o /dev/null -w '%{http_code}\n' https://example.com/blog
  • Network accessline 23
    curl -s -o /dev/null -w '%{http_code}\n' https://example.com/blog
  • Network accessline 24
    curl -sL https://example.com/blog | grep -c '<article\|<h2'          # is the listing SSR'd?
  • Network accessline 25
    curl -s -o /dev/null -w '%{http_code}\n' https://example.com/feed.xml # RSS/Atom exists?
  • Network accessline 26
    curl -sL https://example.com/sitemap.xml | grep -c '/blog/'           # posts in sitemap
  • Network accessline 27
    curl -sL https://example.com/sitemap.xml | grep -o '<lastmod>[^<]*' | sort | tail -1  # latest publish
  • Network accessline 29
    curl -sL https://example.com/blog/some-post | grep -o '"@type":"[A-Za-z]*"' | sort | uniq -c
  • Network accessline 53
    - [ ] SSR/SSG — Markdown → static HTML is the safest path. If you use a CMS, verify the       rendered output with curl - [ ] Unique title (50–60 chars), description (150–160 chars) and OG image per post
  • Network accessline 54
    rendered output with curl - [ ] Unique title (50–60 chars), description (150–160 chars) and OG image per post - [ ] `Article` (or `BlogPosting`) JSON-LD: headline · datePublished · dateModified · author ·
  • Network accessline 83
    author: { name: "…", url: "/about" } sources:   - { name: "DART (Korean regulatory filings)", url: "https://dart.fss.or.kr/…" }
  • Network accessline 84
    sources:   - { name: "DART (Korean regulatory filings)", url: "https://dart.fss.or.kr/…" } faq:
  • Network accessline 85
    - { name: "DART (Korean regulatory filings)", url: "https://dart.fss.or.kr/…" }
  • Network accessline 88
    related: [samsung-dividend-date, earnings-calendar] status: published     # draft | review | published | refresh-needed | merged canonical: https://example.com/blog/samsung-earnings-date
  • Network accessline 89
    status: published     # draft | review | published | refresh-needed | merged canonical: https://example.com/blog/samsung-earnings-date ---
  • Network accessline 90
    canonical: https://example.com/blog/samsung-earnings-date
  • Network accessline 177
    - [ ] Frontmatter: `question`, `answer`, `data_asof`, `sources` filled; h1 = title - [ ] `curl -sL <url>` shows the body, direct answer and table in HTML (no JavaScript)
  • Network accessline 178
    - [ ] `curl -sL <url>` shows the body, direct answer and table in HTML (no JavaScript)
  • Network accessline 182
    - [ ] Internal links: 1 up (hub) + 2 sideways (related) minimum, zero broken links - [ ] Image alt, width/height, total weight checked - [ ] In the sitemap with accurate lastmod (verified with curl after deploy)
  • Network accessline 183
    - [ ] Image alt, width/height, total weight checked - [ ] In the sitemap with accurate lastmod (verified with curl after deploy) - [ ] IndexNow ping (consumed by Bing and Naver) — built into the publish pipeline
  • Network accessline 184
    - [ ] In the sitemap with accurate lastmod (verified with curl after deploy)

references/en/geo.md

  • Network accessline 16
    ## Key pages - [Earnings calendar](https://example.com/earnings): earnings release schedule for listed companies
  • Network accessline 17
    - [Earnings calendar](https://example.com/earnings): earnings release schedule for listed companies
  • Network accessline 18
    - [Stock data](https://example.com/stocks): filings-based financials & valuation
  • Network accessline 65
    > Last verified: 2026-11-03 against each vendor's official docs: [OpenAI](https://developers.openai.com/api/docs/bots) ·
  • Network accessline 66
    > [Anthropic](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) ·
  • Network accessline 67
    > [Google](https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers) ·
  • Network accessline 68
    > [Perplexity](https://docs.perplexity.ai/guides/bots) · [Apple](https://support.apple.com/en-us/119829) ·
  • Network accessline 69
    > [Common Crawl](https://commoncrawl.org/ccbot)

references/en/seo.md

  • Network accessline 10
    If you can't open everything, expose at least a teaser (first paragraph, key numbers)       via SSR and gate the rest. - [ ] Is the body text present in `curl -sL <url>` output? If the site is SPA/CSR,
  • Network accessline 11
    via SSR and gate the rest. - [ ] Is the body text present in `curl -sL <url>` output? If the site is SPA/CSR,       adopting SSR/SSG/prerendering is priority #1 — everything below is meaningless without it.
  • Network accessline 12
    - [ ] Is the body text present in `curl -sL <url>` output? If the site is SPA/CSR,
  • Network accessline 14
    - [ ] ⚠<U+FE0F> **CSR bailout trap**: even in SSR frameworks, certain hooks/APIs can silently drop       a whole page to client rendering (e.g. Next.js `useSearchParams` without Suspense).       Re-check representative pages with curl after every 
  • Network accessline 15
    a whole page to client rendering (e.g. Next.js `useSearchParams` without Suspense).       Re-check representative pages with curl after every deploy — a sudden drop in body       character count is an incident.
  • Network accessline 16
    Re-check representative pages with curl after every deploy — a sudden drop in body

references/geo.md

  • Network accessline 16
    ## 핵심 페이지 - [실적 캘린더](https://example.com/earnings): 국내 상장사 실적 발표 일정
  • Network accessline 17
    - [실적 캘린더](https://example.com/earnings): 국내 상장사 실적 발표 일정
  • Network accessline 18
    - [종목 데이터](https://example.com/stocks): 공시 기반 재무·밸류에이션
  • Network accessline 63
    > 확인일: 2026-11-03 — 각사 공식 문서 기준: [OpenAI](https://developers.openai.com/api/docs/bots) ·
  • Network accessline 64
    > [Anthropic](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) ·
  • Network accessline 65
    > [Google](https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers) ·
  • Network accessline 66
    > [Perplexity](https://docs.perplexity.ai/guides/bots) · [Apple](https://support.apple.com/en-us/119829) ·
  • Network accessline 67
    > [Common Crawl](https://commoncrawl.org/ccbot)

references/seo.md

  • Network accessline 8
    - [ ] 핵심 페이지가 **비로그인으로 열리는가?** 로그인 월 뒤의 콘텐츠는 색인되지 않는다.       전부 열기 어려우면 티저(첫 문단·핵심 수치)라도 SSR로 열고 나머지를 게이트한다. - [ ] `curl -sL <url>`로 받은 HTML에 본문이 있는가? SPA/CSR이면 SSR·SSG·프리렌더 도입이
  • Network accessline 9
    전부 열기 어려우면 티저(첫 문단·핵심 수치)라도 SSR로 열고 나머지를 게이트한다. - [ ] `curl -sL <url>`로 받은 HTML에 본문이 있는가? SPA/CSR이면 SSR·SSG·프리렌더 도입이       1순위다 — 이거 없이는 아래 전부가 무의미하다.
  • Network accessline 10
    - [ ] `curl -sL <url>`로 받은 HTML에 본문이 있는가? SPA/CSR이면 SSR·SSG·프리렌더 도입이

tests/__init__.py

  • Executable scriptline 1
    Executable file

tests/test_validate.py

  • Executable scriptline 1
    Executable file
  • Network accessline 31
    본문 [예시](https://example.com/a)
  • Network accessline 46
    ".claude-plugin/marketplace.json": '{"name": "demo-skill", "plugins": [{"name": "demo-skill", "version": "1.0.0"}]}',     "CHANGELOG.md": "# Changelog\n\n## 1.0.0 — 2026-01-01\n\n- first\n",     "README.md": "# Demo\n\n[GEO](references/geo.
  • Network accessline 47
    "CHANGELOG.md": "# Changelog\n\n## 1.0.0 — 2026-01-01\n\n- first\n",     "README.md": "# Demo\n\n[GEO](references/geo.md#1-첫-절) · [repo](https://github.com/leopard627/fire-your-seo-agency)\n",     "references/geo.md": GEO,
  • Network accessline 48
    "README.md": "# Demo\n\n[GEO](references/geo.md#1-첫-절) · [repo](https://github.com/leopard627/fire-your-seo-agency)\n",
  • Network accessline 125
    def test_unlisted_url(self) -> None:         self.assert_only_failure("domains", self.readme("[사례](https://some-agency.co.kr/case)"), "some-agency.co.kr")
  • Network accessline 126
    self.assert_only_failure("domains", self.readme("[사례](https://some-agency.co.kr/case)"), "some-agency.co.kr")
  • Network accessline 131
    def test_url_inside_code_block(self) -> None:         self.assert_only_failure("domains", self.readme("```\ncurl https://tracker.example.net\n```"))
  • Network accessline 132
    self.assert_only_failure("domains", self.readme("```\ncurl https://tracker.example.net\n```"))
  • Network accessline 135
    for host in ("notexample.com", "example.com.evil.io"):             with self.subTest(host=host):                 self.assert_only_failure("domains", self.readme("https://%s/x" % host))
  • Network accessline 137
    self.assert_only_failure("domains", self.readme("https://%s/x" % host))
  • Network accessline 139
    def test_path_prefix_entry(self) -> None:         self.assert_only_failure("domains", self.readme("https://github.com/someone/seo-tool"), "github.com/someone")
  • Network accessline 140
    self.assert_only_failure("domains", self.readme("https://github.com/someone/seo-tool"), "github.com/someone")
  • Network accessline 141
    self.assertFalse(self.run_checks(self.readme("https://github.com/leopard627/fire-your-seo-agency/fork"))["domains"])
  • Network accessline 142
    self.assert_only_failure("domains", self.readme("https://github.com/leopard627/fire-your-seo-agency-pro"))
  • Network accessline 144
    def test_subdomain_of_listed_host(self) -> None:         self.assertFalse(self.run_checks(self.readme("https://blog.example.com/post"))["domains"])
  • Network accessline 145
    self.assertFalse(self.run_checks(self.readme("https://blog.example.com/post"))["domains"])
  • Network accessline 158
    def test_link_only_in_one_language(self) -> None:         geo = GEO + "\n[ref](https://schema.org/Thing)\n"
  • Network accessline 159
    geo = GEO + "\n[ref](https://schema.org/Thing)\n"

tools/__init__.py

  • Executable scriptline 1
    Executable file

tools/validate.py

  • Executable scriptline 1
    #!/usr/bin/env python3

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 134 facts
  • Network access in prose of documentationREADME.ko.md:5Low confidence
  • Network access in prose of documentationREADME.ko.md:6Low confidence
  • Network access in prose of documentationREADME.ko.md:7Low confidence
  • Network access in prose of documentationREADME.ko.md:8Low confidence
  • Network access in prose of documentationREADME.ko.md:18Low confidence
  • Network access in prose of documentationREADME.ko.md:23Low confidence
  • Network access in prose of documentationREADME.ko.md:29Low confidence
  • Network access in code of documentationREADME.ko.md:63Low confidence
  • Network access in code of documentationREADME.ko.md:64Low confidence
  • Network access in code of documentationREADME.ko.md:66Low confidence
  • Network access in code of documentationREADME.ko.md:67Low confidence
  • Network access in code of documentationREADME.ko.md:73Low confidence
  • Network access in code of documentationREADME.ko.md:74Low confidence
  • Network access in prose of documentationREADME.ko.md:158Low confidence
  • Network access in prose of documentationREADME.ko.md:159Low confidence
  • Network access in prose of documentationREADME.ko.md:160Low confidence
  • Network access in prose of documentationREADME.ko.md:161Low confidence
  • Network access in prose of documentationREADME.ko.md:162Low confidence
  • Network access in prose of documentationREADME.md:5Low confidence
  • Network access in prose of documentationREADME.md:6Low confidence
  • Network access in prose of documentationREADME.md:7Low confidence
  • Network access in prose of documentationREADME.md:8Low confidence
  • Network access in prose of documentationREADME.md:19Low confidence
  • Network access in prose of documentationREADME.md:24Low confidence
  • Network access in prose of documentationREADME.md:30Low confidence
  • Network access in code of documentationREADME.md:66Low confidence
  • Network access in code of documentationREADME.md:67Low confidence
  • Network access in code of documentationREADME.md:69Low confidence
  • Network access in code of documentationREADME.md:70Low confidence
  • Network access in code of documentationREADME.md:76Low confidence
  • Network access in code of documentationREADME.md:77Low confidence
  • Network access in prose of documentationREADME.md:166Low confidence
  • Network access in prose of documentationREADME.md:167Low confidence
  • Network access in prose of documentationREADME.md:168Low confidence
  • Network access in prose of documentationREADME.md:169Low confidence
  • Network access in prose of documentationREADME.md:170Low confidence
  • Network access in code of the SKILL.mdSKILL.md:32High confidence
  • Network access in code of the SKILL.mdSKILL.md:33High confidence
  • Network access in code of the SKILL.mdSKILL.md:34High confidence
  • Network access in code of the SKILL.mdSKILL.md:35High confidence
  • Network access in code of the SKILL.mdSKILL.md:36High confidence
  • Network access in code of the SKILL.mdSKILL.md:37High confidence
  • Network access in code of the SKILL.mdSKILL.md:38High confidence
  • Network access in code of the SKILL.mdSKILL.md:39High confidence
  • Network access in code of the SKILL.mdSKILL.md:40High confidence
  • Network access in code of the SKILL.mdSKILL.md:41High confidence
  • Network access in code of the SKILL.mdSKILL.md:42High confidence
  • Network access in code of the SKILL.mdSKILL.md:43High confidence
  • Network access in code of the SKILL.mdSKILL.md:44High confidence
  • Network access in prose of the SKILL.mdSKILL.md:119Low confidence

and 84 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Add this badge to your README

It updates every night and links to this page.

leopard627/fire-your-seo-agency: #900 on hotskills, 995 stars

[![leopard627/fire-your-seo-agency on hotskills](https://hotskills.dev/badge/leopard627-fire-your-seo-agency.svg)](https://hotskills.dev/skill/leopard627-fire-your-seo-agency/)