WTFM: Write the F***ing Manual. A plugin for your coding agent that writes your user docs, screenshots included.
# Add to your Claude Code skills
git clone https://github.com/SupportPages-io/wtfmSee how wtfm compares with popular alternatives.
wtfm is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by SupportPages-io. WTFM: Write the F***ing Manual. A plugin for your coding agent that writes your user docs, screenshots included. It has 51 GitHub stars.
wtfm's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/SupportPages-io/wtfm" and add it to your Claude Code skills directory (see the Installation section above).
wtfm is primarily written in JavaScript. It is open-source under SupportPages-io on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh wtfm against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
WTFM is a plugin for your coding agent that writes your user docs. Ask Claude Code or Codex for a guide and it reads your source, writes the steps in plain language, and shows every screen with a screenshot rendered from your real templates and CSS. No running app, no manual captures, no account.
Not API reference, not a README: docs for the people who will never read your code, like the customer who can't find the export button, or the admin inviting their team.
WTFM was formerly SupportPages Writer. The
supportpagescommand still works as an alias forwtfm, and existing installations, settings andSUPPORTPAGES_*environment variables are unchanged.
Set it up once in your terminal, then just ask your agent:
curl -fsSL https://wtfm.sh/install | bash
wtfm setup # once per computer
wtfm init # once per project
You → Claude Code: Write an illustrated guide to inviting a teammate.
index.md with its images beside it,
ready to commit next to your code or drop into any docs site.The same loop on other open-source codebases. Each image is one screenshot from a guide WTFM wrote from that repository's source; the apps were never run.
| immich-app/immich · SvelteKit | paperless-ngx/paperless-ngx · Angular | maybe-finance/maybe · Rails |
|---|---|---|
| How to create a new album | How to create a tag and apply it to a document | How to add a new account |
For a whole help centre, see WTFM's own docs: every article and screenshot there was written by WTFM from this repository.
curl -fsSL https://wtfm.sh/install | bash
The installer downloads a checksum-verified release with its own Node.js, installs
the wtfm command into ~/.local/bin (no sudo), and offers to add it to your
PATH. It also installs supportpages as an alias for wtfm.
You'll need:
Chromium for screenshots is downloaded the first time you run wtfm setup.
Updating: releases check for updates once a day and install them in the background.
Run wtfm update to update now, or set SUPPORTPAGES_AUTO_UPDATE=0 to turn
automatic updates off.
WTFM is also a Codex plugin. You'll need Node.js 22.12 or later with npm on your
PATH.
codex plugin marketplace add SupportPages-io/wtfm
codex plugin add wtfm@supportpages
Then start a new Codex session. The first time the plugin starts, it installs its npm
packages (without running their install scripts) and downloads Chromium for
screenshots in the background. Codex asks you to review the plugin's two hooks in
/hooks before they run; WTFM works without them. To update, run
codex plugin add wtfm@supportpages again.
You'll need Node.js 22.12 or later, npm and Git.
git clone https://github.com/SupportPages-io/wtfm.git
cd wtfm
./install-cli.sh
This builds your checkout and installs it as wtfm (with the supportpages alias).
Run ./install-cli.sh again after pulling changes.
Configure once in the terminal, then do everything else in your coding agent.
wtfm setup
This connects Claude Code and/or Codex, adds the SupportPages.io writer to them and downloads the screenshot renderer. When it asks how you want to work, choose Save articles in my projects without an account.
cd path/to/your-product
wtfm init
Pick where articles should be saved and which model to use. WTFM then studies the project's structure, styles and branding once, so every article starts from that analysis.
Open Claude Code or Codex in your project (restart any session that was already open) and ask for an article in plain words:
Write an illustrated guide to inviting a teammate.
A few minutes later the article is in your project:
output/articles/how-to-invite-a-teammate/
├── index.md
├── block_open-settings.png
├── block_invite-form.png
└── block_send-invite.png
That's the whole loop. Some other things to ask:
What help articles do we have?
Write a troubleshooting article for when a sign-in link has expired.
You only need the terminal to set things up and keep them running. Writing happens in your coding agent.
| Command | What it does |
|---|---|
wtfm setup |
Set up this computer: connect your coding agents and install the renderer |
wtfm init |
Set up this project: where articles go, which model, project analysis |
wtfm configure |
Change this project's agent, model, writing style or article folder |
wtfm analyse |
Re-run project analysis after big changes (--refresh) |
wtfm status |
Show this project's setup and article progress |
wtfm doctor |
Check that everything is installed and connected |
wtfm telemetry off |
Stop anonymous usage counts and crash reports (on, status) |
wtfm update |
Install the latest release |
wtfm uninit |
Forget this project's setup (keeps a recovery archive) |
wtfm remove |
Disconnect from your coding agents (keeps projects and articles) |
wtfm uninstall |
Remove WTFM from this computer; --purge-config also signs out and forgets project bindings |
Run wtfm --help for every option. status and doctor accept --json.
output/articles/<slug>/ by default. To keep them in your repo,
choose a folder like docs/help during init or with wtfm configure.wtfm configure.setup connects a local MCP server and a
writer agent to Claude Code or Codex.init has your agent map the project once: framework, routes, layouts, CSS and
branding.Give your users somewhere to read it. A Markdown folder in your repo helps nobody who can't find it. SupportPages.io, made by the same team, turns the guides WTFM writes into a help centre your users can search and ask: on your own domain, in your branding, and kept current as the product changes.