Agent skill

Learn

by umputun in umputun/cc-thingz

Update project CLAUDE.md with strategic knowledge discovered during this session — or CLAUDE.local.md when the discovery is per-developer/per-checkout and that file already exists.

MITAuto-check: warningsAgent Workflows

Install Learn

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add umputun/cc-thingz --skill learn -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install umputun/cc-thingz learn --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/umputun/cc-thingz.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/workflow/skills/learn .claude/skills/learn && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
learn
GitHub stars
483
Token cost
~2.1k tokens
SKILL.md length
923 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

Update project CLAUDE.md with strategic knowledge discovered during this session — or CLAUDE.local.md when the discovery is per-developer/per-checkout and that file already exists.

  • Works in 6 steps: Check for Existing Memory-Placement… → Check Existing Memory Content → Early Exit if Nothing Found → …
  • User says learn
  • SKILL.md covers Analysis Process, Destinations, What Qualifies and Decision Criteria, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Learn is an agent skill from umputun/cc-thingz. Update project CLAUDE.md with strategic knowledge discovered during this session — or CLAUDE.local.md when the discovery is per-developer/per-checkout and that file already exists. Defers to any project- or user-defined memory-placement guidance instead of overriding it. Use when user says "learn", "save knowledge", "update claude.md", "capture learnings", or at end of significant work sessions. Also used by commit skill for pre-commit knowledge capture.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Agent instruction files. The repository describes itself as: various things for claude code. The licence is MIT.

When your agent uses it

  • User says learn
  • Update claude.md
  • Capture learnings
  • At end of significant work sessions

Example prompts

  • “save knowledge”
  • “update claude.md”
  • “capture learnings”
  • “/learn”

Requirements

  • Pre-approved tools (allowed-tools): Read, Edit, Glob, AskUserQuestion

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Check for Existing Memory-Placement Guidance
  2. Check Existing Memory Content
  3. Early Exit if Nothing Found
  4. Classify Each Discovery
  5. New Knowledge to Add
  6. User Confirmation with AskUserQuestion Tool

What it can do on your machine

Read from SKILL.md and the folder at commit 99e1c8d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Edit
    • Glob
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml and markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Learn loads about 2.1k tokens when it runs. Until then it costs about 116 tokens; SKILL.md has 923 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~116
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:43
    -example:** *"We keep credentials in `~/.aws/credentials`"* mentions a user-home path but describes a team-wide conventi

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from umputun/cc-thingz at commit 99e1c8d, republished under its MIT licence (© umputun). 923 words, ~2,150 tokens.

Download SKILL.mdSave it as .claude/skills/learn/SKILL.md (or your agent's skills folder).
name
learn
description
Update project CLAUDE.md with strategic knowledge discovered during this session — or CLAUDE.local.md when the discovery is per-developer/per-checkout and that file already exists. Defers to any project- or user-defined memory-placement guidance instead of overriding it. Use when user says "learn", "save knowledge", "update claude.md", "capture learnings", or at end of significant work sessions. Also used by commit skill for pre-commit knowledge capture.
allowed-tools
Read, Edit, Glob, AskUserQuestion

Learn

Review the current conversation history and identify strategic, reusable project knowledge that should be captured in the project CLAUDE.md file. When the project has opted into Claude Code's three-tier memory convention by creating CLAUDE.local.md, route genuinely personal or environment-specific discoveries there instead.

Analysis Process

  1. Review Session History

    • Examine all files read and modified during this session
    • Identify patterns discovered while working on tasks
    • Note architectural insights gained from exploring the codebase
  2. Extract Strategic Knowledge

    • Filter out tactical details (bug fixes, specific implementations)
    • Focus on reusable patterns and project structure
    • Identify conventions and architectural decisions
  3. Categorize Findings

    • Project architecture and structure
    • Data flow patterns
    • External service integrations
    • Project-specific conventions
    • Key dependencies and their purposes
    • Configuration patterns
    • Testing strategies
    • Build and deployment processes
    • Operational knowledge (debugging, DevOps)

Destinations

This skill writes to one of two files in the project root:

  • CLAUDE.md (project memory, committed, team-shared) — the default destination. Use for architecture, conventions, integration patterns, and any other knowledge useful to the whole team.

  • CLAUDE.local.md (local memory, gitignored personal overrides) — used only when both conditions hold:

    1. CLAUDE.local.md already exists in the project (the project has opted into the three-tier memory convention).
    2. The discovery describes per-developer / per-checkout state — not just mentions something personal, but the knowledge itself is meaningful only to the current developer on this machine. Examples: a tool-loading workaround that depends on this developer's interpreter / runtime setup, a personal alias, a per-checkout env override.

    Counter-example: "We keep credentials in ~/.aws/credentials" mentions a user-home path but describes a team-wide convention — the path is illustrative, not per-developer state. Such notes belong in project CLAUDE.md. When in doubt about whether a discovery is genuinely personal, default to project CLAUDE.md.

This skill never writes to the user's global ~/.claude/CLAUDE.md (user memory) — only reads it to avoid duplicating cross-project knowledge.

Default for ambiguous cases: project CLAUDE.md. Leaking personal config into a committed file is a loud error that reviewers catch quickly; hiding project-wide knowledge in a gitignored personal file is a silent error that rots over time.

What Qualifies

INCLUDE - Strategic discoveries from this session:

  • Architectural patterns uncovered while working
  • Project structure insights gained from navigation
  • Conventions noticed across multiple files
  • Integration patterns discovered
  • Configuration approaches identified
  • Testing strategies observed
  • Build/deployment processes encountered
  • Performance optimizations found
  • Security implementations discovered
  • Operational knowledge:
    • Database locations and connection details per environment
    • Useful queries discovered during debugging
    • Testing procedures and verification steps
    • Deployment workflows and commands
    • Log locations and monitoring endpoints
    • Environment-specific quirks and gotchas

EXCLUDE - Session-specific tactical work:

  • The specific bug we fixed
  • The particular feature we implemented
  • Temporary workarounds we used
  • One-off code changes
  • TODO items we encountered
  • Historical context about changes

Decision Criteria

Ask yourself for each discovery:

  • "Will this help understand the project in 6 months?"
  • "Is this a pattern that appears multiple times?"
  • "Does this represent a project-wide convention?"
  • "Would knowing this speed up future development?"
  • "Would this save debugging time in the future?" (for operational knowledge)

Workflow

1. Check for Existing Memory-Placement Guidance

Before applying the routing rules below, scan the project's root CLAUDE.md, any .claude/rules/*.md files, the user's global ~/.claude/CLAUDE.md, and any ~/.claude/rules/*.md files for documented memory-placement guidance — for example, a placement decision tree, an instruction to use a project-specific triage command, or specific destinations beyond CLAUDE.md / CLAUDE.local.md. If such guidance exists, defer to it: follow the documented workflow or place each discovery according to its rules instead of using this skill's defaults. The remaining steps apply only when no such guidance is found.

Show full SKILL.md (347 more words)Show less
2. Check Existing Memory Content

Read the current content of project CLAUDE.md, CLAUDE.local.md (if present), and the user's global ~/.claude/CLAUDE.md to avoid duplication — including cross-project entries already captured in user memory.

3. Early Exit if Nothing Found

If no new strategic knowledge was discovered during this session:

  • Report "no new strategic knowledge to capture"
  • Do NOT use AskUserQuestion tool
  • End the skill execution
4. Classify Each Discovery

For each discovery, determine its destination per the Destinations rules: default to project CLAUDE.md, and route to CLAUDE.local.md only when both file-exists and personal-content criteria are met (and the counter-example caveat doesn't apply).

5. New Knowledge to Add

Present discovered knowledge formatted for the chosen destination, tagging each block with its inferred file:

markdown
## [Section Name] → project CLAUDE.md
- Discovery 1
- Discovery 2
6. User Confirmation with AskUserQuestion Tool

CRITICAL: Use AskUserQuestion tool for granular selection of what to save.

Build options dynamically based on discoveries:

  • First option: "All knowledge" - save everything to its inferred destination
  • Last option before custom: "None" - skip saving entirely
  • Middle options: Individual knowledge items (up to 2-3 most significant), each labelled with its inferred destination
  • User can always type custom selection via "Other"

Example with 3 discoveries (2 project, 1 personal):

yaml
question: "Which knowledge should I save?"
options:
  - label: "All (3 items)"
    description: "Save all discovered patterns to their inferred destinations"
  - label: "Service discovery pattern → project CLAUDE.md"
    description: "Project-wide convention for how modules find each other"
  - label: "Local toolchain variant → CLAUDE.local.md"
    description: "Per-checkout build runner override (only relevant on this machine)"
  - label: "None"
    description: "Skip saving, nothing worth keeping"

Example with 1 discovery:

yaml
question: "Save this knowledge?"
options:
  - label: "Yes → project CLAUDE.md"
    description: "Save: [brief description of the discovery]"
  - label: "No"
    description: "Skip saving"

After user selection:

  • "All" -> save everything to its inferred destination
  • "None" -> end without saving
  • Specific item -> save only that item, to the inferred destination shown in the label
  • "Other" -> user types custom selection of which discoveries to save (comma-separated item names). Destinations follow the labels shown — "Other" does NOT redirect a destination to an arbitrary path. To override a routing decision, the user should decline the auto-classification, edit the destination file manually, or re-invoke the skill with explicit instructions.

Important Guidelines

  • Only capture genuinely new discoveries from this session
  • Don't duplicate existing project CLAUDE.md, CLAUDE.local.md, or user CLAUDE.md content
  • Focus on patterns observed, not specific code written
  • Keep descriptions concise and actionable
  • MUST use AskUserQuestion tool for confirmation (not plain text questions)
  • If no knowledge found, exit early without asking
  • Defer to project- or user-level memory-placement guidance discovered in step 1 — do not override existing conventions with this skill's defaults

© umputun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/workflow/skills/learn of umputun/cc-thingz.

Open the folder on GitHubat commit 99e1c8d

Compare with similar skills

Learn next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Learn compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Learn this skillumputun/cc-thingz483—~2.1kAutomated safety check: WarnMIT
Using Agent Skillsaddyosmani/agent-skills102k4 repos~2.4kAutomated safety check: PassMIT
Claude ReflectBayramAnnakov/claude-reflect1.7k2 repos~627Automated safety check: PassMIT
Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills21k—~1.9kAutomated safety check: PassMIT
Task Observerrebelytics/one-skill-to-rule-them-all3.2k1 repos~12kAutomated safety check: PassCC-BY-4.0
Writing For Agentsbestofjs/bestofjs3.1k17 repos~2.7kAutomated safety check: PassMIT

Similar skills

  • Using Agent Skills

    addyosmani/agent-skills

    Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.

    102k GitHub starsUsed in 4 repos~2.4k tokens
    Agent WorkflowsAuto-check passed
  • Claude Reflect

    BayramAnnakov/claude-reflect

    Self-learning system that captures corrections during sessions and reminds users to run /reflect to update CLAUDE.md.

    1.7k GitHub starsUsed in 2 repos~627 tokens
    Agent WorkflowsAuto-check passed
  • Neat-Freak Knowledge Closeout

    KKKKhazix/khazix-skills

    Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.

    21k GitHub stars~1.9k tokensUpdated 6 days ago
    Agent WorkflowsAuto-check passed
  • Task Observer

    rebelytics/one-skill-to-rule-them-all

    Monitors task execution for skill improvement opportunities.

    3.2k GitHub starsUsed in 1 repo~12k tokens
    Agent WorkflowsAuto-check passed
  • Writing For Agents

    bestofjs/bestofjs

    Writing documents for agents. An agent skill from bestofjs/bestofjs.

    3.1k GitHub starsUsed in 17 repos~2.7k tokens
    Agent WorkflowsAuto-check passed
  • SkillOpt Sleep Cycle

    microsoft/SkillOpt

    Official

    Runs an on-demand or nightly sleep cycle that reviews past Claude Code sessions and proposes validated updates to CLAUDE.md and skills.

    18k GitHub stars~2.3k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

More from umputun/cc-thingz

All 16 skills in this repo
  • Exec

    umputun/cc-thingz

    Execute plan tasks sequentially using subagents. An agent skill from umputun/cc-thingz.

    483 GitHub stars~8k tokensUpdated 2 days ago
    Auto-check passed
  • New

    umputun/cc-thingz

    A skill your agent uses when user asks to create a release, cut a release, or publish a version.

    483 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check: notes
  • Root Cause Investigator

    umputun/cc-thingz

    Systematic root cause analysis for errors, bugs, and unexpected behaviors using 5-Why methodology.

    483 GitHub stars~879 tokensUpdated 2 days ago
    Auto-check passed
  • Ask Codex

    umputun/cc-thingz

    Consult OpenAI Codex for investigation, debugging, or code review.

    483 GitHub stars~2.6k tokensUpdated 2 days ago
    Auto-check: notes
  • Backlog

    umputun/cc-thingz

    Read, work, and maintain a Git repo's deferred-work items in docs/backlog/, one file per item.

    483 GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check: notes
  • Brainstorm

    umputun/cc-thingz

    Use before any creative work or significant changes. An agent skill from umputun/cc-thingz.

    483 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check: notes

Categories

Questions about Learn

What does Learn do?

Update project CLAUDE.md with strategic knowledge discovered during this session — or CLAUDE.local.md when the discovery is per-developer/per-checkout and that file already exists. Learn is an agent skill from umputun/cc-thingz.md when the discovery is per-developer/per-checkout and that file already exists.

When should I use Learn?

Learn fits situations like: user says learn; update claude.md; capture learnings; at end of significant work sessions.

How do I install Learn in Claude Code?

Run `npx skills add umputun/cc-thingz --skill learn -a claude-code`. Or copy the skill folder (plugins/workflow/skills/learn in umputun/cc-thingz) into .claude/skills/learn in your project. Claude Code loads it when a task matches its description.

How do I install Learn in Codex?

Run `npx skills add umputun/cc-thingz --skill learn -a codex`. Or copy the skill folder (plugins/workflow/skills/learn in umputun/cc-thingz) into .agents/skills/learn in your project. Codex loads it when a task matches its description.

Can I use Learn in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add umputun/cc-thingz --skill learn -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/learn, .gemini/skills/learn, .github/skills/learn and .opencode/skills/learn in your project.

What does Learn need to run?

SKILL.md names no scripts, command-line tools or credentials: Learn is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Edit, Glob, AskUserQuestion.

Does Learn access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Learn safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Learn use?

Learn is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Learn use?

About 2.1k tokens (SKILL.md is roughly 8.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Learn?

Skills that share tags, products or a category with Learn: Using Agent Skills (addyosmani/agent-skills, 102k stars), Claude Reflect (BayramAnnakov/claude-reflect, 1.7k stars), Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars) and Task Observer (rebelytics/one-skill-to-rule-them-all, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Learn?

umputun (a GitHub user) maintains it in umputun/cc-thingz, which has 483 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 5, 2026.

Source: umputun/cc-thingz on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.