Repository Analysis

vudovn/ag-kit

4.0 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of vudovn/ag-kit, a TypeScript project with 8,083 GitHub stars. SynthScan v2.0 examined 67,258 lines of code across 373 source files, recording 179 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 4.0 places this repository in the Likely human-written 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).

4.0
Adjusted Score
4.0
Raw Score
100%
Time Factor
2026-07-30
Last Push
8.1K
Stars
TypeScript
Language
67.3K
Lines of Code
373
Files
179
Pattern Hits
2026-08-02
Scan Date
0.03
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 11MEDIUM 6LOW 162

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 179 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.

Structural Annotation Overuse38 hits · 62 pts
SeverityFileLineSnippetContext
LOW.agents/workflows/orchestrate.md119### Step 1: Analyze Task DomainsCOMMENT
LOW.agents/workflows/orchestrate.md134### Step 2: Phase DetectionCOMMENT
LOW.agents/workflows/orchestrate.md141### Step 3: Execute Based on PhaseCOMMENT
LOW.agents/workflows/orchestrate.md183### Step 4: Verification (MANDATORY)COMMENT
LOW.agents/workflows/orchestrate.md190### Step 5: Synthesize ResultsCOMMENT
LOW.agents/agent/project-planner.md180### Step 1: Request AnalysisCOMMENT
LOW.agents/agent/project-planner.md190### Step 2: Component IdentificationCOMMENT
LOW.agents/agent/project-planner.md221### Step 3: Task FormatCOMMENT
LOW.agents/agent/frontend-specialist.md83### Step 1: Self-Questioning (Internal - Don't show to user)COMMENT
LOW.agents/agent/frontend-specialist.md153### Step 2: Dynamic User Questions (Based on Analysis)COMMENT
LOW.agents/agent/frontend-specialist.md171### Step 3: Design Hypothesis & Style CommitmentCOMMENT
LOW.agents/agent/performance-optimizer.md104### Step 1: MeasureCOMMENT
LOW.agents/agent/performance-optimizer.md113### Step 2: IdentifyCOMMENT
LOW.agents/agent/performance-optimizer.md119### Step 3: Fix & ValidateCOMMENT
LOW.agents/skills/context-compression/SKILL.md108### Step 1: Identify Completed PhasesCOMMENT
LOW.agents/skills/context-compression/SKILL.md116### Step 2: Extract Key InformationCOMMENT
LOW.agents/skills/context-compression/SKILL.md131### Step 3: Write SummaryCOMMENT
LOW.agents/skills/skillify/SKILL.md31### Step 1: Identify the PatternCOMMENT
LOW.agents/skills/skillify/SKILL.md39### Step 2: Generate SKILL.mdCOMMENT
LOW.agents/skills/skillify/SKILL.md77### Step 3: Place the SkillCOMMENT
LOW.agents/skills/skillify/SKILL.md82### Step 4: VerifyCOMMENT
LOW.agents/skills/code-review-graph/SKILL.md87### Step 1: Install the PackageCOMMENT
LOW.agents/skills/code-review-graph/SKILL.md100### Step 2: Configure MCP ClientCOMMENT
LOW.agents/skills/code-review-graph/SKILL.md114### Step 3: Build the Initial GraphCOMMENT
LOW.agents/skills/code-review-graph/SKILL.md127### Step 4: Enable Watch Mode (Recommended)COMMENT
LOW.agents/skills/code-review-graph/SKILL.md140### Step 5: Verify IntegrationCOMMENT
LOW.agents/skills/batch-operations/SKILL.md33### Step 1: Define the PatternCOMMENT
LOW.agents/skills/batch-operations/SKILL.md41### Step 2: Preview Before ExecutingCOMMENT
LOW.agents/skills/batch-operations/SKILL.md55### Step 3: Execute the BatchCOMMENT
LOW.agents/skills/batch-operations/SKILL.md71### Step 4: Verify the BatchCOMMENT
LOW.agents/skills/verify-changes/SKILL.md26### Step 1: Identify What ChangedCOMMENT
LOW.agents/skills/verify-changes/SKILL.md33### Step 2: Determine Verification MethodCOMMENT
LOW.agents/skills/verify-changes/SKILL.md45### Step 3: Execute VerificationCOMMENT
LOW.agents/skills/verify-changes/SKILL.md63### Step 4: Report EvidenceCOMMENT
LOW.agents/skills/simplify-code/SKILL.md91### Step 1: Identify ComplexityCOMMENT
LOW.agents/skills/simplify-code/SKILL.md100### Step 2: Verify UnderstandingCOMMENT
LOW.agents/skills/simplify-code/SKILL.md106### Step 3: Simplify IncrementallyCOMMENT
LOW.agents/skills/simplify-code/SKILL.md115### Step 4: Verify Behavior PreservedCOMMENT
Redundant / Tautological Comments24 hits · 35 pts
SeverityFileLineSnippetContext
LOW.agents/skills/mobile-design/scripts/mobile_audit.py355 # Check if following iOS scale roughlyCOMMENT
LOW.agents/skills/mobile-design/scripts/mobile_audit.py372 # Check if using sp (scale-independent pixels)COMMENT
LOW.agents/skills/mobile-design/scripts/mobile_audit.py379 # Check if font sizes follow modular scaleCOMMENT
LOW.agents/skills/mobile-design/scripts/mobile_audit.py416 # Check if overusing bold (mobile should be regular-dominant)COMMENT
LOW.agents/skills/mobile-design/scripts/mobile_audit.py432 # Check if using light colors in dark mode (bad for OLED)COMMENT
LOW.agents/skills/mobile-design/scripts/mobile_audit.py609 # Check if using Hermes engine (should be default in modern RN)COMMENT
LOW.agents/skills/seo-fundamentals/scripts/seo_checker.py89 # Check if it's likely a pageCOMMENT
LOW.agents/skills/testing-patterns/scripts/test_runner.py179 # Print output (truncated)COMMENT
LOW…ts/skills/nextjs-react-expert/scripts/convert_rules.py179 # Write fileSTRING
LOW…ts/skills/nextjs-react-expert/scripts/convert_rules.py196 # Check if rules directory existsCOMMENT
LOW…xtjs-react-expert/scripts/react_performance_checker.py121 # Check if it's imported statically somewhereCOMMENT
LOW…xtjs-react-expert/scripts/react_performance_checker.py176 # Check if component receives propsCOMMENT
LOW.agents/skills/frontend-design/scripts/ux_audit.py140 # Check if last nav item is important (contact, login, etc.)COMMENT
LOW.agents/skills/frontend-design/scripts/ux_audit.py336 # Check if h1 exists for main contentCOMMENT
LOW.agents/skills/frontend-design/scripts/ux_audit.py351 # Check if sizes follow a modular scale roughlyCOMMENT
LOW.agents/skills/frontend-design/scripts/ux_audit.py399 # Check if natural (Y > X) or multiple layersCOMMENT
LOW.agents/skills/frontend-design/scripts/ux_audit.py421 # Check if there's variety in shadow opacities for different elevationsCOMMENT
LOW.agents/skills/frontend-design/scripts/ux_audit.py435 # Check if hero section exists without gradientCOMMENT
LOW.agents/skills/frontend-design/scripts/ux_audit.py556 # Check if using HSL for palette (recommended in color-system.md)COMMENT
LOW.agents/skills/frontend-design/scripts/ux_audit.py605 # Check if using expensive properties in scroll handlersCOMMENT
LOW.agents/skills/frontend-design/scripts/ux_audit.py658 # Check if animation serves purpose (not just decoration)COMMENT
LOW.agents/skills/frontend-design/scripts/ux_audit.py665 # Check if animations are functionalCOMMENT
LOW.agents/skills/api-patterns/scripts/api_validator.py185 # Print resultsCOMMENT
LOW.agents/skills/geo-fundamentals/scripts/geo_checker.py235 # Print resultsCOMMENT
Magic Placeholder Names7 hits · 34 pts
SeverityFileLineSnippetContext
HIGHREADME-VI.md75`check:antigravity` chỉ đọc, không thay đổi file. MCP example mặc định chứa `YOUR_API_KEY`, vì vậy doctor thông thường sCODE
HIGHMIGRATION.md54- a warning for `YOUR_API_KEY` is expected until the MCP example is configured;CODE
HIGHREADME.md75`check:antigravity` is read-only. The default MCP example contains `YOUR_API_KEY`, so the normal doctor reports a warninCODE
HIGH.agents/mcp_config.json9 "YOUR_API_KEY"CODE
HIGH.agents/README.md53`mcp_config.json` is a workspace example. Replace `YOUR_API_KEY` before enabling the server and keep real credentials ouCODE
HIGH.agents/hooks/README.md57Apply only after replacing placeholders such as `YOUR_API_KEY`:CODE
HIGH.agents/scripts/tests/test_toolkit.py53TOKEN = 'YOUR_API_KEY'STRING
Hyper-Verbose Identifiers24 hits · 30 pts
SeverityFileLineSnippetContext
LOW.agents/scripts/validate_kit.py327def validate_architecture_counts(root: Path, findings: list[Finding]) -> None:CODE
LOW.agents/scripts/tests/test_toolkit.py39 def test_toolkit_self_validation_passes(self):CODE
LOW.agents/scripts/tests/test_toolkit.py44 def test_mcp_config_is_valid_json(self):CODE
LOW.agents/scripts/tests/test_toolkit.py48 def test_security_scanner_ignores_patterns_inside_strings(self):CODE
LOW.agents/scripts/tests/test_toolkit.py61 def test_security_scanner_detects_executable_eval_and_secret(self):CODE
LOW.agents/scripts/tests/test_toolkit.py75 def test_security_scanner_detects_nested_nextjs_header_configuration(self):CODE
LOW.agents/scripts/tests/test_toolkit.py90 def test_dependency_analyzer_flags_missing_lock(self):CODE
LOW.agents/scripts/tests/test_toolkit.py99 def test_bundle_analyzer_flags_oversized_asset(self):CODE
LOW.agents/scripts/tests/test_toolkit.py109 def test_geo_checker_follows_localized_mdx_and_skips_layouts(self):CODE
LOW.agents/scripts/tests/test_toolkit.py139 def test_react_checker_ignores_generated_next_output(self):CODE
LOW.agents/scripts/tests/test_toolkit.py168 def test_runner_finds_embedded_toolkit_for_external_project(self):CODE
LOW.agents/scripts/tests/test_toolkit.py174 def test_all_components_use_strict_semver(self):CODE
LOW.agents/scripts/tests/test_toolkit.py185 def test_component_registry_and_lock_are_synchronized(self):CODE
LOW.agents/scripts/tests/test_toolkit.py191 def test_dependency_graph_is_synchronized(self):CODE
LOW.agents/scripts/tests/test_toolkit.py195 def test_workflow_dependencies_resolve(self):CODE
LOW.agents/scripts/tests/test_toolkit.py205 def test_orchestration_guidance_is_antigravity_first_and_bounded(self):CODE
LOW.agents/scripts/tests/test_toolkit.py220 def test_caret_semver_resolution(self):CODE
LOW.agents/scripts/tests/test_toolkit.py226 def test_memory_topics_are_present(self):CODE
LOW…/skills/vulnerability-scanner/scripts/security_scan.py112def _python_code_without_strings(text: str) -> list[str]:CODE
LOW…/skills/vulnerability-scanner/scripts/security_scan.py133def _generic_code_without_strings(text: str) -> list[str]:CODE
LOW…gents/skills/i18n-localization/scripts/i18n_checker.py73def check_locale_completeness(locale_files: list[Path], root: Path) -> dict[str, Any]:CODE
LOW…xtjs-react-expert/scripts/react_performance_checker.py164 def check_missing_memoization(self):CODE
LOW…ents/skills/lint-and-validate/scripts/type_coverage.py56def _run_typescript_compilers(project: Path) -> list[dict[str, Any]]:CODE
LOW…ents/skills/lint-and-validate/scripts/type_coverage.py87def check_typescript_coverage(project_path: Path) -> dict[str, Any]:CODE
Unused Imports26 hits · 26 pts
SeverityFileLineSnippetContext
LOW.agents/scripts/checklist.py3CODE
LOW.agents/scripts/component_registry.py3CODE
LOW.agents/scripts/dependency_graph.py3CODE
LOW.agents/scripts/generate_manifest.py3CODE
LOW.agents/scripts/generate_manifest.py6CODE
LOW.agents/scripts/auto_preview.py15CODE
LOW.agents/scripts/validation_runner.py3CODE
LOW.agents/scripts/validate_kit.py8CODE
LOW.agents/scripts/validate_kit.py14CODE
LOW.agents/scripts/validate_kit.py24CODE
LOW.agents/scripts/verify_all.py3CODE
LOW.agents/scripts/tests/test_toolkit.py1CODE
LOW…s/vulnerability-scanner/scripts/dependency_analyzer.py3CODE
LOW…s/vulnerability-scanner/scripts/dependency_analyzer.py8CODE
LOW…/skills/vulnerability-scanner/scripts/security_scan.py10CODE
LOW…gents/skills/i18n-localization/scripts/i18n_checker.py3CODE
LOW…gents/skills/i18n-localization/scripts/i18n_checker.py8CODE
LOW…ills/performance-profiling/scripts/lighthouse_audit.py3CODE
LOW…kills/performance-profiling/scripts/bundle_analyzer.py3CODE
LOW…nts/skills/webapp-testing/scripts/playwright_runner.py3CODE
LOW…ts/skills/nextjs-react-expert/scripts/convert_rules.py7CODE
LOW…ts/skills/nextjs-react-expert/scripts/convert_rules.py8CODE
LOW…kills/frontend-design/scripts/accessibility_checker.py8CODE
LOW.agents/skills/geo-fundamentals/scripts/geo_checker.py19CODE
LOW.agents/skills/lint-and-validate/scripts/lint_runner.py18CODE
LOW…ents/skills/lint-and-validate/scripts/type_coverage.py9CODE
Excessive Try-Catch Wrapping20 hits · 22 pts
SeverityFileLineSnippetContext
LOW.agents/scripts/session_manager.py53 except Exception as e:CODE
LOW.agents/scripts/auto_preview.py103 except Exception as e:CODE
MEDIUM.agents/scripts/auto_preview.py30def is_running(pid):CODE
LOW.agents/scripts/validate_kit.py95 except Exception as exc:CODE
LOW.agents/scripts/validate_kit.py223 except Exception as exc:CODE
LOW.agents/skills/seo-fundamentals/scripts/seo_checker.py102 except Exception as e:CODE
LOW…nts/skills/database-design/scripts/schema_validator.py88 except Exception as e:CODE
LOW.agents/skills/testing-patterns/scripts/test_runner.py134 except Exception as e:CODE
MEDIUM.agents/skills/testing-patterns/scripts/test_runner.py197 print(f"Error: {result['error'][:200]}")CODE
LOW…nts/skills/webapp-testing/scripts/playwright_runner.py105 except Exception as exc:CODE
LOW…xtjs-react-expert/scripts/react_performance_checker.py81 except Exception as e:CODE
LOW…xtjs-react-expert/scripts/react_performance_checker.py108 except Exception as e:CODE
LOW…xtjs-react-expert/scripts/react_performance_checker.py140 except Exception as e:CODE
LOW…xtjs-react-expert/scripts/react_performance_checker.py161 except Exception as e:CODE
LOW…xtjs-react-expert/scripts/react_performance_checker.py185 except Exception as e:CODE
LOW…xtjs-react-expert/scripts/react_performance_checker.py206 except Exception as e:CODE
LOW.agents/skills/api-patterns/scripts/api_validator.py89 except Exception as e:CODE
LOW.agents/skills/api-patterns/scripts/api_validator.py157 except Exception as e:CODE
LOW.agents/skills/geo-fundamentals/scripts/geo_checker.py124 except Exception as exc:CODE
LOW.agents/skills/lint-and-validate/scripts/lint_runner.py110 except Exception as e:CODE
Deep Nesting22 hits · 22 pts
SeverityFileLineSnippetContext
LOW.agents/scripts/session_manager.py22CODE
LOW.agents/scripts/session_manager.py67CODE
LOW.agents/scripts/validate_kit.py126CODE
LOW.agents/skills/mobile-design/scripts/mobile_audit.py81CODE
LOW…s/vulnerability-scanner/scripts/dependency_analyzer.py29CODE
LOW…/skills/vulnerability-scanner/scripts/security_scan.py112CODE
LOW…/skills/vulnerability-scanner/scripts/security_scan.py143CODE
LOW…/skills/vulnerability-scanner/scripts/security_scan.py193CODE
LOW…/skills/vulnerability-scanner/scripts/security_scan.py227CODE
LOW…/skills/vulnerability-scanner/scripts/security_scan.py270CODE
LOW…nts/skills/database-design/scripts/schema_validator.py47CODE
LOW…gents/skills/i18n-localization/scripts/i18n_checker.py73CODE
LOW…gents/skills/i18n-localization/scripts/i18n_checker.py135CODE
LOW.agents/skills/testing-patterns/scripts/test_runner.py27CODE
LOW…xtjs-react-expert/scripts/react_performance_checker.py43CODE
LOW…xtjs-react-expert/scripts/react_performance_checker.py111CODE
LOW…xtjs-react-expert/scripts/react_performance_checker.py143CODE
LOW…xtjs-react-expert/scripts/react_performance_checker.py164CODE
LOW.agents/skills/api-patterns/scripts/api_validator.py37CODE
LOW.agents/skills/lint-and-validate/scripts/lint_runner.py29CODE
LOW.agents/skills/lint-and-validate/scripts/lint_runner.py72CODE
LOW…ents/skills/lint-and-validate/scripts/type_coverage.py156CODE
Fake / Example Data10 hits · 14 pts
SeverityFileLineSnippetContext
LOW.agents/workflows/test.md121 const credentials = { email: 'test@test.com', password: 'pass123' };CODE
LOW.agents/workflows/test.md132 const credentials = { email: 'test@test.com', password: 'wrong' };CODE
LOW.agents/skills/frontend-design/style-minimalist.md21- DO NOT use generic placeholder names like "John Doe", "Acme Corp", or "Lorem Ipsum". Use realistic, contextual contentCODE
LOW.agents/skills/frontend-design/style-minimalist.md21- DO NOT use generic placeholder names like "John Doe", "Acme Corp", or "Lorem Ipsum". Use realistic, contextual contentCODE
LOW.agents/skills/frontend-design/style-minimalist.md21- DO NOT use generic placeholder names like "John Doe", "Acme Corp", or "Lorem Ipsum". Use realistic, contextual contentCODE
LOW.agents/skills/frontend-design/redesign.md79- **Generic names like "John Doe" or "Jane Smith".** Use diverse, realistic-sounding names.CODE
LOW.agents/skills/frontend-design/redesign.md81- **Placeholder company names like "Acme Corp", "Nexus", "SmartFlow".** Invent contextual, believable brand names.CODE
LOW.agents/skills/frontend-design/redesign.md88- **Lorem Ipsum.** Never use placeholder latin text. Write real draft copy.CODE
LOW.agents/skills/frontend-design/SKILL.md631### 9.D Content & Data ("Jane Doe" Effect)COMMENT
LOW.agents/skills/frontend-design/SKILL.md632* **NO generic names.** "John Doe", "Sarah Chan", "Jack Su" → use creative, realistic, locale-appropriate names.COMMENT
Cross-Language Confusion3 hits · 10 pts
SeverityFileLineSnippetContext
HIGH…nts/skills/webapp-testing/scripts/playwright_runner.py27 return {"url": url, "status": "error", "error": "Playwright is not installed", "fix": "pip install playwright &&CODE
HIGH…nts/skills/webapp-testing/scripts/playwright_runner.py46 const text = (el) => (el.innerText || el.textContent || '').trim();STRING
HIGH…nts/skills/webapp-testing/scripts/playwright_runner.py55 return !el.getAttribute('aria-label') && !el.getAttribute('aria-labelledby') && !(id && docuSTRING
Modern AI Meta-Vocabulary3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUM.agents/hooks/README.md120- Native `PreToolUse` hooks: <https://codelabs.developers.google.com/secure-agentic-coding>CODE
MEDIUM.agents/skills/intelligent-routing/SKILL.md225### With /orchestrate CommandCOMMENT
MEDIUM.agents/skills/geo-fundamentals/SKILL.md45## 3. RAG Retrieval FactorsCOMMENT
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH.agents/skills/mobile-design/mobile-performance.md4> **This file covers the #1 area where AI-generated code FAILS.**CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.agents/scripts/session_manager.py58 # Simple count for now, comprehensive tracking would require git diff or extensive historyCOMMENT