x.md (browse-x) skill

The browse-x skill gives an agent public X posts, threads, profiles and search as Markdown or JSON with no X account or key.

  • 197 ★ on the repository
  • Last commit
  • MIT
Skill

Extended access

Why this level

  • Requests with post URLs and search phrases go to the third-party mdfromx.com service.
All reasons and checks

pc-style/x-md

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/x-md-browse-x

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Requests with post URLs and search phrases go to the third-party mdfromx.com service.

This is third-party code. Review the repository files before installing.

What it does

Links to x.com, twitter.com and t.co become readable text: a post with its parent chain and replies, a long X Article, a profile with latest original posts, followers and following. Requests go to the hosted mdfromx.com service, which pulls data from public providers. The skill only reads: it does not post, like or open protected accounts and direct messages. Commands such as `bun scripts/browse-x.ts profile handle` accept `--json`, `--full` and `--compact`, and `--cursor` continues a listing. The same service offers an HTTP API, MCP at `/mcp` and an `llms.txt` file. The project is in beta and not affiliated with X Corp.

Who it is for. Researchers and developers whose agents meet X links in tasks, issues and chats and cannot open a browser.

Good fit when

  • An issue contains a tweet link and the agent needs the full thread text.
  • An X Article must be saved to notes with a YAML header: `--format obsidian`.
  • The bio and latest original posts of a public profile are needed.
  • X search results are processed as data, for example `from:handle release`.

Not a fit when

  • You need private, protected or deleted posts or direct messages.
  • You need posting, likes and follows.
  • You are collecting a bulk dataset.

Example request

Read this X thread in full with the author's replies and summarize it: https://x.com/handle/status/1234567890

Limitations

The service is in beta: routes and fields may change as providers change, and data comes from public sources that can lag or truncate, which the `warnings` field reports. The skill runs through Bun. Public requests are quota-limited, and on `429` you wait for `Retry-After`. X Lists are unavailable. Requests pass through the third-party mdfromx.com service. Terms for such requests are set by the data provider, so check them for commercial use.

How to disable. Delete the `browse-x` skill from the agent skills directory. If `X_MD_API_KEY` or `X_API_BASE` were set, remove them from the environment.

FAQ

Is an X account or key required?

No. The skill reads public content through mdfromx.com and needs no X API key. The optional `X_MD_API_KEY` only raises quotas.

What should I do on a 429?

Stop and wait for the time in `Retry-After`. The skill exits with code 3 and there is no need to retry in a loop.

Is there an MCP server?

Yes, the service publishes MCP at mdfromx.com/mcp over Streamable HTTP with the same reads as the skill.

Which output formats exist?

Markdown by default, `--json` for structure, `--full` with dates and metrics, `--compact` for shorter output and `--format obsidian` with a YAML header.

Does the skill read protected accounts?

No. Protected, suspended and deleted posts, X Lists and direct messages are unavailable and no flag unlocks them.

Discussion

No questions or reviews yet.

Skills

A skill that reads a link and hands the agent the full text as Markdown, picking a separate route for WeChat pages, Feishu docs, PDFs and arXiv papers

SkillExtended access512Repository stars
Needs a VPN

A Twitter/X CLI with an agent skill: feeds, bookmarks, search and profiles in the terminal, plus posting, replies and likes with no API keys

CLIBroad access3KRepository stars

A skill for web search, X search and page fetching for models without web access: no signup or key, the answer is JSON with source links

SkillExtended access978Repository stars

Reads X tweets, replies, timelines, lists and articles with no login or API keys through the xtf command, with three backends and automatic fallback

SkillExtended access1KRepository stars

A skill that turns a link into clean Markdown via Scrapling with a Jina Reader fallback, incl. WeChat, Juejin and CSDN articles

SkillExtended access613Repository stars

The news-extractor skill pulls the title, text, images and metadata from a link on 12 news platforms and returns JSON or Markdown, with no browser

SkillExtended access639Repository stars

README in short

The repository holds the x.md service with an HTTP API, an SDK and MCP, and the `browse-x` skill in `skills/` connects it to agents. You can self-host an instance on Bun 1.4.

README badge

Original SKILL.md

---
name: browse-x
description: "Reads public X (formerly Twitter) posts, threads, X Articles, profiles, followers, following, and search results as Markdown or JSON, with no X account and no API key. Use when a URL points at x.com, twitter.com, or t.co; when the user mentions a tweet, an X post, a thread, or an X profile; when you need an account's recent posts or connections; or when you need X search results as structured data. Read-only: it never posts, replies, follows, or reads protected accounts, direct messages, or Lists."
allowed-tools:
  - Bash(bun scripts/browse-x.ts *)
  - Bash(curl *mdfromx.com*)
---

# browse x

public content through mdfromx.com. no X login needed. run the helper from this skill's directory:

## when to use this

reach for it whenever the job is reading one piece of public X content right now:

- you need the text of a public X post, thread, or X Article and can't run a browser or log into X.
- you hit an `x.com`, `twitter.com`, or `t.co` link in a document, issue, changelog, or chat log and need its content inline.
- you want a public profile's bio and latest original posts (replies and reposts filtered out).
- you're checking who a public account follows, or who follows it.
- you want X search results as data rather than a rendered timeline.
- you're saving a post into notes or a vault — `--format obsidian` emits YAML frontmatter.

## when not to use this

- anything that writes. it never posts, replies, follows, likes, bookmarks, or sends DMs, and takes no X credentials.
- private, protected, suspended, or deleted accounts and posts. never available; no flag unlocks them.
- X Lists, DMs, notifications, the personalized home timeline, account analytics. not supported.
- bulk collection, backfills, or dataset building. it's rate limited and cached for one question at a time.
- anything needing guaranteed completeness or an SLA. results come from public upstream providers and can lag or truncate — read `warnings` instead of assuming.

```bash
bun scripts/browse-x.ts "https://x.com/handle/status/123"
bun scripts/browse-x.ts profile handle
bun scripts/browse-x.ts search "from:handle release"
bun scripts/browse-x.ts followers handle
bun scripts/browse-x.ts following handle
```

## options

markdown by default. `--json` for structured output, `--full` for metadata, `--compact` for less. use `--cursor` with the returned cursor to continue. run `bun scripts/browse-x.ts --help` for thread, feed, and other options.

optional: `X_MD_API_KEY` sends a bearer key; `X_API_BASE` changes the host. never print the key. invalid or disabled keys return 401.

Report a problem