Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Learn

ASecurity

Researches a topic from the web and adds it to the project's lode/ documentation. Use /learn <topic> to research official docs and persist findings. Supports --skill flag to output as a SKILL.md instead. Triggers on: learn about, research topic, add to lode from web, learn this, deep research.

2 stars
0 votes
0 copies
0 views
Added 10/6/2026
documentationbashgitapidocumentation

Works with

cliapi

Security Analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned 10/6/2026

$npx -y skills add e128/dotnet-reference --skill learn --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Learn?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Learn
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/e128-learn/badge)](https://www.skillsdirectory.com/skills/e128-learn)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: learn
description: >
  Researches a topic from the web and adds it to the project's lode/ documentation.
  Use /learn <topic> to research official docs and persist findings. Supports --skill flag
  to output as a SKILL.md instead.
  Triggers on: learn about, research topic, add to lode from web, learn this, deep research.
argument-hint: "<topic> [--skill [--global]]"
allowed-tools: Read, Glob, Grep, Bash, Write, Edit, Agent
---

# Learn Skill

Orchestrates research via the `sme-researcher` agent and persists findings.

**Arguments:** `$ARGUMENTS`

## Bounds

- **Research time**: ~2-3 minutes maximum
- **Sources**: Stop after 6 quality sources found
- **Tell sme-researcher in the prompt** to stop after 5 tool turns
- If sources found quickly, stop early, do not hunt for more

## Steps

### 1. Parse arguments

- Extract `<topic>` and optional flags (`--skill`, `--global`) from arguments.
- Normalize topic to **kebab-case** for file naming.
- If topic is empty, show usage examples and stop.

**Extended invocation: suggest improvements to an existing skill.**
The format `/learn <topic> and suggest improvements to the '<skill-name>' skill` is fully
supported. After writing the lode draft, read the named SKILL.md and present a diff-style
list of improvements drawn from the research findings. Ask "Apply these improvements?" before
making any changes. This pattern works for lode output only (not `--skill`).

### 2. Determine output target

Check if `lode/` exists (`Glob: lode/lode-map.md`):

| Condition | Output target |
|-----------|--------------|
| `lode/` exists, no `--skill` flag | **lode/** (default) |
| `--skill` flag provided | **SKILL.md** (project-local or `--global`) |
| No `lode/` and no `--skill` flag | **Prompt user**: create lode/, create as skill, or create as global skill |

**If lode/ exists:** Read `lode/lode-map.md` to identify any existing lode files related to the topic. Skim relevant ones so the researcher can focus on gaps, not already-documented ground.

### 3. Research via sme-researcher

**Bounds:**
- Stop after 6 quality sources (~2-3 minutes max)
- Tell sme-researcher in the prompt to stop after 5 tool turns
- If sources found quickly, stop early

Spawn the `sme-researcher` agent with this prompt. Limit it to 5 tool turns in the prompt text:

> Research `<topic>` for use in this project. Focus on official documentation. {output-specific instructions, see below}
>
> If any related lode files exist, note them and focus on gaps not yet covered.

**For lode output:** Instruct sme-researcher to return synthesized findings without writing files. Include: "Do NOT write files. Return your synthesized findings with source URLs and scrape dates so I can draft them into lode/tmp/."

**For skill output:** Instruct sme-researcher to return findings without persisting. Include: "Do NOT write files. Return your synthesized findings with source URLs and scrape dates so I can format them as a SKILL.md."

**Empty response handling:** The sme-researcher agent frequently completes its
research but returns an empty body on the first call (only agentId + usage metadata visible).
This is normal behaviour. If the Agent result contains no findings text:
1. Automatically resume the agent with `SendMessage` to its returned `agentId`
2. Prompt: "Please provide your complete synthesized findings on `<topic>`. Include all source URLs and key recommendations you researched."
3. Do NOT ask the user: handle the resume transparently.

### 4. Write draft (lode path) or skill output (--skill path)

**For lode output:** Write findings to `lode/tmp/<topic-kebab-case>.md` as a draft. Follow lode file conventions (timestamp, relative links). Then show the user a summary of the draft and ask:

**250-line enforcement:** Before writing, estimate content volume. If a single file would
exceed 250 lines, split at a natural topic boundary into two focused sub-files, write both
to `lode/tmp/` and promote both together. Never write a lode file over 250 lines.

**Mermaid diagrams:** Include Mermaid diagrams only where they add genuine architectural
clarity (e.g., data flows, state machines, pipeline stages). Do NOT add Mermaid to
config/reference docs where tables and code blocks are clearer.

> Draft saved to `lode/tmp/<topic>.md`. Promote to permanent lode?

On user approval:
1. Move the file from `lode/tmp/` to the appropriate location based on topic domain:
   - .NET patterns/tools -> `lode/dotnet/<topic>.md`
   - Infrastructure/tooling -> `lode/infrastructure/<topic>.md`
   - Cross-cutting concerns -> `lode/<topic>.md` (root level)
2. Update `lode/lode-map.md` to include the new entry in both Quick Reference and Directory Structure
3. Delete the tmp draft

Never create `lode/research/`: research findings are integrated into domain-specific directories.

If the user declines, leave the draft in `lode/tmp/` for later review. Note: `lode/tmp/` is git-ignored, so drafts will not be committed.

**For skill output:** Write findings directly to skill location:

**Location:**
- Default: `.claude/skills/<topic-kebab-case>/SKILL.md`
- With `--global`: `~/.claude/skills/<topic-kebab-case>/SKILL.md`

If a file already exists at that path, warn the user before overwriting.

**SKILL.md format:** Load `${CLAUDE_SKILL_DIR}/assets/skill-template.md` for the output structure. Adapt sections to fit, omit empty ones, add others if warranted. Rules:
- `name`: max 64 chars, lowercase + numbers + hyphens only
- Body: under 500 lines, imperative language, version-specific
- **Never fabricate APIs or features not found in sources**

### 5. Confirm

```
Learned: <topic>
Sources: <count> URLs scraped
Saved to: <path>   (or: Draft in lode/tmp/<topic>.md — awaiting promotion)
```

## Self-Improvement

After completing any research session:

1. **Record failed or blocked topics**: If a research topic returned no useful sources (paywalled, undocumented, too new), add a Troubleshooting note with the date and reason so future sessions do not repeat the search.
2. **Note already-covered topics**: If the user asked to research a topic already fully in lode/, add a Troubleshooting note (topic name + lode path) so future sessions surface the existing doc immediately.
3. **Update sme-researcher retry guidance**: If the empty-result resume pattern required more than one retry, or a different prompt formulation worked better, update the Troubleshooting section.
4. **Log source quality patterns**: If a particular site consistently provides high or low quality content for this domain, note it in Troubleshooting so sme-researcher can be guided accordingly.

## Troubleshooting

- **sme-researcher returns empty result**: this is normal. Resume with the returned agentId and prompt: "Please provide your complete synthesized findings on [topic]". Do not ask the user
- **Topic maps to an existing lode file**, read the existing file first to identify gaps. The researcher should focus on what is not yet documented, not re-document existing content
- **Draft file would exceed 250 lines**, split at a natural topic boundary into two focused sub-files and write both to `lode/tmp/`. Never write a lode file over 250 lines
- **No lode/ directory found and no --skill flag**, prompt the user for their preferred output: create lode/, create as skill, or create as global skill
- **--global flag used without --skill**: global output only applies to skill files. Prompt for clarification or treat as `--skill --global`

Attribution

e128e128
View sourceSee grades on GitHubMore from e128 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Context Fundamentals

Understand the components, mechanics, and constraints of context in agent systems. Use when designing agent architectures, debugging context-related failures, or optimizing context usage.

179001 votes

Architecture Diagram Creator

Create comprehensive HTML architecture diagrams with data flows, business context, and system architecture.

6661 votes

release-notes

Draft release notes and changelog entries from git history or merged PRs between two refs (tags/SHAs/branches), including breaking changes, migrations, and upgrade steps. Use when the user asks for release notes, changelog updates, or a GitHub Release draft.

1301 votes

docs-style-guide

Documentation style guide enforcer by @planetabhi. Applies and reviews the writing style guide when authoring or editing product documentation and tutorials. Use to check prose for voice, tense, word choice, inclusive language, formatting, code block, UI, Markdown, and number/date conventions.

11 votes

Docx

Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in W...

1798860 votes
View all in documentation →