{"id":"738c0b6e-2bd9-4453-9da8-536ef0c00857","shortId":"FDGLHm","kind":"skill","title":"self-improve","tagline":"Extract lessons from the current session and route them to the appropriate knowledge layer (project AGENTS.md, auto memory, existing skills, or new skills). Use when the user asks to \"self-improve\", \"distill this session\", \"save learnings\", \"update CLAUDE.md with what we learned\"","description":"# Self-Improve\n\nReview the current conversation to extract durable lessons and route each one to the right knowledge layer.\n\n## Step 1: Detect Context\n\nAvailable destinations:\n\n- **Project CLAUDE.md / AGENTS.md** — `.claude/CLAUDE.md` (may be a symlink to `../AGENTS.md` — resolve it)\n- **Auto memory** — The project-specific memory directory at `~/.claude/projects/<project-hash>/memory/`. Read `MEMORY.md` there if it exists.\n- **Skills** — Project skills at `skills/` or `.claude/skills/` (resolve symlinks)\n\nRead the project CLAUDE.md/AGENTS.md and MEMORY.md. List all skill directories but do not read them yet — Step 2 needs to run first so you know what to look for.\n\n### Turbo Skill Detection\n\nRead `~/.turbo/config.json` for `repoMode`. If `repoMode` is `\"fork\"` or `\"source\"`, turbo skill improvements can be contributed upstream.\n\nIf `~/.turbo/repo/` exists, identify which installed skills are turbo skills:\n\n- List directories in `~/.turbo/repo/skills/`\n- Any skill in `~/.claude/skills/` that has a matching directory in `~/.turbo/repo/skills/` is a turbo skill\n- Skills only in `~/.claude/skills/` (no match in the repo) are user/project skills\n\n**Verification rule (mandatory before routing in Step 4):** For every candidate skill that is about to be routed as turbo, confirm with a fresh `test -d ~/.turbo/repo/skills/<name>` check that the skill actually lives in the turbo repo. Do not rely on remembered listings from earlier in the session, filename hits in grep output, or assumptions based on where a SKILL.md was read from. A miss here mislabels a user/project skill as turbo, triggers the contribution flow unnecessarily, and can introduce session-specific content into a shared skill — so the check is not optional.\n\n**Exception:** If the current project IS the turbo repo (i.e., the working directory contains this skill collection), route turbo skill changes directly to `skills/` in the project directory. Skip the installed-copy indirection and the contribution flow.\n\n## Step 2: Identify Session Skills and Scan for Lessons\n\n### Identify Session Skills\n\nBefore scanning for lessons, identify which skills were loaded during this session:\n\n- Scan the conversation for Skill tool invocations and SKILL.md reads from `~/.claude/skills/`\n- Build a list of session skills, marking each as turbo or user/project skill (using the detection from Step 1)\n- This list informs routing in Step 4: when a lesson clearly arose from a specific skill's workflow, that skill is the natural routing target\n\n### Scan for Lessons\n\nScan the full conversation with this priority:\n\n1. **Corrections** — Where the user interrupted, said \"no\", \"actually\", \"stop\", \"not like that\", redirected, or manually fixed something Claude did wrong. Highest-value lessons.\n2. **Repeated guidance** — Instructions the user gave more than once.\n3. **Skill-shaped knowledge** — Domain expertise that was needed repeatedly, tool/API integration details that had to be looked up, decision frameworks that emerged for evaluating options, content templates or writing conventions that were refined, and multi-step workflows where ordering mattered (as reusable domain knowledge, not the workflow itself — see #4).\n4. **New workflows** — Did this session establish a novel multi-step procedure, coordination pattern, or automation that worked? A successful workflow that would need to be repeated is a prime skill candidate — even if it ran fine this time. Distinct from #3: this captures the procedure itself as a repeatable artifact, not knowledge about how to do it. Flag it.\n5. **Preferences** — Formatting, naming, style, or tool choices the user expressed.\n6. **Failure modes** — Approaches that failed, with what worked instead. For tool or script call failures, trace back to the information source that led to the error and route the fix there (e.g., clarify a reference file, update skill instructions, add missing documentation).\n7. **Domain knowledge** — Facts or conventions Claude needed but did not have.\n8. **Improvement opportunities** — Out-of-scope improvements noticed during work: code that could be refactored, missing tests, performance issues, readability concerns, or feature ideas that were intentionally skipped to stay focused. **Skipped findings count here**: when code simplification or code review identified a genuine improvement or issue but it was skipped for this session, route it as a project improvement so it isn't lost.\n9. **Trusted reviewer feedback** — Human PR review comments that reveal project conventions, patterns, or corrections. Trusted reviewers are repo collaborators with `admin` or `maintain` roles (determine via `gh api repos/{owner}/{repo}/collaborators --jq '.[] | select(.role_name == \"admin\" or .role_name == \"maintain\") | .login'`). Their feedback takes precedence over other reviewers and AI bots when there are contradictions.\n\nAfter scanning, read all skill SKILL.md files (they are small). This gives Step 4 full context for routing.\n\n## Step 3: Filter\n\nKeep only lessons that are:\n- **Stable** — likely to remain true across future sessions\n- **Non-obvious** — Claude would not already know this\n- **Actionable** — can be expressed as a rule or instruction\n- **Not already documented** — absent from the files read in Step 1\n- **Still a concern** — the issue is not already fixed by changes made in this session. If a bug was found and fixed, or a missing feature was added, future sessions will see the corrected code — they don't need a reminder about the old problem. **Exception: successful workflows and procedures are not \"resolved\" — they're skill candidates precisely because they worked and will need to be repeated.**\n\nDiscard anything session-specific, speculative, one-off, or already resolved by code changes in this session (but not successful workflows — see exception above). If no lessons survive filtering, tell the user and stop.\n\n## Step 4: Route Each Lesson\n\nAssign each surviving lesson to exactly one destination.\n\n**Skill-first rule (mandatory):** Before consulting the table below, check whether the lesson corrects, refines, or adds a guardrail to any existing skill's behavior — turbo or user/project. This includes lessons about skipping steps, wrong defaults, missing edge cases, or any \"don't do X when running /skill-name\" correction. If yes, route to that skill. Do not route skill corrections to auto memory or CLAUDE.md — they belong in the skill they correct. This rule is not a preference; it is a hard constraint that takes precedence over the table rows below.\n\n| Destination | Criteria |\n|---|---|\n| **Existing turbo skill** | Lesson would improve a turbo skill's instructions, supporting files, or reference materials, add a missing edge case, correct its workflow, or refine its trigger conditions. Route to any turbo skill whose *domain* covers the lesson — not just the skill worked on in this session. **Before routing here, run `test -d ~/.turbo/repo/skills/<name>`; if the directory does not exist, route to the Existing user/project skill destination instead.** Changes go to the installed copy at `~/.claude/skills/`. If `repoMode` is `\"fork\"` or `\"source\"`, also apply to `~/.turbo/repo/` and flag for contribution (see Step 6). |\n| **Existing user/project skill** | Same criteria as above, but for non-turbo skills. Changes go to the skill file directly. No contribution flow. |\n| **New skill** | A cohesive body of knowledge emerged that deserves its own on-demand context. The test: would this knowledge be too large for a CLAUDE.md section, and should it only be loaded when relevant? See the skill categories table below. |\n| **Project CLAUDE.md / AGENTS.md** | Intentional project decisions: conventions, architecture, stack choices, build setup, module boundaries. Also factual corrections to CLAUDE.md content (wrong commands, outdated paths, incorrect conventions) — fix these directly, do not defer to Project improvements. |\n| **Auto memory** | Discovered knowledge with no skill home: API quirks, debugging workarounds, compiler gotchas, tool pitfalls, user preferences. Must not overlap with any existing skill's domain — if it does, route to the skill instead (see skill-first rule above). |\n| **Project improvements** | Actionable improvement to existing **code**: refactoring, performance, reliability, readability, testing, or DX. Not for documentation fixes — factual errors in CLAUDE.md belong in the row above. Route to `.turbo/improvements.md` via the `/note-improvement` skill. |\n| **No destination** | Does not clearly fit any destination. Drop it. Routing a weak lesson is worse than losing it. |\n\n**Skill categories:**\n\n| Category | What it encodes | Example |\n|---|---|---|\n| Domain expertise | Best practices, patterns, API preferences | SwiftUI expert, Core Data guide |\n| Tool/Service integration | API references, operations, ID formats | Paddle, Stripe, Keycloak |\n| Decision framework | Judgment criteria, confidence levels, triage | Evaluate findings, performance audit |\n| Content template | Writing conventions, tone, structure | Drafting, blog post, changelog |\n| Knowledge/Research | Information discovery, schema definitions | Knowledge base, research process |\n| Orchestrated workflow | Stateful multi-step procedures | Process ticket, process income |\n\n**Splitting heuristic:** When a session creates scripts or multi-step procedures, split the lesson: a brief pointer goes to CLAUDE.md (script names, purpose), and the full workflow goes to a skill. Don't collapse them into a single CLAUDE.md entry.\n\n**Tiebreakers (in priority order):**\n1. **Skill correction → skill (hard rule).** Any lesson that corrects, constrains, or refines a skill's behavior MUST route to that skill. Never to auto memory, never to CLAUDE.md. This is the highest-priority routing rule.\n2. **Turbo skill vs. CLAUDE.md → always the turbo skill.** Broader impact (benefits all turbo users), better scoped, loaded only when relevant.\n3. **Skill vs. CLAUDE.md → always the skill.** Skills are more discoverable, better scoped, and loaded only when relevant.\n4. **Skill vs. auto memory → always the skill.** If a lesson falls within the domain of an existing skill, it goes to the skill. Auto memory is for knowledge that has no skill home.\n5. **CLAUDE.md vs. auto memory** — intentional decisions go to CLAUDE.md. Discovered knowledge (gotchas, workarounds, quirks) goes to auto memory.\n6. **Lesson vs. improvement** — if the item is *knowledge to remember*, it's a lesson. If it's *work to do later*, it's an improvement. They don't compete — the same session can produce both.\n\n## Step 5: Present Routing Plan\n\nOutput a table as text before making any changes:\n\n```\n| # | Lesson | Destination | Action |\n|---|--------|-------------|--------|\n| 1 | Always use X for... | Project AGENTS.md | Append to ## Conventions |\n| 2 | The /create-pr skill should... | ~/.claude/skills/create-pr | Update Step 2 |\n| 3 | Multi-step deploy workflow | New project skill | Create new skill |\n| 4 | User prefers short commit msgs | Auto memory | Append to MEMORY.md |\n```\n\nFor each lesson, show: concise summary, target file/skill, and whether it's an append, update-in-place, or new creation.\n\nThen use `AskUserQuestion` with these options: **Approve** or **Reject**.\n\n## Step 6: Execute\n\nApply approved changes in order:\n\n1. **Updates to existing files** — Read the target, find the right section, append or update in place. Match the tone and format already present. For auto memory, follow the memory system conventions from the system prompt. For user/project skill updates, run `/create-skill` to apply the changes.\n2. **Updates to turbo skills** — Read `~/.turbo/repo/SKILL-CONVENTIONS.md` for the turbo project's skill conventions. Use these conventions when editing turbo skills. For each lesson routed to a turbo skill:\n   1. Run `/create-skill` to update the installed copy at `~/.claude/skills/<name>/SKILL.md` (immediate effect for the user).\n   2. If `repoMode` is `\"fork\"` or `\"source\"`: use `AskUserQuestion` to ask \"These turbo skill improvements could benefit other users. Run `/contribute-turbo` to submit them?\" If yes, apply the same changes to `~/.turbo/repo/skills/<name>/SKILL.md`, stage them (`git -C ~/.turbo/repo add skills/<name>/`), and run `/contribute-turbo`.\n3. **Improvements** — For items routed to project improvements, run `/note-improvement` with the summary, location, and rationale for each.\n4. **New skills** — Run `/create-skill` for each new skill. Provide the trigger conditions and relevant context from the session.\n\nThen use the TaskList tool and proceed to any remaining task.\n\n## Writing Guidelines\n\n- Match the tone and format of the target file\n- Use imperative mood and short declarative sentences\n- Group related insights under a descriptive heading\n- Omit rationale unless the rule would seem arbitrary without it\n- Never include temporary state, in-progress work, or task-specific details\n- Keep lessons generic—avoid overly concrete examples; state the rule, not the instance\n- For AGENTS.md: write as agent documentation — project rules any AI agent on this repo should follow\n- For auto memory: write as personal Claude notes — concise, operational, organized by topic\n- For skills: follow the conventions in the existing skill collection","tags":["self","improve","turbo","tobihagemann","agent-skills","claude-code","claude-skills","developer-tools","skills"],"capabilities":["skill","source-tobihagemann","skill-self-improve","topic-agent-skills","topic-claude-code","topic-claude-skills","topic-developer-tools","topic-skills"],"categories":["turbo"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/tobihagemann/turbo/self-improve","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add tobihagemann/turbo","source_repo":"https://github.com/tobihagemann/turbo","install_from":"skills.sh"}},"qualityScore":"0.590","qualityRationale":"deterministic score 0.59 from registry signals: · indexed on github topic:agent-skills · 280 github stars · SKILL.md body (13,294 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:54:12.124Z","embedding":null,"createdAt":"2026-04-18T22:04:06.043Z","updatedAt":"2026-04-22T00:54:12.124Z","lastSeenAt":"2026-04-22T00:54:12.124Z","tsv":"'/.claude/projects':94 '/.claude/skills':179,194,370,1111,1784 '/.claude/skills/create-pr':1635 '/.turbo/config.json':146 '/.turbo/repo':163,1121,1828 '/.turbo/repo/skill-conventions.md':1752 '/.turbo/repo/skills':175,186,229,1089,1822 '/agents.md':82,116 '/collaborators':738 '/contribute-turbo':1811,1833 '/create-pr':1632 '/create-skill':1741,1777,1856 '/memory':95 '/note-improvement':1302,1843 '/skill-name':989 '/skill.md':1785,1823 '1':68,389,425,825,1438,1620,1700,1775 '2':130,336,450,1475,1630,1638,1746,1791 '3':460,555,782,1496,1639,1834 '4':210,396,512,513,776,929,1514,1651,1852 '5':574,1548,1604 '6':585,1128,1567,1693 '7':628 '8':640 '9':706 'absent':818 'across':794 'action':806,1272,1619 'actual':234,433 'ad':853 'add':625,958,1051,1829 'admin':727,743 'agent':1947,1953 'agents.md':19,75,1196,1626,1944 'ai':757,1952 'alreadi':803,816,833,903,1722 'also':1118,1208 'alway':1480,1500,1519,1621 'anyth':894 'api':734,1237,1335,1344 'append':1627,1659,1675,1712 'appli':1119,1695,1743,1817 'approach':588 'appropri':15 'approv':1689,1696 'arbitrari':1914 'architectur':1201 'aros':401 'artifact':564 'ask':31,1801 'askuserquest':1685,1799 'assign':933 'assumpt':257 'audit':1362 'auto':20,85,1003,1229,1462,1517,1538,1551,1565,1657,1725,1960 'autom':529 'avail':71 'avoid':1933 'back':602 'base':258,1379 'behavior':966,1454 'belong':1008,1292 'benefit':1486,1807 'best':1332 'better':1490,1507 'blog':1370 'bodi':1156 'bot':758 'boundari':1207 'brief':1409 'broader':1484 'bug':843 'build':371,1204 'c':1827 'call':599 'candid':213,545,882 'captur':557 'case':980,1055 'categori':1191,1324,1325 'chang':317,836,907,1104,1142,1616,1697,1745,1820 'changelog':1372 'check':230,293,951 'choic':581,1203 'clarifi':618 'claud':443,634,800,1965 'claude.md':42,74,115,1006,1178,1195,1212,1291,1413,1432,1466,1479,1499,1549,1557 'claude.md/agents.md':114 'claude/claude.md':76 'claude/skills':108 'clear':400,1308 'code':651,677,680,860,906,1276 'cohes':1155 'collabor':725 'collaps':1427 'collect':313,1981 'command':1215 'comment':713 'commit':1655 'compet':1596 'compil':1241 'concern':661,828 'concis':1666,1967 'concret':1935 'condit':1063,1864 'confid':1356 'confirm':223 'constrain':1448 'constraint':1024 'consult':947 'contain':310 'content':286,487,1213,1363 'context':70,778,1167,1867 'contradict':762 'contribut':160,277,333,1125,1150 'convent':491,633,717,1200,1219,1366,1629,1731,1759,1762,1976 'convers':53,361,421 'coordin':526 'copi':329,1109,1782 'core':1339 'correct':426,720,859,955,990,1001,1013,1056,1210,1440,1447 'could':653,1806 'count':674 'cover':1071 'creat':1398,1648 'creation':1682 'criteria':1034,1133,1355 'current':8,52,300 'd':228,1088 'data':1340 'debug':1239 'decis':480,1199,1352,1554 'declar':1898 'default':977 'defer':1225 'definit':1377 'demand':1166 'deploy':1643 'descript':1905 'deserv':1161 'destin':72,940,1033,1102,1305,1311,1618 'detail':473,1929 'detect':69,144,386 'determin':731 'direct':318,1148,1222 'directori':92,122,173,184,309,324,1092 'discard':893 'discov':1231,1558 'discover':1506 'discoveri':1375 'distil':36 'distinct':553 'document':627,817,1286,1948 'domain':465,505,629,1070,1255,1330,1528 'draft':1369 'drop':1312 'durabl':56 'dx':1283 'e.g':617 'earlier':247 'edg':979,1054 'edit':1764 'effect':1787 'emerg':483,1159 'encod':1328 'entri':1433 'error':611,1289 'establish':519 'evalu':485,1359 'even':546 'everi':212 'exact':938 'exampl':1329,1936 'except':297,871,916 'execut':1694 'exist':22,101,164,963,1035,1095,1099,1129,1252,1275,1531,1703,1979 'expert':1338 'expertis':466,1331 'express':584,809 'extract':4,55 'fact':631 'factual':1209,1288 'fail':590 'failur':586,600 'fall':1525 'featur':663,851 'feedback':709,750 'file':621,769,821,1047,1147,1704,1892 'file/skill':1669 'filenam':251 'filter':783,922 'find':673,1360,1708 'fine':550 'first':134,943,1267 'fit':1309 'fix':441,615,834,847,1220,1287 'flag':572,1123 'flow':278,334,1151 'focus':671 'follow':1727,1958,1974 'fork':152,1115,1795 'format':576,1348,1721,1888 'found':845 'framework':481,1353 'fresh':226 'full':420,777,1419 'futur':795,854 'gave':456 'generic':1932 'genuin':684 'gh':733 'git':1826 'give':774 'go':1105,1143,1555 'goe':1411,1421,1534,1563 'gotcha':1242,1560 'grep':254 'group':1900 'guardrail':960 'guid':1341 'guidanc':452 'guidelin':1883 'hard':1023,1442 'head':1906 'heurist':1394 'highest':447,1471 'highest-prior':1470 'highest-valu':446 'hit':252 'home':1236,1547 'human':710 'i.e':306 'id':1347 'idea':664 'identifi':165,337,344,351,682 'immedi':1786 'impact':1485 'imper':1894 'improv':3,35,49,157,641,647,685,700,1040,1228,1271,1273,1570,1592,1805,1835,1841 'in-progress':1921 'includ':971,1918 'incom':1392 'incorrect':1218 'indirect':330 'inform':392,605,1374 'insight':1902 'instal':167,328,1108,1781 'installed-copi':327 'instanc':1942 'instead':594,1103,1263 'instruct':453,624,814,1045 'integr':472,1343 'intent':667,1197,1553 'interrupt':430 'introduc':282 'invoc':365 'isn':703 'issu':659,687,830 'item':1573,1837 'jq':739 'judgment':1354 'keep':784,1930 'keycloak':1351 'know':137,804 'knowledg':16,65,464,506,566,630,1158,1172,1232,1378,1542,1559,1575 'knowledge/research':1373 'larg':1175 'later':1588 'layer':17,66 'learn':40,46 'led':608 'lesson':5,57,343,350,399,417,449,786,920,932,936,954,972,1038,1073,1317,1407,1445,1524,1568,1581,1617,1664,1769,1931 'level':1357 'like':436,790 'list':119,172,245,373,391 'live':235 'load':355,1185,1492,1510 'locat':1847 'login':748 'look':140,478 'lose':1321 'lost':705 'made':837 'maintain':729,747 'make':1614 'mandatori':205,945 'manual':440 'mark':377 'match':183,196,1717,1884 'materi':1050 'matter':502 'may':77 'memori':21,86,91,1004,1230,1463,1518,1539,1552,1566,1658,1726,1729,1961 'memory.md':97,118,1661 'mislabel':269 'miss':267,626,656,850,978,1053 'mode':587 'modul':1206 'mood':1895 'msgs':1656 'multi':497,523,1386,1402,1641 'multi-step':496,522,1385,1401,1640 'must':1247,1455 'name':577,742,746,1415 'natur':412 'need':131,469,537,635,864,889 'never':1460,1464,1917 'new':25,514,1152,1645,1649,1681,1853,1859 'non':798,1139 'non-obvi':797 'non-turbo':1138 'note':1966 'notic':648 'novel':521 'obvious':799 'old':869 'omit':1907 'on-demand':1164 'one':61,900,939 'one-off':899 'oper':1346,1968 'opportun':642 'option':296,486,1688 'orchestr':1382 'order':501,1437,1699 'organ':1969 'out-of-scop':643 'outdat':1216 'output':255,1608 'over':1934 'overlap':1249 'owner':736 'paddl':1349 'path':1217 'pattern':527,718,1334 'perform':658,1278,1361 'person':1964 'pitfal':1244 'place':1679,1716 'plan':1607 'pointer':1410 'post':1371 'pr':711 'practic':1333 'preced':752,1027 'precis':883 'prefer':575,1019,1246,1336,1653 'present':1605,1723 'prime':543 'prioriti':424,1436,1472 'problem':870 'procedur':525,559,875,1388,1404 'proceed':1877 'process':1381,1389,1391 'produc':1601 'progress':1923 'project':18,73,89,103,113,301,323,699,716,1194,1198,1227,1270,1625,1646,1756,1840,1949 'project-specif':88 'prompt':1735 'provid':1861 'purpos':1416 'quirk':1238,1562 'ran':549 'rational':1849,1908 're':880 'read':96,111,126,145,264,368,765,822,1705,1751 'readabl':660,1280 'redirect':438 'refactor':655,1277 'refer':620,1049,1345 'refin':494,956,1060,1450 'reject':1691 'relat':1901 'relev':1187,1495,1513,1866 'reli':242 'reliabl':1279 'remain':792,1880 'rememb':244,1577 'remind':866 'repeat':451,470,540,563,892 'repo':199,239,305,724,735,737,1956 'repomod':148,150,1113,1793 'research':1380 'resolv':83,109,878,904 'reusabl':504 'reveal':715 'review':50,681,708,712,722,755 'right':64,1710 'role':730,741,745 'rout':11,59,207,220,314,393,413,613,695,780,930,993,999,1064,1084,1096,1259,1297,1314,1456,1473,1606,1770,1838 'row':1031,1295 'rule':204,812,944,1015,1268,1443,1474,1911,1939,1950 'run':133,988,1086,1740,1776,1810,1832,1842,1855 'said':431 'save':39 'scan':341,348,359,415,418,764 'schema':1376 'scope':646,1491,1508 'script':598,1399,1414 'section':1179,1711 'see':511,857,915,1126,1188,1264 'seem':1913 'select':740 'self':2,34,48 'self-improv':1,33,47 'sentenc':1899 'session':9,38,250,284,338,345,358,375,518,694,796,840,855,896,910,1082,1397,1599,1870 'session-specif':283,895 'setup':1205 'shape':463 'share':289 'short':1654,1897 'show':1665 'simplif':678 'singl':1431 'skill':23,26,102,104,106,121,143,156,168,171,177,190,191,202,214,233,272,290,312,316,320,339,346,353,363,376,383,405,409,462,544,623,767,881,942,964,996,1000,1011,1037,1043,1068,1077,1101,1131,1141,1146,1153,1190,1235,1253,1262,1266,1303,1323,1424,1439,1441,1452,1459,1477,1483,1497,1502,1503,1515,1521,1532,1537,1546,1633,1647,1650,1738,1750,1758,1766,1774,1804,1830,1854,1860,1973,1980 'skill-first':941,1265 'skill-self-improve' 'skill-shap':461 'skill.md':262,367,768 'skip':325,668,672,691,974 'small':772 'someth':442 'sourc':154,606,1117,1797 'source-tobihagemann' 'specif':90,285,404,897,1928 'specul':898 'split':1393,1405 'stabl':789 'stack':1202 'stage':1824 'state':1384,1920,1937 'stay':670 'step':67,129,209,335,388,395,498,524,775,781,824,928,975,1127,1387,1403,1603,1637,1642,1692 'still':826 'stop':434,927 'stripe':1350 'structur':1368 'style':578 'submit':1813 'success':533,872,913 'summari':1667,1846 'support':1046 'surviv':921,935 'swiftui':1337 'symlink':80,110 'system':1730,1734 'tabl':949,1030,1192,1610 'take':751,1026 'target':414,1668,1707,1891 'task':1881,1927 'task-specif':1926 'tasklist':1874 'tell':923 'templat':488,1364 'temporari':1919 'test':227,657,1087,1169,1281 'text':1612 'ticket':1390 'tiebreak':1434 'time':552 'tone':1367,1719,1886 'tool':364,580,596,1243,1875 'tool/api':471 'tool/service':1342 'topic':1971 'topic-agent-skills' 'topic-claude-code' 'topic-claude-skills' 'topic-developer-tools' 'topic-skills' 'trace':601 'triag':1358 'trigger':275,1062,1863 'true':793 'trust':707,721 'turbo':142,155,170,189,222,238,274,304,315,380,967,1036,1042,1067,1140,1476,1482,1488,1749,1755,1765,1773,1803 'turbo/improvements.md':1299 'unless':1909 'unnecessarili':279 'updat':41,622,1636,1677,1701,1714,1739,1747,1779 'update-in-plac':1676 'upstream':161 'use':27,384,1622,1684,1760,1798,1872,1893 'user':30,429,455,583,925,1245,1489,1652,1790,1809 'user/project':201,271,382,969,1100,1130,1737 'valu':448 'verif':203 'via':732,1300 'vs':1478,1498,1516,1550,1569 'weak':1316 'whether':952,1671 'whose':1069 'within':1526 'without':1915 'work':308,531,593,650,886,1078,1585,1924 'workaround':1240,1561 'workflow':407,499,509,515,534,873,914,1058,1383,1420,1644 'wors':1319 'would':536,801,1039,1170,1912 'write':490,1365,1882,1945,1962 'wrong':445,976,1214 'x':986,1623 'yes':992,1816 'yet':128","prices":[{"id":"f177fc67-0638-465b-9112-f8b37a8ef906","listingId":"738c0b6e-2bd9-4453-9da8-536ef0c00857","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"tobihagemann","category":"turbo","install_from":"skills.sh"},"createdAt":"2026-04-18T22:04:06.043Z"}],"sources":[{"listingId":"738c0b6e-2bd9-4453-9da8-536ef0c00857","source":"github","sourceId":"tobihagemann/turbo/self-improve","sourceUrl":"https://github.com/tobihagemann/turbo/tree/main/skills/self-improve","isPrimary":false,"firstSeenAt":"2026-04-18T22:04:06.043Z","lastSeenAt":"2026-04-22T00:54:12.124Z"}],"details":{"listingId":"738c0b6e-2bd9-4453-9da8-536ef0c00857","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"tobihagemann","slug":"self-improve","github":{"repo":"tobihagemann/turbo","stars":280,"topics":["agent-skills","claude-code","claude-skills","developer-tools","skills"],"license":"mit","html_url":"https://github.com/tobihagemann/turbo","pushed_at":"2026-04-21T12:22:12Z","description":"A composable dev process for Claude Code, packaged as modular skills.","skill_md_sha":"5818d87bc30264237fd012d7e05e5d48ebb636c5","skill_md_path":"skills/self-improve/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/tobihagemann/turbo/tree/main/skills/self-improve"},"layout":"multi","source":"github","category":"turbo","frontmatter":{"name":"self-improve","description":"Extract lessons from the current session and route them to the appropriate knowledge layer (project AGENTS.md, auto memory, existing skills, or new skills). Use when the user asks to \"self-improve\", \"distill this session\", \"save learnings\", \"update CLAUDE.md with what we learned\", \"capture session insights\", \"remember this for next time\", \"extract lessons\", \"update skills from session\", or \"what did we learn\"."},"skills_sh_url":"https://skills.sh/tobihagemann/turbo/self-improve"},"updatedAt":"2026-04-22T00:54:12.124Z"}}