atcoder-fetcher

Fetch AtCoder problem statements and editorials into Markdown.

1|Updated Sep 5, 2021
One-click install
npx skills add https://github.com/paruma/atcoder_rust --skill atcoder-fetcher
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: atcoder-fetcher
Source: https://github.com/paruma/atcoder_rust/tree/main/.gemini/skills/atcoder-fetcher
Command: npx skills add https://github.com/paruma/atcoder_rust --skill atcoder-fetcher

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires beautifulsoup4, requests, and includes scripts (resource) components.

What problem does it solve?

This skill fetches and formats AtCoder problem statements and editorials from URLs into clean Markdown for easy reading, sharing, or integration into notes.

Core Features & Use Cases

  • Fetch problem statements from AtCoder task pages and convert them to Markdown.
  • Retrieve editorials and present them in a consistent, readable format.
  • Use cases include preparing study notes, preparing solution templates, or compiling a local problem digest.

Quick Start

Run the AtCoder Fetcher to convert a problem page or editorial page to Markdown.

  • Fetch a problem statement: uv run .gemini/skills/atcoder-fetcher/scripts/fetch_problem.py <URL>
  • Fetch an editorial: uv run .gemini/skills/atcoder-fetcher/scripts/fetch_editorial.py <URL>
  • Ensure environment variables like HOME, UV_CACHE_DIR, and PATH are set as described in the script headers.

Frequently Asked Questions about atcoder-fetcher

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert AtCoder problem statements to Markdown for study notes?

To convert AtCoder problem statements to Markdown, provide a direct task URL to the fetcher script. It parses the HTML using BeautifulSoup4 and outputs clean, readable Markdown ready for your study notes.

Can I fetch AtCoder editorials and format them for local reading?

Yes, you can fetch AtCoder editorials by passing an editorial URL to the fetch script. It extracts the content and formats it into consistent Markdown for local reading and integration into documents.

Does the AtCoder fetcher require specific Python dependencies to run?

The AtCoder fetcher requires Python 3.11+ and depends on the BeautifulSoup4 and requests libraries. You must also ensure environment variables like UV_CACHE_DIR and PATH are configured before running the scripts.

What is the best way to scrape AtCoder content using Python and BeautifulSoup4?

The best way to scrape AtCoder content is using a dedicated fetcher script leveraging requests and BeautifulSoup4 to parse HTML. It handles URL construction and outputs formatted Markdown directly for your templates.

Can I construct AtCoder URLs from problem names to fetch problem statements?

Yes, the fetcher supports problem-name based URL construction to retrieve AtCoder problem statements. This allows you to generate the correct task URL and fetch formatted Markdown without needing the exact link beforehand.

What are the limitations of using requests and BeautifulSoup4 for AtCoder web scraping?

Using requests and BeautifulSoup4 for AtCoder web scraping limits you to static HTML parsing, meaning dynamically loaded content will not be captured. It outputs consistent Markdown but cannot execute JavaScript-rendered page elements.