CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

blog-audit

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 the user asks for a site-wide blog health check across many posts ("blog audit", "blog health", "audit all posts", "site audit of the blog"). For one post, or a quality score with fixes for a few named files, use blog-analyze instead.

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-engineered orchestration body: executable command, documented data contract, explicit untrusted-input handling, and concrete output templates. Weaknesses are limited to duplicated link-graph/freshness coverage between Step 2's layers and Steps 4-5, an unspecified failed-parse disposition, and inline per-layer detail that the referenced sibling files could absorb.

Suggestions

Collapse the orphan/dead-end and freshness material into one place — either keep only the Step 4/5 process detail and trim the Link Health and Freshness Check layers in Step 2 to one-line pointers, or vice versa.

Specify what to do when a result carries an error field (e.g., 'list failed-parse files in the report with their error and exclude them from averages') so the batch failure path is explicit.

Move the per-layer SEO/schema checklist detail into a referenced file (e.g., the existing quality-scoring.md companion) and keep only the layer summary plus the pointer in SKILL.md.

DimensionReasoningScore

Conciseness

The body is lean and directive with no concept explanations, but orphan/dead-end link-graph detection and freshness checking each appear twice — once as layers under Step 2 ("Detect orphan pages (zero inbound internal links)" / "Flag freshness by content type") and again as full Steps 4 and 5. That is minor duplication that could be trimmed, matching the 4-anchor rather than the fully-lean 5-anchor; it is tighter than the 3-anchor's broader unnecessary explanation.

4 / 5

Actionability

The analyzer invocation is copy-paste ready with an absolute-path guard, the analyzer's JSON contract is documented field-by-field ("Each result has `file`, an object `score`... a file that failed to parse carries an `error` field"), and report templates give exact table columns and filenames ("reports/blog-audit-YYYY-MM-DD.md"). Specific examples cover the common cases, matching the 5-anchor.

5 / 5

Workflow Clarity

Seven clearly sequenced steps with several checkpoints: ask-on-empty ("If no blog files are found... ask for an allow-listed root"), skip reporting ("SKIPPED: credentials unavailable"), and a no-overwrite guard ("Do not overwrite a previous audit report"). Minor validation gap keeps it at 4: the disposition of files whose results "carry an `error` field instead" is never specified (report, exclude, or retry), so one feedback path is implicit.

4 / 5

Progressive Disclosure

References are one level deep, clearly signaled, and load-bearing ("Read the main reference `orchestration-details.md` before loading project context"; bucket edges delegated to the quality-scoring.md "Thresholds" table with "do not change them here"). No local bundle files exist, and some per-layer check detail (SEO item thresholds, schema entity list) is inlined that could live in those references — good structure with minor organization gaps, i.e. the 4-anchor rather than the cleanly-split 5-anchor.

4 / 5

Total

17

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A model description: third-person voice, comprehensive concrete capabilities, quoted natural trigger phrases, and explicit scope routing to the sibling blog-analyze skill. No fluff or over-claims.

DimensionReasoningScore

Specificity

Lists five concrete named capabilities ("quality scores, orphan pages, topic cannibalization, stale content, and AI citation readiness") plus outputs ("per-post scores and a prioritized action queue") and method ("Runs canonical batch analysis before site-wide checks"). This matches the comprehensive-coverage anchor; the 4-anchor ('minor gaps in coverage') fits worse since nothing material is missing for a site-wide audit.

5 / 5

Completeness

Explicitly answers both: what (scans all blog files for the five listed health dimensions and produces scored outputs) and when ("Use when the user asks for a site-wide blog health check across many posts" with concrete quoted trigger phrases). Matches the 5-anchor exactly; the 4-anchor's weaker 'when could be more explicit' does not apply.

5 / 5

Trigger Term Quality

Quotes natural trigger phrases users would actually say: "blog audit", "blog health", "audit all posts", "site audit of the blog", plus the paraphrase "site-wide blog health check across many posts". Synonym coverage is comprehensive; no relevant natural variation is missing (file extensions are not applicable to this site-wide task).

5 / 5

Distinctiveness Conflict Risk

Clear niche (site-wide vs single-post) with explicit conflict resolution: "For one post, or a quality score with fixes for a few named files, use blog-analyze instead." This routing makes it unlikely to trigger for the wrong skill, satisfying the minimal-conflict-risk anchor.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

AgriciDaniel/claude-blog

Path

skills/blog-audit/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.