P blog writer
A lazy engineer's toolkit — why do it yourself when a Skill can?
npx -y skills add jackchuka/skills --skill p-blog-writerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Write blog posts in {user_name}'s voice with theoretical depth and persuasive arguments. Iterative workflow: intake → outline → section-by-section expansion → polish. Adapts to tool announcements, opinion pieces, deep-dives, and tutorials. Use when the user says "/blog-writer", "write a blog post", "draft an article about", "help me write about", or wants to create blog content.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
8.3 KB, as published. Nobody here has run it
Blog Writer
<!-- skillctx:begin -->Setup
Locate this skill's directory (the folder containing this SKILL.md), then run the resolver script from there:
python <skill-dir>/scripts/skillctx-resolve.py resolve p-blog-writer
The resolver outputs each binding as key: value (one per line). Substitute each {binding_key} placeholder below with the resolved value.
If any values are missing or the user requests changes, use:
python <skill-dir>/scripts/skillctx-resolve.py set p-blog-writer <key> <value>
<!-- skillctx:end -->
Write blog posts that sound like {user_name} — casual-professional Japanese with natural English technical terms — while strengthening theoretical depth and persuasion.
When to Use
- User wants to write a blog post or article
- User has a topic idea and wants it turned into a draft
- User has notes or an outline and wants it expanded
- User says "/blog-writer" or "write a blog post about X"
Prerequisites
- Voice profile:
{voice_profile_path}(read this FIRST before any writing) - Output directory:
{blog_drafts_dir}
Arguments
- Topic, idea, or notes (required — can be a single phrase or detailed notes)
--type <tool|opinion|deep-dive|tutorial>(optional — auto-detected if omitted)--platform <{default_platform}|{alt_platform}>(optional — defaults to {default_platform})--audience <description>(optional — e.g., "Go developers", "junior engineers")
Workflow
Step 1: Intake
-
Read
{voice_profile_path}to internalize the voice and persuasion patterns. -
Parse the user's input:
- If just a topic/idea: proceed with what's given
- If topic + audience + takeaway: use all three to shape the article
- If notes/outline: use as the starting structure
-
Detect article type from the input:
- Tool announcement: user mentions building/releasing something ("〜を作った", "I built X")
- Opinion/essay: user has a claim or position ("why X matters", "X is underrated")
- Deep-dive/comparison: user wants to explain or compare ("how X works", "X vs Y")
- Tutorial/guide: user wants to teach ("how to set up X", "complete guide to X")
- User can override with
--type
-
If the input is thin (just a few words), ask 1-2 clarifying questions:
- "Who is the target reader for this post?"
- "What's the one thing you want the reader to take away?"
- Do NOT ask more than 2 questions. Work with what you have.
Step 2: Outline with Argument Structure
Generate a structured outline based on article type.
Tool Announcement Outline
## タイトル: [title]
### 1. 背景 / Pain Point
- [Concrete problem] — persuasion: Stakes
- "〜していませんか?" or "〜で困ったことはありませんか?"
### 2. ツール紹介
- What it does (1-2 sentences)
- Installation command
### 3. 使い方
- Basic usage with CLI examples
- Key features with output examples
### 4. 設計思想 (Design Philosophy)
- Why these design decisions — persuasion: Contrast Framing
- Trade-offs acknowledged — theory anchor
- Underlying principles
### 5. 「でも〜では?」(Objection Handling)
- Anticipate 1-2 objections and address them
- Compare with alternatives fairly
### 6. まとめ
- Key takeaway
- Links to repo
- Call to action (Star, feedback)
Opinion/Essay Outline
## タイトル: [title]
### 1. Hook
- Bold claim or surprising observation — persuasion: Stakes
### 2. Evidence
- 2-3 concrete examples or data points — persuasion: Evidence
### 3. Why This Is True
- Underlying principle or theory — theory anchor
- Analogy to something familiar — persuasion: Analogy Bridge
### 4. Counter-argument
- Strongest objection — persuasion: Objection Handling
- Why you still believe your claim
### 5. Implications
- What this means for the reader's work
### 6. まとめ
- Restate core insight
- Call to action or question for the reader
Deep-Dive/Comparison Outline
## タイトル: [title]
### 1. Context & Framing
- Why this topic matters now — persuasion: Stakes
### 2. Concept Explanation
- Core concept with analogy — persuasion: Analogy Bridge
- How it works (theory depth)
### 3. Detailed Analysis
- Technical details with examples
- Code or architecture walkthrough
### 4. Trade-offs
- Comparison matrix or table — persuasion: Contrast Framing
- When to use what
### 5. Recommendation
- Author's pick with reasoning — persuasion: Evidence
### 6. まとめ
Tutorial/Guide Outline
## タイトル: [title]
### 1. Who This Is For
- Target audience and prerequisites
### 2-N. Progressive Sections
- Basic → Intermediate → Advanced
- Each with practical examples and code
- Persuasion: Evidence (show results at each step)
### N+1. Common Pitfalls
- What to watch out for — persuasion: Objection Handling
### N+2. まとめ
- Next steps and further reading
After generating the outline:
-
Ask 1-2 sharpening questions:
- "この記事で読者が感じる最大の反論は何ですか?" (What's the biggest objection a reader would have?)
- "読者に一番覚えてほしいことは?" (What's the one thing you want readers to remember?)
- Only ask if the answers aren't already obvious from the input.
-
Present the outline and wait for approval. User can:
- Approve as-is
- Request changes (reorder, add/remove sections, change angle)
- Provide answers to sharpening questions
Step 3: Section-by-Section Expansion
For each section in the approved outline:
-
Write the section in Japanese, following the voice profile:
- Apply the persuasion pattern assigned to that section
- Include code blocks, CLI examples, or output where relevant
- Add theory depth at marked theory anchors
- Keep the casual-professional tone — no academic language
-
Present the section and ask:
- "この section はどうですか? approve / revise / 別のアングルで rewrite"
- If revise: ask what to change
- If rewrite: try a different persuasion angle or framing
-
Move to the next section after approval.
Step 4: Polish & Save
-
Assemble all approved sections into a single markdown file.
-
Add platform frontmatter:
For Zenn:
--- title: "[title]" emoji: "[relevant emoji]" type: "tech" topics: ["topic1", "topic2"] published: false ---For Qiita:
--- title: "[title]" tags: - tag1 - tag2 private: true --- -
Generate slug from title (lowercase, hyphens, ASCII only).
-
Save to
{blog_drafts_dir}{slug}.md. -
Show the complete draft to the user for final review.
-
Report: "Draft saved to
{blog_drafts_dir}{slug}.md"
Privacy & Safety
- Never include real company names, internal URLs, or secrets in blog content
- If writing about work-related topics, generalize and anonymize
- Don't publish — always save as draft with
published: falseorprivate: true
Examples
Example 1: Tool announcement
User: "mdschemaを作った話を書きたい"
→ Detects: tool announcement
→ Generates outline with design philosophy section and objection handling
→ Iterates section by section
→ Saves to {blog_drafts_dir}mdschema-wo-tsukutta-hanashi.md
Example 2: Opinion piece
User: "write a blog post about why Go interfaces are underrated"
→ Detects: opinion/essay → Generates outline with bold hook, evidence, counter-argument → Asks: "最大の反論は何?" → Iterates and saves
Example 3: Minimal input
User: "blog about goroutines"
→ Input is thin — asks: "対象読者は?" and "takeaway は?" → User answers → detects deep-dive → Proceeds with outline