Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/nicepkg-pre-publish-post-assistant/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 91% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 36% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 71% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 115% | 0% |
This skill helps prepare blog posts for publication by providing intelligent suggestions for:
All suggestions include rationale explaining the reasoning.
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?"Can be retrieved from:
/category/, /tag/ pages)taxonomy.jsonFor balanced suggestions, the skill needs post counts per category/tag:
markdown## 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 value
json{ "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" } }
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]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."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"| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | fail→pass | 9,513 | 10,012 | +5% | 1 | 1 | 0% | 1,563 | 2,984 | +91% | 0 | 0 | — |
case-01 | fail→fail | 19,281 | 9,800 | -49% | 1 | 1 | 0% | 2,700 | 3,210 | +19% | 0 | 0 | — |
case-02 | fail→pass | 14,255 | 9,112 | -36% | 1 | 1 | 0% | 2,311 | 3,143 | +36% | 0 | 0 | — |
case-03 | fail→pass | 11,514 | 7,123 | -38% | 1 | 1 | 0% | 1,966 | 2,801 | +42% | 0 | 0 | — |
case-04 | fail→pass | 12,338 | 10,701 | -13% | 1 | 1 | 0% | 1,858 | 3,169 | +71% | 0 | 0 | — |
case-06 | fail→pass | 7,214 | 6,522 | -10% | 1 | 1 | 0% | 1,169 | 2,511 | +115% | 0 | 0 | — |
case-07 | pass→pass | 5,539 | 5,387 | -3% | 1 | 1 | 0% | 918 | 2,340 | +155% | 0 | 0 | — |
case-08 | pass→pass | 7,159 | 5,375 | -25% | 1 | 1 | 0% | 1,111 | 2,281 | +105% | 0 | 0 | — |
case-09 | fail→pass | 13,244 | 8,566 | -35% | 1 | 1 | 0% | 1,769 | 2,907 | +64% | 0 | 0 | — |
case-10 | pass→pass | 8,173 | 7,380 | -10% | 1 | 1 | 0% | 1,184 | 2,580 | +118% | 0 | 0 | — |
case-11 | pass→pass | 8,322 | 7,204 | -13% | 1 | 1 | 0% | 1,318 | 2,617 | +99% | 0 | 0 | — |
case-12 | pass→pass | 11,639 | 6,885 | -41% | 1 | 1 | 0% | 1,899 | 2,688 | +42% | 0 | 0 | — |
case-13 | fail→pass | 10,807 | 4,592 | -58% | 1 | 1 | 0% | 1,890 | 2,237 | +18% | 0 | 0 | — |
case-14 | fail→pass | 10,744 | 5,600 | -48% | 1 | 1 | 0% | 1,902 | 2,478 | +30% | 0 | 0 | — |
case-15 | pass→pass | 5,693 | 5,494 | -3% | 1 | 1 | 0% | 832 | 2,446 | +194% | 0 | 0 | — |
case-16 | pass→pass | 5,373 | 5,647 | +5% | 1 | 1 | 0% | 810 | 2,335 | +188% | 0 | 0 | — |
case-17 | pass→pass | 5,949 | 3,818 | -36% | 1 | 1 | 0% | 923 | 2,194 | +138% | 0 | 0 | — |
case-18 | pass→pass | 30,388 | 25,541 | -16% | 1 | 1 | 0% | 5,228 | 5,854 | +12% | 0 | 0 | — |
case-19 | pass→pass | 13,339 | 10,589 | -21% | 1 | 1 | 0% | 2,853 | 3,623 | +27% | 0 | 0 | — |
case-20 | pass→pass | 12,714 | 10,096 | -21% | 1 | 1 | 0% | 1,942 | 2,986 | +54% | 0 | 0 | — |
case-21 | pass→pass | 2,781 | 4,517 | +62% | 1 | 1 | 0% | 401 | 2,232 | +457% | 0 | 0 | — |
case-22 | pass→pass | 9,871 | 8,958 | -9% | 1 | 1 | 0% | 1,569 | 3,064 | +95% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +36 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.