Learning Planner
Personal learning management system with goal setting, spaced repetition scheduling, and progress tracking. Use when: (1) setting learning goals and skill tr...
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 0 · 168 · 1 current installs · 1 all-time installs
byhaidong@harrylabsj
MIT-0
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
The stated purpose (local learning planner, spaced repetition, progress tracking) aligns with the code that is present: Python modules, SQLite usage, Click/Rich for CLI. However the registry/manifest claims 'instruction-only' / no install spec while SKILL.md instructs users to pip install -e . and to symlink a CLI entrypoint. More importantly, several referenced runtime files are missing from the bundle (e.g., src/learning_cli.py, src/learning_database/connection.py, src/learning_database/plans.py, src/learning_database/resources.py). The presence of code but missing required modules is an incoherence that may mean the package is incomplete or mispackaged.
Instruction Scope
SKILL.md instructs only local operations: pip install -e ., optional symlink to ~/.local/bin, and use of a local DB at ~/.config/learning-planner/learning.db. The runtime instructions do not request unrelated files, environment variables, or external endpoints. The provided test script runs the local CLI commands. No instructions demand access to secrets or system-wide config beyond normal file locations.
Install Mechanism
There is no registry install spec, but SKILL.md directs a standard pip editable install (setup.py) and optional symlink — a conventional install method. setup.py's install_requires are reasonable (click, rich). This is a moderate filesystem-writing action (package files and entrypoint installed). The main concern is that the registry indicated 'no install spec' while the SKILL.md expects installation; and the package's declared entrypoint (learning_cli.py) is missing from the files provided.
Credentials
The skill requests no environment variables or credentials. Data is stored locally under ~/.config/learning-planner/learning.db. There are no evident requests for unrelated credentials or network secrets in the provided files.
Persistence & Privilege
The skill does not request always:true and does not attempt to modify other skills or system-wide agent settings in the provided content. The SKILL.md suggests an optional symlink to put a CLI on PATH (user-level). The normal platform behavior allowing autonomous invocation is in effect, but that is not by itself suspicious here.
What to consider before installing
This skill appears to be a local CLI using SQLite and implements the features described, but the package is inconsistent or incomplete: several runtime files referenced by the code and package.json (for example src/learning_cli.py and src/learning_database/connection.py, plans.py, resources.py) are missing from the provided manifest. Before installing or running: (1) inspect the repository or the missing files (learning_cli.py and connection/plans/resources modules) to confirm their contents and that there are no network calls or credential exfiltration; (2) install in an isolated environment (virtualenv or container) rather than system-wide; (3) avoid running the provided test.sh until you've reviewed the CLI entrypoint; (4) if you rely on the agent invoking this skill autonomously and want additional safety, consider disabling autonomous invocation or review the full source first. If the missing files are provided by the publisher (or you find a trustworthy repo), the design looks coherent and local-only; if not, treat this package as incomplete and do not run it.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.1
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
Learning Planner - 学习规划师
个人学习管理系统,帮助设定学习目标、制定计划、跟踪进度,并提供间隔重复复习功能。
功能特性
1. 学习目标管理
- 技能树定义与分解
- 知识点层级管理
- 目标优先级设置
- 目标完成时间规划
2. 学习计划生成
- 每日学习任务生成
- 每周学习计划
- 计划自动调整
- 学习提醒设置
3. 进度跟踪与可视化
- 学习进度实时跟踪
- 进度可视化图表
- 学习时长统计
- 完成率分析
4. 间隔重复复习系统
- SM-2 算法实现
- 卡片式复习
- 自动 scheduling
- 遗忘曲线优化
5. 学习资源管理
- 资源链接收藏
- 资源分类管理
- 资源与知识点关联
- 资源使用统计
6. 学习成果评估
- 自我评估记录
- 测试成绩管理
- 学习效果分析
- 能力成长曲线
安装
cd ~/.openclaw/workspace/skills/learning-planner
pip install -e .
# 添加到 PATH (可选)
ln -s ~/.openclaw/workspace/skills/learning-planner/src/learning_cli.py ~/.local/bin/learning
使用方法
学习目标
# 创建学习目标
learning goal create "Python 编程" --description "掌握 Python 编程语言" --deadline 2024-12-31
# 创建子目标(知识点分解)
learning goal create "Python 基础语法" --parent 1 --priority high
learning goal create "Python 面向对象" --parent 1 --priority high
learning goal create "Python 高级特性" --parent 1 --priority medium
# 列出目标
learning goal list
# 查看目标详情
learning goal show 1
# 更新目标进度
learning goal progress 1 --percent 75
# 完成目标
learning goal complete 1
学习计划
# 生成今日学习计划
learning plan today
# 生成本周学习计划
learning plan week
# 查看计划
learning plan list
# 标记任务完成
learning plan complete 1
# 推迟任务
learning plan postpone 1 --days 1
间隔重复复习
# 创建复习卡片
learning card create "Python 列表推导式语法" --answer "[x for x in iterable if condition]" --tags python,basics
# 今日复习
learning review today
# 查看复习统计
learning review stats
# 手动调整卡片难度
learning card difficulty 1 --level hard
学习资源
# 添加资源
learning resource add "Python 官方文档" --url https://docs.python.org --type documentation --tags python
# 关联资源到目标
learning resource link 1 --goal 1
# 列出资源
learning resource list
# 搜索资源
learning resource search python
进度与报告
# 学习统计
learning stats
# 生成学习报告
learning report --days 30
# 查看技能树进度
learning tree
# 学习时长统计
learning time --days 7
数据存储
数据库位置:~/.config/learning-planner/learning.db
# 查看数据库路径
learning data path
技术栈
- Python 3.8+
- SQLite 数据存储
- Click (CLI 框架)
- Rich (终端美化)
- SM-2 间隔重复算法
数据模型
学习目标表 (goals)
{
id: int
title: str # 目标名称
description: str # 描述
parent_id: int # 父目标 ID
priority: str # 优先级: low, medium, high
status: str # 状态: active, completed, paused
progress: float # 进度 0-100
deadline: str # 截止日期
estimated_hours: int # 预估学习时长
completed_hours: int # 已完成时长
created_at: str
updated_at: str
}
学习计划表 (plans)
{
id: int
goal_id: int # 关联目标
title: str # 任务标题
description: str # 描述
scheduled_date: str # 计划日期
estimated_minutes: int # 预估时长(分钟)
status: str # 状态: pending, completed, postponed
completed_at: str # 完成时间
created_at: str
}
复习卡片表 (cards)
{
id: int
goal_id: int # 关联目标
front: str # 卡片正面(问题)
back: str # 卡片背面(答案)
tags: str # 标签
ease_factor: float # 难度系数
interval: int # 间隔天数
repetitions: int # 重复次数
next_review: str # 下次复习时间
last_review: str # 上次复习时间
created_at: str
}
复习记录表 (reviews)
{
id: int
card_id: int # 卡片 ID
quality: int # 评分 0-5
reviewed_at: str # 复习时间
time_spent: int # 用时(秒)
}
学习资源表 (resources)
{
id: int
title: str # 资源名称
url: str # 链接
resource_type: str # 类型: video, article, book, documentation
tags: str # 标签
goal_id: int # 关联目标
notes: str # 备注
created_at: str
}
学习时长记录表 (sessions)
{
id: int
goal_id: int # 关联目标
start_time: str # 开始时间
end_time: str # 结束时间
duration: int # 时长(分钟)
notes: str # 备注
}
SM-2 算法说明
间隔重复算法基于 SuperMemo-2 算法:
-
评分 (Quality): 0-5 分
- 5: 完美回答
- 4: 正确回答,犹豫
- 3: 正确回答,困难
- 2: 不正确,接近正确
- 1: 不正确,记得一点
- 0: 完全忘记
-
难度系数 (EF): 初始 2.5,范围 1.3-2.5
- EF' = EF + (0.1 - (5-q) * (0.08 + (5-q) * 0.02))
-
间隔天数:
- 第1次: 1天
- 第2次: 6天
- 第n次: 前间隔 * EF
Files
12 totalSelect a file
Select a file to preview.
Comments
Loading comments…
