Agent skill
blog-workflow
Orchestrate the mycelium blog workflow - scan repos, draft posts, review changes, build graph, and publish
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/blog-workflow
SKILL.md
Blog Workflow Skill
Overview
Manages the complete workflow for your file-based digital garden blog with mycelium links. This skill orchestrates repository scanning, AI-powered draft generation, content review, graph building, and publishing.
Core principle: Git-based content workflow. Everything is versioned, reviewable, and transparent.
Your Role
You are the orchestrator of the mycelium blog system. You help the user:
- Scan repositories for new content opportunities
- Generate AI drafts with proper metadata and privacy filtering
- Review and edit content before publishing
- Build knowledge graph to detect mycelium connections
- Publish changes with descriptive commits
Workflow Phases
Phase 1: Scan & Draft
Command: User runs /blog:scan or asks "scan my repos for blog content"
Your process:
- Run the repository scanner:
cd ~/Documents/mycelium-blog
npx tsx scripts/scan-repos.ts
-
Scanner analyzes repos in
~/Documents/and generates:- Draft markdown files in
content/drafts/ - Metadata extraction (commits, patterns, skills)
- Privacy classification (public vs internal)
- AI-suggested titles and tags
- Draft markdown files in
-
Report findings:
β Scanned 15 repositories π Generated 3 new draft posts: - content/drafts/2025-11-02-temporal-workflows.md (internal) - content/drafts/2025-11-02-astro-calculator.md (public) - content/drafts/2025-11-02-playwright-automation.md (public) π€ NEXT: Run /blog:review to see drafts
Privacy enforcement:
- Check git remote for "dragancloudbizz" + path contains "neo" β internal
- Internal drafts: Technical patterns only, no business context
- Public drafts: Full transparency with examples
Phase 2: Complete Drafts (NEW)
Command: User runs /blog:complete or asks "complete the draft posts"
Your process:
- Find all drafts that need completion:
cd ~/Documents/mycelium-blog
ls content/drafts/*.md
-
For each draft, use the blog-post-writer skill to complete the story sections:
- Read the draft completely (frontmatter + commit history)
- Analyze commit patterns (features, fixes, refactoring)
- Write Context, Challenge, Solution, Learned sections
- Use evidence-based narrative (no unverified assumptions)
- Apply conversational, pedagogical, or contextual style as appropriate
- Output must NOT mention "commits", "git history", or similar meta-references
-
Invoke blog-post-writer:
For each draft file: - Read content/drafts/[filename].md - Invoke blog-post-writer skill - Skill writes the four sections based on commit evidence - Save updated draft -
Report completion:
β Completed 3 draft posts: - content/drafts/2025-11-02-temporal-workflows.md - content/drafts/2025-11-02-astro-calculator.md - content/drafts/2025-11-02-playwright-automation.md π€ NEXT: Run /blog:review to review completed drafts
blog-post-writer integration:
- Uses commit history from the draft's "All Commits" section
- Stays grounded in evidence (no business assumptions for internal posts)
- Applies narrative techniques: conversational hooks, self-aware honesty, progressive revelation
- Uses first-person voice: "I built", "I discovered", "I learned"
- Outputs natural narratives without mentioning "commits", "git history", or meta-analysis
Phase 3: Review & Curate
Command: User runs /blog:review or asks "show me the draft posts"
Your process:
- List all drafts in
content/drafts/:
cd ~/Documents/mycelium-blog
ls -la content/drafts/
-
For each draft, show:
- Title and metadata (tags, privacy level, repos)
- AI-generated summary (first paragraph)
- Suggested action (approve/edit/delete)
-
User chooses an action per draft:
- Approve: Move to
content/posts/ - Edit: Open in editor, assist with improvements
- Delete: Remove from drafts
- Approve: Move to
-
Example interaction:
π Draft: "Temporal.io Workflow Patterns with Event Sourcing" π·οΈ Tags: temporal, event-sourcing, orchestration π Privacy: internal (client work) π¦ Repos: neo-provisioning Summary: Explores saga patterns and compensation logic in Temporal workflows for distributed systems... Options: - Approve β Move to posts/ - Edit β Open for review - Skip β Keep in drafts
Editing assistance:
- Suggest improvements to clarity
- Check technical accuracy
- Ensure privacy compliance (no business leaks in internal posts)
- Enhance SEO (title, meta description suggestions)
Phase 4: Graph Building
Command: User runs /blog:graph or asks "rebuild the knowledge graph"
Your process:
- Run graph builder:
cd ~/Documents/mycelium-blog
npx tsx scripts/build-graph.ts
-
Graph builder:
- Scans all published posts, skills, patterns
- Detects connections via:
- Shared tags (overlap strength)
- Explicit cross-references in content
- Shared repos
- Tech stack overlap
- Temporal proximity
- Generates
public/graph.json - Updates
relatedTofrontmatter in posts
-
Report new connections:
πΈοΈ Graph rebuilt successfully π Stats: - 24 nodes (18 posts, 4 skills, 2 patterns) - 47 edges (connections) π New mycelium links: - "Temporal Workflows" ββ "Event Sourcing Patterns" (0.9 strength) - "Browser Automation" ββ "META Script Manager" (1.0 strength) - "Astro Calculator" ββ "Static Site Generation" (0.8 strength) π€ NEXT: Review updated posts or run /blog:publish
Edge strength calculation:
- 1.0 = Explicit reference in content
- 0.8-0.9 = High tag overlap (>60%)
- 0.6-0.7 = Shared repos or tech stack
- 0.3-0.5 = Moderate tag overlap or temporal proximity
Phase 5: Publish
Command: User runs /blog:publish or asks "publish the blog changes"
Your process:
- Show what will be committed:
cd ~/Documents/mycelium-blog
git status
git diff --stat
-
Review changes summary:
π¦ Ready to publish: New posts: - content/posts/2025-11-02-astro-calculator.md - content/posts/2025-11-02-playwright-automation.md Updated: - public/graph.json (2 new connections) - content/posts/2025-10-28-event-sourcing.md (backlinks updated) Total: 4 files changed, 312 insertions(+), 8 deletions(-) -
Generate descriptive commit message:
feat: add 2 new posts (Astro calculator, Playwright automation) - Add post on Belgian real estate calculator using Astro + pure functions - Add post on browser automation with META pattern and Playwright - Update knowledge graph with 2 new mycelium connections - Add backlinks to existing event sourcing post π€ Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com> -
Commit and push:
cd ~/Documents/mycelium-blog
git add .
git commit -m "[generated message]"
git push origin main
- Verify deployment:
β Changes committed and pushed π Deployment triggered (GitHub Actions / Netlify) π Site will be live in ~2 minutes π€ NEXT: Verify at [your-blog-url] in a few minutes
Commands Reference
| Command | Alias | Description |
|---|---|---|
/blog:scan |
"scan repos" | Analyze git repos and generate drafts |
/blog:complete |
"complete drafts" | Use blog-post-writer to complete story sections |
/blog:review |
"review drafts" | Show pending drafts with metadata |
/blog:graph |
"rebuild graph" | Detect mycelium connections |
/blog:publish |
"publish blog" | Commit and deploy changes |
/blog:status |
"blog status" | Show overall blog state |
File Locations
Scripts:
scripts/scan-repos.ts- Repository scannerscripts/build-graph.ts- Knowledge graph builderscripts/privacy-filter.ts- Git config privacy checker
Content:
content/drafts/- AI-generated drafts awaiting reviewcontent/posts/- Published blog postscontent/skills/- Claude skills documentationcontent/patterns/- Technical patterns library
Generated:
public/graph.json- Knowledge graph data
Privacy Guidelines
Public posts (personal repos):
- Full project details and business context
- Real domain names and URLs
- Client testimonials (with permission)
- Complete code examples
Internal posts (dragancloudbizz/neo- repos):*
- Generic titles: "Temporal Workflow Patterns" β not "Neo Provisioning Architecture" β
- Abstract descriptions: "orchestration platform" β not "client X deployment system" β
- Sanitized examples: Remove client names, domains, business logic
- Focus: Technical patterns, architectural decisions, code quality
Always verify:
// Check before publishing
if (post.privacy === 'internal') {
// Ensure no mentions of:
- Client names or brands
- Business domain specifics
- Proprietary logic or data
- Financial/operational details
}
Integration with Existing Skills
Core skill integration:
- blog-post-writer (PRIMARY): Completes story sections with evidence-based narratives
- divergent-ideation: Generate diverse post angles from repo analysis
- gestalt-information-architecture: Optimize graph visualization layout
- ai-slop-detector: Ensure AI drafts are high quality, not verbose
Updated workflow synergy:
blog-workflow:scan (repo analysis + draft generation)
β
blog-post-writer (complete story sections) β NEW!
β
blog-workflow:review (approve/edit/delete)
β
blog-workflow:graph (build connections)
β
blog-workflow:publish (commit + deploy)
Key improvement: The blog-post-writer skill is now integrated directly into the workflow, transforming commit lists into engaging narratives automatically.
Error Handling
Common issues:
-
No new content found:
βΉοΈ No new activity since last scan Last scan: 2025-10-28 (5 days ago) Commits since: 0 π€ NEXT: Try again after making some commits, or scan older repos -
Privacy violation detected:
β οΈ Privacy check failed for draft: File: content/drafts/2025-11-02-client-deployment.md Issue: Contains client name "CloudBizz" in title π€ NEXT: Edit draft to use generic terminology -
Git conflicts:
β Cannot publish: Git conflicts detected Conflicted files: - public/graph.json π€ NEXT: Pull latest changes and rebuild graph
Best Practices
- Scan weekly - Run
/blog:scanevery week to capture recent work - Auto-complete drafts - Run
/blog:completeafter scanning to generate story sections - Batch reviews - Review all completed drafts at once for consistency
- Rebuild graph after edits - Connections may change with content updates
- Descriptive commits - Use conventional commit format (feat/fix/docs)
- Verify privacy - Double-check internal posts before publishing
Recommended workflow cadence:
- Weekly: scan + complete drafts
- Weekly: review and approve drafts
- Before publishing: rebuild graph
- Regular: publish approved posts
Workflow Synergy
The updated workflow creates a seamless pipeline:
1. /blog:scan
β Analyzes repos
β Generates drafts with commit history
β Creates story prompts
2. /blog:complete (NEW)
β Invokes blog-post-writer skill
β Completes Context/Challenge/Solution/Learned sections
β Uses evidence-based narrative (no commits/git mentioned in output)
3. /blog:review
β Shows completed drafts
β Approve/Edit/Delete
4. /blog:graph
β Detects mycelium connections
β Updates backlinks
5. /blog:publish
β Commits and deploys
Key improvement: The blog-post-writer skill transforms basic drafts with commit lists into engaging, story-driven blog posts automatically. No more manual section writing!
Example Session
User: Scan my repos for new blog content
Didn't find tool you were looking for?