Promote private lessons into shared knowledge
SkillDocs & knowledgeSweep Claude's private per-machine memory for team-relevant operational knowledge and propose moving it into the shared repo (or the private ops repo) as draft PRs. Use to promote lessons that accreted privately, or run on a schedule. Never auto-merges; never leaks.
Use Promote private lessons into shared knowledge in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Promote private lessons into shared knowledge and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Promote private lessons into shared knowledge skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by embassy-of-the-free-mind/sourcelibrary-v2 in .claude/skills/promote-lessons/SKILL.md and read by Ahel’s review.
Operational know-how accretes in Claude's private, per-machine auto-memory
(~/.claude/projects/<project>/memory/, gitignored). It only reaches teammates
when someone notices and copies it into the shared repo. This skill makes that a
systematic, proposing sweep instead of a reactive one.
It runs weekly via the "Weekly knowledge-promotion sweep" routine, and you can
invoke it any time with /promote-lessons.
The capture-time rule (use this everywhere, not just here)
The test for repo memory vs private memory is:
Would a teammate's Claude need this to avoid taking a wrong action?
If yes → it belongs in the shared repo. The pause state, the
selective-unpause-strands-hidden-books gotcha, and real per-book cost all pass.
Derek's preferences, the API-key map, and in-flight scratch do not. Bias
operational facts into repo memory/ at /lesson time so there's less to sweep.
Procedure
-
Read the private store. Open the index at
~/.claude/projects/<project>/memory/MEMORY.md(for this project the path is~/.claude/projects/-Users-dereklomas-sourcelibrary/memory/MEMORY.md) and skim the topic files it points to. -
Classify each entry into one of three buckets:
- TEAM-TECHNICAL — operational facts a teammate's Claude would need to
avoid a wrong action: pipeline state (e.g. the deliberate pause), footguns
and gotchas, real costs, data invariants, where-things-live. → candidate
for the PUBLIC repo:
memory/*.mdor.claude/docs/. - OPS / BUSINESS — fundraising, contacts, donors, outreach, budgets, PII,
secrets, business strategy. → candidate for the PRIVATE repo
~/sourcelibrary-opsONLY. Never the public repo. - PERSONAL / IN-FLIGHT / MACHINE-SPECIFIC — user preferences, key maps, scratch state. → leave private, skip.
- TEAM-TECHNICAL — operational facts a teammate's Claude would need to
avoid a wrong action: pipeline state (e.g. the deliberate pause), footguns
and gotchas, real costs, data invariants, where-things-live. → candidate
for the PUBLIC repo:
-
Dedupe against what's already shared. For each TEAM-TECHNICAL candidate,
grepmemory/*.mdand.claude/docs/*.md. Skip facts already represented. -
Draft the additions. For genuinely-missing TEAM-TECHNICAL facts, add a concise entry to the most relevant existing
memory/file, or a new.claude/docs/file when it's a standalone runbook. Group related facts into one PR. For missing OPS/BUSINESS facts, add a note in~/sourcelibrary-ops. -
Open DRAFT PRs. Never merge. Never deploy. Derek reviews and merges.
Leak guard (hard constraint)
This repo is public (AGPL). Never put secrets, API keys, PII, contacts, donor/fundraising info, or business strategy into it. When unsure whether something is shareable, route it to the private ops repo or skip it and flag it for review. A false "leave private" is cheap; a leak is not.
Mechanics
- The main checkout stays on
main. Do all edits in a worktree:git worktree add -b <branch> .claude/worktrees/<name> main, then copysrc/lib/vendor/lamejs-bundle.jsinto the worktree'ssrc/lib/vendor/before the first commit (the pre-commitcheck-importshook needs it). - Sign commits off:
Signed-off-by: JDerekLomas <j.d.lomas@tudelft.nl>(DCO). - Open PRs with
gh pr create --draft.
Finish
Post a short summary: what was promoted (with draft-PR links), what was routed to ops, and what was left private and why. If nothing qualifies, say so in one line — a quiet week is a valid outcome.
Signals
- GitHub stars
- 21
- Forks
- 4
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
promote-lessons- Source
- github.com/embassy-of-the-free-mind/sourcelibrary-v2
github.com/embassy-of-the-free-mind/sourcelibrary-v2
Related picks
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · wshobson
The pick for JavaScripthandoff
Skill · mattpocock
More in Docs & knowledgecanvas-design
Skill · anthropics
More in Docs & knowledgedoc-coauthoring
Skill · anthropics
More in Docs & knowledgepopups
Skill · coreyhaines31
More in Docs & knowledge