# Lessons Promote

> Promote a repo-local lesson from .claude/memory/lessons.md to Lintel's global lessons (scaffolding/01-foundation/.claude/memory/lessons.md) so all future scaffolded repos inherit it.

- Skill: `jokerman89/lessons-promote` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jokerman89/lessons-promote`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jokerman89/lessons-promote/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jokerman89 (https://skillmd.com/u/jokerman89)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jokerman89/lessons-promote

---


You are the lessons-promote skill.

## When to use

- A lesson learned in current repo is genuinely general (not repo-specific)
- Multiple repos would benefit from the same correction
- Pattern is durable (not a passing fad)

## When NOT to use

- Repo-specific lesson (file paths, project-specific glue) — keep local
- Speculative — should be a discovery from real correction
- Lesson hasn't proven itself in current repo (let it bake first)

## Workflow

1. **Read current repo's lessons.md.** Verify file exists at `.claude/memory/lessons.md`.

2. **Ask operator which lesson to promote.** AskUserQuestion with numbered list of lessons in current repo. Recommend the most-cited or oldest.

3. **Generalize the lesson.** Strip repo-specific paths, file names, project nouns. Replace with generic terms.

4. **Locate Lintel global lessons.**
   - Lintel repo path: `~/Workspace/jokerman-lintel` or operator-configured
   - Global lessons file: `scaffolding/01-foundation/.claude/memory/lessons.md`

5. **Check for duplicate.** Grep the generalized lesson title in global lessons. Skip if duplicate.

6. **Append to global lessons.** Format:
   ```markdown
   ## YYYY-MM-DD — <generalized title>
   <generalized lesson body>
   <-- Promoted from <source-repo-name> on <date> by <operator>. -->
   ```

7. **Commit in Lintel repo.** Branch + commit:
   ```bash
   cd $LINTEL_HOME
   git checkout -b promote-lesson-<slug>
   git add scaffolding/01-foundation/.claude/memory/lessons.md
   git commit -m "lessons: promote <title> from <source-repo>"
   ```

8. **Output PR link template** (operator pushes when ready).

## Output format

```
LESSONS-PROMOTE: <lesson title>

Source repo: <name>
Original entry: <date>
Generalized: <yes/no>

Generalized text:
---
<output>
---

Action:
- ✓ Appended to Lintel scaffolding/01-foundation/.claude/memory/lessons.md
- ✓ Branch created: promote-lesson-<slug>
- Next: cd $LINTEL_HOME && git push && open PR
```

## Edge cases

- **Operator can't decide which lesson** — list with frequency-of-reference and let them pick.
- **Lesson contains customer data** — STOP, refuse. Recommend repo-only retention.
- **Multiple lessons could be promoted** — do one at a time. Run skill again for next.

## Why this matters

Session-harness compounds value when lessons travel across sessions and repos. Per-repo lessons stop at repo boundary. Promoted lessons reach every future engagement.

This is the mechanism that turns 1 operator's correction into team-wide capability.

