journal — Claude Code skill: a learning log for what clicked and what didn't
The skill saves short notes about what you understood or got stuck on, appending them to progress/journal.md. Useful when you want a learning diary without the ceremony.
npx skills add TakaGoto/rag-learning-academy --skill journal -a claude-codeWhat journal does
Pass your thought along with the command and the skill files it under one of five labels: insight, confusion, question, idea or note. Call it with no text and it asks what is on your mind. Entries go to the end of progress/journal.md, which gets created on first use. The layout is a heading with the date and category, followed by your own words.
Nothing gets rewritten or tidied up. The journal is yours, so the reply afterwards stays brief: a nod for a note, encouragement for an idea, an offer to /explain a topic you flagged as confusing. It will not lecture unless you ask for it.
One catch: the file path is relative to where you run the skill, so start from the project root. The slash commands the skill points to (/explain, /lesson, /roadmap, /sandbox) ship in the same rag-learning-academy set; without that set the suggestions lead nowhere.
What it helps with
- jot down a realisation while it is still fresh
- park an open question for later instead of losing it
- mark the exact spot where you got stuck
- record a project idea you want to try
- keep a record of your learning in one file
Example prompts for the agent
- /journal embeddings finally make sense — they are just coordinates in meaning space
- /journal I still do not get why RAG needs a reranker
- /journal want to try building search over my own notes later
How to install journal
1Skills CLI (Vercel)
npx skills add TakaGoto/rag-learning-academy --skill journal -a claude-code2Manually: put the files in place
~/.claude/skills/journal/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/journal/
1Skills CLI (Vercel)
npx skills add TakaGoto/rag-learning-academy --skill journal -a codex2Manually: put the files in place
.agents/skills/journal/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add TakaGoto/rag-learning-academy --skill journal -a cursor2Manually: put the files in place
.cursor/skills/journal/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install TakaGoto/rag-learning-academy journal2Manually: put the files in place
.github/skills/journal/SKILL.md1Skills CLI (Vercel)
npx skills add TakaGoto/rag-learning-academy --skill journal -a gemini-cli2Platform CLI
gemini skills install https://github.com/TakaGoto/rag-learning-academy --path .claude/skills/journalManually: put the files in place
.devin/skills/journal/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add TakaGoto/rag-learning-academy --skill journal -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about journal
How do I install journal in Claude Code?
Run npx skills add TakaGoto/rag-learning-academy --skill journal -a claude-code; the skill then sits at ~/.claude/skills/journal/SKILL.md.
What does journal do?
It takes a short piece of text, picks a category for it, and appends the entry to progress/journal.md in your original wording.
Where are entries stored?
In progress/journal.md under the current directory; the skill creates the file when it is missing.
Source text
SKILL.md · MIT
--- name: journal description: "Write a quick note about what you learned or what confused you" --- # Journal: Capture Your Thoughts A lightweight way for learners to jot down what clicked, what confused them, or what they want to revisit. These notes feed back into the curriculum director's recommendations. ## Step 1: Get the Entry If the learner provides text with the command (e.g., `/journal embeddings finally make sense — it's just coordinates in meaning space`), use that directly. If no text is provided, prompt: "What's on your mind? Could be something that clicked, something confusing, a question for later, or just a note to yourself." ## Step 2: Categorize Tag the entry with one of these categories based on content: - **insight** — something that clicked or a connection they made - **confusion** — something they don't understand yet - **question** — something they want to explore later - **idea** — a project idea or experiment they want to try - **note** — general observation ## Step 3: Save the Entry Append to `progress/journal.md`. Create the file if it doesn't exist. Format: ```markdown ### [date] — [category] [their entry text] ``` Keep their original words. Don't rewrite or polish — this is their voice, their notes. ## Step 4: Brief Response Keep it short. Respond based on the category: - **insight**: Acknowledge it. "Solid mental model. That analogy will serve you well when things get more complex." - **confusion**: Normalize it and offer help. "That's a common sticking point. Want me to `/explain [topic]` from a different angle?" - **question**: Acknowledge and bookmark. "Good question. We'll hit that in [relevant module]. Or run `/explain [topic]` now if you're curious." - **idea**: Encourage it. "That's worth trying. When you're ready, `/sandbox` can help you prototype it." - **note**: Just confirm. "Noted." Don't turn this into a teaching moment unless they ask. The journal is for *them*, not for the system. Suggest next steps if appropriate: - `/lesson` to continue learning - `/roadmap` to check your progress - `/explain [topic]` if a confusion entry points to a specific concept
© TakaGoto · MIT · TakaGoto/rag-learning-academy