blog-post-counter
Counts and compares blog posts across a target and competitors, audits content freshness via sitemap lastmod dates, and maps competitor organic keywords (US, non-branded, informational) against the target to surface ranking gaps. Use when asked to compare blog counts, content volume, publishing cadence, content freshness, keyword mapping, keyword gap analysis, or competitor keyword reports — e.g. "how many blog posts does X have vs Y", "how fresh is content on X", "where does [target] rank for [competitor] keywords", "keyword gap between X and Y". Works from company names alone. Always use for
npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill blog-post-counter --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Blog Post Counter + Keyword Mapping Skill Two workflows in one skill: 1. **Blog Post Counter** — counts and compares blog post output across a target and competitors, with optional content freshness audit 2. **Keyword Mapping** — pulls competitor's organic keywords (US, non-branded, informational) and cross-references against target's keyword footprint to surface gaps and opportunities --- --- # WORKFLOW A — Blog Post Counter --- ## Step 1 — Resolve each company to a URL For each company name provided: 1. If a URL was given directly, use it. 2. If only a name was given, run `curl -sL "https://<likely-domain>/robots.txt"` to confirm the site exists and find the sitemap. If that 404s, do a quick web search for `"<company name>" official website` to get the correct domain. --- ## Step 2 — Find the sitemap From the robots.txt, extract the `Sitemap:` line(s). Common patterns: - Single sitemap: `Sitemap: https://example.com/sitemap.xml` - Sitemap index: multiple `Sitemap:` lines, or a sitemap-index.xml that references sub-sitemaps If no sitemap is in robots.txt, try these fallbacks in order: ``` /sitemap.xml /sitemap_index.xml /sitemap-index.xml /blog/sitemap.xml ``` --- ## Step 3 — Co
- Step 1 — Resolve each company to a URL
- Step 2 — Find the sitemap
- Step 3 — Count blog posts
- Step 4 — Build the output
- Content Freshness Audit (blog posts only)
- Step 5 — Extract blog post lastmod dates
- Step 6 — Detect build-time stamp inflation
- Step 7 — Compute freshness buckets
- Step 8 — Freshness output
- Notes (Workflow A)
- Step 1 — Pull domain metrics
- Step 2 — Pull competitor keywords
- Step 3 — Pull target keywords
- Step 4 — Cross-reference
curl -sL -A "Mozilla/5.0" "https://example.com/sitemap.xml" \ curl -sL -A "Mozilla/5.0" "https://example.com/sitemap-index.xml" \ Then fetch that sub-sitemap and count curl -sL "https://example.com/sitemap.xml" \ import sys, re content = sys.stdin.read() urls = re.findall(r'<url>(.*?)</url>', content, re.DOTALL) for u in urls: loc = re.search(r'<loc>(.*?)</loc>', u) lastmod = re.search(r'<lastmod>(.*?)</lastmod>', u)
What does the blog-post-counter skill do?
Counts and compares blog posts across a target and competitors, audits content freshness via sitemap lastmod dates, and maps competitor organic keywords (US, non-branded, informational) against the target to surface ranking gaps. Use when asked to compare blog counts, content volume, publishing cadence, content freshness, keyword mapping, keyword gap analysis, or competitor keyword reports — e.g. "how many blog posts does X have vs Y", "how fresh is content on X", "where does [target] rank for [competitor] keywords", "keyword gap between X and Y". Works from company names alone. Always use for
How do I install it?
Run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill blog-post-counter --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From Infrasity-Labs/dev-gtm-claude-skills, a repository with 97 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
