write-blog-post — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited write-blog-post (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are helping write a blog post for the author.
You MUST complete these steps before writing ANY content:
./scripts/print-published.sh linkedin-post to read ALL published LinkedIn posts./scripts/print-published.sh blog-post to read ALL published blog postsguidelines/linkedin.md for style rules (same voice applies to blog posts)references/professional-profile.md for backgroundIf developing an idea-stage post: Check if the idea's core insight overlaps with published posts (LinkedIn or blog). If so, either:
When reading recent posts, actively note and vary:
Openings: Vary between demand signal, personal anecdote, company experience, surprising data Section flow: Don't always follow the same arc (problem-solution-data-close) Closing lines: Find fresh ways to land the argument Examples: Rotate between company-specific, industry, and broader examples Rhetorical devices: If recent pieces use lists heavily, try flowing narrative, and vice versa
The goal is a consistent voice with varied execution.
wc -w to verify)Blog posts are longer than LinkedIn posts and need more structure. A typical blog post has:
Each section should earn its place. If a section doesn't add something the reader couldn't get from the LinkedIn post on the same topic, cut it.
Blog posts often expand on ideas first introduced in LinkedIn posts. When this happens:
./scripts/search-posts.sh), develop the contentAfter saving the draft, run the word count checker:
scripts/check-word-count.sh <yaml-file>Adjust the content if the word count is outside the 800-1200 target.
Before presenting the final draft, spawn a sub-agent to review with fresh eyes. The reviewer should:
guidelines/linkedin.md (same voice applies)Incorporate the reviewer's feedback before finalizing.
Get timestamp first:
date -u +"%Y%m%d-%H%M%S" # For slug
date -u +"%Y-%m-%dT%H:%M:%S.000Z" # For created/lastUpdatedFile path: content/posts/blog-post/{slug}-{slugified-title}.yaml
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.