← Back to Skills Marketplace
haodong-lei-ray

Bilingual Learning

by Haodong-Lei-Ray · GitHub ↗ · v1.1.1 · MIT-0
cross-platform ✓ Security Clean
69
Downloads
0
Stars
0
Active Installs
5
Versions
Install in OpenClaw
/install bilingual-learning
Description
双语学习 Skill - CN → EN。当用户使用此 skill 时,agent 会在最终输出前强制进行双语学习处理,包括难度调整、考试检测和双语输出。
README (SKILL.md)

Bilingual Learning Skill

Overview

双语学习 Skill,帮助用户在编码过程中被动学习英语。当 agent 使用此 skill 时,会根据难度设置在回答中穿插学习检测,让用户不知不觉中掌握英语单词。

When to Use This Skill

  • 用户在日常对话中想顺便学习英语
  • 用户需要被动接收英语生词
  • 需要定期检测用户词汇量

Architecture Flow

难度调整层 → 选择题型层 → 考试层 → 双语输出

1. 难度调整层 (Difficulty Layer)

控制考试触发频率:

等级 名称 考试触发率
rare 稀少 30%
medium 中等 50%
dense 密集 80%

2. 选择题型层 (Question Type Layer)

类型 名称 行为
pure_l1 检测生词层 直接执行检测层,不调用随机筛子
pure_l2 考考你层 直接执行测验层,不调用随机筛子
hybrid 混合型 两层都执行,但顺序随机打乱(调用随机筛子)

重要:只有 hybrid 模式才调用随机筛子打乱考试顺序。

3. 考试层 (Exam Layer)

检测生词层 (Detection Layer)

  • 偶尔混杂语言,双语输出
  • 检测用户不会哪些生词
  • 如果用户没听懂,告诉用户当前不会的词有哪些、意思是什么
  • 自动将这些词写入生词库
  • 让用户被动学习语言

考考你层 (Quiz Layer)

  • 从生词库随机抽取单词
  • 测试用户拼写

重要:考试层每层之间不能同时出现,必须按顺序执行。

4. 双语输出层 (Bilingual Output Layer)

在 agent 最终输出前强制双语处理。

Word Library Format

单词条目结构:

{
  "id": "a1b2c3d4",
  "name": "apple",
  "pos": "n.",
  "field": "fruit",
  "book": "default",
  "added_time": "2026-05-13 19:00:00"
}

字段说明:

  • id: 单词唯一标识 (UUID 前8位)
  • name: 单词本身
  • pos: 词性 (n./v./adj./adv. 等)
  • field: 领域 (tech/fruit/general 等)
  • book: 词书 (default/custom 等)
  • added_time: 入库时间

CLI Management

Add Word

python scripts/cli.py add \x3Cword> [pos] [field] [book]

Examples:

python scripts/cli.py add apple n. fruit default
python scripts/cli.py add algorithm n. tech cs

Delete Word

python scripts/cli.py delete \x3Cword> [-n|-k]
  • -n: 生词库 (new words)
  • -k: 熟词库 (known words)

Exchange Word (Transfer between libraries)

python scripts/cli.py exchange \x3Cword> [-n|-k]
  • 单词不能在生词库和熟词库中同时存在
  • 传递方向由源库决定

List Words

python scripts/cli.py list [-n|-k]

Clear Library

python scripts/cli.py clear [-n|-k]

Running Exam

python scripts/exam.py \x3Cdifficulty>

Example:

python scripts/exam.py medium
python scripts/exam.py rare
python scripts/exam.py dense

Random Dice

python scripts/dice.py
python scripts/dice.py demo

用于随机选择考试类型和触发考试。

Data Files

  • data/new_words.json - 生词库
  • data/known_words.json - 熟词库

Key Design Principles

  1. 被动学习: 用户不需要主动记忆,agent 会在对话中自然传递生词
  2. 检测驱动: 通过检测用户不会的词来更新生词库
  3. 难度可控: 三种难度等级适应不同学习阶段
  4. 防止重复: 一个单词不能同时存在于生词库和熟词库
Usage Guidance
Install this only if you want the agent to add bilingual learning checks to its answers. The reviewed artifacts show local word-list storage and local Python helper commands, but no network access, credential use, or hidden execution. Be aware that vocabulary history is persisted locally and can be cleared by the documented CLI commands.
Capability Analysis
Type: OpenClaw Skill Name: bilingual-learning Version: 1.1.1 The skill bundle implements a bilingual learning tool designed to help users learn English through passive interaction and quizzes. The Python code (core.py, cli.py, exam.py) uses standard libraries for local JSON file management and randomization, with no evidence of network exfiltration, shell command execution, or unauthorized file access. The instructions in SKILL.md are consistent with the stated educational purpose and do not attempt to subvert agent safety or access sensitive data.
Capability Assessment
Purpose & Capability
The stated purpose and included Python code are coherent: bilingual output, quizzes, and local word-list management. The skill intentionally changes answers when invoked.
Instruction Scope
The instructions use strong language about forcing bilingual processing before final output; this is disclosed and purpose-aligned, but users should expect normal responses to be modified while the skill is active.
Install Mechanism
There is no install spec and no declared required binaries, although the documentation provides Python helper commands. The README also references a scripts/skill.py file that is not present in the manifest, which looks like a packaging/documentation inconsistency rather than malicious behavior.
Credentials
No environment variables, credentials, network endpoints, package installs, shell installers, or privileged OS access are requested. File writes are scoped to the skill's local data directory.
Persistence & Privilege
The skill persists vocabulary state in local JSON files and provides delete/clear commands for those word lists. This is expected for the learning purpose and is scoped, but users should know it can alter stored learning data.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bilingual-learning
  3. After installation, invoke the skill by name or use /bilingual-learning
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.1
Copy updated files from source: SKILL.md, README.md, CHANGELOG.md. Keep data/config.json.
v1.1.0
Update: Only hybrid mode uses dice. pure_l1/pure_l2 execute directly without random.
v1.0.2
Update README with hybrid dice logic
v1.0.1
Fix: only hybrid mode uses dice for random shuffle
v1.0.0
Initial release
Metadata
Slug bilingual-learning
Version 1.1.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 5
Frequently Asked Questions

What is Bilingual Learning?

双语学习 Skill - CN → EN。当用户使用此 skill 时,agent 会在最终输出前强制进行双语学习处理,包括难度调整、考试检测和双语输出。 It is an AI Agent Skill for Claude Code / OpenClaw, with 69 downloads so far.

How do I install Bilingual Learning?

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

Is Bilingual Learning free?

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

Which platforms does Bilingual Learning support?

Bilingual Learning is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Bilingual Learning?

It is built and maintained by Haodong-Lei-Ray (@haodong-lei-ray); the current version is v1.1.1.

💬 Comments