[{"data":1,"prerenderedAt":781},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-aws\u002Fagent-toolkit-for-aws":249,"page-views-\u002Ftrending\u002Faws\u002Fagent-toolkit-for-aws":779},[4,29,104,124,194],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Start",false,"\u002Fstart","1.start",[10,14,19,24],{"title":11,"path":7,"stem":12,"icon":13},"What jscpd finds","1.start\u002Findex","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fstart\u002Finstallation","1.start\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F3.quickstart","i-lucide-rocket",{"title":25,"path":26,"stem":27,"icon":28},"Configuration basics","\u002Fstart\u002Fconfiguration","1.start\u002F4.configuration","i-lucide-settings-2",{"title":30,"icon":6,"path":31,"stem":32,"children":33,"page":6},"Guides","\u002Fguides","2.guides",[34,39,44,49,54,59,64,69,74,79,84,89,94,99],{"title":35,"path":36,"stem":37,"icon":38},"Use jscpd in CI","\u002Fguides\u002Fci","2.guides\u002F01.ci","i-lucide-github",{"title":40,"path":41,"stem":42,"icon":43},"Pre-commit hooks","\u002Fguides\u002Fpre-commit","2.guides\u002F02.pre-commit","i-lucide-git-commit",{"title":45,"path":46,"stem":47,"icon":48},"Fail only on new duplication","\u002Fguides\u002Fbaseline","2.guides\u002F03.baseline","i-lucide-git-compare",{"title":50,"path":51,"stem":52,"icon":53},"Monorepos","\u002Fguides\u002Fmonorepos","2.guides\u002F04.monorepos","i-lucide-folder-tree",{"title":55,"path":56,"stem":57,"icon":58},"Cross-format detection","\u002Fguides\u002Fcross-format","2.guides\u002F05.cross-format","i-lucide-layers",{"title":60,"path":61,"stem":62,"icon":63},"Agents","\u002Fguides\u002Fagents","2.guides\u002F06.agents","i-lucide-cpu",{"title":65,"path":66,"stem":67,"icon":68},"Editors","\u002Fguides\u002Feditors","2.guides\u002F07.editors","i-lucide-code",{"title":70,"path":71,"stem":72,"icon":73},"Duplication over git history","\u002Fguides\u002Fhistory","2.guides\u002F08.history","i-lucide-chart-no-axes-combined",{"title":75,"path":76,"stem":77,"icon":78},"Dashboard and health score","\u002Fguides\u002Fdashboard","2.guides\u002F09.dashboard","i-lucide-layout-dashboard",{"title":80,"path":81,"stem":82,"icon":83},"Dead code","\u002Fguides\u002Fdead-code","2.guides\u002F10.dead-code","i-lucide-ghost",{"title":85,"path":86,"stem":87,"icon":88},"Comparing two codebases","\u002Fguides\u002Fcompare","2.guides\u002F11.compare","i-lucide-git-compare-arrows",{"title":90,"path":91,"stem":92,"icon":93},"Semantic clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F12.semantic-clones","i-lucide-brain-circuit",{"title":95,"path":96,"stem":97,"icon":98},"Similar functions","\u002Fguides\u002Fsimilarity","2.guides\u002F13.similarity","i-lucide-list-tree",{"title":100,"path":101,"stem":102,"icon":103},"Boundaries","\u002Fguides\u002Fboundaries","2.guides\u002F14.boundaries","i-lucide-fence",{"title":105,"icon":6,"path":106,"stem":107,"children":108,"page":6},"Concepts","\u002Fconcepts","3.concepts",[109,114,119],{"title":110,"path":111,"stem":112,"icon":113},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":115,"path":116,"stem":117,"icon":118},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":120,"path":121,"stem":122,"icon":123},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":125,"icon":6,"path":126,"stem":127,"children":128,"page":6},"Reference","\u002Freference","4.reference",[129,134,139,144,181,186,190],{"title":130,"path":131,"stem":132,"icon":133},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":135,"path":136,"stem":137,"icon":138},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":140,"path":141,"stem":142,"icon":143},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":145,"icon":6,"path":146,"stem":147,"children":148},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[149,151,156,161,166,171,176],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-file-chart-column",{"title":152,"path":153,"stem":154,"icon":155},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":157,"path":158,"stem":159,"icon":160},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":162,"path":163,"stem":164,"icon":165},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":167,"path":168,"stem":169,"icon":170},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":172,"path":173,"stem":174,"icon":175},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":177,"path":178,"stem":179,"icon":180},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":182,"path":183,"stem":184,"icon":185},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":187,"path":188,"stem":189,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":191,"path":192,"stem":193,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":195,"icon":6,"path":196,"stem":197,"children":198,"page":6},"Project","\u002Fproject","5.project",[199,204,209,214,239,244],{"title":200,"path":201,"stem":202,"icon":203},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":210,"path":211,"stem":212,"icon":213},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":215,"icon":6,"path":216,"stem":217,"children":218},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[219,221,226,230,235],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-gauge",{"title":222,"path":223,"stem":224,"icon":225},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":227,"path":228,"stem":229,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":231,"path":232,"stem":233,"icon":234},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":236,"path":237,"stem":238,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":240,"path":241,"stem":242,"icon":243},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":245,"path":246,"stem":247,"icon":248},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"name":250,"url":251,"appearances":252,"latest":268},"aws\u002Fagent-toolkit-for-aws","https:\u002F\u002Fgithub.com\u002Faws\u002Fagent-toolkit-for-aws",[253],{"date":254,"rank":255,"stars":256,"starsToday":257,"headSha":258,"sources":259,"lines":260,"clones":261,"duplicatedLines":262,"percentage":263,"codePercentage":264,"codeSources":265,"healthScore":266,"healthGrade":267},"2026-10-25",3,3190,13,"e8c630949189f03b3dd77388c86b06a7f2f911a9",5563,701969,2736,180487,25.71,33.46,333,29,"E",{"date":254,"generatedAt":269,"name":250,"url":251,"description":270,"language":271,"stars":256,"starsToday":257,"defaultBranch":272,"headSha":258,"durationMs":273,"total":274,"formats":278,"topClones":348,"code":491,"health":652,"complexity":685,"deadCode":739},"2026-10-25T05:27:36.791Z","Official, AWS-supported MCP servers, skills, and plugins to help AI agents build on AWS","Python","main",5745,{"sources":259,"lines":260,"tokens":275,"clones":261,"duplicatedLines":262,"duplicatedTokens":276,"percentage":263,"percentageTokens":277},6911670,1676574,24.26,[279,286,293,300,307,314,321,328,335,341],{"format":280,"sources":281,"lines":282,"clones":283,"duplicatedLines":284,"percentage":285},"markdown",2682,449318,1571,118094,26.28,{"format":287,"sources":288,"lines":289,"clones":290,"duplicatedLines":291,"percentage":292},"python",572,138578,432,39508,28.51,{"format":294,"sources":295,"lines":296,"clones":297,"duplicatedLines":298,"percentage":299},"json",519,42519,211,9364,22.02,{"format":301,"sources":302,"lines":303,"clones":304,"duplicatedLines":305,"percentage":306},"bash",537,19364,169,3429,17.71,{"format":308,"sources":309,"lines":310,"clones":311,"duplicatedLines":312,"percentage":313},"text",477,10380,128,2438,23.49,{"format":315,"sources":316,"lines":317,"clones":318,"duplicatedLines":319,"percentage":320},"yaml",293,11383,64,2538,22.3,{"format":322,"sources":323,"lines":324,"clones":325,"duplicatedLines":326,"percentage":327},"typescript",112,11699,50,1010,8.63,{"format":329,"sources":330,"lines":331,"clones":332,"duplicatedLines":333,"percentage":334},"sql",101,4265,43,1620,37.98,{"format":336,"sources":332,"lines":337,"clones":338,"duplicatedLines":339,"percentage":340},"java",2730,19,1060,38.83,{"format":342,"sources":343,"lines":344,"clones":345,"duplicatedLines":346,"percentage":347},"javascript",62,2445,16,416,17.01,[349,375,397,415,423,441,449,465,473,481],{"format":280,"lines":350,"tokens":351,"first":352,"others":355,"copies":362,"excerpt":363,"kind":374},565,13116,{"name":353,"start":354,"end":350},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fagent-advisor\u002Freferences\u002Fvendored\u002Fai\u002Fbedrock-pricing-cache.md",1,[356,358,360],{"name":357,"start":354,"end":350},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fazure-to-aws\u002Freferences\u002Fvendored\u002Fai\u002Fbedrock-pricing-cache.md",{"name":359,"start":354,"end":350},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fgcp-to-aws\u002Freferences\u002Fvendored\u002Fai\u002Fbedrock-pricing-cache.md",{"name":361,"start":354,"end":350},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fshared\u002Fai\u002Fbedrock-pricing-cache.md",4,{"lines":364,"total":350},[365,366,367,368,369,370,366,371,372,373],"# Amazon Bedrock Pricing Cache","","**Last updated:** 2026-10-05 (re-verified via the AWS Pricing MCP server, aws.amazon.com\u002Fbedrock\u002Fpricing, and the Bedrock model cards' Geo\u002FGlobal inference ID …","**Region:** us-east-1","**Currency:** USD","**Accuracy:** ±15-25% for AI\u002FBedrock models and services (sourced from public pricing pages)","> Prices may vary by region and change over time. Use for estimation only; there is no live pricing lookup — for the latest rates, check the public AWS pricing…","> **Staleness warning:** If today's date is more than 30 days after the **Last updated** date above, treat AI model prices as potentially stale (±15-25% accura…",">","docs",{"format":280,"lines":376,"tokens":377,"first":378,"others":380,"copies":362,"excerpt":387,"kind":374},638,10612,{"name":379,"start":354,"end":376},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fagent-advisor\u002Freferences\u002Fvendored\u002Fdsl\u002FINTERPRETER.md",[381,383,385],{"name":382,"start":354,"end":376},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fazure-to-aws\u002Freferences\u002Fvendored\u002Fdsl\u002FINTERPRETER.md",{"name":384,"start":354,"end":376},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fheroku-to-aws\u002Freferences\u002Fvendored\u002Fdsl\u002FINTERPRETER.md",{"name":386,"start":354,"end":376},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fshared\u002Fdsl\u002FINTERPRETER.md",{"lines":388,"total":376},[389,366,390,391,392,393,394,366,395,396],"# Interpreter","The plugin-shared contract for DSL-driven migration skills: how to read and act on","the structured frontmatter that phase files carry. It is skill-AGNOSTIC — any","migration skill under this plugin can author its phases to this grammar and drive","execution from this one interpreter. When a phase file begins with a `---` YAML","block, read it first and act on the keys below, then execute the phase's prose body.","Frontmatter is being introduced phase-by-phase. A phase file with no frontmatter","runs entirely from its prose, as before.",{"format":280,"lines":398,"tokens":399,"first":400,"others":402,"copies":405,"excerpt":406,"kind":374},1786,22768,{"name":401,"start":354,"end":398},"plugins\u002Faws-core\u002Fskills\u002Faws-observability\u002Freferences\u002Fcloudwatch-omni\u002Falerts.md",[403],{"name":404,"start":354,"end":398},"skills\u002Fcore-skills\u002Faws-observability\u002Freferences\u002Fcloudwatch-omni\u002Falerts.md",2,{"lines":407,"total":398},[408,366,409,410,411,366,412,413,366,414],"# CloudWatch Omni Alerts","Reference for **CloudWatch Omni alerts** — what they are, how they are evaluated, how","to create, update, delete, tag, and fetch them through the public API, and a section","per API operation.","On an Omni-enabled account \"alert\" and \"alarm\" both mean the Omni alert resource","described here — a separate resource from a CloudWatch alarm, with its own API.","Alert operations are part of the `cloudwatch-omni` service (`aws cloudwatchomni",{"format":280,"lines":416,"tokens":417,"first":418,"others":420,"copies":405,"kind":374},1272,18978,{"name":419,"start":354,"end":416},"plugins\u002Faws-core\u002Fskills\u002Faws-observability\u002Freferences\u002Fcloudwatch-omni\u002Fdashboards.md",[421],{"name":422,"start":354,"end":416},"skills\u002Fcore-skills\u002Faws-observability\u002Freferences\u002Fcloudwatch-omni\u002Fdashboards.md",{"format":287,"lines":424,"tokens":425,"first":426,"others":428,"copies":439,"kind":440},562,3777,{"name":427,"start":354,"end":424},"plugins\u002Faws-startup-advisor\u002Fscripts\u002Ftelemetry\u002Fmetric_emission\u002Fmigration.py",[429,431,433,435,437],{"name":430,"start":354,"end":424},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fazure-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fmigration.py",{"name":432,"start":354,"end":424},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fgcp-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fmigration.py",{"name":434,"start":354,"end":424},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fheroku-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fmigration.py",{"name":436,"start":354,"end":424},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fllm-to-bedrock\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fmigration.py",{"name":438,"start":354,"end":424},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fshared\u002Ftelemetry\u002Fmetric_emission\u002Fmigration.py",6,"code",{"format":280,"lines":442,"tokens":443,"first":444,"others":446,"copies":405,"kind":374},773,17761,{"name":445,"start":354,"end":442},"plugins\u002Faws-core\u002Fskills\u002Faws-observability\u002Freferences\u002Fcloudwatch-omni\u002Fagent-evaluation.md",[447],{"name":448,"start":354,"end":442},"skills\u002Fcore-skills\u002Faws-observability\u002Freferences\u002Fcloudwatch-omni\u002Fagent-evaluation.md",{"format":287,"lines":450,"tokens":451,"first":452,"others":454,"copies":439,"kind":440},525,3426,{"name":453,"start":354,"end":450},"plugins\u002Faws-startup-advisor\u002Fscripts\u002Ftelemetry\u002Fmetric_emission\u002Fmigration_attributes.py",[455,457,459,461,463],{"name":456,"start":354,"end":450},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fazure-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fmigration_attributes.py",{"name":458,"start":354,"end":450},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fgcp-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fmigration_attributes.py",{"name":460,"start":354,"end":450},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fheroku-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fmigration_attributes.py",{"name":462,"start":354,"end":450},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fllm-to-bedrock\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fmigration_attributes.py",{"name":464,"start":354,"end":450},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fshared\u002Ftelemetry\u002Fmetric_emission\u002Fmigration_attributes.py",{"format":280,"lines":466,"tokens":467,"first":468,"others":470,"copies":405,"kind":374},961,15841,{"name":469,"start":354,"end":466},"plugins\u002Faws-core\u002Fskills\u002Famazon-bedrock\u002Freferences\u002Fbedrock-kb-migration\u002Fmanaged-kb-api.md",[471],{"name":472,"start":354,"end":466},"skills\u002Fcore-skills\u002Famazon-bedrock\u002Freferences\u002Fbedrock-kb-migration\u002Fmanaged-kb-api.md",{"format":280,"lines":474,"tokens":475,"first":476,"others":478,"copies":405,"kind":374},882,15181,{"name":477,"start":354,"end":474},"plugins\u002Faws-core\u002Fskills\u002Faws-observability\u002Freferences\u002Fcloudwatch-omni\u002Fquery\u002Fpromql-metrics.md",[479],{"name":480,"start":354,"end":474},"skills\u002Fcore-skills\u002Faws-observability\u002Freferences\u002Fcloudwatch-omni\u002Fquery\u002Fpromql-metrics.md",{"format":280,"lines":482,"tokens":483,"first":484,"others":486,"copies":255,"kind":374},376,7003,{"name":485,"start":354,"end":482},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fazure-to-aws\u002Freferences\u002Fvendored\u002Fai\u002Fai-openai-to-bedrock.md",[487,489],{"name":488,"start":354,"end":482},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fgcp-to-aws\u002Freferences\u002Fvendored\u002Fai\u002Fai-openai-to-bedrock.md",{"name":490,"start":354,"end":482},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fshared\u002Fai\u002Fai-openai-to-bedrock.md",{"sources":265,"lines":492,"tokens":493,"clones":494,"duplicatedLines":495,"duplicatedTokens":496,"percentage":264,"percentageTokens":497,"formats":498,"topClones":524,"generated":650},105755,556165,309,35389,182633,32.84,[499,505,511,517,520,522],{"format":287,"sources":500,"lines":501,"clones":502,"duplicatedLines":503,"percentage":504},290,94798,295,35163,37.09,{"format":301,"sources":506,"lines":507,"clones":508,"duplicatedLines":509,"percentage":510},21,4731,9,68,1.44,{"format":322,"sources":512,"lines":513,"clones":514,"duplicatedLines":515,"percentage":516},15,5782,5,158,2.73,{"format":336,"sources":354,"lines":518,"clones":519,"duplicatedLines":519,"percentage":519},218,0,{"format":342,"sources":514,"lines":521,"clones":519,"duplicatedLines":519,"percentage":519},187,{"format":329,"sources":354,"lines":523,"clones":519,"duplicatedLines":519,"percentage":519},39,[525,543,561,587,595,603,619,627,635,642],{"format":287,"lines":424,"tokens":425,"first":526,"others":527,"copies":439,"excerpt":533,"kind":440},{"name":427,"start":354,"end":424},[528,529,530,531,532],{"name":430,"start":354,"end":424},{"name":432,"start":354,"end":424},{"name":434,"start":354,"end":424},{"name":436,"start":354,"end":424},{"name":438,"start":354,"end":424},{"lines":534,"total":424},[535,536,366,537,538,539,540,366,541,542],"#!\u002Fusr\u002Fbin\u002Fenv python3","\"\"\"Hook: report a migration run's progress as MigrationActivity telemetry.","    python3 scripts\u002Ftelemetry\u002Fmetric_emission\u002Fmigration.py                 # PostToolUse (Write|Edit|Bash)","    python3 scripts\u002Ftelemetry\u002Fmetric_emission\u002Fmigration.py --reconcile     # Stop","    python3 scripts\u002Ftelemetry\u002Fmetric_emission\u002Fmigration.py --session-end   # SessionEnd","    python3 scripts\u002Ftelemetry\u002Fmetric_emission\u002Fmigration.py --reconcile --via cli  # other hosts","Nothing is inferred from the conversation and no skill instruction has to be","followed. The migration skills maintain `.migration\u002F\u003Cid>\u002F.phase-status.json` (and",{"format":287,"lines":450,"tokens":451,"first":544,"others":545,"copies":439,"excerpt":551,"kind":440},{"name":453,"start":354,"end":450},[546,547,548,549,550],{"name":456,"start":354,"end":450},{"name":458,"start":354,"end":450},{"name":460,"start":354,"end":450},{"name":462,"start":354,"end":450},{"name":464,"start":354,"end":450},{"lines":552,"total":450},[535,553,366,554,555,556,557,558,559,560],"\"\"\"Attributes for a migration telemetry event, derived from the run's own artifacts.","Every value is a lookup over files the migration skills already write into","`.migration\u002F\u003Cid>\u002F`: no inference, no free text. Unknown or unmodelled values drop","the attribute, never the event, because the service rejects a whole event on one","bad enum member. Phase facts attach only to the PHASE_COMPLETED event of the","phase that produced them, so no aggregation double counts; `complexityTier` is","the exception, riding every Design-onward and terminal event because it segments","the funnel.",{"format":287,"lines":562,"tokens":563,"first":564,"others":566,"copies":439,"excerpt":577,"kind":440},291,1494,{"name":565,"start":354,"end":562},"plugins\u002Faws-startup-advisor\u002Fscripts\u002Ftelemetry\u002Fmetric_emission\u002Fclient.py",[567,569,571,573,575],{"name":568,"start":354,"end":562},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fazure-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fclient.py",{"name":570,"start":354,"end":562},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fgcp-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fclient.py",{"name":572,"start":354,"end":562},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fheroku-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fclient.py",{"name":574,"start":354,"end":562},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fllm-to-bedrock\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fmetric_emission\u002Fclient.py",{"name":576,"start":354,"end":562},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fshared\u002Ftelemetry\u002Fmetric_emission\u002Fclient.py",{"lines":578,"total":562},[535,579,366,580,581,582,583,584,585,586],"\"\"\"POST a PluginTelemetryEvent to the Startups Advisor IDE Extension API.","    POST \u002Fv1\u002Fplugin-telemetry-event","    {","      \"installId\": \"\u003Cuuid>\",          # @required, UUID shape","      \"source\": \"CLAUDE_CODE\",        # @required, PluginSource enum","      \"pluginVersion\": \"2.0.2\",       # @required, ExtensionVersion shape","      \"occurredAt\": 1759276800000,    # @required, epoch milliseconds","      \"pluginTelemetryEvent\": {...}   # the PluginTelemetryEvent union",{"format":287,"lines":588,"tokens":589,"first":590,"others":592,"copies":405,"kind":440},1619,6562,{"name":591,"start":354,"end":588},"plugins\u002Faws-data-analytics\u002Fskills\u002Fmanaging-amazon-msk\u002Fscripts\u002Fmsk_sizing.py",[593],{"name":594,"start":354,"end":588},"skills\u002Fspecialized-skills\u002Fanalytics-skills\u002Fmanaging-amazon-msk\u002Fscripts\u002Fmsk_sizing.py",{"format":287,"lines":596,"tokens":597,"first":598,"others":600,"copies":405,"kind":440},982,5555,{"name":599,"start":354,"end":596},"plugins\u002Faws-core\u002Fskills\u002Faws-observability\u002Fscripts\u002Fcloudwatch-omni\u002Fevaluate_traces.py",[601],{"name":602,"start":354,"end":596},"skills\u002Fcore-skills\u002Faws-observability\u002Fscripts\u002Fcloudwatch-omni\u002Fevaluate_traces.py",{"format":287,"lines":604,"tokens":605,"first":606,"others":608,"copies":439,"kind":440},194,978,{"name":607,"start":354,"end":604},"plugins\u002Faws-startup-advisor\u002Fscripts\u002Ftelemetry\u002Fconsent\u002Frecord.py",[609,611,613,615,617],{"name":610,"start":354,"end":604},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fazure-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fconsent\u002Frecord.py",{"name":612,"start":354,"end":604},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fgcp-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fconsent\u002Frecord.py",{"name":614,"start":354,"end":604},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fheroku-to-aws\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fconsent\u002Frecord.py",{"name":616,"start":354,"end":604},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fllm-to-bedrock\u002Freferences\u002Fvendored\u002Ftelemetry\u002Fconsent\u002Frecord.py",{"name":618,"start":354,"end":604},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fshared\u002Ftelemetry\u002Fconsent\u002Frecord.py",{"format":287,"lines":620,"tokens":621,"first":622,"others":624,"copies":405,"kind":440},1185,4583,{"name":623,"start":354,"end":620},"plugins\u002Faws-data-analytics\u002Fskills\u002Fmigrate-to-msk\u002Fscripts\u002Fcompatibility.py",[625],{"name":626,"start":354,"end":620},"skills\u002Fspecialized-skills\u002Fanalytics-skills\u002Fmigrate-to-msk\u002Fscripts\u002Fcompatibility.py",{"format":287,"lines":628,"tokens":629,"first":630,"others":632,"copies":405,"kind":440},929,4204,{"name":631,"start":354,"end":628},"plugins\u002Faws-core\u002Fskills\u002Faws-ai-ml\u002Freferences\u002Fmodel-selection\u002Fscripts\u002Fsearch_deployable_models.py",[633],{"name":634,"start":354,"end":628},"skills\u002Fcore-skills\u002Faws-ai-ml\u002Freferences\u002Fmodel-selection\u002Fscripts\u002Fsearch_deployable_models.py",{"format":287,"lines":636,"tokens":425,"first":637,"others":639,"copies":405,"kind":440},658,{"name":638,"start":354,"end":636},"plugins\u002Faws-startup-advisor\u002Fscripts\u002Femit-plan-json.py",[640],{"name":641,"start":354,"end":636},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fheroku-to-aws\u002Fscripts\u002Femit-plan-json.py",{"format":287,"lines":643,"tokens":644,"first":645,"others":647,"copies":405,"kind":440},709,3730,{"name":646,"start":354,"end":643},"plugins\u002Faws-core\u002Fskills\u002Faws-observability\u002Fscripts\u002Fcloudwatch\u002Fdi_crud_tools.py",[648],{"name":649,"start":354,"end":643},"skills\u002Fcore-skills\u002Faws-observability\u002Fscripts\u002Fcloudwatch\u002Fdi_crud_tools.py",{"files":519,"minified":519,"sample":651},[],{"score":266,"grade":267,"size":653,"dimensions":656},{"lines":654,"files":309,"class":655},142656,"L",[657,671,679],{"id":658,"source":659,"value":660,"adjusted":661,"lines":662,"halfLife":663,"formats":664,"excluded":667,"weight":354,"score":670},"duplication","jscpd",25.7,25.4,36690,8.5,[287,322,301,665,342,336,329,666],"hcl","docker",[668,308,669],"markup","data",12.6,{"id":672,"source":659,"value":673,"adjusted":673,"lines":674,"halfLife":675,"coverage":676,"weight":677,"score":678},"dead-code",7.8,10660,7.5,95.5,0.955,48.8,{"id":680,"source":659,"value":681,"adjusted":682,"lines":683,"halfLife":325,"weight":354,"score":684},"complexity",65.4,64.8,93333,40.7,{"total":686,"mean":687,"files":688},22655,47.5,[689,694,699,704,709,714,719,724,729,734],{"path":690,"complexity":691,"lines":692,"bytes":693},"plugins\u002Faws-startup-advisor\u002Fscripts\u002Fvalidate-migration-report.py",571,2434,102931,{"path":695,"complexity":696,"lines":697,"bytes":698},"plugins\u002Faws-startup-advisor\u002Fscripts\u002Fvalidate-artifacts.py",469,1255,58360,{"path":700,"complexity":701,"lines":702,"bytes":703},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fheroku-to-aws\u002Fscripts\u002Fvalidate-heroku-migration-report.py",381,1428,62886,{"path":705,"complexity":706,"lines":707,"bytes":708},"skills\u002Fspecialized-skills\u002Fdatabase-skills\u002Famazon-dynamodb\u002Fscripts\u002Fcalculate_costs.py",329,1933,87094,{"path":710,"complexity":711,"lines":712,"bytes":713},"plugins\u002Faws-startup-advisor\u002Ffixtures\u002Fazure-iac-terraform\u002Fcheck_expected_design.py",311,1092,47173,{"path":715,"complexity":716,"lines":717,"bytes":718},"skills\u002Fspecialized-skills\u002Fdatabase-skills\u002Famazon-dynamodb\u002Fscripts\u002Fgenerate_perf_report.py",306,1665,78343,{"path":720,"complexity":721,"lines":722,"bytes":723},"plugins\u002Faws-startup-advisor\u002Fskills\u002Fagent-advisor\u002Fscripts\u002Fopenai_model_recommendation.py",266,1352,59531,{"path":725,"complexity":726,"lines":727,"bytes":728},"plugins\u002Faws-startup-advisor\u002Ftools\u002Fapplication-source-review.ts",249,996,38707,{"path":730,"complexity":731,"lines":732,"bytes":733},"skills\u002Fspecialized-skills\u002Fdatabase-skills\u002Famazon-documentdb\u002Fscripts\u002Fwa_review.py",222,1341,47991,{"path":735,"complexity":736,"lines":737,"bytes":738},"skills\u002Fspecialized-skills\u002Fdatabase-skills\u002Famazon-dynamodb\u002Fscripts\u002Fbenchmark_model.py",221,1063,47293,{"percentage":740,"findings":741,"files":346,"byCategory":742,"largest":751},7.83,89,[743,746,749],{"category":744,"count":745},"unused-file",66,{"category":747,"count":748},"unused-symbol",17,{"category":750,"count":439},"unused-import",[752,755,758,760,763,765,768,770,773,776],{"category":744,"path":753,"name":366,"line":354,"lines":754},"skills\u002Fspecialized-skills\u002Faws-marketplace-skills\u002Faws-marketplace-metering\u002Fscripts\u002Fmetering_core.py",865,{"category":744,"path":756,"name":366,"line":354,"lines":757},"plugins\u002Faws-core\u002Fskills\u002Faws-ai-ml\u002Freferences\u002Fmodel-evaluation\u002Fscripts\u002Fnova_reward_function_source_template.py",364,{"category":744,"path":759,"name":366,"line":354,"lines":757},"skills\u002Fcore-skills\u002Faws-ai-ml\u002Freferences\u002Fmodel-evaluation\u002Fscripts\u002Fnova_reward_function_source_template.py",{"category":744,"path":761,"name":366,"line":354,"lines":762},"plugins\u002Faws-core\u002Fskills\u002Faws-ai-ml\u002Freferences\u002Ffinetuning\u002Ftemplates\u002Fnova_rlvr_reward_function_source_template.py",358,{"category":744,"path":764,"name":366,"line":354,"lines":762},"skills\u002Fcore-skills\u002Faws-ai-ml\u002Freferences\u002Ffinetuning\u002Ftemplates\u002Fnova_rlvr_reward_function_source_template.py",{"category":744,"path":766,"name":366,"line":354,"lines":767},"plugins\u002Faws-core\u002Fskills\u002Faws-ai-ml\u002Freferences\u002Fendpoint-diagnostics\u002Fscripts\u002Fcollect_diagnostics.py",351,{"category":744,"path":769,"name":366,"line":354,"lines":767},"skills\u002Fcore-skills\u002Faws-ai-ml\u002Freferences\u002Fendpoint-diagnostics\u002Fscripts\u002Fcollect_diagnostics.py",{"category":744,"path":771,"name":366,"line":354,"lines":772},"skills\u002Fspecialized-skills\u002Faws-marketplace-skills\u002Faws-marketplace-metering\u002Fscripts\u002Fsubscription.py",325,{"category":744,"path":774,"name":366,"line":354,"lines":775},"skills\u002Fspecialized-skills\u002Faws-marketplace-skills\u002Faws-marketplace-metering\u002Fscripts\u002Fsubmitter.py",313,{"category":744,"path":777,"name":366,"line":354,"lines":778},"skills\u002Fspecialized-skills\u002Faws-marketplace-skills\u002Faws-marketplace-metering\u002Fscripts\u002Fregister.py",276,{"\u002Ftrending\u002Faws\u002Fagent-toolkit-for-aws":780},{"views":519,"visits":519},1792911671059]