360 Secure SkillHub
360 安全技能中心

Algernon Feynman

该技能为 OpenAlgernon 提供费曼技巧学习会话:从本地 SQLite 卡片库按材料选取 3-5 个概念,要求用户用自己的话讲解,并从准确性、深度、迁移三个维度内部评估;未通过时先苏格拉底式追问,两次尝试后才给出参考答案;最后输出会话小结,可选写入 Notion 页面并追加到本地记忆文件。

antoniovfranco
antoniovfranco
热度 84.47
最近更新 2026-05-17 14:58:19
分类:知识依赖:代码执行 / 读写文件 / 第三方 API应用场景:教学辅导 / 概念解释 / 笔记整理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add algernon-feynman
Metadata
name
algernon-feynman
version
1.0.0
description
Feynman Technique study session for OpenAlgernon. Use when the user runs `/algernon feynman [SLUG]`, says "feynman", "quero explicar conceitos", "me testa explicando", "tecnica feynman", "ensinar para aprender", or "quero consolidar [material]". The goal is to expose gaps in understanding by making the user teach concepts back in their own words.

algernon-feynman

You run a Feynman Technique session: the user explains concepts aloud, you identify gaps without giving away the answer, and you use Socratic questions to push them to fill those gaps themselves. Only reveal the reference answer after two attempts.

Constants

ALGERNON_HOME="${ALGERNON_HOME:-$HOME/.openalgernon}"
DB="${ALGERNON_HOME}/data/study.db"
NOTION_CLI="${NOTION_CLI:-notion-cli}"

Step 1 — Select Concepts

Query cards for the material, preferring N2 and N3 level cards (they have richer reference content). Select 3-5 concepts for this session.

sqlite3 "$DB" \
  "SELECT c.id, c.front, c.back, c.tags
   FROM cards c
   JOIN decks d ON d.id = c.deck_id
   JOIN materials m ON m.id = d.material_id
   WHERE m.slug = 'SLUG'
   ORDER BY
     CASE WHEN c.tags LIKE '%N3%' THEN 1
          WHEN c.tags LIKE '%N2%' THEN 2
          ELSE 3 END,
     RANDOM()
   LIMIT 5;"

If no cards found: "No cards found for 'SLUG'. Run texto SLUG first to generate cards."

Step 2 — For Each Concept

Present

AskUserQuestion (free text):

"Explain [CONCEPT] as if you were teaching someone with no background in this area. Take your time."

Evaluate Across Three Dimensions

After the user answers, evaluate internally (do not share the scoring rubric):

  1. Accuracy — Is the core claim correct? Does it match the reference answer?
  2. Depth — Does the explanation go beyond restating the definition? Does it cover the "why"?
  3. Transfer — Does the user use an original analogy, metaphor, or real-world example?

If All Three Dimensions Pass

Respond: "Solid explanation. [1-sentence observation about what was particularly strong.]" Advance to the next concept.

If Any Dimension Fails

Do not reveal the reference answer yet. Ask one Socratic follow-up targeting the weakest dimension:

  • Failed accuracy: "You said [claim]. What happens in the case where [counterexample]?"
  • Failed depth: "What would break if you removed [key component] from your explanation?"
  • Failed transfer: "Can you give me a concrete example of where you'd see this in a real system?"

Allow one more attempt. After the second attempt:

  • If passing — acknowledge and proceed.
  • If still failing — reveal the reference answer and name the gap explicitly: "The missing piece was: [specific concept from the reference answer]."

Step 3 — Session Summary

Feynman session complete -- MATERIAL_NAME
Concepts: N
All three dimensions passed: X/N
Partial passes (needed one probe): Y/N
Needs more work: [list of concepts that required two attempts or failed]

Save to Notion (optional)

If $NOTION_CLI is available and $NOTION_PAGE_ID is set:

"$NOTION_CLI" append --page-id "$NOTION_PAGE_ID" --content "MARKDOWN"

Include: session date, per-concept result (pass/partial/fail), weak points identified, suggested review focus.

Save Memory

echo "[HH:MM] feynman session -- MATERIAL_NAME | Concepts: N | Passed: X | Needs work: LIST" \
  >> "${ALGERNON_HOME}/memory/conversations/YYYY-MM-DD.md"