betterscientificsoftware/bssw.io/create-bssw-blog-article
Claude Code and agent skill by betterscientificsoftware/bssw.io
- community
Checking that the SKILL.md file is still in the repository.
Use when creating, converting, or reviewing BSSw.io blog articles in Articles/Blog, especially when drafting from notes or author text, adding publication metadata, formatting deck text or hero images, placing figures, author bios, acknowledgements, DOI/cross-posting notes, or preparing formal references with wikize_refs.py.
Install
npx vskill@latest install betterscientificsoftware/bssw.io/create-bssw-blog-articleSKILL.md
Create BSSw Blog Article
Use this skill to create or revise blog articles under Articles/Blog/ in the bssw.io repository.
Core Workflow
- Gather the article facts: title, authors and profile links, target publication date, desired track, topics, deck text or hero image, body text, figures, acknowledgements, DOI, cross-posting note, author bios, and source links or formal citations.
- Inspect recent nearby articles before writing. Prefer recent patterns over the older skeleton when they disagree. Good examples include:
Articles/Blog/2027-05-rse-genai.mdfor multi-author, cross-posted, figure-heavy, formally cited articles.Articles/Blog/2026-05-modern-memory-safe-cpp.mdfor a long deep-dive with formal citations.Articles/Blog/2026-04-mpi-debugging.mdfor a single-author fellowship article with body images.Articles/Blog/2026-04-everse.mdfor a community/project article with hero image and multiple bios.
- Read the compact format guide when needed:
references/blog-article-format.md. - Create or update the article as
Articles/Blog/YYYY-MM-short-slug.md, using the expected publication year and month unless the user specifies another naming plan. - Add images under
images/and reference them as../../images/name.ext. Use slug-aligned names such as2027-05-rse-genai-figure1.png. - If the article uses formal citations, edit only the human-authored source references, then run
utils/wikize_refs.pyas described in.skills/wikize-refs/SKILL.md. Do not hand-edit the generatedsfer-ezikiwblock unless the user explicitly asks for a displayed-reference formatting change. - Verify the article before finishing.
Article Structure
Use this order for most new deck-text blog articles:
For hero-image articles, place the **Hero Image:** block immediately after the title. Blog house style normally prefers either a hero image or deck text, but keep both when the user or editor says the deck text should appear as opening body text. Treat the checker's hero-plus-deck warning as non-actionable in that case. For multi-author articles, use ## Author bios and one paragraph per author, normally in the same order as the contributor line unless the draft or user indicates another order.
Writing Rules
- Keep the title as the only level-one heading. Body sections start at
##. - Use
#### Contributed by ...and#### Publication date: Month D, YYYYnear the top. - Use
<!-- begin deck -->and<!-- end deck -->for current blog deck text. Keep the deck to one or two sentences and do not include links. If a hero image is also present and the deck is intentionally retained, leave the deck block in place. - Prefer third-person, reader-centered prose. For editorial conversions, preserve author voice while tightening repetition, date references, and unclear transitions.
- Keep blog length flexible. The author guide suggests 500-1,500 words for many articles; deep dives and community reports may be longer when the topic warrants it.
- Limit figures, tables, and links unless they directly support the article.
- Use ASCII punctuation in newly drafted text unless preserving author-provided names, titles, or quotations requires Unicode.
- Preserve unrelated local changes. Check
git status --shortbefore and after edits when making article changes.
Metadata
Every blog article needs a formatted metadata comment near the end. Set Publish: yes for articles you create or edit unless the user explicitly asks for a draft or unpublished article:
Required fields are Publish, Track, and Topics. Pinned is commonly present. RSS update is optional and should normally be added only for publication, republishing, or feed-visible updates.
Common tracks:
CommunityDeep DiveExperienceHow toBright SpotsBSSw Fellowship
Choose a small set of existing topics from docs/pages/bssw/bssw_content_metadata.md. Match nearby article spelling and capitalization where possible.
Figures and Images
- Store all images in
images/. - For hero images, use the finicky list-item syntax exactly:
```markdown Hero Image:
- <img src='../../images/YOUR-IMAGE-NAME.png' />
```
- Include meaningful
alttext for hero images; avoid generic text such asalt="hero image". - For body images, use HTML image tags, not Markdown image syntax.
- Include
class='page lightbox'for diagrams or detailed figures that should expand; useclass='page'for ordinary page-width images andclass='logo'for logos or headshots. - Include meaningful
alttext. - Place captions immediately after the image tag and avoid links in captions.
- Add
<br>before and after body images unless the following line is a heading.
References
For articles with many external sources, sensitive claims, research literature, or formal citation needs:
- Use source reference definitions above the generated block:
``markdown [short-label]: https://doi.org/example "Short title {Full bibliographic text.}" ``
- Cite in body text with
<sup>[short-label]</sup>or<sup>[label1],[label2]</sup>. - Run
utils/wikize_refs.py -i Articles/Blog/file.mdfrom the repository root, preferably throughuv run pythonif invoking Python directly is needed. - Review the diff and confirm the generated
sfer-ezikiwblock is present and idempotent.
If the user has manually edited displayed reference text or asks for displayed-reference formatting changes, do not rerun wikize_refs.py afterward unless they explicitly permit regeneration. Common manual display edits include changing ### References to ## References, removing generated short titles, and removing generated <br> tags. Preserve link anchors, numbered footnote definitions, and URLs while making those display-only edits.
Verification
Before final response:
- Read the new or edited article.
- Run the local checker:
``bash uv run python .skills/create-bssw-blog-article/scripts/check_blog_article.py Articles/Blog/path-to-file.md ``
- If formal citations changed and the displayed references have not been manually customized, run or rerun:
``bash uv run python utils/wikize_refs.py -i Articles/Blog/path-to-file.md ``
- Run
codespell Articles/Blog/path-to-file.mdif available. - Run
git diff -- Articles/Blog/path-to-file.mdand review the actual changes. For a new untracked file, usegit diff --no-index -- /dev/null Articles/Blog/path-to-file.md. - Report the article path, important metadata choices, citation/image checks, intentional checker warnings such as accepted hero-plus-deck usage, and any checks that could not be run.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.skills/create-bssw-blog-article/SKILL.md
Popularity
- Repository stars
- 146
- Repository forks
- 104
- 7-day trend score
- 25
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/betterscientificsoftware/bssw.io/create-bssw-blog-article)