Validate article quality with automated checks for frontmatter, markdown formatting, and spec compliance.
Validates blog article quality against specifications, markdown standards, and SEO requirements.
/plugin marketplace add leobrival/topographic-plugins-official/plugin install leobrival-blog-kit-plugins-blog-kit-2@leobrival/topographic-plugins-officialValidate article quality with automated checks for frontmatter, markdown formatting, and spec compliance.
/blog-optimize "lang/article-slug"
Examples:
/blog-optimize "en/nodejs-tracing"
/blog-optimize "fr/microservices-logging"
Token usage: ~10k-15k tokens per article
/blog-optimize
⚠️ WARNING: This will validate ALL articles in your content directory.
Token usage: 50k-500k+ tokens (depending on article count) Cost: Can be expensive (e.g., 50 articles = ~500k tokens) Duration: 20-60 minutes for large blogs Use case: Initial audit, bulk validation, CI/CD pipelines
Recommendation: Validate articles individually unless you need a full audit.
✅ Required: Article must exist at articles/[topic].md
If article doesn't exist, run /blog-generate or /blog-marketing first.
Delegates to the quality-optimizer subagent to validate article quality:
.spec/blog.spec.json requirementsvoice_dont anti-patternsTime: 10-15 minutes
Output: .specify/quality/[topic]-validation.md
Create a new subagent conversation with the quality-optimizer agent.
Provide the following prompt:
You are validating the quality of a blog article.
**Article Path**: articles/$ARGUMENTS.md
Follow your Three-Phase Process:
1. **Spec Compliance Validation** (5-7 min):
- Generate validation script in /tmp/validate-spec-$$.sh
- Load .spec/blog.spec.json (if exists)
- Check frontmatter required fields
- Validate review_rules compliance (must_have, must_avoid)
- Check brand voice anti-patterns (voice_dont)
- Run script and capture results
2. **Markdown Quality Validation** (5-10 min):
- Generate validation script in /tmp/validate-markdown-$$.sh
- Check heading hierarchy (one H1, proper nesting)
- Validate link syntax (no broken links)
- Check code blocks (properly closed, language tags)
- Verify images have alt text
- Run script and capture results
3. **SEO and Performance Validation** (3-5 min):
- Generate validation script in /tmp/validate-seo-$$.sh
- Check meta description length (150-160 chars)
- Validate keyword presence in critical locations
- Count internal links (minimum 3 recommended)
- Calculate readability metrics
- Run script and capture results
**Output Location**: Save comprehensive validation report to `.specify/quality/$ARGUMENTS-validation.md`
**Important**:
- All scripts must be generated in /tmp/ (never pollute project directory)
- Scripts are non-destructive (read-only operations)
- Provide actionable fixes for all issues found
- Include metrics and recommendations in report
Begin validation now.
After completion, verify that .specify/quality/[topic]-validation.md exists and contains:
✅ Passed Checks Section:
✅ Warnings Section:
✅ Critical Issues Section:
✅ Metrics Dashboard:
✅ Recommended Fixes:
✅ Validation Scripts:
✅ Passed Checks (12/12)
No issues found! Article is ready to publish.
Next Steps: Review the article one final time and publish.
✅ Passed Checks (10/12)
⚠️ Warnings (2)
- Only 2 internal links (recommend 3+)
- Keyword density 2.3% (slightly high)
Next Steps: Address warnings if possible, then publish (warnings are optional improvements).
✅ Passed Checks (8/12)
⚠️ Warnings (1)
❌ Critical Issues (3)
- Missing required frontmatter field: category
- 2 images without alt text
- Unclosed code block
Next Steps: Fix all critical issues before publishing. Re-run /blog-optimize after fixes.
Before considering article complete:
Frontmatter Complete?
Content Quality?
SEO Optimized?
Spec Compliant?
must_have requirementsmust_avoid patternsAfter validation is complete:
# Publish the article
# (copy to your CMS or commit to git)
# Fix issues manually or use other commands
# If content needs rewriting:
/blog-marketing "topic-name" # Regenerate with fixes
# If SEO needs adjustment:
/blog-seo "topic-name" # Regenerate SEO brief
# After fixes, re-validate:
/blog-optimize "topic-name"
Use /blog-optimize when you need to:
For full workflow: /blog-generate includes optimization as final step (optional).
After fixing issues:
/blog-optimize "topic-name"
The agent will re-run all checks and show improvements:
Previous: ❌ 3 critical, ⚠️ 2 warnings
Current: ✅ All checks passed!
Improvements:
- Fixed missing frontmatter field ✅
- Added alt text to all images ✅
- Closed unclosed code block ✅
Scripts are generated in /tmp/ and can be manually removed:
# List validation scripts
ls /tmp/validate-*.sh
# Remove all validation scripts
rm /tmp/validate-*.sh
# Or let OS auto-cleanup on reboot
If validation fails:
articles/[topic].mdbash scripts/validate-constitution.sh/tmp/validate-*.sh for errorsReady to validate? Provide the topic name and execute this command.