
publish-article
by pentaxis93
AI and I - a blog about human-AI collaboration
SKILL.md
name: publish-article description: "Publish blog articles to aiandi.dev. Frontmatter, SEO, deployment, verification, announcement. Use at PUBLISH stage of blog pipeline."
Publish Article Skill
Purpose: Deploy a finished article and verify it's live correctly.
When to Use
At the PUBLISH stage, after POLISH is complete.
Pre-Publish Checklist
Before publishing, verify:
- POLISH stage gate passed
- Article is in
pipeline/active/NNN-slug/05-draft.md - All images/assets are ready
- Slug is URL-friendly (lowercase, hyphens, no special chars)
Frontmatter Template
---
title: "Article Title"
description: "One-sentence description for SEO and social sharing (150-160 chars ideal)"
pubDate: YYYY-MM-DD
updatedDate: YYYY-MM-DD # Optional, for updates
heroImage: ./hero.jpg # Optional, path relative to article
---
Frontmatter Guidelines
Required Fields:
title- Article title (string)description- SEO description (string)pubDate- Publication date (YYYY-MM-DD format)
Optional Fields:
updatedDate- Last update date (YYYY-MM-DD format)heroImage- Hero image path relative to article file
Title:
- No colons (commit to one focus)
- Front-load important words (SEO)
- Match the article's actual teaching
Description:
- Complete sentence
- Include key terms for search
- Compelling enough to click
- 150-160 characters ideal
Hero Image:
- 1200x630px ideal (social sharing)
- Relevant to content
- Path relative to article file (e.g.,
./hero.jpg) - Not required - skip if no good image
- Fallback image used automatically if omitted
Publishing Process
1. Prepare Article
# Move draft to content, archive pipeline folder
mv packages/blog/pipeline/active/NNN-slug/05-draft.md packages/blog/src/content/blog/NNN-slug.md
mv packages/blog/pipeline/active/NNN-slug packages/blog/pipeline/published/
2. Add/Verify Frontmatter
Ensure all required fields are present and formatted correctly.
3. Handle Assets
# If article has images
mkdir -p packages/blog/public/blog/[slug]/
# Copy images to that directory
# Update image paths in article to /blog/[slug]/[image]
4. Local Verification
cd packages/blog
bun run dev
# Visit http://localhost:4321/blog/[slug]
Check:
- Page renders without errors
- Images load
- Code blocks formatted correctly
- Links work
- No layout issues
- Mobile view acceptable
5. Build Test
bun run build
bun run preview
Check:
- Build completes without errors
- Preview matches dev
6. Deploy
# Commit changes
git add packages/blog/src/content/blog/[slug].md
git add packages/blog/public/blog/[slug]/ # If assets
git commit -m "blog: publish [slug]"
git push
Deployment is automatic via CI/CD (or manual if not configured).
7. Production Verification
After deploy completes:
- Visit live URL:
https://aiandi.dev/blog/[slug] - Page loads correctly
- Social sharing preview works (use social card validators)
- RSS feed updated
Update Pipeline Tracking
Edit packages/blog/PIPELINE.md:
- Move article from "Current Articles" to show PUBLISHED status
- Add publish date
- Clear from active work
Announcement (Optional)
Channels to consider:
- Twitter/X
- Dev.to (cross-post)
- Reddit (relevant subreddits)
- Hacker News (if appropriate)
Cross-posting:
- Dev.to supports canonical URL - point back to aiandi.dev
- Adjust formatting for platform
- Don't spam - only share where genuinely relevant
Post-Publish
Monitor (First 24-48 Hours)
- Check for errors in analytics
- Watch for comments/feedback
- Be ready to fix issues quickly
Quality Gate
Gate question: Live and rendering correctly?
Checklist:
- Article accessible at expected URL
- No rendering errors
- Images load
- Social sharing preview works
- PIPELINE.md updated
Rollback
If something is wrong after publish:
# Revert the commit
git revert HEAD
git push
# Or quick fix
# Edit, commit, push
Better to unpublish and fix than leave broken content live.
Publish is not the end. It's the beginning of the article's life in the world.
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon