← Back to Skills Marketplace
omnimahui

Daily Medium

by omnimahui · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
209
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install daily-medium
Description
Fetch and summarize Medium Daily Digest emails from Gmail. Extracts article URLs, generates Freedium links to bypass paywalls, and provides article summaries...
README (SKILL.md)

Daily Medium Skill

Fetch Medium Daily Digest emails from Gmail and extract article information with paywall-free links.

Overview

This skill connects to Gmail via IMAP, retrieves the latest Medium Daily Digest email, extracts article URLs, and provides Freedium mirror links to bypass Medium's paywall.

Prerequisites

Environment Variables Required:

  • EMAIL_ADDRESS - Gmail address (e.g., [email protected])
  • EMAIL_PASSWORD - Gmail App Password (not regular password)

How to get Gmail App Password:

  1. Go to Google Account → Security → 2-Step Verification
  2. At the bottom, click "App passwords"
  3. Select "Mail" and your device
  4. Copy the 16-character password

Usage

Basic Usage

from scripts.fetch_medium import fetch_medium_digest

# Fetch today's Medium digest
result = fetch_medium_digest()

if result:
    print(f"Digest: {result['digest_title']}")
    for article in result['articles']:
        print(f"- {article['title']}")
        print(f"  Freedium: {article['freedium_url']}")

With Custom Credentials

result = fetch_medium_digest(
    email_address="[email protected]",
    password="xxxx xxxx xxxx xxxx"
)

Output Format

The fetch_medium_digest() function returns:

{
    'digest_date': 'Mon, 16 Feb 2026 12:30:00 +0000',
    'digest_title': '10 OpenClaw Use Cases for a Personal AI Assistant | Balazs Kocsis',
    'articles': [
        {
            'title': 'Article Title Here',
            'author': 'username',
            'url': 'https://medium.com/@username/article-slug',
            'freedium_url': 'https://freedium-mirror.cfd/https://medium.com/@username/article-slug'
        },
        # ... more articles
    ]
}

Article Summaries

To generate article summaries, fetch the content via Freedium and summarize:

import requests
from bs4 import BeautifulSoup

def summarize_article(freedium_url):
    response = requests.get(freedium_url)
    soup = BeautifulSoup(response.content, 'html.parser')
    text = soup.get_text(separator=' ', strip=True)
    # Return first 300 chars as summary
    return text[:300] + "..."

Notes

  • Maximum 15 articles returned by default (configurable via max_articles parameter)
  • Requires IMAP access enabled in Gmail settings
  • Uses Freedium (freedium-mirror.cfd) to bypass Medium's paywall
  • Only fetches the most recent Medium Daily Digest email
Usage Guidance
This skill requires your Gmail address and an App Password to access your inbox via IMAP — those are sensitive credentials. Before installing or running it: (1) note that the registry metadata does not declare these required env vars even though the SKILL.md and code do; that mismatch is a red flag. (2) Understand that the skill constructs and recommends fetching articles through freedium-mirror.cfd to bypass paywalls — that will expose which articles you access and your IP to a third party and may have legal/ethical implications. (3) Prefer creating and using a dedicated, revocable App Password or a throwaway account rather than your primary account, and never paste your primary Gmail password. (4) If you plan to run this, inspect the included script (scripts/fetch_medium.py) yourself — it is short and readable — and consider running it in an isolated environment. (5) If you need stronger safeguards, ask the maintainer to add OAuth support (so you don't store credentials in env), update the registry metadata to list required env vars, or remove/replace the Freedium mirror with an official approach. If you are uncomfortable with providing IMAP access or with paywall bypass behavior, do not install or run this skill.
Capability Analysis
Type: OpenClaw Skill Name: daily-medium Version: 1.0.0 The skill requires the user to provide sensitive Gmail credentials (email address and App Password) via environment variables to grant full IMAP access to their inbox. While the script `scripts/fetch_medium.py` is currently scoped to search only for emails from 'medium.com', the requirement for raw email credentials and the broad nature of IMAP access represent a significant security risk. Furthermore, the skill promotes the use of a third-party mirror service (freedium-mirror.cfd) to bypass paywalls, which involves sending article URLs to an external endpoint.
Capability Assessment
Purpose & Capability
The skill's code and instructions match the stated purpose: it logs into Gmail via IMAP, finds recent messages from medium.com, extracts article URLs, and constructs Freedium mirror links. However, the registry metadata claims 'Required env vars: none' while SKILL.md and the code require EMAIL_ADDRESS and EMAIL_PASSWORD — this metadata discrepancy is an incoherence to surface.
Instruction Scope
Instructions and example code ask the agent (or a user script) to fetch content from a third‑party Freedium mirror (freedium-mirror.cfd) to bypass Medium paywalls. That is consistent with the skill's aim but raises privacy, legal, and trust concerns because fetching mirror pages exposes the user's IP and possibly the article content to an external service. The SKILL.md asks the user to provide an app password and enable IMAP — sensitive actions that are proportional but require careful handling.
Install Mechanism
No install spec; this is an instruction-only skill with a single helper script included. Nothing is being downloaded or written by an automated installer, which reduces installation risk.
Credentials
The code requires EMAIL_ADDRESS and EMAIL_PASSWORD (a Gmail App Password). That is proportionate to the stated function, but the registry metadata incorrectly lists 'none' for required env vars. Requesting an app password and asking users to store it in environment variables is a sensitive operation — users should be aware of the risk of storing persistent credentials in env and consider using OAuth or a disposable app password. No other unrelated credentials are requested.
Persistence & Privilege
Skill does not request permanent 'always' presence, does not modify other skills or system settings, and does not include an install script that persists beyond the included files. Autonomous invocation is allowed by default but not an additional concern here.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install daily-medium
  3. After installation, invoke the skill by name or use /daily-medium
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release: fetch and summarize Medium Daily Digest emails from Gmail. - Extracts article URLs from the latest Medium Digest and generates paywall-free Freedium links. - Provides structured output with digest details and article info (title, author, original and Freedium links). - Supports customizable Gmail credentials and article count. - Sample code and article summary guidance included in documentation.
Metadata
Slug daily-medium
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Daily Medium?

Fetch and summarize Medium Daily Digest emails from Gmail. Extracts article URLs, generates Freedium links to bypass paywalls, and provides article summaries... It is an AI Agent Skill for Claude Code / OpenClaw, with 209 downloads so far.

How do I install Daily Medium?

Run "/install daily-medium" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Daily Medium free?

Yes, Daily Medium is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Daily Medium support?

Daily Medium is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Daily Medium?

It is built and maintained by omnimahui (@omnimahui); the current version is v1.0.0.

💬 Comments