[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6X8057D5FS6MNK3SSN2GTFZ":3,"skill-same:01M6X8057D5FS6MNK3SSN2GTFZ":82},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":58,"ownerHtmlUrl":59,"ownerBlogUrl":58,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M6X8057D5FS6MNK3SSN2GTFZ","universal-project-analysis",null,"Deep multi-pass codebase audit — orchestrates project-analysis-core plus the framework-specific project-analysis-*; explicit request only. Single-pass scan → project-analyzer.","event4u-app\u002Fagent-config","event4u-app","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F199339632?v=4","01M6X5TWBNCQCE1VDKT4E9KF7N","event4u.app","01M6X5TWF4HRM266RG2Q5VVH1X",19,"MIT","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Funiversal-project-analysis\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"universal project analysis","analysis","project","deep","single","request","framework-specific","codebase","high","analyzer","multi","core","base","scan","codebase audit","only","discovery","engineering","audit","framework","2026-11-10 10:12:30",false,"---\nmodel_tier: high\ncontext_window: large\nname: universal-project-analysis\ndescription: \"Deep multi-pass codebase audit — orchestrates project-analysis-core plus the framework-specific project-analysis-*; explicit request only. Single-pass scan → project-analyzer.\"\ndomain: discovery\nworkspaces:\n  - engineering\npacks:\n  - engineering-base\n---\n\n# universal-project-analysis\n\n## When to use\n\nUse this skill when:\n\n* The user explicitly requests a full project analysis\n* The user wants a deep codebase audit\n* The user wants a comprehensive architecture review\n* The system is large, unclear, or spans multiple layers\n* `analysis-autonomous-mode` routes here for broad understanding\n\nDo NOT use when:\n\n* The task is normal feature work\n* Only a small isolated code area needs review\n* The issue is already narrow enough for a specialist skill\n* A framework-specific analysis skill can be called directly\n\n## Mission\n\nRun the deep multi-pass audit itself, and hand each pass to the right\nspecialist. Picking *which* skill a request needs in the first place belongs to\n[`analysis-skill-router`](..\u002Fanalysis-skill-router\u002FSKILL.md) — that chooser and\nthis orchestrator are deliberately separate files, and the scope test, the\ndetection step, and the decision table live there, not here.\n\nThis skill must NOT become:\n\n* a giant framework encyclopedia\n* a shallow pointer-only file\n* a replacement for framework-specific deep-dive skills\n\n## Core principles\n\n1. Never assume — verify against code, config, docs, and evidence\n2. Version dictates behavior\n3. Broad understanding comes before narrow conclusions\n4. Use framework-specific skills once the stack is known\n5. Use hypothesis-driven analysis when root cause is unclear\n6. Mark uncertainty explicitly\n\n## Thinking model\n\nAlways think in this order:\n\n1. Observe\n2. Understand\n3. Verify\n4. Route\n5. Investigate\n6. Conclude\n\n## Analysis modes\n\n### Exploration mode\n\nUse when the system is unknown.\nGoal: understand structure, identify major components, detect investigation paths, choose the next specialist skill.\n\n### Investigation mode\n\nUse when there is a concrete issue inside a large or unclear system.\nGoal: isolate the affected area, route into root-cause analysis, verify likely causes with evidence.\n\n### Optimization mode\n\nUse when the system works but may be inefficient or over-complex.\nGoal: identify hot paths, find expensive boundaries, route into architecture or performance specialists.\n\n## Procedure\n\n### 1. Confirm scope\n\nInvoked through the router, this is already settled — proceed. Invoked\ndirectly, apply the router's scope test before spending a multi-pass audit on\nsomething a specialist covers.\n\n### 2. Discover the project\n\nIdentify: language, framework, runtime environment, package managers, major entrypoints, documentation locations.\nLook at: package manifests, lock files, bootstrap files, Docker\u002FCI config, README\u002FAGENTS\u002Fdocs.\n\n### 3. Choose the primary route\n\n* unknown or mixed system → `project-analysis-core`\n* concrete root-cause problem → `project-analysis-hypothesis-driven`\n* Laravel → `project-analysis-laravel`\n* Symfony → `project-analysis-symfony`\n* Zend\u002FLaminas → `project-analysis-zend-laminas`\n* Node\u002FExpress → `project-analysis-node-express`\n* React → `project-analysis-react`\n* Next.js → `project-analysis-nextjs`\n\n### 4. Chain specialists where needed\n\n* bottleneck found → `performance-analysis`\n* security concern found → `security-audit`\n* bug isolated → `bug-analyzer`\n\n### 5. Consolidate findings\n\nCombine: system overview, framework-specific findings, verified risks, explicit uncertainties, next investigation steps.\n\n### 6. Validate analysis quality\n\nCheck:\n\n* full-project analysis was actually justified\n* framework detection is explicit\n* chosen specialist skills match the discovered stack\n* uncertainties are marked\n* conclusions are evidence-based\n\n## Ingestion preprocessor\n\n* `markitdown` — when the project ships PDFs, DOCX, XLSX, PPTX, EPUB,\n  images, or audio that need to feed into any of the routes in steps 3–4.\n  Convert first via the upstream `markitdown-mcp` server, then\n  route the resulting Markdown into the relevant deep-dive skill.\n  Never read a binary office format raw.\n\n> The route lists in steps 3 and 4 are the routing map. A second copy of them\n> lived here until 2026-08-02 and was removed — one list, one place.\n\n## When to add a new framework analysis skill\n\nA framework gets its own `project-analysis-*` skill ONLY if:\n\n* it has its own lifecycle that creates unique debugging patterns\n* it produces failure classes that `project-analysis-core` cannot explain\n* debugging it requires framework-specific mental models (not just API knowledge)\n\nExamples that qualify: Laravel, Symfony, Express, React, Next.js.\nExamples that do NOT qualify: Tailwind, small utility libraries, CSS frameworks, simple state libs.\n\n## Output format\n\n1. Investigation summary\n2. Detected stack and framework\n3. Chosen analysis mode\n4. Routed specialist skills\n5. Consolidated findings\n6. Risks and next steps\n\n## Gotcha\n\n* This skill must remain a real orchestration skill.\n* Do not move long framework-specific deep dives back into this file.\n* Do not let this skill become a generic \"analyze everything\" bucket.\n\n## Do NOT\n\n* Do NOT analyze everything here directly if a specialist skill exists\n* Do NOT skip framework detection\n* Do NOT present broad guesses as conclusions\n* Do NOT turn this into a shallow pointer-only file\n* Do NOT duplicate framework-specific deep-dive content here\n","# universal-project-analysis\n\n## When to use\n\nUse this skill when:\n\n* The user explicitly requests a full project analysis\n* The user wants a deep codebase audit\n* The user wants a comprehensive architecture review\n* The system is large, unclear, or spans multiple layers\n* `analysis-autonomous-mode` routes here for broad understanding\n\nDo NOT use when:\n\n* The task is normal feature work\n* Only a small isolated code area needs review\n* The issue is already narrow enough for a specialist skill\n* A framework-specific analysis skill can be called directly\n\n## Mission\n\nRun the deep multi-pass audit itself, and hand each pass to the right\nspecialist. Picking *which* skill a request needs in the first place belongs to\n[`analysis-skill-router`](..\u002Fanalysis-skill-router\u002FSKILL.md) — that chooser and\nthis orchestrator are deliberately separate files, and the scope test, the\ndetection step, and the decision table live there, not here.\n\nThis skill must NOT become:\n\n* a giant framework encyclopedia\n* a shallow pointer-only file\n* a replacement for framework-specific deep-dive skills\n\n## Core principles\n\n1. Never assume — verify against code, config, docs, and evidence\n2. Version dictates behavior\n3. Broad understanding comes before narrow conclusions\n4. Use framework-specific skills once the stack is known\n5. Use hypothesis-driven analysis when root cause is unclear\n6. Mark uncertainty explicitly\n\n## Thinking model\n\nAlways think in this order:\n\n1. Observe\n2. Understand\n3. Verify\n4. Route\n5. Investigate\n6. Conclude\n\n## Analysis modes\n\n### Exploration mode\n\nUse when the system is unknown.\nGoal: understand structure, identify major components, detect investigation paths, choose the next specialist skill.\n\n### Investigation mode\n\nUse when there is a concrete issue inside a large or unclear system.\nGoal: isolate the affected area, route into root-cause analysis, verify likely causes with evidence.\n\n### Optimization mode\n\nUse when the system works but may be inefficient or over-complex.\nGoal: identify hot paths, find expensive boundaries, route into architecture or performance specialists.\n\n## Procedure\n\n### 1. Confirm scope\n\nInvoked through the router, this is already settled — proceed. Invoked\ndirectly, apply the router's scope test before spending a multi-pass audit on\nsomething a specialist covers.\n\n### 2. Discover the project\n\nIdentify: language, framework, runtime environment, package managers, major entrypoints, documentation locations.\nLook at: package manifests, lock files, bootstrap files, Docker\u002FCI config, README\u002FAGENTS\u002Fdocs.\n\n### 3. Choose the primary route\n\n* unknown or mixed system → `project-analysis-core`\n* concrete root-cause problem → `project-analysis-hypothesis-driven`\n* Laravel → `project-analysis-laravel`\n* Symfony → `project-analysis-symfony`\n* Zend\u002FLaminas → `project-analysis-zend-laminas`\n* Node\u002FExpress → `project-analysis-node-express`\n* React → `project-analysis-react`\n* Next.js → `project-analysis-nextjs`\n\n### 4. Chain specialists where needed\n\n* bottleneck found → `performance-analysis`\n* security concern found → `security-audit`\n* bug isolated → `bug-analyzer`\n\n### 5. Consolidate findings\n\nCombine: system overview, framework-specific findings, verified risks, explicit uncertainties, next investigation steps.\n\n### 6. Validate analysis quality\n\nCheck:\n\n* full-project analysis was actually justified\n* framework detection is explicit\n* chosen specialist skills match the discovered stack\n* uncertainties are marked\n* conclusions are evidence-based\n\n## Ingestion preprocessor\n\n* `markitdown` — when the project ships PDFs, DOCX, XLSX, PPTX, EPUB,\n  images, or audio that need to feed into any of the routes in steps 3–4.\n  Convert first via the upstream `markitdown-mcp` server, then\n  route the resulting Markdown into the relevant deep-dive skill.\n  Never read a binary office format raw.\n\n> The route lists in steps 3 and 4 are the routing map. A second copy of them\n> lived here until 2026-08-02 and was removed — one list, one place.\n\n## When to add a new framework analysis skill\n\nA framework gets its own `project-analysis-*` skill ONLY if:\n\n* it has its own lifecycle that creates unique debugging patterns\n* it produces failure classes that `project-analysis-core` cannot explain\n* debugging it requires framework-specific mental models (not just API knowledge)\n\nExamples that qualify: Laravel, Symfony, Express, React, Next.js.\nExamples that do NOT qualify: Tailwind, small utility libraries, CSS frameworks, simple state libs.\n\n## Output format\n\n1. Investigation summary\n2. Detected stack and framework\n3. Chosen analysis mode\n4. Routed specialist skills\n5. Consolidated findings\n6. Risks and next steps\n\n## Gotcha\n\n* This skill must remain a real orchestration skill.\n* Do not move long framework-specific deep dives back into this file.\n* Do not let this skill become a generic \"analyze everything\" bucket.\n\n## Do NOT\n\n* Do NOT analyze everything here directly if a specialist skill exists\n* Do NOT skip framework detection\n* Do NOT present broad guesses as conclusions\n* Do NOT turn this into a shallow pointer-only file\n* Do NOT duplicate framework-specific deep-dive content here\n",{"name":5,"packs":49,"domain":40,"model_tier":32,"workspaces":51,"description":7,"context_window":52},[50],"engineering-base",[41],"large","main","12bd765ce1d800501d45dfb8232102793af01290","src\u002Fskills\u002Funiversal-project-analysis",1,"https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config","https:\u002F\u002Fevent4u.app","https:\u002F\u002Fgithub.com\u002Fevent4u-app","Your events in your hand","2026-11-13 03:25:49",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add event4u-app\u002Fagent-config --skill universal-project-analysis",{"tool":68,"command":69},"bunx","bunx skills add event4u-app\u002Fagent-config --skill universal-project-analysis",{"tool":71,"command":72},"pnpm","pnpm dlx skills add event4u-app\u002Fagent-config --skill universal-project-analysis","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Funiversal-project-analysis\u002FSKILL.md",true,[76],{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"evals\u002Ftriggers.json","REFERENCE","参考文档",1185,"https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Funiversal-project-analysis\u002Fevals\u002Ftriggers.json",[83,97,109,120,132,142],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":90,"publishedAt":44},"01M6X84PK96XBPENXH66JCTSD1","unknown-key-fixture","Declares a key the schema does not know.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Fscripts\u002Ffixtures\u002Fbody-portable\u002Funknown-key\u002FSKILL.md",[89],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[91,92,93,94,95,96],"unknown key fixture","Unknown key","fixture","unknown","schema","package",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":104,"publishedAt":44},"01M6X84HW7NAHZ7GZMQ9RXK1XJ","portable-fixture","Declares only semantics the MCP-lite carrier transports whole.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Fscripts\u002Ffixtures\u002Fbody-portable\u002Fportable\u002FSKILL.md",[103],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[93,105,106,107,39,96,108],"portable","portable fixture","engineer","MCP",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":116,"publishedAt":44},"01M6X84F29FE0RGGZ1ZTFGZTX2","non-portable-fixture","Declares a runtime semantic the carrier drops.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Fscripts\u002Ffixtures\u002Fbody-portable\u002Fnon-portable\u002FSKILL.md",[115],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[106,117,105,93,118,32,119,96],"non portable fixture","semantic","runtime",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":127,"publishedAt":44},"01M6X848F706PT9MDCX75JKJ6B","candidate-zero-width","A candidate whose prose carries an invisible joiner.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-scout-candidates\u002Fzero-width-injection\u002FSKILL.md",[126],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[128,129,130,131],"candidate zero width","candidate","ZeRO","prose",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":139,"publishedAt":44},"01M6X841SSC2T31VDF41SA6DG1","candidate-disclosure-suppression","A candidate whose prose tells the agent to withhold from the user.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-scout-candidates\u002Fdisclosure-suppression\u002FSKILL.md",[138],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[140,129,131,141],"candidate disclosure suppression","user",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":149,"publishedAt":44},"01M6X83TFS5AGPBPVTQNWP0BB3","candidate-dangerous-frontmatter","A candidate claiming an unscoped tool grant and a permission bypass.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-scout-candidates\u002Fdangerous-frontmatter\u002FSKILL.md",[148],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[150,129,151,152,153,154],"candidate dangerous frontmatter","frontmatter","shell","permission","tool"]