learn

📁 whatifwedigdeeper/agent-skills 📅 9 days ago
21
总安装量
5
周安装量
#17615
全站排名
安装命令
npx skills add https://github.com/whatifwedigdeeper/agent-skills --skill learn

Agent 安装分布

claude-code 5
amp 3
opencode 3
kimi-cli 3
codex 3
github-copilot 3

Skill 文档

Learn from Conversation

Analyze the conversation to extract lessons learned, then persist them to AI assistant configuration files.

Supported Assistants

Assistant Config File Format
Claude Code CLAUDE.md Markdown
Gemini GEMINI.md Markdown
AGENTS.md AGENTS.md Markdown
Cursor .cursorrules or .cursor/rules/*.mdc Markdown/MDC
GitHub Copilot .github/copilot-instructions.md Markdown
Windsurf .windsurf/rules/rules.md Markdown
Continue .continuerc.json JSON

See references/assistant-configs.md for format details.

Process

1. Detect and Assess Configurations

Scan for config files and check their sizes:

for f in CLAUDE.md GEMINI.md AGENTS.md .cursorrules .github/copilot-instructions.md \
  .windsurf/rules/rules.md .continuerc.json; do
  [ -f "$f" ] && wc -l "$f"
done
find .cursor/rules -name "*.mdc" -exec wc -l {} \; 2>/dev/null

Behavior based on detection:

Scenario Action
Single config found Update it automatically
Multiple configs found Prompt user to select which to update
No configs found Display init commands from assistant-configs.md, then exit

Size Thresholds

Lines Status Action
< 400 Healthy Add learnings directly
400-500 Warning Add carefully, suggest cleanup
> 500 Oversized Refactor before adding new content

Discover Existing Skills

List skills for routing decisions:

find . -name "SKILL.md" -type f 2>/dev/null | grep -v node_modules | \
  xargs grep -l "^name:" | while read -r f; do
  grep -m1 "^name:" "$f" | sed 's/name: //'
done

2. Analyze Conversation

Scan for:

  • Corrections: Commands retried, assumptions proven wrong, missing prerequisites
  • Discoveries: Undocumented patterns, integration quirks, environment requirements
  • Improvements: Steps that should be automated or validated earlier

3. Categorize and Route Each Learning

Category Primary Destination Fallback When Oversized
Project facts Config file Extract to new skill
Prerequisites Config file Extract to project-setup skill
Environment Config file Extract to environment-setup skill
Workflow pattern Existing related skill Create new skill
Automated workflow New skill New skill (always)

Routing Decision Tree

For each learning, evaluate in order:

  1. Is this a multi-step automated workflow (>5 steps)?

    • YES → Create new skill (proceed to Step 5, Route C)
    • NO → Continue
  2. Does an existing skill cover this topic?

    • YES → Update that skill
    • NO → Continue
  3. Is the target config file oversized (>500 lines)?

    • YES → Create new skill OR offer refactoring (see Step 4)
    • NO → Continue
  4. Is this learning situation-specific (applies to narrow context)?

    • YES → Create new skill with globs or context constraints
    • NO → Add to config file

Size-Based Rules

Learning Size Preferred Destination
< 3 lines Config file (even if near threshold)
3-30 lines Follow decision tree above
> 30 lines Strongly prefer skill creation

Skill Relevance Matching

Match learnings to existing skills using these criteria:

Learning Topic Matching Skill Indicators
Testing patterns Skill name contains: test, spec, e2e, unit
Build/compile issues Skill name contains: build, compile, bundle
Dependencies Skill name contains: package, dependency, npm, yarn
API patterns Skill name contains: api, http, fetch, request
Database Skill name contains: db, database, migration, schema
Deployment Skill name contains: deploy, release, ci, cd

Also check skill description field for keyword overlap with the learning topic.

4. Present and Confirm

For each learning, show:

**[Category]**: [Brief description]
- Source: [What happened in conversation]
- Proposed change: [Exact text or file to add]
- Destination: [Config file] ([current] → [projected] lines)

Handle Size Threshold

If adding the learning would push a config file over threshold:

Adding this learning would bring [filename] to [X] lines (threshold: [Y]).

Options:
1. Add learning anyway (not recommended)
2. [Refactor](references/refactoring.md) existing content to skills first, then add
3. Create a new skill for this learning instead
4. Skip this config file

Ask for confirmation before applying each change.

5. Apply Changes

Apply changes based on routing decision from Step 3:

Route A: Add to Config File

Markdown configs (CLAUDE.md, GEMINI.md, AGENTS.md, Copilot, Windsurf):

  • Find appropriate section, preserve existing structure
  • Append to relevant section or create new section if needed

Cursor rules:

Continue (.continuerc.json):

Route B: Update Existing Skill

When adding to an existing skill:

  1. Read the skill file: skills/[name]/SKILL.md
  2. Find appropriate section or create new one
  3. Append learning, maintaining the skill’s existing structure
  4. If skill has references, consider adding to reference file instead

Skill update format:

## [New Section or append to existing]

[Learning content formatted as guidance or workflow step]

Route C: Create New Skill

Create in skills/[name]/SKILL.md with this template:

---
name: [learning-topic]
description: [What this handles and when to use it - triggers belong here, not in body]
---

# [Learning Topic]

[Learning content structured as workflow]

## Process

### 1. [First Step]
[Details]

6. Verify Changes

After applying each change, confirm success by showing:

✓ Added to [file path]:
  [Section name]
  > [First 2-3 lines of added content...]

If a write failed, report the error and offer to retry or skip.

7. Summarize

List:

  • Config files modified (with full paths)
  • Sections updated in each file
  • Any skills created

Examples

Situation Learning
“e2e tests failed because API wasn’t running” Add prerequisite to selected config(s)
“Parse SDK doesn’t work with Vite out of the box” Document workaround in selected config(s)
“Build failed because NODE_ENV wasn’t set” Add required env var to selected config(s)
“Every component needs tests, lint, build…” Create add-component skill

Edge Cases

Scenario Handling
No configs detected Guide user to initialize one first, exit early
Multiple configs found Prompt user to select which to update
Malformed config file Warn and skip that file
Duplicate content exists Check before adding, warn if similar learning exists
Config file already oversized Offer refactoring before adding (Step 4)
Learning matches multiple skills Present options, let user choose which skill to update
Skill file also oversized Suggest creating sub-skills or reference files
Learning is very small (<3 lines) Prefer config file even if near threshold
Learning is very large (>30 lines) Strongly suggest skill creation
No existing skills found Skip skill matching, proceed with config or new skill

Guidelines

See references/guidelines.md for learning quality principles.