telegraph
Skill4 starsChanged 6 months agoMITView on GitHub
Publish or update a Markdown post on telegra.ph via the `telegraph-publish` CLI. English triggers — "publish to telegra.ph", "post on telegraph", "upload to telegra.ph", "edit telegraph page", "publish as a telegraph article", "make a telegra.ph article from this markdown". Russian triggers — «залей на телеграф», «опубликуй пост на telegra.ph», «оформи как telegra.ph-статью», «выложи на телеграф», «обнови телеграф-страницу», «загрузи картинку на telegra.ph». Also use proactively when the user asks to "publish a long text as an article" without naming a platform — telegra.ph is a sane default for public long-form markdown that needs no auth. Do NOT use for: gists, pastebin, the user's personal blog, any other publishing platform, or for sending a message into a Telegram chat — telegra.ph is a public article host, not a messenger.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- kborovik/spec-driven-devtheir own version, first seen Aug 4, 2026
- kborovik/grok-skillstheir own version, first seen Jul 19, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- kborovik/grok-skills★ 2same name
- kborovik/spec-driven-dev★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 0 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 91
Don't publish without --dry-run if you're unsure the markdown will parse cleanly — telegra.ph has no "delete page" API, drafts you don't …
- Very specific: line 94
Don't --edit the user's published post without explicit permission — it's an irreversible change to a public artifact.
- Very specific: line 96
Don't retry the Unknown error on /upload in a loop — it's a platform policy, retries don't help.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
telegraph — publish Markdown to telegra.ph
telegraph-publish is a CLI that publishes (or updates) a Markdown file as a
telegra.ph article and uploads images. Stdlib-only Python 3, no runtime
dependencies. Source: https://github.com/dim-s/telegraph-cli.
If the telegraph-publish command is not found on this machine, read
setup.md and run the install command before proceeding. It's
a one-liner via pip / pipx / uv tool and works on macOS, Linux, and
Windows.
The telegra.ph account is created on first run and the access token is
cached in ~/.config/telegraph/account.json (or
%APPDATA%\telegraph\account.json on Windows). Keep that file —
otherwise the pages you created become unmanageable.
Commands
| Command | Purpose |
telegraph-publish <file.md> | Publish a markdown file, print the URL |
telegraph-publish <file.md> --dry-run | Parse and print stats, do not call the API |
telegraph-publish <file.md> --edit <path-or-url> | Update an existing page with new content |
telegraph-publish --upload-image <file> | Upload an image, print the URL |
telegraph-publish <file.md> --no-image-upload | Skip auto-uploading local  references |
telegraph-publish <file.md> --author NAME [--author-url URL] | Override the per-page author byline (optional, default empty) |
telegraph-publish --help | Full help with supported tags and env vars |
What the parser supports
- Headings:
# Title→ page title;##/###→<h3>;####→<h4>. telegra.ph has no<h1>/<h2>, everything collapses to h3 / h4. - Paragraphs and
---→<hr>. - Inline:
**bold**,*italic*,`code`,[text](url). - Images: a standalone
block becomes<figure>with<figcaption>. Local paths are auto-uploaded to telegra.ph and replaced with the absolute URL. - Tables: each data row becomes one paragraph with column headers in
<strong>joined by·(telegra.ph has no<table>— this is the fallback rendering).
Limitations of telegra.ph (not bugs of the CLI)
- No
<h1>/<h2>and no<table>— this is a platform limit, not a parser limit. The CLI collapses headings and expands tables into paragraphs. --upload-imageoften returnsUnknown error(HTTP 400). telegra.ph has throttled its public upload endpoint for external clients since ~2022. When this happens, host the image on any CDN and pass an absolute URL in markdown. The CLI emits a clear error rather than a stack trace.--editonly works for pages created with the same access token. If~/.config/telegraph/account.jsonis deleted, previously created pages become read-only.
Author byline
By default published pages carry no author. To set one, pass --author
"NAME" (and optionally --author-url "URL") per call, or set
TELEGRAPH_AUTHOR / TELEGRAPH_AUTHOR_URL env vars as a fallback. CLI
flags override env. Empty author is valid — telegra.ph renders the page
without an author block.
Environment variables
TELEGRAPH_SHORT_NAME— short account name (only used on first run, baked intoaccount.json).TELEGRAPH_AUTHOR— fallback author name when--authoris omitted.TELEGRAPH_AUTHOR_URL— fallback author link when--author-urlis omitted.
Typical flow
# preview
telegraph-publish draft.md --dry-run
# publish
URL=$(telegraph-publish draft.md)
echo "$URL"
# edit the published page
telegraph-publish draft.md --edit "$URL"What not to do
- Don't publish without
--dry-runif you're unsure the markdown will parse cleanly — telegra.ph has no "delete page" API, drafts you don't want pile up in the account. - Don't
--editthe user's published post without explicit permission — it's an irreversible change to a public artifact. - Don't retry the
Unknown erroron/uploadin a loop — it's a platform policy, retries don't help; use an external image host instead.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

