Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Write An Article

ASecurity

Turn a resolved ticket into a help-center article, draft a known-issue status page when something breaks, send personalized 'you asked, we shipped' notes to the customers who requested a feature, or flag stale articles that need a refresh after a product change. Pick the flavor and get a publish-ready draft grounded in real conversations and your voice.

113 stars
0 votes
0 copies
0 views
Added 9/19/2026
businessgogit

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add gethouston/houston --skill write-an-article --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Write An Article?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Write An Article
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gethouston-write-an-article/badge)](https://www.skillsdirectory.com/skills/gethouston-write-an-article)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: write-an-article
description: "Turn a resolved ticket into a help-center article, draft a known-issue status page when something breaks, send personalized 'you asked, we shipped' notes to the customers who requested a feature, or flag stale articles that need a refresh after a product change. Pick the flavor and get a publish-ready draft grounded in real conversations and your voice."
version: 1
category: Support
featured: no
image: headphone
integrations: [googledocs, notion, github, linear]
x_houston:
  created_by: houston
  skill_schema: 1
---


# Write an Article

One skill, every help-center writing ask. Branch on `type`.

## When to use

- **from-ticket**  -  "turn this ticket into article" / "document this
  resolution" / "answered same question 3x  -  write up." Called
  implicitly from `flag-a-signal signal=repeat-question` when cluster
  hits ≥3, no matching article.
- **known-issue**  -  "draft known-issue doc for {bug}" / "P1, put up
  status page" / chained from `draft-a-playbook`.
- **broadcast-shipped**  -  "shipped X  -  tell customers who asked" /
  "send 'you asked, we shipped' note."
- **refresh-stale**  -  "refresh articles affected by this ship" /
  "audit docs  -  pricing changed" / monthly help-center routine.

## Connections I need

I run external work through Composio. Before this skill runs I check that the categories below are linked. Missing → I name the category, ask you to connect it from the Integrations tab, stop.

- **Knowledge base** (Notion / Google Docs / Help Scout / Intercom)  -  mirror the draft to your published KB. Required for `from-ticket` and `refresh-stale` if you want me to push the draft there.
- **Dev tracker** (GitHub / Linear)  -  pull bug context for the `known-issue` doc. Required for `known-issue`.
- **Inbox** (Gmail)  -  source the resolved thread when it's not already in `conversations.json`. Optional.

If you ask for a known-issue page and your tracker isn't connected I stop and ask you to connect it.

## Information I need

I read your support context first. For every required field that's missing I ask ONE plain-language question (best modality: connected app > file drop > URL > paste) and wait.

- **Help-center platform**  -  Required. Why I need it: format and tone vary by destination. If missing I ask: "Where do your help articles live today  -  Notion, Intercom, a docs site, or nowhere yet?"
- **Voice samples**  -  Required. Why I need it: KB articles in the wrong voice get rewritten. If missing I ask: "Want me to mine your sent folder for tone, or can you drop 3 to 5 of your recent customer emails?"
- **KB tone profile**  -  Optional. Why I need it: some teams want KB more formal than chat replies. If you don't have it I keep going with TBD and match your reply voice.
- **What shipped**  -  Required for `broadcast-shipped`. Why I need it: I won't broadcast a vague "we shipped stuff." If missing I ask: "What did you ship  -  give me a title and one sentence on what's new?"
- **What changed**  -  Required for `refresh-stale`. Why I need it: I scan articles for refs to the changed thing. If missing I ask: "What changed  -  pricing, a feature name, a UI flow, something else?"

## Parameter: `type`

- `from-ticket`  -  article grounded in resolved conversation. Pull
  thread, extract reusable answer, write to `articles/{slug}.md`.
  Mirror to connected KB platform if linked.
- `known-issue`  -  customer-facing status entry. Write to
  `known-issues/{slug}.md` + append to `known-issues.json` with
  `{id, title, affectedProduct, currentStatus, postedAt, updatedAt}`.
- `broadcast-shipped`  -  personalized "you asked, we shipped"
  drafts, one per customer in `requests.json` who asked for thing
  just shipped. Write to `broadcasts/{YYYY-MM-DD}-{slug}.md`.
- `refresh-stale`  -  scan `articles/` for refs now wrong (pricing,
  UI, feature name), flag `needsReview: true` in `outputs.json`,
  draft update.

## Steps
<!-- houston-workflow:v1 -->

1. **Read `context/support-context.md`.** Missing? Stop.
2. **Read ledger.** Fill gaps.
3. **Branch on `type`:**
   - `from-ticket`: ask which `{conversation id}` to source, or
     pick auto from cluster surfaced by `flag-a-signal
     signal=repeat-question`. Read
     `conversations/{id}/thread.json`. Extract question, answer,
     screenshots, code refs. Draft in tone from
     `domains.help-center.toneProfile`.
   - `known-issue`: ask bug id + title if not given. Read
     `bug-candidates.json` for details. Draft status doc: what's
     broken, who affected, workaround, current status, ETA (only
     if pre-approved). Append to `known-issues.json`.
   - `broadcast-shipped`: ask what shipped (title + 1-sentence
     blurb). Read `requests.json`, filter to customers who asked
     for exactly this. Draft short personal note per customer,
     ref specific ask. Never bulk-send  -  one file per customer in
     `broadcasts/`.
   - `refresh-stale`: ask what changed (pricing / UI / feature
     name). Scan every `articles/{slug}.md` via grep for refs to
     changed element. Each hit: write proposed rewrite diff, don't
     overwrite. Mark `needsReview: true` in `outputs.json`.
4. **Write artifact** atomically.
5. **Append to `outputs.json`** with `type` =
   `kb-article` | `known-issue` | `broadcast` | `article-refresh`,
   `domain: "help-center"`, title, summary, path, status `draft`.
6. **Summarize**: headline + what to review + where to publish.

## Outputs

- `articles/{slug}.md` (for `type = from-ticket`, `refresh-stale`)
- `known-issues/{slug}.md` + `known-issues.json` entry (for
  `type = known-issue`)
- `broadcasts/{YYYY-MM-DD}-{slug}.md` (for `type = broadcast-shipped`)
- Append to `outputs.json` with `domain: "help-center"`.

## What I never do

- Publish direct to connected KB. I draft; you publish.
- Invent ETA for `known-issue`  -  engineering not committed? Write
  "investigating."
- Generic template for `broadcast-shipped`  -  every note cite
  specific request.

Attribution

gethoustongethouston
View sourceMore from gethouston →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Solution Architect

Designs system architecture, component specifications, and technical integration strategy. Use when: designing solutions, system architecture, technology stack, or integration approaches.

192 votes

Akorchak:Venture Assessment

Generate a comprehensive VC investment assessment report for a company

72 votes

Stock Analysis

Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management (create, add, remove assets), crypto analysis (Top 20 by market cap), and periodic performance reports (daily/weekly/monthly/quarterly/yearly). 8 analysis dimensions for stocks, 3 for crypto. Use for stock analysis, portfolio tracking, earnings reactions, or crypto monitoring.

6511 votes

Just Fucking Cancel

Find and cancel unwanted subscriptions by analyzing bank transactions. Detects recurring charges, calculates annual waste, and helps you cancel with direct URLs and browser automation. Use when: 'cancel subscriptions', 'audit subscriptions', 'find recurring charges', 'what am I paying for', 'save money', 'subscription cleanup', 'stop wasting money'. Supports CSV import (Apple Card, Chase, Amex, Citi, Bank of America, Capital One, Mint, Copilot) OR Plaid API for automatic transaction pull. Out...

6511 votes

Telegram Compose

Compose rich, readable Telegram messages using HTML formatting via direct Telegram API. Use when: (1) Sending any Telegram message beyond a simple one-line reply, (2) Creating structured messages with sections, lists, or status updates, (3) Need formatting unavailable via Clawdbot's Markdown conversion (underline, spoilers, expandable blockquotes, user mentions by ID), (4) Sending alerts, reports, summaries, or notifications to Telegram, (5) Want professional, scannable message formatting wit...

6511 votes
View all in business →