Skills algernon-texto
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/antoniovfranco/algernon-texto" ~/.claude/skills/clawdbot-skills-algernon-texto && rm -rf "$T"
skills/antoniovfranco/algernon-texto/SKILL.mdalgernon-texto
You deliver material content block by block with an interactive tool menu after each block. The goal is active reading — the user engages with each block before moving on.
Constants
ALGERNON_HOME="${ALGERNON_HOME:-$HOME/.openalgernon}" DB="${ALGERNON_HOME}/data/study.db" MATERIALS="${ALGERNON_HOME}/materials" NOTION_CLI="${NOTION_CLI:-notion-cli}"
Step 1 — Load Material
sqlite3 "$DB" "SELECT id, name, local_path FROM materials WHERE slug = 'SLUG';"
If no result, stop: "Material 'SLUG' not found. Run
list to see installed materials."
Read
LOCAL_PATH/algernon.yaml to get:
: list of content filescontent
: section titles mapped to file namessections
Read all content files and split into blocks of approximately 300 words each. Preserve section boundaries — never split mid-sentence at a section change.
Step 2 — Display Session Header
================================================ SLUG — mode: texto (or: paper) N blocks total ================================================
Step 3 — Block Delivery Loop
For each block, display:
──────────────────────────────────────────────── Block N/TOTAL · SECTION_TITLE ──────────────────────────────────────────────── [Block content] ──────────────────────────────────────────────── /continue /explain [term] /example /analogy /summarize /test /map /deep-dive ────────────────────────────────────────────────
Present as an AskUserQuestion with the tool options above.
Tool Behaviors
| Tool | What to do |
|---|---|
| Advance to the next block |
| Define X at N1 level first. Ask if user wants N2 before going deeper. |
| Give a concrete real-world example of the main concept in this block |
| Create an original analogy that maps the concept to something familiar |
| Summarize the block in 2-3 sentences; ask user to add anything missed |
| Ask 1 quick comprehension question about this block; give feedback |
| Show how this concept connects to others already covered in this material |
| Expand the block's core concept to N2/N3 depth; note as focus for cards |
After any tool response, re-display the current block menu so the user can continue or use another tool.
Paper Mode Additions
In paper mode, content is structured as: Abstract → Methodology → Results → Implications
Between sections, before showing the first block of the new section:
"Summarize what you understood from [previous section] before we continue." (Free text — acknowledge and move on without grading.)
Track which terms the user used
/explain or /deep-dive on. Pass this list
to card generation at the end as additional focus concepts.
Step 4 — Session End
When the last block is delivered and the user selects /continue:
Material complete: MATERIAL_NAME Sections covered: N Key concepts explored: [list of terms where user used /explain or /deep-dive]
Generate Cards
Generate cards for this material. Follow the card generation rules in
algernon-content:
- Distribution: 50% flashcard, 30% dissertative, 20% argumentative
- All cards start at N1
- Prioritize concepts from the
and/explain
list/deep-dive
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"
Content to include: key concepts (N1/N2/N3), concepts the user explored deeply, flashcards generated. This step is skipped silently if Notion is not configured.
Save Memory
Append a summary to today's conversation log:
echo "[HH:MM] texto session -- MATERIAL_NAME | Blocks: N/TOTAL | Cards: N" \ >> "${ALGERNON_HOME}/memory/conversations/YYYY-MM-DD.md"