← ClaudeAtlas

mediumlisted

Read and publish on Medium (medium.com) with the user's own login cookies (BYOC) — list their posts with clap/response stats, inspect one post, and publish a new story. Use when the user mentions Medium, "my Medium posts", reading their post stats (claps/reads), or publishing a story to Medium.
AceDataCloud/Skills · ★ 13 · AI & Automation · score 73
Install: claude install-skill AceDataCloud/Skills
# medium — read & publish on Medium via your own cookies Drives the user's **real** Medium account through the same internal web API the site uses (Medium retired its public write API in 2023), authenticated by the login cookie they captured with the ACE extension. No browser, no third-party deps — just `urllib`. The connector injects the cookie jar as an env var: - `MEDIUM_COOKIES` — a JSON array of cookies (`sid`, `uid`, `xsrf`). **Secret — never echo or print it.** The CLI echoes the `xsrf` cookie as the `x-xsrf-token` header on writes for you. If the captured jar has no `xsrf` cookie (common), the CLI mints one automatically before writing, so publishes no longer fail with "Missing xsrf token". ## CLI The skill ships [`scripts/medium.py`](scripts/medium.py) — self-contained, stdlib only. ```sh # $SKILL_DIR can point at another skill loaded this turn — anchor on our own # script, and re-run this at the top of every Bash block (fresh shell each time). MED="$SKILL_DIR/scripts/medium.py"; [ -f "$MED" ] || MED=$(find /tmp -maxdepth 8 -path '*/skills/*/scripts/medium.py' 2>/dev/null | head -1) [ -f "$MED" ] || { echo "medium script not found (SKILL_DIR=$SKILL_DIR)" >&2; exit 1; } python3 "$MED" whoami # who is logged in python3 "$MED" articles --limit 20 # my posts + clap/response stats python3 "$MED" article <post-id> # one post's details ``` ## Verify the connection first ```sh MED="$SKILL_DIR/scripts/medium.py"; [ -f "$MED"