Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create and manage blog posts on Bear Blog (bearblog.dev). Supports extended Markdown, custom attributes, and browser-based publishing.
.claude/skills/sundial-org-bearblog/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 107% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 128% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 118% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 127% | 0% |
Create, edit, and manage posts on Bear Blog — a minimal, fast blogging platform.
Bear Blog requires browser-based authentication. Log in once via the browser tool, and cookies will persist.
browser action:navigate url:https://bearblog.dev/accounts/login/browser action:navigate url:https://<subdomain>.bearblog.dev/dashboard/post/Bear Blog uses a plain text header format — no JavaScript DOM manipulation needed!
The editor has two textareas:
header_content — metadata attributes (one per line)body_content — the actual post content in MarkdownHeader format:
title: Your Post Title
link: custom-slug
published_date: 2026-01-05 14:00
tags: tag1, tag2, tag3
make_discoverable: true
is_page: false
class_name: custom-css-class
meta_description: SEO description for the post
meta_image: https://example.com/image.jpg
lang: en
canonical_url: https://original-source.com/post
alias: alternative-urlBody format: Standard Markdown with extensions (see below).
The separator ___ (three underscores) is used in templates to separate header from body.
Click the publish button or submit the form with publish: true.
| Attribute | Description | Example | |-----------|-------------|---------| | title | Post title (required) | title: My Post | | link | Custom URL slug | link: my-custom-url | | published_date | Publication date/time | published_date: 2026-01-05 14:30 | | tags | Comma-separated tags | tags: tech, ai, coding | | make_discoverable | Show in discovery feed | make_discoverable: true | | is_page | Static page vs blog post | is_page: false | | class_name | Custom CSS class (slugified) | class_name: featured | | meta_description | SEO meta description | meta_description: A post about... | | meta_image | Open Graph image URL | meta_image: https://... | | lang | Language code | lang: fr | | canonical_url | Canonical URL for SEO | canonical_url: https://... | | alias | Alternative URL path | alias: old-url |
Bear Blog uses Mistune with plugins:
~~strikethrough~~ → ~~strikethrough~~^superscript^ → superscript~subscript~ → subscript==highlighted== → highlighted (mark)**bold** and *italic* — standardmarkdownHere's a sentence with a footnote.[^1] [^1]: This is the footnote content.
markdown- [x] Completed task - [ ] Incomplete task
markdown| Header 1 | Header 2 | |----------|----------| | Cell 1 | Cell 2 |
`markdown
def hello(): print("Hello, world!")
Syntax highlighting via Pygments (specify language after ).
$E = mc^2$$$\int_0^\infty e^{-x^2} dx$$markdown*[HTML]: Hypertext Markup Language The HTML specification is maintained by the W3C.
markdown.. note:: This is a note admonition. .. warning:: This is a warning.
markdown.. toc::
Use {{ variable }} in your content:
{{ blog_title }} — Blog title{{ blog_description }} — Blog meta description{{ blog_created_date }} — Blog creation date{{ blog_last_modified }} — Time since last modification{{ blog_last_posted }} — Time since last post{{ blog_link }} — Full blog URL{{ tags }} — Rendered tag list with links{{ post_title }} — Current post title{{ post_description }} — Post meta description{{ post_published_date }} — Publication date{{ post_last_modified }} — Time since modification{{ post_link }} — Full post URL{{ next_post }} — Link to next post{{ previous_post }} — Link to previous postmarkdown{{ posts }} {{ posts limit:5 }} {{ posts tag:"tech" }} {{ posts tag:"tech,ai" limit:10 order:asc }} {{ posts description:True image:True content:True }}
Parameters:
tag: — filter by tag(s), comma-separatedlimit: — max number of postsorder: — asc or desc (default: desc)description:True — show meta descriptionsimage:True — show meta imagescontent:True — show full content (only on pages)markdown{{ email-signup }} {{ email_signup }}
markdown[Link text](https://example.com) [Link with title](https://example.com "Title text")
Prefix URL with tab::
markdown[External link](tab:https://example.com)
Headings automatically get slugified IDs:
markdown## My Section Title
Links to: #my-section-title
Automatic replacements:
(c) → ©(C) → ©(r) → ®(R) → ®(tm) → ™(TM) → ™(p) → ℗(P) → ℗+- → ±HTML is supported directly in Markdown:
html<div class="custom-class" style="text-align: center;"> <p>Centered content with custom styling</p> </div>
Note: <script>, <object>, <embed>, <form> are stripped for free accounts. Iframes are whitelisted (YouTube, Vimeo, Spotify, etc.).
Replace <subdomain> with your blog subdomain:
https://bearblog.dev/dashboard/https://<subdomain>.bearblog.dev/dashboard/https://<subdomain>.bearblog.dev/dashboard/post/https://<subdomain>.bearblog.dev/dashboard/post/<uid>/https://<subdomain>.bearblog.dev/dashboard/styles/https://<subdomain>.bearblog.dev/dashboard/nav/https://<subdomain>.bearblog.dev/dashboard/analytics/https://<subdomain>.bearblog.dev/dashboard/settings/Header content:
title: Getting Started with AI Assistants
link: ai-assistants-intro
published_date: 2026-01-05 15:00
tags: ai, tutorial, tech
make_discoverable: true
is_page: false
meta_description: A beginner's guide to working with AI assistants
lang: enBody content:
markdownAI assistants are changing how we work. Here's what you need to know. ## Why AI Assistants? They help with: - [x] Writing and editing - [x] Research and analysis - [ ] Making coffee (not yet!) > "The best tool is the one you actually use." — Someone wise ## Getting Started Check out [OpenAI](tab:https://openai.com) or [Anthropic](tab:https://anthropic.com) for popular options. --- *What's your experience with AI? Let me know!* {{ previous_post }} {{ next_post }}
published_date in the futureclass_name and style in your blog's CSSmeta_description and meta_imagepublish status and published_dateclass_name is slugified (lowercase, hyphens)YYYY-MM-DD HH:MMOther measured skills in the registry, with their headline benchmark lift.