openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > Algernon Sprint

Timed interleaved study sprint for OpenAlgernon. Use when the user runs `/algernon sprint [15|25|45]`, says "sprint de estudo", "sessao cronometrada", "25 mi...

开发与 DevOps

作者:Antonio V. Franco @antoniovfranco

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v1.0.0

统计:⭐ 0 · 34 · 0 current installs · 0 all-time installs

0

安装量(当前) 0

🛡 VirusTotal :可疑 · OpenClaw :可疑

Package:antoniovfranco/algernon-sprint

安全扫描(ClawHub)

  • VirusTotal :可疑
  • OpenClaw :可疑

OpenClaw 评估

The skill's runtime instructions reference and operate on a hard-coded, user-specific local SQLite database path and an undeclared DB environment variable, which is inconsistent with the published metadata and could access private local data without clear user configuration.

目的

The skill claims to run timed interleaved study sprints (reasonable), but the SKILL.md hard-codes DB=/home/antonio/.../vestibular.db and uses sqlite3 queries against that file. A general-purpose 'sprint' skill should not assume a specific user's filesystem path or require direct access to an undeclared local DB. The required schema (cards, card_state, materials, etc.) is also assumed but not documented in metadata.

说明范围

The instructions tell the agent to run sqlite3 against a local DB, select and shuffle cards, run FSRS scheduling, and append results to 'today's conversation log' — actions that read and write local data and rely on an unspecified conversation-log location. The SKILL.md uses an environment variable DB but the skill metadata lists no required env vars or config paths. These are concrete scope mismatches and could cause the agent to access unint…

安装机制

There is no install spec and no code files; this is instruction-only, so nothing will be written to disk by an installer. That lowers the installation risk compared with downloadable code.

证书

The runtime text defines DB as a path and uses it, but the skill declares no required environment variables or config paths. The skill therefore implicitly requires read/write access to a specific local file and to whatever location is used for the conversation log, which is disproportionate and undocumented.

持久

The skill does not request always:true and has no special persistence or elevated platform privileges in the provided metadata.

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Algernon Sprint」。简介:Timed interleaved study sprint for OpenAlgernon. Use when the user runs `/alger…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/antoniovfranco/algernon-sprint/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: algernon-sprint
description: >
  Timed interleaved study sprint for OpenAlgernon. Use when the user runs
  `/algernon sprint [15|25|45]`, says "sprint de estudo", "sessao cronometrada",
  "25 minutos de revisao", "modo pomodoro", "quero fazer um sprint", or
  "revisar varios materiais de uma vez". Cards from all installed materials are
  shuffled and interleaved. Ends with a post-sprint retrieval test to measure
  retention gain.
---

# algernon-sprint

You run a timed interleaved study sprint. Cards from all installed materials
are shuffled together — interleaving different topics is the point, because
it forces retrieval across contexts and strengthens long-term retention.

## Constants

```
DB=/home/antonio/Documents/huyawo/estudos/vestibular/data/vestibular.db
```

## Card Limits by Duration

| Duration | Max Cards |
|----------|-----------|
| 15 min   | 20 cards  |
| 25 min   | 35 cards  |
| 45 min   | 60 cards  |

## Step 1 — Plan the Sprint

Fetch due cards across all materials:

```bash
sqlite3 $DB 
  "SELECT c.id, c.type, c.front, c.back, m.name as material
   FROM cards c
   JOIN card_state cs ON cs.card_id = c.id
   JOIN decks d ON d.id = c.deck_id
   JOIN materials m ON m.id = d.material_id
   WHERE cs.due_date <= date('now')
   ORDER BY RANDOM()
   LIMIT CARD_LIMIT;"
```

Interleave: shuffle so no two consecutive cards come from the same material.
If there aren't enough due cards to fill the limit, use cards from the
same material twice rather than having fewer than ~15 cards for a 25-min sprint.

## Step 2 — Sprint Start

Display:
```
Sprint: [DURATION] minutes
Materials: [list of materials with at least one card]
Cards: [count]
```

AskUserQuestion: ["Start sprint"]
Record start time.

## Step 3 — Sprint Loop

Run the same card review flow as `algernon-review`:
- Flashcards: show front → reveal back → Again/Good
- Dissertative/Argumentative: show front → free-text answer → AI evaluate → Again/Good
- After each grade, run FSRS scheduling (see `algernon-review` for FSRS formulas)

After every 10 cards, display:
```
Cards remaining: N  |  Estimated time: X min
```

## Step 4 — Post-Sprint Break

After all cards reviewed:
```
Sprint complete. Take a 5-minute break.
Cards reviewed: N  |  Session retention: X%
```

AskUserQuestion: ["Start post-sprint test"]

## Step 5 — Post-Sprint Retrieval Test

Select 5 random cards from the cards reviewed in this sprint.
For each card:
1. Show only the front.
2. AskUserQuestion: ["Show answer"] — then show the back.
3. AskUserQuestion options: ["Again", "Good"]
4. Run FSRS update with the new grade.

Display:
```
Post-sprint test complete.
Sprint retention:      X%
Post-sprint retention: Y%
Session gain:          +Z%
```

The gain metric shows whether the sprint improved retention above what FSRS
predicted — a positive gain means the interleaved practice worked.

## Step 6 — Save Memory

Append to today's conversation log:
```
[HH:MM] sprint [DURATION]min
Cards: N | Sprint retention: X% | Post-sprint: Y% | Gain: +Z%
```