← 返回 Skills 市场
elmoorish

Duolingo Tracker

作者 The Mooorish · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
101
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install duolingo-tracker
功能描述
Fetch and display Duolingo learning stats: streak, XP, league, level, course progress, and daily/weekly summaries. Use this skill whenever the user asks abou...
使用说明 (SKILL.md)

Duolingo Tracker Skill

Fetch Duolingo user stats via the unofficial Duolingo API. No official API key required — uses the same endpoints the Duolingo web app uses.


Authentication setup

Duolingo does not offer an official public API. The tracker uses the cookie-based session token from an active browser session.

One-time setup:

  1. Log in to duolingo.com in your browser
  2. Open DevTools → Application → Cookies → duolingo.com
  3. Copy the value of the jwt_token cookie
  4. Save it: export DUOLINGO_JWT="your_token_here"

Alternatively the user can provide their username only — a subset of public stats is available without auth.


Base URL

https://www.duolingo.com/2017-06-30

All requests should include:

Accept: application/json
Content-Type: application/json
Authorization: Bearer $DUOLINGO_JWT   # omit if unauthenticated

Fetch user profile and streak

curl -s "https://www.duolingo.com/2017-06-30/users?username=USERNAME&fields=streak,xpGoal,xpGoalMetToday,lingots,totalXp,currentCourse,courses,streakData" \
  -H "Authorization: Bearer $DUOLINGO_JWT" \
  -H "Accept: application/json"

Key fields to surface:

Field Meaning
streak Current day streak
streakData.currentStreak.length Days in current streak
streakData.longestStreak.length All-time longest streak
totalXp Lifetime XP
xpGoal Daily XP goal
xpGoalMetToday Whether today's goal is met (bool)
courses[].xp XP per language course
courses[].crowns Crowns earned per course
courses[].title Language name

Fetch leaderboard / league info

# Get user ID first from profile, then:
curl -s "https://duolingo-leaderboards-prod.duolingo.com/leaderboards/7d9f5dd1-8423-491a-91f2-2532052038d8/users/USER_ID?get_users_only=true" \
  -H "Authorization: Bearer $DUOLINGO_JWT"

League tiers (low → high): Bronze, Silver, Gold, Sapphire, Ruby, Emerald, Amethyst, Pearl, Obsidian, Diamond.


Fetch XP summary (last 7 days)

curl -s "https://www.duolingo.com/2017-06-30/users/USER_ID/xp_summaries?startDate=YYYY-MM-DD" \
  -H "Authorization: Bearer $DUOLINGO_JWT"

Set startDate to 7 days ago. Returns daily XP totals — use these to show a mini chart or bar summary.


Displaying results

Present stats in this format:

🔥 Streak: 47 days  (longest: 93 days)
⭐ Today: 150 XP / 100 XP goal ✓
📚 Active course: Spanish (es) — 3,420 XP, 42 crowns
🏆 League: Gold  |  Weekly XP: 892

Weekly XP:
Mon ████████ 180
Tue ██████   120
Wed █████    100
Thu ████████ 160
Fri ██████   132
Sat ███      60 
Sun ████████ 140

If the daily goal is not yet met, flag it clearly so the user knows to practice today.


Public stats (no auth required)

For users who don't want to share their JWT, these endpoints work without auth for public profiles:

curl -s "https://www.duolingo.com/users/USERNAME" \
  -H "Accept: application/json"

Returns streak, learning_language, level, totalXp, courses. Fewer fields but sufficient for a quick summary.


Common issues

Problem Fix
401 Unauthorized JWT expired — user needs to re-copy token from browser
Empty streak data User hasn't practiced in 7+ days (streak likely 0)
Username not found Check exact username (case-sensitive) on duolingo.com/profile
Rate limited (429) Wait 60 seconds before retrying

Privacy note

Always remind the user that their JWT token is sensitive — treat it like a password. Never log it or include it in outputs.

安全使用建议
This skill is mostly coherent for its stated purpose, but a few issues warrant caution: - Metadata/manifest problems: the registry shows 'Required env vars: [object Object]' which looks like a serialization bug — ask the publisher or inspect the source to confirm the exact env requirements before proceeding. - Unnecessary requirement: the skill declares python3 as required but the instructions only show curl/bash usage. Ask why python3 is listed or prefer a version that omits it. - Sensitive token: full/private stats require your browser jwt_token (DUOLINGO_JWT). Treat this like a password: do not paste it into public chat, logs, or third-party services. Use the unauthenticated endpoints (public profile) if you don't want to share the token. - Source provenance: the skill has unknown source and no homepage. Prefer skills from known maintainers or that include source code you can inspect. - Operational notes: endpoints used are Duolingo domains (including a leaderboards domain) — verify those exact domains if you have concerns. If you ever suspect compromise, revoke sessions from your Duolingo account (logout everywhere) to invalidate the JWT. Before installing or enabling this skill, ask the publisher for the source code or a clear explanation why python3 is required and request corrected registry metadata. If you must provide DUOLINGO_JWT, consider creating a throwaway account or limit sharing to local, trusted environments only.
功能分析
Type: OpenClaw Skill Name: duolingo-tracker Version: 0.1.0 The duolingo-tracker skill is designed to fetch and display user learning statistics from Duolingo's unofficial API. It requires a user-provided session token (DUOLINGO_JWT) but uses it exclusively for legitimate requests to Duolingo domains (duolingo.com). The SKILL.md file provides transparent instructions, includes a privacy warning about token sensitivity, and lacks any indicators of data exfiltration, malicious execution, or prompt injection.
能力评估
Purpose & Capability
Skill name/description match the runtime instructions: it queries Duolingo web endpoints to retrieve streak, XP, courses, and leaderboard info. However, the declared required binaries include python3 even though SKILL.md only demonstrates curl/bash usage — python3 appears unnecessary.
Instruction Scope
SKILL.md limits actions to Duolingo web endpoints and describes a manual one-time step to copy the jwt_token cookie from the browser. It does not instruct the agent to read unrelated files, system configs, or other environment variables.
Install Mechanism
No install spec or code files are present (instruction-only), so nothing is written to disk by the skill itself — this is low-risk from an installation perspective.
Credentials
The only sensitive credential referenced in SKILL.md is DUOLINGO_JWT, which is appropriate for private Duolingo data. However, the registry metadata shows a corrupted/ambiguous 'Required env vars: [object Object]' entry (metadata integrity issue). Also the optional DUOLINGO_JWT is sensitive and users must be cautioned not to paste it into chat or logs.
Persistence & Privilege
Skill is not always-enabled and is user-invokable; it does not request persistent system-wide privileges or configuration changes.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install duolingo-tracker
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /duolingo-tracker 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
Initial public release with core Duolingo tracking functionality: - Fetches and displays Duolingo stats: streak, XP, daily goals, course progress, and weekly XP summaries. - Supports both authenticated (JWT token) and public (username only) stats. - Retrieves current league/tier information and presents progress in a concise summary format. - Includes setup instructions for authentication using browser cookie. - Handles common error cases and reminds users to keep tokens private.
元数据
Slug duolingo-tracker
版本 0.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Duolingo Tracker 是什么?

Fetch and display Duolingo learning stats: streak, XP, league, level, course progress, and daily/weekly summaries. Use this skill whenever the user asks abou... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 101 次。

如何安装 Duolingo Tracker?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install duolingo-tracker」即可一键安装,无需额外配置。

Duolingo Tracker 是免费的吗?

是的,Duolingo Tracker 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Duolingo Tracker 支持哪些平台?

Duolingo Tracker 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Duolingo Tracker?

由 The Mooorish(@elmoorish)开发并维护,当前版本 v0.1.0。

💬 留言讨论