[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C0VS0PESMS9K0G26TVT1CM":3,"skill-same:01M6C0VS0PESMS9K0G26TVT1CM":74},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":14,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":44,"updatedAt":45,"install":46,"resources":59},"01M6C0VS0PESMS9K0G26TVT1CM","graphify",null,"Build\u002Fquery a navigable knowledge graph of a codebase. Use when onboarding to an unfamiliar codebase, answering cross-module how-does-X-relate-to-Y, or tracing dependencies before a refactor.","matheusnorjosa\u002Faprender_sistema","matheusnorjosa","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F117673804?v=4","01M6C0S19FG12BDFBTRWY9TTEQ","Matheus Norjosa","01M6C0S1DF0YB17TKGEYC70GSP",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgraphify\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"onboarding","graph","knowledge graph","tracing","refactor","how","knowledge","use","build","query","dependencies","module","codebase","when","2026-11-10 10:12:30",false,"---\nname: graphify\ndescription: \"Build\u002Fquery a navigable knowledge graph of a codebase. Use when onboarding to an unfamiliar codebase, answering cross-module how-does-X-relate-to-Y, or tracing dependencies before a refactor.\"\ntrigger: \u002Fgraphify\n---\n\n# \u002Fgraphify\n\nTurn any folder of files into a navigable knowledge graph with community detection, an honest audit\ntrail, and three outputs: interactive HTML, GraphRAG-ready JSON, and a plain-language GRAPH_REPORT.md.\n\nThree things it does that Claude alone cannot:\n1. **Persistent graph** — relationships are stored in `graphify-out\u002Fgraph.json` and survive across sessions. Ask questions weeks later without re-reading everything.\n2. **Honest audit trail** — every edge is tagged EXTRACTED, INFERRED, or AMBIGUOUS. You know what was found vs invented.\n3. **Cross-document surprise** — community detection finds connections between concepts in different files you would never think to ask about directly.\n\n## Command surface\n\n```\n\u002Fgraphify [\u003Cpath>|\u003Cgithub-url> ...]   # build a graph (default path: current directory)\n\u002Fgraphify query \"\u003Cquestion>\"          # traverse the graph for an answer (--dfs, --budget N)\n\u002Fgraphify path \"A\" \"B\"                # shortest path between two concepts\n\u002Fgraphify explain \"Concept\"           # plain-language explanation of one node\n\u002Fgraphify add \u003Curl>                   # fetch a URL into .\u002Fraw, then update the graph\n```\n\nBuild flags (combine freely): `--mode deep`, `--update`, `--directed`, `--cluster-only`, `--no-viz`,\n`--svg`, `--graphml`, `--neo4j[-push \u003Curi>]`, `--mcp`, `--watch`, `--wiki`, `--obsidian[-dir \u003Cpath>]`,\n`--branch \u003Cb>`, `--whisper-model \u003Cname>`. Multiple URLs build each repo and merge into one cross-repo\ngraph.\n\n## Route by command\n\nPick the matching reference, then follow its steps in order. Do not skip steps.\n\n- **Building a graph** (any `\u002Fgraphify \u003Cpath>` or `\u003Cgithub-url>`, with or without build flags) →\n  `reference\u002Fbuild-pipeline.md` (Steps 0–9: clone, install, detect, transcribe, extract, build,\n  cluster, label, export, report).\n- **Querying an existing graph** (`query`, `path`, `explain`) → `reference\u002Fquery-and-navigate.md`.\n- **Keeping a graph current** (`--update`, `--cluster-only`, `add`, `--watch`, git hook, CLAUDE.md\n  integration) → `reference\u002Fupdate-and-maintain.md`.\n\nThe interpreter resolved in build Step 1 is written to `graphify-out\u002F.graphify_python`; every later\nbash block uses `$(cat graphify-out\u002F.graphify_python)` instead of `python3`. Query and maintenance\nsubcommands re-resolve it first if `graphify-out\u002F` was deleted (guard in the reference files).\n\n## Honesty Rules (apply to every branch)\n\n- Never invent an edge. If unsure, use AMBIGUOUS.\n- Never skip the corpus-size check warning (Step 2: >2M words or >200 files).\n- Always show token cost in the report.\n- Never hide cohesion scores behind symbols — show the raw number.\n- Never run HTML viz on a graph with more than 5,000 nodes without warning the user.\n","# \u002Fgraphify\n\nTurn any folder of files into a navigable knowledge graph with community detection, an honest audit\ntrail, and three outputs: interactive HTML, GraphRAG-ready JSON, and a plain-language GRAPH_REPORT.md.\n\nThree things it does that Claude alone cannot:\n1. **Persistent graph** — relationships are stored in `graphify-out\u002Fgraph.json` and survive across sessions. Ask questions weeks later without re-reading everything.\n2. **Honest audit trail** — every edge is tagged EXTRACTED, INFERRED, or AMBIGUOUS. You know what was found vs invented.\n3. **Cross-document surprise** — community detection finds connections between concepts in different files you would never think to ask about directly.\n\n## Command surface\n\n```\n\u002Fgraphify [\u003Cpath>|\u003Cgithub-url> ...]   # build a graph (default path: current directory)\n\u002Fgraphify query \"\u003Cquestion>\"          # traverse the graph for an answer (--dfs, --budget N)\n\u002Fgraphify path \"A\" \"B\"                # shortest path between two concepts\n\u002Fgraphify explain \"Concept\"           # plain-language explanation of one node\n\u002Fgraphify add \u003Curl>                   # fetch a URL into .\u002Fraw, then update the graph\n```\n\nBuild flags (combine freely): `--mode deep`, `--update`, `--directed`, `--cluster-only`, `--no-viz`,\n`--svg`, `--graphml`, `--neo4j[-push \u003Curi>]`, `--mcp`, `--watch`, `--wiki`, `--obsidian[-dir \u003Cpath>]`,\n`--branch \u003Cb>`, `--whisper-model \u003Cname>`. Multiple URLs build each repo and merge into one cross-repo\ngraph.\n\n## Route by command\n\nPick the matching reference, then follow its steps in order. Do not skip steps.\n\n- **Building a graph** (any `\u002Fgraphify \u003Cpath>` or `\u003Cgithub-url>`, with or without build flags) →\n  `reference\u002Fbuild-pipeline.md` (Steps 0–9: clone, install, detect, transcribe, extract, build,\n  cluster, label, export, report).\n- **Querying an existing graph** (`query`, `path`, `explain`) → `reference\u002Fquery-and-navigate.md`.\n- **Keeping a graph current** (`--update`, `--cluster-only`, `add`, `--watch`, git hook, CLAUDE.md\n  integration) → `reference\u002Fupdate-and-maintain.md`.\n\nThe interpreter resolved in build Step 1 is written to `graphify-out\u002F.graphify_python`; every later\nbash block uses `$(cat graphify-out\u002F.graphify_python)` instead of `python3`. Query and maintenance\nsubcommands re-resolve it first if `graphify-out\u002F` was deleted (guard in the reference files).\n\n## Honesty Rules (apply to every branch)\n\n- Never invent an edge. If unsure, use AMBIGUOUS.\n- Never skip the corpus-size check warning (Step 2: >2M words or >200 files).\n- Always show token cost in the report.\n- Never hide cohesion scores behind symbols — show the raw number.\n- Never run HTML viz on a graph with more than 5,000 nodes without warning the user.\n",{"name":5,"trigger":38,"description":7},"\u002Fgraphify","main","9e3a882d83e0853bdc570ae9d89c02d2a53bed82",".claude\u002Fskills\u002Fgraphify","https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema","https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa","Dev Python | IA | Automation | HTML | CSS | Data | Process | Projects","2026-11-13 03:21:06",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add matheusnorjosa\u002Faprender_sistema --skill graphify",{"tool":52,"command":53},"bunx","bunx skills add matheusnorjosa\u002Faprender_sistema --skill graphify",{"tool":55,"command":56},"pnpm","pnpm dlx skills add matheusnorjosa\u002Faprender_sistema --skill graphify","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgraphify\u002FSKILL.md",true,[60,66,70],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"reference\u002Fbuild-pipeline.md","REFERENCE","参考文档",37324,"https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgraphify\u002Freference\u002Fbuild-pipeline.md",{"path":67,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":68,"sourceHtmlUrl":69},"reference\u002Fquery-and-navigate.md",9000,"https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgraphify\u002Freference\u002Fquery-and-navigate.md",{"path":71,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":72,"sourceHtmlUrl":73},"reference\u002Fupdate-and-maintain.md",9963,"https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgraphify\u002Freference\u002Fupdate-and-maintain.md",[75,113,136,158,170,202],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":91,"publishedAt":33},"01M6C0WHSP7S2QMJGGMQRXJ6PD","writing-standards","Apply AS v2 technical-writing standards (clarity, brevity, active voice, Python\u002FDjango conventions). Use when writing a README, a docstring (PEP 257), a commit message, a PR description, an error message, or any technical doc.","https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwriting-standards\u002FSKILL.md",[81,86],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,32],"writing","writing standards","standards","python","commit","pr","pr description","commit message","doc","voice","clarity","django","technical","README","message","active","as","error","technical-writing","brevity","docstring",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":33},"01M6C0WG2SBP9PJG1YQFGGVJAR","verification-gate","Verify before claiming success. Use when about to say something works\u002Fis done, after implementing a feature, after a bugfix, or before pushing — run the proof command and confirm output first.","https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fverification-gate\u002FSKILL.md",[],[120,121,122,123,124,125,126,26,127,128,129,130,131,132,133,134,135,32],"verification","verification gate","gate","run","first","verify","command","verify before claiming","say","done","feature","proof","bugfix","output","about","implementing",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":145,"publishedAt":33},"01M6C0WE010G12KH45YZW6M7K5","test-driven-development","Write the failing test before the implementation in AS v2 (pytest + Django\u002FDRF). Use when implementing a feature or fixing a bug, before any production code is written.","https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",[142],{"categoryNo":143,"categoryName":144,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000008","测试与质量",[146,147,148,149,150,151,103,152,26,153,154,155,130,108,156,135,32,157],"test","test driven development","development","driven","code","Production","write","bug","implementation","pytest","drf","failing",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":33},"01M6C0WC6Y81XRVBJQSTKA96XQ","subagent-development","Orquestra subagents no AS v2 — decompõe a tarefa em domínios independentes, paraleliza e revisa em 2 estágios. Use ao delegar exploração, implementação ou validação cross-arquivo para acelerar o trabalho e poupar o contexto principal.","https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsubagent-development\u002FSKILL.md",[],[148,165,166,167,168,26,169,108],"subagent","subagent development","para","subagents","ao",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":176,"publishedAt":33},"01M6C0W9W8D6JJWXW28Q7ZHAC9","security-scan","Automated security scanning for AS v2. Use before commits or when reviewing changes for vulnerabilities. Runs dependency audit (pip-audit, npm audit), secret detection (grep patterns), and code pattern scanning (SQL injection, XSS, eval, pickle, hardcoded secrets). Integrates with project hooks system.","https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsecurity-scan\u002FSKILL.md",[],[177,178,179,180,181,150,182,183,184,185,186,187,188,189,190,191,192,193,26,194,195,196,108,197,198,199,200,201,32],"security","security scan","scan","vulnerabilities","sql","npm","audit","dependency audit","detection","injection","xss","secrets","pip-audit","commits","system","grep","eval","hooks","security scanning","project","with","true","pip","for","changes",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":211,"publishedAt":33},"01M6C0W7RE3G3C2852YXQKR5J9","resume-handoff","Resume work from a saved handoff document, validating its state against the current codebase before continuing. Use when resuming work from a saved handoff after a context clear or in a new session (path, session name, or GitHub issue).","https:\u002F\u002Fgithub.com\u002Fmatheusnorjosa\u002Faprender_sistema\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fresume-handoff\u002FSKILL.md",[208],{"categoryNo":209,"categoryName":210,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000038","人力资源",[212,213,214,215,216,217,218,219,220,26,221,222,223,224,225,226,31,227,32,228],"handoff","resume handoff","resume","github","state","new session","work","context","session","github issue","issue","document","clear","name","saved","resuming","new"]