Get the FREE Ultimate OpenClaw Setup Guide →

atcoder-client

Scanned
npx machina-cli add skill a5c-ai/babysitter/atcoder-client --openclaw
Files (1)
SKILL.md
1.4 KB

AtCoder Client Skill

Purpose

Interface with AtCoder platform for accessing Japanese competitive programming contests, problems, and submissions.

Capabilities

  • Fetch contest problems with translations
  • Submit solutions and track results
  • Access AtCoder Problems difficulty ratings
  • Virtual contest participation
  • Retrieve user submission history
  • Access editorial content

Target Processes

  • atcoder-contest
  • progress-tracking
  • skill-gap-analysis

Integration

Uses AtCoder web interface and AtCoder Problems API for difficulty ratings and problem metadata.

Input Schema

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": ["getContestProblems", "getProblem", "getSubmissions", "getDifficulty", "getUserStats"]
    },
    "contestId": { "type": "string" },
    "problemId": { "type": "string" },
    "username": { "type": "string" }
  },
  "required": ["action"]
}

Output Schema

{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "data": { "type": "object" },
    "error": { "type": "string" }
  },
  "required": ["success"]
}

Usage Example

{
  "action": "getContestProblems",
  "contestId": "abc300"
}

Source

git clone https://github.com/a5c-ai/babysitter/blob/main/plugins/babysitter/skills/babysit/process/specializations/algorithms-optimization/skills/atcoder-client/SKILL.mdView on GitHub

Overview

The atcoder-client skill interfaces with the AtCoder platform to fetch contest problems (with translations), submit solutions and track results, retrieve problem difficulties, participate in virtual contests, and access editorial content. It supports integration with processes like atcoder-contest, progress-tracking, and skill-gap-analysis by exposing a structured API for common AtCoder actions.

How This Skill Works

The skill communicates with AtCoder via the AtCoder web interface and the AtCoder Problems API to retrieve problem data, difficulty ratings, and editorials, and to fetch user submissions. Actions are driven by a defined input schema (action, contestId, problemId, username) and return a standardized output with success, data, and optional error fields.

When to Use It

  • Fetch all problems for a contest with translations (getContestProblems)
  • Retrieve detailed data for a specific problem (getProblem)
  • Check a problem's difficulty rating (getDifficulty)
  • Review a user's recent submissions (getSubmissions)
  • Compile a user's overall activity and stats (getUserStats)

Quick Start

  1. Step 1: Choose an action (e.g., "getContestProblems") and provide required fields like contestId.
  2. Step 2: Call the skill to retrieve data (problems, problem details, submissions, etc.).
  3. Step 3: Interpret the returned data in the data field and use it for planning, progress tracking, or skill-gap analysis.

Best Practices

  • Always validate required fields for the chosen action (e.g., contestId for getContestProblems, problemId for getProblem).
  • Cache frequently requested data (problem metadata, difficulty) to reduce repeated calls.
  • Respect rate limits and handle transient errors with retry logic and timeouts.
  • Normalize and store results in a consistent structure to support skill-gap analysis.
  • When available, leverage translations in getContestProblems to aid multilingual review.

Example Use Cases

  • { "action": "getContestProblems", "contestId": "abc300" }
  • { "action": "getProblem", "problemId": "ABC300A" }
  • { "action": "getDifficulty", "problemId": "ABC300A" }
  • { "action": "getSubmissions", "username": "alice" }
  • { "action": "getUserStats", "username": "bob" }

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers