> Full-site blog health assessment scanning all blog files for quality scores, orphan pages, topic cannibalization, stale content, and AI citation readiness. Runs canonical batch analysis before site-wide checks. Produces per-post scores and a prioritized action queue. Use when user says "audit blog", "blog audit", "site audit", "blog health", "audit all posts", "check all blogs".
npx skills add https://github.com/AgriciDaniel/claude-blog --skill blog-audit
Performs a comprehensive blog health assessment across all posts in the project.
Scans for quality scores, orphan pages, topic cannibalization, stale content,
and AI citation readiness. Uses the canonical analyzer JSON as the score source
and produces a prioritized action queue.
Scan the project for all blog content files:
.md, .mdx, .html, .astro, .svelte, .vue,.tsx, and .jsx in common blog directories and CMS export folders
content/posts/blog/src/content/_posts/pages/blog/articles/content/blog/**src/pages/blog/.git/,dot-directories, node_modules/, vendor/, dist/, build/, .next/,
coverage/, reports/, generated exports, README, CHANGELOG, LICENSE,
config files, SKILL.md, package files, .env*, keys, and private notes
If no blog files are found in standard locations, ask for an allow-listed root
or only search user-approved content directories. Do not scan the entire project
root by default.
Run canonical analyzer output first and use it as the source of per-post scores:
python3 scripts/analyze_blog.py <blog-root> --batch --format json
Process files in chunks, cap parallel follow-up work to a small fixed number,
respect context limits, and aggregate deterministic JSON with file, score,
categories, issues, and metadata. Layer the site-wide checks below on top
of analyzer JSON, not separate scoring rubrics.
easier bands, professional content can be moderate, and technical content may
be denser when clarity remains high
must be visible and sourced
dateModified, lastUpdated, updated, and lastmod, includingtimezone-normalized generated schema, then require freshness parity
a universal day count
GPTBot, ClaudeBot, PerplexityBot, Googlebot, and Google-Extended policies
Add site-wide technical checks before final recommendations:
redirects, HTTP status codes, hreflang, and internal canonical consistency
blog-google when available for Core Web Vitals, GSC queries, URLInspection, indexing status, and GA4 context
SKIPPED: credentials unavailable
Analyze across all posts for keyword competition:
and intent modifiers
GSC query-to-URL data when available, and SERP overlap where available
preserving backlinks, validating a redirect map, and updating internal
links
Build and analyze the internal link graph:
same-domain absolutes, trailing slashes, generated routes, anchors, and slug
mappings
{ page -> [pages it links to] }{ page -> [pages linking to it] }based on topic relevance
Audit content freshness across all posts:
lastUpdated, dateModified, date, updatedAggregate all results into a comprehensive report:
## Blog Audit Report
**Audit Date:** [date]
**Total Posts:** N
**Average Score:** XX/100
### Health Overview
| Metric | Count |
|--------|-------|
| Posts Scoring 90+ (Excellent) | N |
| Posts Scoring 70-89 (Good) | N |
| Posts Scoring 50-69 (Needs Work) | N |
| Posts Scoring <50 (Poor) | N |
| Orphan Pages | N |
| Dead-End Pages | N |
| Cannibalization Issues | N |
| Stale or Decaying Content | N |
### Per-Post Scores
| Post | Score | Content | SEO | E-E-A-T | Technical | AI Citation | Issues |
|------|-------|---------|-----|---------|-----------|-------------|--------|
| [filename] | XX/100 | X/30 | X/25 | X/15 | X/15 | X/15 | [count] |
### Prioritized Action Queue (Lowest Score First)
| Priority | Post | Score | Top Issue | Recommended Action |
|----------|------|-------|-----------|--------------------|
| 1 | [file] | XX | [issue] | [action] |
| 2 | [file] | XX | [issue] | [action] |
### Topic Cannibalization
| Keyword | Competing Posts | Recommendation |
|---------|----------------|----------------|
| [keyword] | post-a.md, post-b.md | Merge / Redirect / Differentiate |
### Orphan Pages (No Inbound Links)
| Page | Inbound Links | Recommended Link Sources |
|------|---------------|--------------------------|
| [file] | 0 | post-a.md, post-b.md, post-c.md |
### Stale Content
| Post | Last Updated | Days Stale | Priority | Refresh Effort |
|------|-------------|------------|----------|----------------|
| [file] | [date] | [N] | High/Med/Low | Light/Moderate/Heavy |
Save timestamped Markdown and JSON exports under reports/, for example
reports/blog-audit-YYYY-MM-DD.md and reports/blog-audit-YYYY-MM-DD.json.
Do not overwrite a previous audit report.
After saving, inform the user:
[project-root]/reports/blog-audit-YYYY-MM-DD.md and[project-root]/reports/blog-audit-YYYY-MM-DD.json
/blog analyze <file> on the lowest-scoring post first/blog flow optimize for AI-citation SEO checks on key postsFor evidence-led audit prompts beyond this site-wide health pass, see /blog flow optimize (visibility, CTR, schema, extraction audits) and /blog flow win (dual-surface scorecard, conversion audit).
Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.
Efficient database search tool for bioRxiv preprint server. Use this skill when searching for life sciences preprints by keywords, authors, date ranges, or categories, retrieving paper metadata, downloading PDFs, or conducting literature reviews.
Query and analyze scholarly literature using the OpenAlex database. This skill should be used when searching for academic papers, analyzing research trends, finding works by authors or institutions, tracking citations, discovering open access publications, or conducting bibliometric analysis across 240M+ scholarly works. Use for literature searches, research output analysis, citation analysis, and academic database queries.
Access USPTO APIs for patent/trademark searches, examination history (PEDS), assignments, citations, office actions, TSDR, for IP analysis and prior art searches.
Multiagent AI system for scientific research assistance that automates research workflows from data analysis to publication. This skill should be used when generating research ideas from datasets, developing research methodologies, executing computational experiments, performing literature searches, or generating publication-ready papers in LaTeX format. Supports end-to-end research pipelines with customizable agent orchestration.
Automated LLM-driven hypothesis generation and testing on tabular datasets. Use when you want to systematically explore hypotheses about patterns in empirical data (e.g., deception detection, content analysis). Combines literature insights with data-driven hypothesis testing. For manual hypothesis formulation use hypothesis-generation; for creative ideation use scientific-brainstorming.
Take agricidaniel/blog-audit from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.