# Recognizing Learnings

> Valuable learnings often reveal themselves through specific signals during your work. Train yourself to notice these patterns.

- Skill: `tools-only/recognizing-learnings` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tools-only/recognizing-learnings`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/recognizing-learnings/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-29
- Page: https://skillmd.com/skills/tools-only/recognizing-learnings

---

# Recognizing Learnings

Valuable learnings often reveal themselves through specific signals during your work. Train yourself to notice these patterns.

## Time Investment Signals

### Debugging Time
**Signal:** "I spent 20+ minutes debugging this issue"

**Questions to ask:**
- Was this documented anywhere?
- Did I search existing skills first?
- Would documenting this prevent future debugging time?
- Is this a one-off or recurring pattern?

**Example:**
```
Spent 45 minutes figuring out why Playwright tests were flaky. 
Root cause: Need to wait for network idle, not just element presence.
Pattern documented? No. Should be? Yes - common issue with webapp-testing.
```

### Trial and Error
**Signal:** "I tried 3+ approaches before finding what worked"

**Questions to ask:**
- Were the failed approaches reasonable attempts?
- What made the winning approach better?
- Could guidance have prevented the trial-and-error?

**Example:**
```
Tried git rebase -i (failed - interactive not supported)
Tried git reset (lost work)
Finally: git rebase HEAD~3 worked
Could this be documented in git-workflows? Yes.
```

### "Wish I Had Known"
**Signal:** "I wish I had known this at the start"

**Questions to ask:**
- Where would I have looked for this info?
- What skill should contain this?
- How much time would it have saved?

**Example:**
```
Spent hour implementing custom retry logic for API calls.
Later discovered: Most API libraries have built-in retry with backoff.
Should be in api-integration skill: "Check library features first"
```

## Repetition Signals

### Recurring Problem
**Signal:** "This is the third time I've solved this exact problem"

**Strong indicator** that knowledge should be captured.

**Questions to ask:**
- Am I solving it the same way each time?
- Have I refined my approach across iterations?
- Would other agents encounter this?

**Example:**
```
Third time setting up Letta agent with file system access.
Same steps each time: attach folder, verify tools appear, test read access.
Create quick-start pattern in letta-agent-designer.
```

### Deja Vu Moments
**Signal:** "I remember doing something similar before"

**Questions to ask:**
- What was different about the previous context?
- What was the same (the generalizable pattern)?
- Can I extract the common pattern?

**Example:**
```
Configuring environment variables for third different framework.
Pattern: All frameworks need .env file, loading mechanism differs.
Extract: Common env var patterns, framework-specific loading details.
```

### Teaching Moments
**Signal:** "Let me explain how this works..."

**When you explain something to a user, you're identifying knowledge worth documenting.**

**Questions to ask:**
- Did I explain this clearly?
- Would this explanation help in a skill?
- Are there examples that made it click?

**Example:**
```
Explained memory_insert vs memory_replace to user with concurrent scenario.
User understood immediately with the example.
Capture example in letta-memory-architect for future clarity.
```

## Correction Signals

### Skill Led Astray
**Signal:** "The skill said X, but Y actually works better"

**Critical learning moment - either skill is wrong or you misunderstood.**

**Questions to ask:**
- Did I follow instructions correctly?
- Are there conditions where X is right but Y is better for my case?
- Is the skill outdated or incomplete?

**Example:**
```
Skill said: "Use GPT-4 for complex tasks"
But: GPT-4o is newer, faster, same quality, lower cost
Skill needs update: GPT-4o is now preferred over GPT-4
```

### Approach Failed
**Signal:** "This approach failed in ways not documented"

**Questions to ask:**
- Was the failure predictable?
- Should the skill warn about this?
- What's the workaround?

**Example:**
```
Followed git-workflows to use git add -i (interactive add)
Failed: Interactive mode not supported in Bash tool
Add warning to skill about non-interactive environment
```

### Misunderstanding Caused Issue
**Signal:** "I misunderstood the instruction and it caused problems"

**Even if you made the mistake, ambiguous instructions should be clarified.**

**Questions to ask:**
- Would others misunderstand the same way?
- What clarification would have prevented this?
- Are there examples that would make it clearer?

**Example:**
```
Skill said: "Use appropriate model for task"
I chose GPT-4 (expensive) when GPT-4o-mini would've worked
Add decision criteria: task complexity, budget, latency needs
```

## Discovery Signals

### Gap Found
**Signal:** "I needed to know X but no skill covers it"

**Questions to ask:**
- Is this narrow domain or broadly applicable?
- Have I validated my approach?
- Would this help others or just me?

**Example:**
```
Needed to parse YAML frontmatter from markdown files.
No skill covers this common pattern in document processing.
Create: parsing-markdown skill or add to document patterns.
```

### Better Pattern Emerged
**Signal:** "I've found a better way to structure this"

**Questions to ask:**
- Better in what way? (Faster, clearer, more reliable?)
- What's the tradeoff?
- Is this preference or objective improvement?

**Example:**
```
Initially: Put all customer info in one block
Better: Split into customer_business, customer_contact, customer_history
Why: Each grows independently, clearer boundaries, easier to manage
Objective improvement: Addresses size management and clarity
```

### New Tool/Technique
**Signal:** "This tool/approach is much better than what we're using"

**Questions to ask:**
- Is this genuinely better or just different?
- What's the learning curve?
- Are there situations where old approach is still better?

**Example:**
```
Discovered ripgrep (rg) is much faster than grep for codebase search.
Already in use: Grep tool actually uses ripgrep under the hood
No action needed, but validates existing choice.
```

## False Positives to Avoid

### One-Off Edge Case
**Signal:** "This weird situation needed a weird fix"

**Usually NOT worth documenting unless:**
- Edge case is common
- Others will likely hit it
- The fix is non-obvious

### Personal Preference
**Signal:** "I prefer doing it this way"

**Only document if:**
- Preference has objective advantages
- Multiple valid approaches exist and should be explained
- Tradeoffs are worth documenting

### Temporary Workaround
**Signal:** "This hack works for now"

**Document IF:**
- Others will hit same issue
- Workaround is reliable enough
- Note it as temporary/workaround

**Don't document IF:**
- Proper fix is known and achievable
- Workaround is fragile
- Problem is specific to your environment

## Building Recognition Habit

**During work:**
- Keep mental note of "moments of friction"
- Notice when you reference external docs repeatedly
- Track time spent on recurring problems

**After completing task:**
- Review: What was hard? What took time?
- Ask: Could this be prevented next time?
- Consider: Would documenting this help others?

**Over time:**
- Pattern recognition improves
- You'll spot learnings faster
- Contributing becomes natural

## When NOT to Contribute

**CRITICAL:** Skills must be **general-purpose knowledge**, not project-specific solutions.

Sometimes the learning is valuable for you but not for the repository:

### ❌ Project-Specific Information

**Do NOT contribute:**
- Your company's API endpoints or credentials
- Configuration specific to your environment
- Project-specific file paths or structure
- Internal tool names or processes unique to your organization
- Solutions that only work in your exact setup

**Example of what NOT to contribute:**
```
"Our API endpoint for user data is https://api.acme.com/v2/users. 
Use header X-Acme-Key for authentication."

This is configuration for one specific project, not generalizable knowledge.
```

### ❌ Personal Preferences

**Do NOT contribute:**
- "I prefer approach X" without objective benefit
- Code organization that's just your style
- Tool choices based on personal taste
- Workflows that work for you but aren't broadly better

**Example of what NOT to contribute:**
```
"I like to organize my code with all API calls in src/api/ directory."

This is personal preference, not a pattern with clear advantages.
```

### ❌ One-Off Situations

**Do NOT contribute:**
- Temporary workarounds that will be obsolete soon
- One-time edge cases unlikely to recur
- Unusual situations unique to your context
- Hacks that address symptoms not root causes

**Example of what NOT to contribute:**
```
"When Docker container won't start, run docker network prune then restart."

This addresses a symptom in your environment, not a general pattern.
```

### ❌ Overly Narrow Knowledge

**Do NOT contribute:**
- How you implemented one specific feature
- Step-by-step for your exact use case
- Details that only matter in narrow contexts
- Information too specific to be broadly useful

**Example of what NOT to contribute:**
```
"How I built the user authentication for my todo app using Firebase Auth 
with Google OAuth and custom claims for role-based access."

This is one specific implementation, not teaching general patterns.
```

### ✅ What TO Contribute Instead

Transform specific learnings into general patterns:

**Bad (too specific):**
```
"Fix Docker networking issue by running docker network prune"
```

**Good (general pattern):**
```
"Debugging network connectivity in containerized environments: 
systematic approaches to isolate network vs. application issues"
```

**Bad (too specific):**
```
"Our database connection string for production"
```

**Good (general pattern):**
```
"Database connection pooling patterns and configuration strategies 
for high-traffic applications"
```

**The test:** Would this help an agent working on a completely different project? If no → too specific.

Focus contributions on **generalizable, validated, impactful learnings** that help the collective across different projects and contexts.

