cf-audit

Audit content libraries for freshness decay and coverage gaps with prioritized refresh recommendations.

1|Updated Aug 18, 2026
One-click install
npx skills add https://github.com/teachskillofskills-ai/ContentForge-techshu --skill cf-audit-teachskillofskills-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cf-audit
Source: https://github.com/teachskillofskills-ai/ContentForge-techshu/tree/main/skills/cf-audit
Command: npx skills add https://github.com/teachskillofskills-ai/ContentForge-techshu --skill cf-audit-teachskillofskills-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Content libraries quietly decay: statistics go stale, links break, citations age, and rankings slip without anyone noticing. This Skill scores every piece in your library 0-100 for freshness, maps coverage gaps against target keywords, and produces a prioritized action list so you know exactly what to refresh, create, or retire. ## Core Features & Use Cases - Freshness Scoring: Scores each piece 0-100 using a weighted formula across age (35%), statistic currency (25%), link health (20%), and citation recency (20%), with deductions for lost AI citations from AEO check history. - Coverage Gap Analysis: Compares existing content topics against target keywords and ranks missing topics by opportunity score based on search volume and keyword difficulty. - Prioritized Recommendations: Outputs top refresh candidates, new content opportunities, and retire candidates with projected impact and exact follow-up commands. - Durable Audit Records: Writes validated JSON audit records via the audit-ledger script so downstream calendar and refresh skills can read findings across sessions. - Use Case: A marketing team with 47 published pieces runs a quarterly audit from a Google Drive folder, discovers 14 pieces are stale or expired, and gets a ranked refresh plan with commands for each item. ## Quick Start Run /contentforge:cf-audit with a Google Drive folder URL, WordPress site URL, or CSV inventory to audit your content library for freshness and coverage gaps.

Frequently Asked Questions about cf-audit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit my content library for outdated articles?

Run /contentforge:cf-audit with a Google Drive folder URL, WordPress site URL, or CSV inventory. The audit scores each piece 0-100 on freshness using age, statistic currency, link health, and citation recency, then ranks refresh candidates by priority.

How to find content coverage gaps against target keywords?

Run the audit with --scope=gaps and provide a keyword CSV via --keywords=target-keywords.csv. It maps existing content topics against your keyword list and ranks missing topics by an opportunity score combining search volume and keyword difficulty.

Does the content audit work without Google Analytics connected?

Yes, freshness scoring and coverage gap analysis work without analytics since they rely on publication dates, statistics, links, and citations. Performance analysis with traffic and ranking data is optional and only runs when Google Analytics or Search Console MCPs are connected.

What content sources does the audit support?

The audit accepts three inventory sources: a Google Drive folder containing .docx files, a WordPress site via its REST API, or a CSV file with title, url, and publish_date columns. WordPress audits require the REST API to be publicly accessible.

Why are all freshness scores showing 50 in my audit?

Scores default to neutral values when content metadata is missing, such as absent publish dates or undetected statistics. Ensure files have publish dates in document properties or filenames; WordPress publish dates are extracted automatically.

What are the limitations of automated content freshness scoring?

Link health checks can be slow for libraries with 200+ outbound links, and statistic currency detection uses pattern matching that may miss unusual data formats. CSV inputs may also need manual column mapping if headers differ from the expected format.