Repository Analysis

WenyuChiou/awesome-agentic-ai-zh

A trilingual (繁中 / English / 简中) learning roadmap for agentic AI: from LLM basics to multi-agent systems, with 240+ curated resources and hands-on examples. 中文 AI agent 學習地圖。

22.5 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of WenyuChiou/awesome-agentic-ai-zh, a Python project with 5,117 GitHub stars. SynthScan v2.0 examined 66,532 lines of code across 392 source files, recording 812 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 22.5 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

22.5
Adjusted Score
22.5
Raw Score
100%
Time Factor
2026-08-05
Last Push
5.1K
Stars
Python
Language
66.5K
Lines of Code
392
Files
812
Pattern Hits
2026-08-09
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 8MEDIUM 386LOW 418

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 812 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Modern AI Meta-Vocabulary377 hits · 950 pts
SeverityFileLineSnippetContext
MEDIUMROADMAP.en.md7> Want to work on one item? Open a [Discussion](https://github.com/WenyuChiou/awesome-agentic-ai-zh/discussions) first, CODE
MEDIUMROADMAP.en.md52To suggest an idea, open a [Discussion](https://github.com/WenyuChiou/awesome-agentic-ai-zh/discussions), not an issue (CODE
MEDIUMREADME.en.md9# awesome-agentic-ai-zhCOMMENT
MEDIUMREADME.en.md11### 🤖 AI Agent Learning Roadmap — from basic LLM concepts to building your own multi-agent systemsCOMMENT
MEDIUMREADME.en.md19![GitHub stars](https://img.shields.io/github/stars/WenyuChiou/awesome-agentic-ai-zh?style=flat&logo=github)CODE
MEDIUMREADME.en.md20![GitHub forks](https://img.shields.io/github/forks/WenyuChiou/awesome-agentic-ai-zh?style=flat&logo=github)CODE
MEDIUMREADME.en.md21[![Docs site](https://img.shields.io/badge/docs-Pages-2ea44f?style=flat)](https://wenyuchiou.github.io/awesome-agentic-aCODE
MEDIUMREADME.en.md75git clone https://github.com/WenyuChiou/awesome-agentic-ai-zh.gitCODE
MEDIUMREADME.en.md290[![Contributors](https://contrib.rocks/image?repo=WenyuChiou/awesome-agentic-ai-zh)](https://github.com/WenyuChiou/awesoCODE
MEDIUMREADME.en.md292New contributors appear above automatically. Full list → [GitHub Contributors](https://github.com/WenyuChiou/awesome-ageCODE
MEDIUMREADME.en.md309 url = {https://github.com/WenyuChiou/awesome-agentic-ai-zh},CODE
MEDIUMmkdocs.yml3site_url: https://wenyuchiou.github.io/awesome-agentic-ai-zh/CODE
MEDIUMmkdocs.yml4repo_url: https://github.com/WenyuChiou/awesome-agentic-ai-zhCODE
MEDIUMmkdocs.yml142 - 書本版: https://wenyuchiou.github.io/awesome-agentic-ai-zh/book/CODE
MEDIUMCAPSTONE.zh-Hans.md124. 想要反馈?把成品 + 自评贴到 [Discussion](https://github.com/WenyuChiou/awesome-agentic-ai-zh/discussions) 找人 peer review(可选,不强制)。CODE
MEDIUMCAPSTONE.zh-Hans.md97- 贴到 [Discussion](https://github.com/WenyuChiou/awesome-agentic-ai-zh/discussions) 的对应分类,附成品链接 + 你的 rubric 自评。CODE
MEDIUMCAPSTONE.en.md124. Want feedback? Post the artifact + your self-assessment to [Discussion](https://github.com/WenyuChiou/awesome-agenticCODE
MEDIUMCAPSTONE.en.md97- Post to the matching [Discussion](https://github.com/WenyuChiou/awesome-agentic-ai-zh/discussions) category with a linCODE
MEDIUMCHANGELOG.md163- **content** · Stage 2 Exercise 2 (Few-Shot) now makes a **fair** zero-shot vs few-shot comparison (resolves #62, reporCODE
MEDIUMCHANGELOG.md313- **i18n** · `*.zh-CN.md` → `*.zh-Hans.md` migration per BCP 47 / W3C compliance (`21b653d`). 25 files renamed, ~270 marCODE
MEDIUMCHANGELOG.md313- **i18n** · `*.zh-CN.md` → `*.zh-Hans.md` migration per BCP 47 / W3C compliance (`21b653d`). 25 files renamed, ~270 marCODE
MEDIUMCHANGELOG.md318- **outreach** · Day 1 PR sent: `punkpeye/awesome-mcp-servers#6135`, adding awesome-agentic-ai-zh to `## Tutorials` (`a0CODE
MEDIUMCHANGELOG.md344- Each commit SHA is clickable: `https://github.com/WenyuChiou/awesome-agentic-ai-zh/commit/<sha>`CODE
MEDIUMPROGRESS.zh-Hans.md13> 不确定选哪条?看 [`README.zh-Hans.md`](README.zh-Hans.md) 的双轨说明,或 [`branches/DESIGN.md`](branches/DESIGN.md)。卡住开 [Discussion](CODE
MEDIUMREADME.zh-Hans.md9# awesome-agentic-ai-zhCOMMENT
MEDIUMREADME.zh-Hans.md19![GitHub stars](https://img.shields.io/github/stars/WenyuChiou/awesome-agentic-ai-zh?style=flat&logo=github)CODE
MEDIUMREADME.zh-Hans.md20![GitHub forks](https://img.shields.io/github/forks/WenyuChiou/awesome-agentic-ai-zh?style=flat&logo=github)CODE
MEDIUMREADME.zh-Hans.md21[![在线文档站](https://img.shields.io/badge/在线文档站-Pages-2ea44f?style=flat)](https://wenyuchiou.github.io/awesome-agentic-ai-zCODE
MEDIUMREADME.zh-Hans.md75git clone https://github.com/WenyuChiou/awesome-agentic-ai-zh.gitCODE
MEDIUMREADME.zh-Hans.md292[![Contributors](https://contrib.rocks/image?repo=WenyuChiou/awesome-agentic-ai-zh)](https://github.com/WenyuChiou/awesoCODE
MEDIUMREADME.zh-Hans.md294新贡献者会自动出现在上方。完整列表 → [GitHub Contributors](https://github.com/WenyuChiou/awesome-agentic-ai-zh/graphs/contributors)。CODE
MEDIUMREADME.zh-Hans.md311 url = {https://github.com/WenyuChiou/awesome-agentic-ai-zh},CODE
MEDIUMPROGRESS.md13> 不確定選哪條?看 [`README.md`](README.md) 的雙軌說明,或 [`branches/DESIGN.md`](branches/DESIGN.md)。卡住開 [Discussion](https://github.cCODE
MEDIUMREADME.md9# awesome-agentic-ai-zhCOMMENT
MEDIUMREADME.md19![GitHub stars](https://img.shields.io/github/stars/WenyuChiou/awesome-agentic-ai-zh?style=flat&logo=github)CODE
MEDIUMREADME.md20![GitHub forks](https://img.shields.io/github/forks/WenyuChiou/awesome-agentic-ai-zh?style=flat&logo=github)CODE
MEDIUMREADME.md21[![線上文件站](https://img.shields.io/badge/線上文件站-Pages-2ea44f?style=flat)](https://wenyuchiou.github.io/awesome-agentic-ai-zCODE
MEDIUMREADME.md75git clone https://github.com/WenyuChiou/awesome-agentic-ai-zh.gitCODE
MEDIUMREADME.md180> 🔭 **三層概念進化**:**prompt engineering**(Stage 2、單一 prompt 怎麼寫)→ **context engineering**(Stage 3 之後、怎麼動態組 system prompt + mCODE
MEDIUMREADME.md290[![Contributors](https://contrib.rocks/image?repo=WenyuChiou/awesome-agentic-ai-zh)](https://github.com/WenyuChiou/awesoCODE
MEDIUMREADME.md292新貢獻者會自動出現在上方。完整列表 → [GitHub Contributors](https://github.com/WenyuChiou/awesome-agentic-ai-zh/graphs/contributors)。CODE
MEDIUMREADME.md309 url = {https://github.com/WenyuChiou/awesome-agentic-ai-zh},CODE
MEDIUMROADMAP.md7> 想動其中一項?開個 [Discussion](https://github.com/WenyuChiou/awesome-agentic-ai-zh/discussions) 講一聲,或直接 PR。擔任 stage / branch 長CODE
MEDIUMROADMAP.md52要提想法請開 [Discussion](https://github.com/WenyuChiou/awesome-agentic-ai-zh/discussions),不要開 issue(issue 留給 bug / 過時 entry /CODE
MEDIUMCONTRIBUTORS.md59| [@scott0127](https://github.com/scott0127) | **Stage 6 RAG 教材** — chunking strategies guide ([#2](https://github.com/WCODE
MEDIUMCONTRIBUTORS.md59| [@scott0127](https://github.com/scott0127) | **Stage 6 RAG 教材** — chunking strategies guide ([#2](https://github.com/WCODE
MEDIUMCONTRIBUTORS.md60| [@xfq](https://github.com/xfq) | **i18n correctness audit** — flagged BCP 47 / W3C compliance issue (`zh-CN` → `zh-HanCODE
MEDIUMCONTRIBUTORS.md60| [@xfq](https://github.com/xfq) | **i18n correctness audit** — flagged BCP 47 / W3C compliance issue (`zh-CN` → `zh-HanCODE
MEDIUMCONTRIBUTORS.md61| [@demo112](https://github.com/demo112) | **中國生態 catalog** — 新增 whale (DeepSeek terminal assistant) + a-stock-data (A 股CODE
MEDIUMCONTRIBUTORS.md61| [@demo112](https://github.com/demo112) | **中國生態 catalog** — 新增 whale (DeepSeek terminal assistant) + a-stock-data (A 股CODE
MEDIUMCONTRIBUTORS.md62| [@Rain120](https://github.com/Rain120) | **zh-Hans 大陸在地化** — 系統盤點 zh-Hans 鏡像的台灣用詞,促成 `scripts/zh-hans-localize.py`(curCODE
MEDIUMCONTRIBUTORS.md62| [@Rain120](https://github.com/Rain120) | **zh-Hans 大陸在地化** — 系統盤點 zh-Hans 鏡像的台灣用詞,促成 `scripts/zh-hans-localize.py`(curCODE
MEDIUMCONTRIBUTORS.md63| [@JunLin-Bobby](https://github.com/JunLin-Bobby) | **Stage 3 ReAct 練習 bug fix** — `trace.append` 移進 `for tc in tool_caCODE
MEDIUMCONTRIBUTORS.md63| [@JunLin-Bobby](https://github.com/JunLin-Bobby) | **Stage 3 ReAct 練習 bug fix** — `trace.append` 移進 `for tc in tool_caCODE
MEDIUMCONTRIBUTORS.md64| [@thebrierfox](https://github.com/thebrierfox) | **§12 Finance hosted-MCP example** — 新增 YIELD INTELLIGENCE MCP (hosteCODE
MEDIUMCONTRIBUTORS.md64| [@thebrierfox](https://github.com/thebrierfox) | **§12 Finance hosted-MCP example** — 新增 YIELD INTELLIGENCE MCP (hosteCODE
MEDIUMCAPSTONE.md124. 想要回饋?把成品 + 自評貼到 [Discussion](https://github.com/WenyuChiou/awesome-agentic-ai-zh/discussions) 找人 peer review(可選,不強制)。CODE
MEDIUMCAPSTONE.md97- 貼到 [Discussion](https://github.com/WenyuChiou/awesome-agentic-ai-zh/discussions) 的對應分類,附成品連結 + 你的 rubric 自評。CODE
MEDIUMPROGRESS.en.md13> Not sure which track to choose? See the dual-track explanation in [`README.en.md`](README.en.md), or [`branches/DESIGNCODE
MEDIUMROADMAP.zh-Hans.md7> 想动其中一项?开个 [Discussion](https://github.com/WenyuChiou/awesome-agentic-ai-zh/discussions) 说一声,或直接 PR。担任 stage / branch 长CODE
317 more matches not shown…
Hyper-Verbose Identifiers206 hits · 252 pts
SeverityFileLineSnippetContext
LOWexamples/stage-3/06-schema-design/test_anthropic.py35def test_bad_schema_can_select_wrong_tool():CODE
LOWexamples/stage-3/06-schema-design/test_anthropic.py47def test_good_schema_selects_temperature_tool():CODE
LOWexamples/stage-3/06-schema-design/test_anthropic.py59def test_good_schema_has_required_fields_and_enum():CODE
LOWexamples/stage-3/06-schema-design/test.py41def test_bad_schema_can_select_wrong_tool():CODE
LOWexamples/stage-3/06-schema-design/test.py54def test_good_schema_selects_temperature_tool():CODE
LOWexamples/stage-3/06-schema-design/test.py66def test_good_schema_has_required_fields_and_enum():CODE
LOW…ples/stage-3/02-multi-tool-selection/test_anthropic.py44def test_tool_spec_contains_three_tools():CODE
LOW…ples/stage-3/02-multi-tool-selection/test_anthropic.py49def test_llm_selects_calculator():CODE
LOW…ples/stage-3/02-multi-tool-selection/test_anthropic.py56def test_llm_selects_calendar():CODE
LOW…ples/stage-3/02-multi-tool-selection/test_anthropic.py63def test_llm_uses_search_instead_of_calendar_for_news():CODE
LOWexamples/stage-3/02-multi-tool-selection/test.py53def test_tool_spec_contains_three_tools():CODE
LOWexamples/stage-3/02-multi-tool-selection/test.py60def test_llm_selects_calculator():CODE
LOWexamples/stage-3/02-multi-tool-selection/test.py68def test_llm_selects_calendar():CODE
LOWexamples/stage-3/02-multi-tool-selection/test.py76def test_llm_uses_search_instead_of_calendar_for_news():CODE
LOWexamples/stage-3/02-multi-tool-selection/test.py84def test_no_tool_call_returns_none():CODE
LOW…ples/stage-3/04-multi-step-reasoning/test_anthropic.py34def test_tools_handle_math_edges():CODE
LOW…ples/stage-3/04-multi-step-reasoning/test_anthropic.py40def test_population_ratio_uses_four_tool_steps():CODE
LOW…ples/stage-3/04-multi-step-reasoning/test_anthropic.py56def test_zero_population_path_still_finishes():CODE
LOWexamples/stage-3/04-multi-step-reasoning/test.py40def test_tools_handle_math_edges():CODE
LOWexamples/stage-3/04-multi-step-reasoning/test.py47def test_population_ratio_uses_four_tool_steps():CODE
LOWexamples/stage-3/04-multi-step-reasoning/test.py64def test_zero_population_path_still_finishes():CODE
LOWexamples/stage-3/04-multi-step-reasoning/test.py80def test_react_loop_respects_max_iter():CODE
LOWexamples/stage-3/05-error-handling/test_anthropic.py34def test_fetch_weather_failure_plan():CODE
LOWexamples/stage-3/05-error-handling/test_anthropic.py58def test_repeated_errors_can_end_gracefully():CODE
LOWexamples/stage-3/05-error-handling/test.py41def test_fetch_weather_failure_plan():CODE
LOWexamples/stage-3/05-error-handling/test.py67def test_repeated_errors_can_end_gracefully():CODE
LOWexamples/stage-3/05-error-handling/test.py82def test_unknown_tool_returns_structured_error():CODE
LOW…amples/stage-3/03-react-from-scratch/test_anthropic.py49def test_calculator_rejects_eval_injection():CODE
LOW…amples/stage-3/03-react-from-scratch/test_anthropic.py61def test_react_loop_single_tool_call():CODE
LOW…amples/stage-3/03-react-from-scratch/test_anthropic.py85def test_react_loop_multi_step():CODE
LOW…amples/stage-3/03-react-from-scratch/test_anthropic.py108def test_react_loop_respects_max_iter():CODE
LOWexamples/stage-3/03-react-from-scratch/test.py54def test_calculator_rejects_eval_injection():CODE
LOWexamples/stage-3/03-react-from-scratch/test.py66def test_react_loop_single_tool_call():CODE
LOWexamples/stage-3/03-react-from-scratch/test.py84def test_react_loop_multi_step():CODE
LOWexamples/stage-3/03-react-from-scratch/test.py107def test_react_loop_respects_max_iter():CODE
LOWexamples/stage-4/05-typed-agent/test_anthropic.py14def test_anthropic_model_importable():CODE
LOWexamples/stage-4/05-typed-agent/test_anthropic.py20def test_starter_anthropic_loadable():CODE
LOWexamples/stage-4/05-typed-agent/test.py25def test_valid_answer_constructs():CODE
LOWexamples/stage-4/05-typed-agent/test.py32def test_confidence_out_of_range_rejected():CODE
LOWexamples/stage-4/05-typed-agent/test.py42def test_confidence_must_be_float():CODE
LOWexamples/stage-4/05-typed-agent/test.py52def test_sources_must_be_list():CODE
LOWexamples/stage-4/03-graph-workflow/test_anthropic.py19def test_concept_workflow_runs():CODE
LOWexamples/stage-4/03-graph-workflow/test_anthropic.py25def test_starter_anthropic_module_ok():CODE
LOWexamples/stage-4/03-graph-workflow/test.py23def test_classify_needs_search():CODE
LOWexamples/stage-4/03-graph-workflow/test.py38def test_should_search_routing():CODE
LOWexamples/stage-4/03-graph-workflow/test.py44def test_hitl_approve_true_publishes():CODE
LOWexamples/stage-4/03-graph-workflow/test.py52def test_hitl_approve_false_rejects():CODE
LOWexamples/stage-4/03-graph-workflow/test.py60def test_branching_skips_search():CODE
LOWexamples/stage-4/02-multi-agent-roles/test_anthropic.py14def test_starter_anthropic_loadable():CODE
LOWexamples/stage-4/02-multi-agent-roles/test_anthropic.py21def test_run_function_imported():CODE
LOW…stage-4/01-same-agent-two-frameworks/test_anthropic.py22def test_starter_anthropic_module_ok():CODE
LOWexamples/stage-4/01-same-agent-two-frameworks/test.py48def test_run_skip_tool_when_known():CODE
LOW…ples/stage-4/04-codeact-vs-json-tool/test_anthropic.py14def test_litellm_model_importable():CODE
LOW…ples/stage-4/04-codeact-vs-json-tool/test_anthropic.py20def test_starter_anthropic_loadable():CODE
LOWexamples/stage-4/04-codeact-vs-json-tool/test.py31def test_calculator_rejects_injection():CODE
LOWexamples/stage-7/04-sdk-advanced/test_anthropic.py15def test_stream_anthropic_yields_text():CODE
LOWexamples/stage-7/04-sdk-advanced/test_anthropic.py30def test_cached_query_passes_cache_control():CODE
LOWexamples/stage-7/04-sdk-advanced/test.py24def test_stream_response_yields_chunks():CODE
LOWexamples/stage-7/04-sdk-advanced/test.py31def test_stream_to_string_aggregates():CODE
LOWexamples/stage-7/04-sdk-advanced/test.py39def test_stream_to_string_skips_empty_deltas():CODE
146 more matches not shown…
Unused Imports111 hits · 111 pts
SeverityFileLineSnippetContext
LOWexamples/stage-3/06-schema-design/test_anthropic.py10CODE
LOW…ples/stage-3/06-schema-design/starter_bad_anthropic.py15CODE
LOWexamples/stage-3/06-schema-design/starter_good.py13CODE
LOWexamples/stage-3/06-schema-design/test.py14CODE
LOW…les/stage-3/06-schema-design/starter_good_anthropic.py15CODE
LOWexamples/stage-3/06-schema-design/starter_bad.py14CODE
LOW…ples/stage-3/02-multi-tool-selection/test_anthropic.py10CODE
LOW…s/stage-3/02-multi-tool-selection/starter_anthropic.py15CODE
LOWexamples/stage-3/02-multi-tool-selection/test.py14CODE
LOWexamples/stage-3/02-multi-tool-selection/starter.py19CODE
LOW…ples/stage-3/04-multi-step-reasoning/test_anthropic.py10CODE
LOW…s/stage-3/04-multi-step-reasoning/starter_anthropic.py15CODE
LOWexamples/stage-3/04-multi-step-reasoning/test.py14CODE
LOWexamples/stage-3/04-multi-step-reasoning/starter.py22CODE
LOWexamples/stage-3/05-error-handling/test_anthropic.py10CODE
LOWexamples/stage-3/05-error-handling/starter_anthropic.py16CODE
LOWexamples/stage-3/05-error-handling/test.py15CODE
LOWexamples/stage-3/05-error-handling/starter.py23CODE
LOW…amples/stage-3/03-react-from-scratch/test_anthropic.py13CODE
LOW…les/stage-3/03-react-from-scratch/starter_anthropic.py16CODE
LOW…les/stage-3/03-react-from-scratch/starter_anthropic.py18CODE
LOWexamples/stage-3/03-react-from-scratch/test.py16CODE
LOWexamples/stage-3/03-react-from-scratch/starter.py20CODE
LOWexamples/stage-4/05-typed-agent/test_anthropic.py6CODE
LOWexamples/stage-4/05-typed-agent/starter_anthropic.py14CODE
LOWexamples/stage-4/05-typed-agent/test.py12CODE
LOWexamples/stage-4/05-typed-agent/test.py19CODE
LOWexamples/stage-4/05-typed-agent/starter.py23CODE
LOWexamples/stage-4/03-graph-workflow/test_anthropic.py9CODE
LOWexamples/stage-4/03-graph-workflow/starter_anthropic.py15CODE
LOWexamples/stage-4/03-graph-workflow/test.py13CODE
LOWexamples/stage-4/03-graph-workflow/starter.py21CODE
LOWexamples/stage-4/02-multi-agent-roles/test_anthropic.py6CODE
LOW…ples/stage-4/02-multi-agent-roles/starter_anthropic.py13CODE
LOWexamples/stage-4/02-multi-agent-roles/test.py8CODE
LOWexamples/stage-4/02-multi-agent-roles/starter.py24CODE
LOWexamples/stage-4/02-multi-agent-roles/starter.py28CODE
LOW…stage-4/01-same-agent-two-frameworks/test_anthropic.py7CODE
LOW…ge-4/01-same-agent-two-frameworks/starter_anthropic.py14CODE
LOWexamples/stage-4/01-same-agent-two-frameworks/test.py9CODE
LOWexamples/stage-4/01-same-agent-two-frameworks/test.py12CODE
LOWexamples/stage-4/01-same-agent-two-frameworks/test.py20CODE
LOW…es/stage-4/01-same-agent-two-frameworks/test_crewai.py7CODE
LOW…amples/stage-4/01-same-agent-two-frameworks/starter.py18CODE
LOW…stage-4/01-same-agent-two-frameworks/starter_crewai.py17CODE
LOW…ples/stage-4/04-codeact-vs-json-tool/test_anthropic.py6CODE
LOW…s/stage-4/04-codeact-vs-json-tool/starter_anthropic.py14CODE
LOWexamples/stage-4/04-codeact-vs-json-tool/test.py9CODE
LOWexamples/stage-4/04-codeact-vs-json-tool/starter.py23CODE
LOWexamples/stage-7/04-sdk-advanced/test_anthropic.py3CODE
LOWexamples/stage-7/04-sdk-advanced/starter_anthropic.py14CODE
LOWexamples/stage-7/04-sdk-advanced/test.py3CODE
LOWexamples/stage-7/04-sdk-advanced/starter.py14CODE
LOWexamples/stage-7/05-deploy/test_anthropic.py3CODE
LOWexamples/stage-7/05-deploy/starter_anthropic.py14CODE
LOWexamples/stage-7/05-deploy/test.py4CODE
LOWexamples/stage-7/05-deploy/starter.py17CODE
LOWexamples/stage-7/02-eval/test_anthropic.py3CODE
LOWexamples/stage-7/02-eval/starter_anthropic.py11CODE
LOWexamples/stage-7/02-eval/test.py3CODE
51 more matches not shown…
Structural Annotation Overuse28 hits · 46 pts
SeverityFileLineSnippetContext
LOWstages/03-tool-use-and-hello-agent.en.md164# Step 1: Define the tool schema — OpenAI-compatible format wrapped in {"type":"function", "function":{...}}COMMENT
LOWstages/03-tool-use-and-hello-agent.en.md180# Step 2: Ask a question and let the LLM decide whether to call the toolCOMMENT
LOWstages/03-tool-use-and-hello-agent.md164# Step 1: 定義 tool schema — OpenAI-compatible 格式包一層 {"type":"function", "function":{...}}COMMENT
LOWstages/03-tool-use-and-hello-agent.md180# Step 2: 問問題、讓 LLM 自己決定要不要呼叫 toolCOMMENT
LOWstages/03-tool-use-and-hello-agent.zh-Hans.md164# Step 1: 定义 tool schema — OpenAI-compatible 格式包一层 {"type":"function", "function":{...}}COMMENT
LOWstages/03-tool-use-and-hello-agent.zh-Hans.md180# Step 2: 问问题、让 LLM 自己决定要不要调用 toolCOMMENT
LOWresources/cookbook.en.md38#### Step 1: Create the Skill FolderCOMMENT
LOWresources/cookbook.en.md52#### Step 2: Write `SKILL.md`COMMENT
LOWresources/cookbook.en.md104#### Step 3: TestCOMMENT
LOWresources/cookbook.en.md160#### Step 1: Install the Official SDKCOMMENT
LOWresources/cookbook.en.md169#### Step 2: Write `server.py`COMMENT
LOWresources/cookbook.en.md190#### Step 3: Configure in Claude Desktop / CodeCOMMENT
LOWresources/cookbook.en.md211#### Step 4: Restart Claude Desktop / Code and TestCOMMENT
LOWresources/cookbook.en.md254#### Step 1: Install SkillsCOMMENT
LOWresources/cookbook.en.md265#### Step 2: Restart Claude CodeCOMMENT
LOWresources/cookbook.en.md274#### Step 3: Practical Prompt TemplatesCOMMENT
LOWresources/cookbook.en.md349#### Step 1: Clone to skills DirectoryCOMMENT
LOWresources/cookbook.en.md355#### Step 2: First Run Requires Google Login (Browser Automation)COMMENT
LOWresources/cookbook.en.md359#### Step 3: Practical PromptsCOMMENT
LOWresources/cookbook.en.md432#### Step 1: Enable Zotero Local APICOMMENT
LOWresources/cookbook.en.md440#### Step 2: Clone zotero-skillsCOMMENT
LOWresources/cookbook.en.md448#### Step 3: Practical PromptsCOMMENT
LOWresources/cookbook.en.md502#### Step 1: Ollama + model (10 minutes)COMMENT
LOWresources/cookbook.en.md519#### Step 2: Pick one CLI agent and connect it to Ollama (10 minutes)COMMENT
LOWresources/cookbook.en.md552#### Step 3: Run one real small task (10 minutes)COMMENT
LOWresources/cookbook.en.md566#### Step 4: Compare with Claude Code (5 minutes)COMMENT
LOWscripts/refresh-stars.py156 if m_stars: # Step 1: same-lineCODE
LOWscripts/refresh-stars.py158 if not line.lstrip().startswith("|"): # Step 2: entry-block only, never table rowsCODE
Cross-File Repetition8 hits · 40 pts
SeverityFileLineSnippetContext
HIGH…ples/stage-3/02-multi-tool-selection/test_anthropic.py0stage 3 練習 5 自我驗證 — path b(anthropic starter_anthropic.py)。 跑法: python test_anthropic.py 用 mock 取代 anthropic client、不打真 STRING
HIGH…ples/stage-3/04-multi-step-reasoning/test_anthropic.py0stage 3 練習 5 自我驗證 — path b(anthropic starter_anthropic.py)。 跑法: python test_anthropic.py 用 mock 取代 anthropic client、不打真 STRING
HIGHexamples/stage-3/05-error-handling/test_anthropic.py0stage 3 練習 5 自我驗證 — path b(anthropic starter_anthropic.py)。 跑法: python test_anthropic.py 用 mock 取代 anthropic client、不打真 STRING
HIGHexamples/stage-6/04-full-rag-pipeline/README.en.md0answer the user's question based only on the context below. if the context doesn't contain the answer, say "i don't haveSTRING
HIGH…ples/stage-6/04-full-rag-pipeline/starter_anthropic.py0answer the user's question based only on the context below. if the context doesn't contain the answer, say "i don't haveSTRING
HIGHexamples/stage-6/04-full-rag-pipeline/README.zh-Hans.md0answer the user's question based only on the context below. if the context doesn't contain the answer, say "i don't haveSTRING
HIGHexamples/stage-6/04-full-rag-pipeline/README.md0answer the user's question based only on the context below. if the context doesn't contain the answer, say "i don't haveSTRING
HIGHexamples/stage-6/04-full-rag-pipeline/starter.py0answer the user's question based only on the context below. if the context doesn't contain the answer, say "i don't haveSTRING
Excessive Try-Catch Wrapping35 hits · 39 pts
SeverityFileLineSnippetContext
LOW…s/stage-3/02-multi-tool-selection/starter_anthropic.py39 except Exception as exc: # noqa: BLE001CODE
LOWexamples/stage-3/02-multi-tool-selection/starter.py46 except Exception as exc: # noqa: BLE001CODE
LOW…les/stage-3/03-react-from-scratch/starter_anthropic.py40 except Exception as e: # noqa: BLE001CODE
LOWexamples/stage-3/03-react-from-scratch/starter.py44 except Exception as e: # noqa: BLE001CODE
LOWexamples/stage-4/05-typed-agent/test.py67 except Exception as e:CODE
MEDIUMexamples/stage-4/05-typed-agent/test.py52def test_sources_must_be_list():CODE
LOWexamples/stage-4/04-codeact-vs-json-tool/starter.py52 except Exception as e: # noqa: BLE001CODE
LOWexamples/stage-7/05-deploy/starter_anthropic.py81 except Exception as e: # noqa: BLE001CODE
LOWexamples/stage-7/05-deploy/starter.py87 except Exception as e: # noqa: BLE001CODE
LOWexamples/stage-7/03-observability/README.en.md86 except Exception as e:CODE
MEDIUMexamples/stage-7/03-observability/README.en.md83def trace_span(ctx, name):CODE
LOWexamples/stage-7/03-observability/README.zh-Hans.md86 except Exception as e:CODE
MEDIUMexamples/stage-7/03-observability/README.zh-Hans.md83def trace_span(ctx, name):CODE
LOWexamples/stage-7/03-observability/README.md90 except Exception as e:CODE
MEDIUMexamples/stage-7/03-observability/README.md87def trace_span(ctx, name):CODE
LOWexamples/stage-7/03-observability/starter.py85 except Exception as e:CODE
LOWexamples/stage-1/04-cross-provider/README.en.md103 except Exception:CODE
LOWexamples/stage-1/04-cross-provider/README.zh-Hans.md103 except Exception:CODE
LOWexamples/stage-1/04-cross-provider/README.md104 except Exception:CODE
LOWscripts/check-anchors.py186 except Exception:CODE
LOWscripts/check-anchors.py201 except Exception as e:CODE
LOWscripts/check-mirror-sync.py47 except Exception:CODE
LOWscripts/check-mirror-sync.py143 except Exception:CODE
LOWscripts/test_pr_link_audit.py228 except Exception as exc: # noqa: BLE001CODE
LOWscripts/test_image_locale.py174 except Exception as exc: # noqa: BLE001CODE
LOWscripts/test_catalog_counts.py135 except Exception as exc: # noqa: BLE001CODE
LOWscripts/check-stage-template.py121 except Exception:CODE
LOWscripts/check-2026-freshness.py168 except Exception:CODE
LOWscripts/check-2026-freshness.py188 except Exception as e:CODE
LOWscripts/test_mirror_parity.py256 except Exception as exc: # noqa: BLE001CODE
LOWscripts/zh-hans-localize.py121 except Exception:CODE
LOWscripts/test_hans_chars.py189 except Exception as exc: # noqa: BLE001CODE
LOWscripts/pr-link-audit.py323 except Exception as exc: # noqa: BLE001 — advisory tool must never fail CICODE
LOWscripts/sync-language-switchers.py32 except Exception:CODE
LOWscripts/test_locale_links.py159 except Exception as exc: # noqa: BLE001CODE
Over-Commented Block22 hits · 22 pts
SeverityFileLineSnippetContext
LOWscripts/freshness-models.yml1# Freshness check — 2026 model whitelist + stale pattern listCOMMENT
LOWscripts/refresh-stars.py21from pathlib import PathCOMMENT
LOWscripts/check-stage-template.py61# template check at file level doesn't make sense.COMMENT
LOWscripts/mkdocs_hooks.py21"""COMMENT
LOWscripts/build-pdf.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/build-mdbook.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/zh-hans-localize.py61 # `#…操作介面…` links (anchor-corruption risk).COMMENT
LOWscripts/check-image-locale.py41IMAGE_RE = re.compile(r"!\[[^\]]*\]\((?!https?:|data:)([^)\s]+)\)")COMMENT
LOWscripts/check-locale-links.py41# [display](target[#anchor]) — relative .md targets only (no scheme, no protocol)COMMENT
LOWscripts/test_repo_scan_excludes.py41#COMMENT
LOW.github/FUNDING.yml1# Shows a "Sponsor" button at the top of this repository.COMMENT
LOW.github/workflows/anchor-validator.yml1name: Anchor ValidatorCOMMENT
LOW.github/workflows/lint.yml1name: Lint (link rot + banned words + schema)COMMENT
LOW.github/workflows/lint.yml101 # 路徑 hygiene:COMMENT
LOW.github/workflows/lint.yml181 run: |COMMENT
LOW.github/workflows/lint.yml201 - name: Check no mirror lost content vs the canonical (blocking, ratchet)COMMENT
LOW.github/workflows/lint.yml221 - name: Check mirror pages embed their own locale's image (blocking)COMMENT
LOW.github/workflows/lint.yml241 # and 39 places still advertised a long-stale number — and twoCOMMENT
LOW.github/workflows/lint.yml261 # Fix with: python scripts/check-locale-links.py --applyCOMMENT
LOW.github/workflows/weekly-catalog-refresh.yml1name: Weekly Catalog RefreshCOMMENT
LOW.github/workflows/docs.yml1name: Site (mkdocs + mdBook) → GitHub PagesCOMMENT
LOW.github/workflows/stage-template-check.yml1name: Stage Template CheckCOMMENT
Decorative Section Separators5 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMscripts/test_freshness.py61# ── Hole #1: DeepSeek regex space-form ────────────────────────────────────────COMMENT
MEDIUMscripts/test_freshness.py89# ── Hole #2: mirror locales are scanned ───────────────────────────────────────COMMENT
MEDIUMscripts/test_freshness.py116# ── canonical_rel + per-file override inheritance ─────────────────────────────COMMENT
MEDIUMscripts/test_freshness.py145# ── Ties to the REAL config (breaks if someone reverts the fixes) ─────────────COMMENT
MEDIUMscripts/pr-link-audit.py66# -----------------------------------------------------------------------------COMMENT
Deep Nesting11 hits · 11 pts
SeverityFileLineSnippetContext
LOWscripts/refresh-stars.py171CODE
LOWscripts/check-catalog-counts.py107CODE
LOWscripts/check-2026-freshness.py84CODE
LOWscripts/check-mirror-parity.py159CODE
LOWscripts/check-image-locale.py93CODE
LOWscripts/check-locale-links.py99CODE
LOWscripts/pr-link-audit.py107CODE
LOWscripts/sync-language-switchers.py128CODE
LOWscripts/sync-language-switchers.py219CODE
LOWscripts/sync-language-switchers.py326CODE
LOWscripts/check-links.py94CODE
Overly Generic Function Names4 hits · 4 pts
SeverityFileLineSnippetContext
LOW…ples/stage-3/06-schema-design/starter_bad_anthropic.py29def process_data(data: str = "") -> str:CODE
LOWexamples/stage-3/06-schema-design/starter_good.py28def process_data(data: list[dict], operation: str) -> dict:CODE
LOW…les/stage-3/06-schema-design/starter_good_anthropic.py28def process_data(data: list[dict], operation: str) -> dict:CODE
LOWexamples/stage-3/06-schema-design/starter_bad.py29def process_data(data: str = "") -> str:CODE
Modern Structural Boilerplate3 hits · 3 pts
SeverityFileLineSnippetContext
LOWexamples/stage-3/05-error-handling/starter_anthropic.py32def set_weather_failures(plan: list[bool]) -> None:CODE
LOWexamples/stage-3/05-error-handling/starter.py39def set_weather_failures(plan: list[bool]) -> None:CODE
LOWscripts/check-mirror-sync.py128def set_gh_output(name: str, value: str) -> None:CODE
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/refresh-stars.py156 if m_stars: # Step 1: same-lineCODE
LOWscripts/refresh-stars.py158 if not line.lstrip().startswith("|"): # Step 2: entry-block only, never table rowsCODE