{"id":"bbcca4ce-9ce2-495f-b449-f8b1afd2df03","shortId":"ZtA4SG","kind":"skill","title":"codegraph-context","tagline":"Use at the START of any coding session or before touching code in a project. Triggers on: \"lavora su X\", \"modifica X\", \"aggiungi feature a X\", \"fix in X\", any request that implies working inside a specific project folder. Ensures the CodeGraph index is fresh before writing a sing","description":"# CodeGraph Context — Carica il cervello prima di lavorare\n\n## Perché questa skill esiste\n\nLavorare su codice senza il grafo CodeGraph è come operare bendati.\nOgni modifica potrebbe rompere 10 altre cose che non conosco.\n\nCon il grafo attivo posso:\n- Sapere **esattamente** quali funzioni dipendono da quella che sto toccando\n- Fare **impact analysis** prima di modificare\n- Tracciare **flussi di esecuzione** completi\n- Rinominare simboli in **tutti i file** senza perderne uno\n\n**Senza il grafo: indovino. Con il grafo: so.**\n\n---\n\n## Il Protocollo (eseguire sempre in ordine)\n\n### Step 1 — Identifica il progetto target\n\nDetermina il percorso assoluto del progetto su cui devo lavorare.\n\nSe l'utente dice un nome (\"lavora su Quickfy\") cerca il percorso nei repo già indicizzati:\n\n```bash\n# Controlla quali repo sono già indicizzati\nnode packages/codegraph/dist/cli.js list\n# oppure usa il tool MCP\n# codegraph_list_repos()\n```\n\n---\n\n### Step 2 — Controlla se il repo è indicizzato\n\n```bash\nnode packages/codegraph/dist/cli.js list 2>&1\n```\n\n**Caso A — Repo già indicizzato:** vai allo Step 3.\n\n**Caso B — Repo NON indicizzato:** indicizza subito:\n\n```bash\n# Se è un repo git:\nnode packages/codegraph/dist/cli.js analyze /percorso/progetto\n\n# Se NON è un repo git (no .git directory):\nnode packages/codegraph/dist/cli.js analyze /percorso/progetto --skip-git\n```\n\nAttendi il completamento. Output atteso:\n```\nRepository indexed successfully (Xs)\nNNN nodes | NNN edges | NN clusters | NN flows\n```\n\n---\n\n### Step 3 — Verifica che l'indice sia fresco\n\nL'indice è \"fresco\" se corrisponde all'ultimo stato del codice.\n\n**Per repo git** — usa il comando status:\n\n```bash\nnode packages/codegraph/dist/cli.js status /percorso/progetto\n```\n\nSe l'indice è stale → re-indicizza:\n```bash\nnode packages/codegraph/dist/cli.js analyze /percorso/progetto\n```\n\n**Per repo senza git** — controlla se ci sono file modificati di recente rispetto alla data di indicizzazione:\n\n```bash\nfind /percorso/progetto -name \"*.ts\" -o -name \"*.js\" -o -name \"*.py\" | \\\n  xargs ls -lt 2>/dev/null | head -5\n# Se i file sono più recenti dell'indexedAt → re-indicizza\n```\n\n---\n\n### Step 4 — Carica il contesto del progetto\n\nCon il repo indicizzato e fresco, esegui una query iniziale per orientarti:\n\n```\ncodegraph_query(\n  query: \"main entry point architecture overview\",\n  repo: \"nome-repo\",\n  limit: 5\n)\n```\n\nQuesto mi dà i flussi principali del progetto — senza di questo parto dal nulla.\n\n---\n\n### Step 4b — Carica i learnings rilevanti\n\nInvoke `load-learnings` immediately after the graph query:\n\n```\nload-learnings(\n  context: \"{current project name} — {user's task description}\"\n)\n```\n\nThis uses semantic search to surface the 15 most relevant past learnings for this session.\nWithout this step, past mistakes and patterns are invisible — the whole memory system is bypassed.\n\n---\n\n### Step 5 — Conferma e procedi\n\nComunica all'utente:\n\n```\n✅ Contesto CodeGraph caricato per [nome-repo]\n   📊 NNN nodi | NNN relazioni | NN flussi\n   🕐 Indice aggiornato al: [data]\n   \nPronto a lavorare con piena consapevolezza del codice.\n```\n\nPoi procedi con il task originale dell'utente.\n\n---\n\n## Quando RE-indicizzare durante il lavoro\n\nNon serve re-indicizzare ad ogni modifica. Re-indicizza quando:\n\n| Situazione | Azione |\n|-----------|--------|\n| Hai aggiunto nuovi file | Re-indicizza |\n| Hai spostato/rinominato file | Re-indicizza |\n| Hai modificato molte funzioni (5+) | Re-indicizza |\n| L'impact analysis dà risultati strani | Re-indicizza |\n| Hai fatto un refactor strutturale | Re-indicizza |\n| Stai modificando solo 1-2 funzioni | Non serve |\n\n---\n\n## Comandi rapidi di riferimento\n\n```bash\n# Lista repo indicizzati\nnode packages/codegraph/dist/cli.js list\n\n# Indicizza (git repo)\nnode packages/codegraph/dist/cli.js analyze /percorso\n\n# Indicizza (non-git)\nnode packages/codegraph/dist/cli.js analyze /percorso --skip-git\n\n# Indicizza forzato (full re-index)\nnode packages/codegraph/dist/cli.js analyze /percorso --force\n\n# Verifica stato indice\nnode packages/codegraph/dist/cli.js status /percorso\n\n# Avvia MCP server\nnode packages/codegraph/dist/cli.js mcp\n```\n\n---\n\n## Red Flags — STOP se pensi questi pensieri\n\n| Pensiero | Realtà |\n|---------|--------|\n| \"È una modifica piccola, non serve il grafo\" | Le modifiche piccole rompono sistemi grandi. Controlla sempre. |\n| \"Conosco già questo codice\" | Il codice cambia. L'indice riflette la realtà attuale. |\n| \"Il grafo rallenta tutto\" | L'indicizzazione dura ~1 secondo. Un bug da impact analysis evitato vale ore. |\n| \"Lo faccio dopo\" | Farlo dopo significa che ho già scritto codice alla cieca. |\n\n---\n\n## Integrazione con altre skills\n\n- **Prima di** `systematic-debugging` → carica il grafo per tracciare il root cause\n- **Prima di** `writing-plans` → carica il grafo per un piano accurato\n- **Durante** `subagent-driven-development` → ogni subagent deve avere il nome del repo\n- **Prima di** qualsiasi refactoring → usa `codegraph_impact` per il blast radius","tags":["codegraph","context","synapse","deve1993","agent-skills","ai-agents","ai-coding","ai-workspace","anti-poisoning","auto-learning-ai","automation","claude-code"],"capabilities":["skill","source-deve1993","skill-codegraph-context","topic-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workspace","topic-anti-poisoning","topic-auto-learning-ai","topic-automation","topic-claude-code","topic-code-quality","topic-cursor","topic-developer-tools","topic-devops"],"categories":["Synapse"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/deve1993/Synapse/codegraph-context","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add deve1993/Synapse","source_repo":"https://github.com/deve1993/Synapse","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (4,995 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-05-18T19:14:13.272Z","embedding":null,"createdAt":"2026-05-18T13:21:45.944Z","updatedAt":"2026-05-18T19:14:13.272Z","lastSeenAt":"2026-05-18T19:14:13.272Z","tsv":"'-2':555 '-5':336 '/dev/null':334 '/percorso':576,584,597,605 '/percorso/progetto':224,237,288,301,321 '1':136,198,554,657 '10':80 '15':428 '2':186,197,333 '3':207,259 '4':349 '4b':396 '5':380,452,530 'accurato':708 'ad':504 'aggiornato':473 'aggiungi':26 'aggiunto':514 'al':474 'alla':315,678 'allo':205 'altr':81,682 'analysi':103,536,663 'analyz':223,236,300,575,583,596 'architectur':373 'assoluto':144 'attendi':241 'atteso':245 'attivo':89 'attual':649 'aver':717 'avvia':606 'azion':512 'b':209 'bash':167,193,215,284,297,319,563 'bendati':75 'blast':731 'bug':660 'bypass':450 'cambia':643 'carica':55,350,397,689,702 'caricato':461 'caso':199,208 'caus':696 'cerca':160 'cervello':57 'che':83,98,261,673 'ci':308 'cieca':679 'cluster':255 'code':10,15 'codegraph':2,45,53,71,182,367,460,727 'codegraph-context':1 'codic':67,276,483,640,642,677 'comandi':559 'comando':282 'come':73 'completamento':243 'completi':111 'comunica':456 'con':86,125,355,479,486,681 'conferma':453 'conosco':85,637 'consapevolezza':481 'contesto':352,459 'context':3,54,413 'controlla':168,187,306,635 'corrispond':271 'cose':82 'cui':148 'current':414 'da':96,661 'dal':393 'data':316,475 'debug':688 'del':145,275,353,387,482,720 'dell':343,490 'descript':420 'determina':141 'deve':716 'develop':713 'devo':149 'di':59,105,109,312,317,390,561,685,698,723 'dice':154 'dipendono':95 'directori':233 'dopo':669,671 'driven':712 'dura':656 'durant':496,709 'dà':383,537 'e':359,454 'edg':253 'ensur':43 'entri':371 'esattament':92 'esecuzion':110 'esegui':361 'eseguir':131 'esist':64 'evitato':664 'faccio':668 'fare':101 'farlo':670 'fatto':544 'featur':27 'file':117,310,339,516,522 'find':320 'fix':30 'flag':613 'flow':257 'flussi':108,385,471 'folder':42 'forc':598 'forzato':589 'fresco':265,269,360 'fresh':48 'full':590 'funzioni':94,529,556 'git':220,230,232,240,279,305,571,580,587 'già':165,172,202,638,675 'grafo':70,88,123,127,628,651,691,704 'grandi':634 'graph':408 'hai':513,520,526,543 'head':335 'ho':674 'identifica':137 'il':56,69,87,122,126,129,138,142,161,179,189,242,281,351,356,487,497,627,641,650,690,694,703,718,730 'immedi':405 'impact':102,535,662,728 'impli':36 'index':46,247,593 'indexedat':344 'indic':263,267,291,472,601,645 'indicizza':213,296,347,509,519,525,533,542,550,570,577,588 'indicizzar':495,503 'indicizzati':166,173,566 'indicizzato':192,203,212,358 'indicizzazion':318,655 'indovino':124 'inizial':364 'insid':38 'integrazion':680 'invis':444 'invok':401 'js':326 'l':152,262,266,290,534,644,654 'la':647 'lavora':21,157 'lavorar':60,65,150,478 'lavoro':498 'le':629 'learn':399,404,412,432 'limit':379 'list':176,183,196,569 'lista':564 'lo':667 'load':403,411 'load-learn':402,410 'ls':331 'lt':332 'main':370 'mcp':181,607,611 'memori':447 'mi':382 'mistak':440 'modifica':24,77,506,623 'modificando':552 'modificar':106 'modificati':311 'modificato':527 'modifich':630 'molt':528 'name':322,325,328,416 'nei':163 'nn':254,256,470 'nnn':250,252,466,468 'node':174,194,221,234,251,285,298,567,573,581,594,602,609 'nodi':467 'nome':156,377,464,719 'nome-repo':376,463 'non':84,211,226,499,557,579,625 'non-git':578 'nulla':394 'nuovi':515 'o':324,327 'ogni':76,505,714 'operar':74 'oppur':177 'ordin':134 'ore':666 'orientarti':366 'original':489 'output':244 'overview':374 'packages/codegraph/dist/cli.js':175,195,222,235,286,299,568,574,582,595,603,610 'parto':392 'past':431,439 'pattern':442 'pensi':616 'pensieri':618 'pensiero':619 'per':277,302,365,462,692,705,729 'perché':61 'percorso':143,162 'perdern':119 'piano':707 'piccol':631 'piccola':624 'piena':480 'più':341 'plan':701 'poi':484 'point':372 'posso':90 'potrebb':78 'prima':58,104,684,697,722 'principali':386 'procedi':455,485 'progetto':139,146,354,388 'project':18,41,415 'pronto':476 'protocollo':130 'py':329 'quali':93,169 'qualsiasi':724 'quando':492,510 'quella':97 'queri':363,368,369,409 'questa':62 'questi':617 'questo':381,391,639 'quickfi':159 'radius':732 'rallenta':652 'rapidi':560 're':295,346,494,502,508,518,524,532,541,549,592 're-index':591 're-indicizza':294,345,507,517,523,531,540,548 're-indicizzar':493,501 'realtà':620,648 'recent':313 'recenti':342 'red':612 'refactor':546,725 'relazioni':469 'relev':430 'repo':164,170,184,190,201,210,219,229,278,303,357,375,378,465,565,572,721 'repositori':246 'request':34 'riferimento':562 'riflett':646 'rilevanti':400 'rinominar':112 'rispetto':314 'risultati':538 'romper':79 'rompono':632 'root':695 'saper':91 'scritto':676 'se':151,188,216,225,270,289,307,337,615 'search':424 'secondo':658 'semant':423 'sempr':132,636 'senza':68,118,121,304,389 'serv':500,558,626 'server':608 'session':11,435 'sia':264 'significa':672 'simboli':113 'sing':52 'sistemi':633 'situazion':511 'skill':63,683 'skill-codegraph-context' 'skip':239,586 'skip-git':238,585 'solo':553 'sono':171,309,340 'source-deve1993' 'specif':40 'spostato/rinominato':521 'stai':551 'stale':293 'start':7 'stato':274,600 'status':283,287,604 'step':135,185,206,258,348,395,438,451 'sto':99 'stop':614 'strani':539 'struttural':547 'su':22,66,147,158 'subag':711,715 'subagent-driven-develop':710 'subito':214 'success':248 'surfac':426 'system':448 'systemat':687 'systematic-debug':686 'target':140 'task':419,488 'toccando':100 'tool':180 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workspace' 'topic-anti-poisoning' 'topic-auto-learning-ai' 'topic-automation' 'topic-claude-code' 'topic-code-quality' 'topic-cursor' 'topic-developer-tools' 'topic-devops' 'touch':14 'tracciar':107,693 'trigger':19 'ts':323 'tutti':115 'tutto':653 'ultimo':273 'un':155,218,228,545,659,706 'una':362,622 'uno':120 'usa':178,280,726 'use':4,422 'user':417 'utent':153,458,491 'vai':204 'vale':665 'verifica':260,599 'whole':446 'without':436 'work':37 'write':50,700 'writing-plan':699 'x':23,25,29,32 'xarg':330 'xs':249 'è':72,191,217,227,268,292,621","prices":[{"id":"65b812de-b323-4627-8169-5d2afedf73d8","listingId":"bbcca4ce-9ce2-495f-b449-f8b1afd2df03","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"deve1993","category":"Synapse","install_from":"skills.sh"},"createdAt":"2026-05-18T13:21:45.944Z"}],"sources":[{"listingId":"bbcca4ce-9ce2-495f-b449-f8b1afd2df03","source":"github","sourceId":"deve1993/Synapse/codegraph-context","sourceUrl":"https://github.com/deve1993/Synapse/tree/main/skills/codegraph-context","isPrimary":false,"firstSeenAt":"2026-05-18T13:21:45.944Z","lastSeenAt":"2026-05-18T19:14:13.272Z"}],"details":{"listingId":"bbcca4ce-9ce2-495f-b449-f8b1afd2df03","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"deve1993","slug":"codegraph-context","github":{"repo":"deve1993/Synapse","stars":7,"topics":["agent-skills","ai-agents","ai-coding","ai-workspace","anti-poisoning","auto-learning-ai","automation","claude-code","code-quality","cursor","developer-tools","devops","fullstack-development","multi-agent-systems","nextjs","opencode","persistent-memory","self-improving","telegram-bot"],"license":"other","html_url":"https://github.com/deve1993/Synapse","pushed_at":"2026-05-15T21:34:01Z","description":"Self-improving AI brain for Claude Code & Desktop — 28 MCP tools, 253 skills, collective memory, project tracking, work logs. One server, all your sessions share the same knowledge. Deploy on Coolify in 2 minutes.","skill_md_sha":"f9cf01d1095b7098df3696f6e0023359fce698c1","skill_md_path":"skills/codegraph-context/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/deve1993/Synapse/tree/main/skills/codegraph-context"},"layout":"multi","source":"github","category":"Synapse","frontmatter":{"name":"codegraph-context","description":"Use at the START of any coding session or before touching code in a project. Triggers on: \"lavora su X\", \"modifica X\", \"aggiungi feature a X\", \"fix in X\", any request that implies working inside a specific project folder. Ensures the CodeGraph index is fresh before writing a single line of code. Without this, you are working blind — no impact analysis, no call graph, no blast radius."},"skills_sh_url":"https://skills.sh/deve1993/Synapse/codegraph-context"},"updatedAt":"2026-05-18T19:14:13.272Z"}}