pre-publish-post-assistant
Skill15 starsChanged 12 months agoMITView on GitHub
Pre-publish assistant for new blog posts. Use when the user wants to classify a new post with categories and tags, generate SEO metadata (title, description, focus keyphrase), or get intelligent suggestions with rationale. Works with draft content (file path, URL, or text) and suggests from existing taxonomy to maintain balanced distribution.
In this repository4 other files it gives its agents.
- astro-cta-injectorSkill
- gsc-assistantSkill
- link-analyzerSkill
- seo-wordpress-managerSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 10 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
All suggestions include rationale explaining the reasoning.
- Distinctive: line 30
Prefer categories with moderate post counts (avoid over/under-populated)
- Distinctive: line 32
Consider category hierarchy if applicable
- Distinctive: line 36
Only use existing tags (no new tag creation unless explicitly requested)
- Distinctive: line 37
Avoid tag pollution (tags with only 1-2 posts are low value)
- Distinctive: line 38
Prefer tags that group related content meaningfully
- Distinctive: line 39
Consider tag search potential
- Distinctive: line 136
Write compelling meta description
- Distinctive: line 210
Existing taxonomy: - Always checks against actual site data
- Distinctive: line 211
Transparent reasoning: - Every suggestion includes rationale
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Pre-publish Post Assistant Skill
Purpose
This skill helps prepare blog posts for publication by providing intelligent suggestions for:
- Categories - From existing site categories, with distribution awareness
- Tags - From existing tags, avoiding tag pollution
- SEO Metadata - Title, meta description, and focus keyphrase
All suggestions include rationale explaining the reasoning.
When to Use This Skill
- User says "classify this post" or "suggest categories/tags"
- User asks to "prepare this post for publishing"
- User wants "SEO suggestions" for a draft
- User provides a draft post and asks for taxonomy suggestions
- User mentions "new blog post" and needs categorization help
Key Principles
Category Selection
- Limit to 1-2 categories per post (primary + optional secondary)
- Prefer categories with moderate post counts (avoid over/under-populated)
- Match content theme, not just keywords
- Consider category hierarchy if applicable
Tag Selection
- Limit to 3-5 tags per post
- Only use existing tags (no new tag creation unless explicitly requested)
- Avoid tag pollution (tags with only 1-2 posts are low value)
- Prefer tags that group related content meaningfully
- Consider tag search potential
SEO Metadata
- Title: 50-60 characters, include primary keyword, compelling
- Meta Description: 150-160 characters, summarize value proposition, include CTA
- Focus Keyphrase: 2-4 words, searchable, relevant to content
Input Formats
The skill accepts draft content in multiple formats:
# File path
"Classify this post: /path/to/draft.md"
# URL (for already-published posts needing optimization)
"Suggest tags for https://example.com/my-post/"
# Inline text
"Here's my draft: [content]... What categories fit?"Data Sources
Categories and Tags
Can be retrieved from:
- WordPress GraphQL - Live data from WP
- Static dist folder - Parse from built site (
/category/,/tag/pages) - Cached taxonomy file - Pre-generated
taxonomy.json
Distribution Data
For balanced suggestions, the skill needs post counts per category/tag:
- Categories: Aim for even distribution, flag if category would become oversized
- Tags: Prefer tags with 5+ posts, warn about orphan tags
Output Format
## Suggested Categories
| Category | Post Count | Confidence | Rationale |
|----------|------------|------------|-----------|
| personal-development | 245 | High | Core theme matches self-improvement focus |
| productivity-effectiveness | 89 | Medium | Secondary theme around habits and routines |
**Recommendation**: Use "personal-development" as primary category.
---
## Suggested Tags
| Tag | Post Count | Confidence | Rationale |
|-----|------------|------------|-----------|
| habits | 45 | High | Central topic of the post |
| productivity | 67 | High | Directly discussed |
| morning-routine | 12 | Medium | Specific example in content |
**Recommendation**: Use all 3 tags. Avoid creating new tags.
---
## SEO Metadata
**Title** (58 chars):
> How to Build Morning Habits That Actually Stick | Your Blog
**Meta Description** (156 chars):
> Discover the science-backed approach to building morning habits that last. Learn the 3-step framework used by high performers. Start your transformation today.
**Focus Keyphrase**:
> morning habits
**Rationale**:
- "morning habits" has good search volume and matches user intent
- Title includes keyphrase naturally at the beginning
- Description creates urgency and promises specific valueWorkflow
1. Analyze Content
- Extract main themes and topics
- Identify key concepts and terminology
- Determine content type (how-to, opinion, review, etc.)
2. Load Taxonomy
- Fetch existing categories with post counts
- Fetch existing tags with post counts
- Identify distribution patterns
3. Match & Score
- Score each category/tag by relevance
- Consider distribution balance
- Flag potential issues (orphan tags, oversized categories)
4. Generate SEO
- Craft title with primary keyword
- Write compelling meta description
- Suggest focus keyphrase
5. Present with Rationale
- Show recommendations in table format
- Explain reasoning for each suggestion
- Highlight any concerns or alternatives
Configuration
{
"taxonomy_source": "graphql|dist|file",
"dist_path": "./dist",
"taxonomy_file": "./taxonomy.json",
"graphql_endpoint": "https://wp.example.com/graphql",
"limits": {
"max_categories": 2,
"max_tags": 5,
"min_tag_posts": 3
},
"seo": {
"title_max_length": 60,
"description_max_length": 160,
"site_name": "Your Blog"
}
}Example Usage
Basic Classification
User: "Classify this post for me: /content/drafts/morning-routine-guide.md"
Claude: [Reads file, analyzes content, fetches taxonomy]
[Presents category/tag suggestions with rationale]
[Generates SEO metadata]Quick Tag Check
User: "What tags should I use for a post about Bitcoin ETFs and institutional adoption?"
Claude: [Analyzes topic, checks existing tags]
"Based on your existing tags, I recommend:
- bitcoin (89 posts) - primary topic
- cryptocurrency (45 posts) - broader category
- investing (23 posts) - relevant angle
Avoid creating new tags like 'etf' or 'institutional' unless you plan
to write more content on these specific topics."SEO Focus
User: "Generate SEO metadata for my post about productivity apps for remote workers"
Claude: [Analyzes topic and search intent]
Title: "Best Productivity Apps for Remote Workers in 2025 | Your Blog"
Description: "Discover the top productivity apps that remote workers
swear by. From task management to focus tools, find the perfect
stack for your home office."
Focus Keyphrase: "productivity apps remote workers"Best Practices Enforced
- No tag pollution - Won't suggest creating new tags unless justified
- Balanced distribution - Warns if category is becoming oversized
- SEO compliance - Enforces character limits and keyword placement
- Existing taxonomy - Always checks against actual site data
- Transparent reasoning - Every suggestion includes rationale
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

