Agent skill

medium-paywall-bypass

Use when user shares a Medium article URL behind a paywall and wants to read the full content. Also use for articles on Medium-hosted publications like towardsdatascience.com, betterprogramming.pub, levelup.gitconnected.com, etc.

Stars 27
Forks 6

Install this agent skill to your Project

npx add-skill https://github.com/ratacat/claude-skills/tree/main/skills/medium-paywall-bypass

SKILL.md

Medium Paywall Bypass

Overview

Fetch paywalled Medium articles using free mirror services. Try services in order until one works.

Service Priority

Service URL Pattern WebFetch curl Notes
Freedium https://freedium.cfd/{encoded_url} Yes Yes Best option, returns content directly
Archive.today https://archive.today/latest/{raw_url} No Maybe Often requires captcha
RemovePaywalls https://removepaywalls.com/{raw_url} No No Redirect page only, needs browser
ReadMedium https://readmedium.com/en/{encoded_url} No No Returns 403 programmatically
  • {encoded_url} = URL-encoded (slashes become %2F, @ becomes %40, etc.)
  • {raw_url} = Original URL as-is

For Claude Code: Use Freedium via WebFetch. Other services require browser interaction.

Workflow

1. User provides Medium URL
2. Try Freedium first via WebFetch
3. If blocked/empty, try next service
4. Extract and present article content

Example Usage

Given: https://medium.com/@user/some-article-abc123

WebFetch (recommended):

URL: https://freedium.cfd/https%3A%2F%2Fmedium.com%2F%40user%2Fsome-article-abc123
Prompt: Extract the full article content

curl fallback:

bash
curl -sL "https://freedium.cfd/https%3A%2F%2Fmedium.com%2F%40user%2Fsome-article-abc123"

Medium-Hosted Domains

These domains use Medium's paywall system:

  • medium.com, *.medium.com
  • towardsdatascience.com
  • betterprogramming.pub
  • levelup.gitconnected.com
  • javascript.plainenglish.io
  • uxdesign.cc
  • hackernoon.com
  • codeburst.io
  • itnext.io
  • proandroiddev.com
  • infosecwriteups.com

Common Issues

Problem Solution
Freedium down Try alternative mirror: freedium-mirror.cfd
Article not found Article may be too new to be cached
Garbled HTML Use WebFetch with prompt: "Extract the article text and format as markdown"
403/blocked Try curl with dangerouslyDisableSandbox: true

Quick Reference

python
# URL encoding in Python
from urllib.parse import quote
encoded = quote(url, safe='')

# For WebFetch tool
freedium_url = f"https://freedium.cfd/{quote(medium_url, safe='')}"

Expand your agent's capabilities with these related and highly-rated skills.

ratacat/claude-skills

brave-search

Use when user asks to search the web, look something up online, find current/recent/latest information, or needs cited answers. Triggers on "search", "look up", "find out about", "what is the current/latest", image searches, news lookups. NOT for searching code/files—only for web/internet searches.

27 6
Explore
ratacat/claude-skills

bug-reproduction-validator

Use this agent when you receive a bug report or issue description and need to verify whether the reported behavior is actually a bug. This agent will attempt to reproduce the issue systematically, validate the steps to reproduce, and confirm whether the behavior deviates from expected functionality. <example>\nContext: The user has reported a potential bug in the application.\nuser: "Users are reporting that the email processing fails when there are special characters in the subject line"\nassistant: "I'll use the bug-reproduction-validator agent to verify if this is an actual bug by attempting to reproduce it"\n<commentary>\nSince there's a bug report about email processing with special characters, use the bug-reproduction-validator agent to systematically reproduce and validate the issue.\n</commentary>\n</example>\n<example>\nContext: An issue has been raised about unexpected behavior.\nuser: "There's a report that the brief summary isn't including all emails from today"\nassistant: "Let me launch the b...

27 6
Explore
ratacat/claude-skills

agent-native-audit

Run comprehensive agent-native architecture review with scored principles

27 6
Explore
ratacat/claude-skills

brainstorming

This skill should be used before implementing features, building components, or making changes. It guides exploring user intent, approaches, and design decisions before planning. Triggers on "let's brainstorm", "help me think through", "what should we build", "explore approaches", ambiguous feature requests, or when the user's request has multiple valid interpretations that need clarification.

27 6
Explore
ratacat/claude-skills

performance-oracle

Use this agent when you need to analyze code for performance issues, optimize algorithms, identify bottlenecks, or ensure scalability. This includes reviewing database queries, memory usage, caching strategies, and overall system performance. The agent should be invoked after implementing features or when performance concerns arise.\n\n<example>\nContext: The user has just implemented a new feature that processes user data.\nuser: "I've implemented the user analytics feature. Can you check if it will scale?"\nassistant: "I'll use the performance-oracle agent to analyze the scalability and performance characteristics of your implementation."\n<commentary>\nSince the user is concerned about scalability, use the Task tool to launch the performance-oracle agent to analyze the code for performance issues.\n</commentary>\n</example>\n\n<example>\nContext: The user is experiencing slow API responses.\nuser: "The API endpoint for fetching reports is taking over 2 seconds to respond"\nassistant: "Let me invoke the...

27 6
Explore
ratacat/claude-skills

triage

Triage and categorize findings for the CLI todo system

27 6
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results