Repository Analysis

mono/SkiaSharp

SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.

2.9 Likely human-written View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of mono/SkiaSharp, a C# project with 5,506 GitHub stars. SynthScan v2.0 examined 304,483 lines of code across 2572 source files, recording 499 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 2.9 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).

2.9
Adjusted Score
2.9
Raw Score
100%
Time Factor
2026-07-14
Last Push
5.5K
Stars
C#
Language
304.5K
Lines of Code
2.6K
Files
499
Pattern Hits
2026-07-14
Scan Date
0.00
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 6HIGH 5MEDIUM 102LOW 386

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 499 distinct pattern matches across 15 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.

Decorative Section Separators78 hits · 249 pts
SeverityFileLineSnippetContext
MEDIUMExternal-Dependency-Info.txt1156 # --------------------------------------------------------------------------------COMMENT
MEDIUMExternal-Dependency-Info.txt1179 # --------------------------------------------------------------------------------COMMENT
MEDIUMExternal-Dependency-Info.txt1189 # --------------------------------------------------------------------------------COMMENT
MEDIUMExternal-Dependency-Info.txt1217 # --------------------------------------------------------------------------------COMMENT
MEDIUMdocumentation/site/ai/dashboard.js1// ─────────────────────────────────────────────────────────────COMMENT
MEDIUMdocumentation/site/ai/dashboard.js14// ─────────────────────────────────────────────────────────────COMMENT
MEDIUMdocumentation/site/ai/dashboard.js22 // ── Formatting helpers ──────────────────────────────────────COMMENT
MEDIUMdocumentation/site/ai/dashboard.js85 // ── Panel 1: Adoption at a glance ───────────────────────────COMMENT
MEDIUMdocumentation/site/ai/dashboard.js154 // ── Panel 2: Time to keep up with upstream (the hero) ───────COMMENT
MEDIUMdocumentation/site/ai/dashboard.js274 // ── Panel 3: What the automation costs (per run) ────────────COMMENT
MEDIUMdocumentation/site/ai/dashboard.js317 // ── Shared helpers ──────────────────────────────────────────COMMENT
MEDIUMdocumentation/site/ai/dashboard.js341 // ── Load the cached data and render ─────────────────────────COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/check_deps.py21# ---------------------------------------------------------------------------COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/check_deps.py23# ---------------------------------------------------------------------------COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/check_deps.py106# ---------------------------------------------------------------------------COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/check_deps.py108# ---------------------------------------------------------------------------COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/run_review.py143 # =========================================================================COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/run_review.py145 # =========================================================================COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/run_review.py184 # =========================================================================COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/run_review.py186 # =========================================================================COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/run_review.py416 # =========================================================================COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/run_review.py418 # =========================================================================COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/run_review.py485 # =========================================================================COMMENT
MEDIUM.agents/skills/review-skia-update/scripts/run_review.py487 # =========================================================================COMMENT
MEDIUM…ts/skills/issue-triage/scripts/render-triage-report.py31# ── Jinja2 filters (shared by template) ─────────────────────────────────────COMMENT
MEDIUM…ts/skills/issue-triage/scripts/render-triage-report.py66# ── Markdown rendering (Jinja2 template) ────────────────────────────────────COMMENT
MEDIUM…ts/skills/issue-triage/scripts/render-triage-report.py104# ── HTML rendering (viewer.html injection) ──────────────────────────────────COMMENT
MEDIUM…ts/skills/issue-triage/scripts/render-triage-report.py136# ── Main ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ts/skills/skill-creator/eval-viewer/generate_review.py284# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/skills/skill-creator/eval-viewer/generate_review.py286# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/infra/docs/release-notes-data.py549# ── GitHub author resolution ─────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/release-notes-data.py740# ── Branch diffing ──────────────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/release-notes-data.py833# ── Preview-milestone enumeration ───────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/release-notes-data.py1181 # ── main ─────────────────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/release-notes-data.py1229 # ── servicing branch (release/X.Y.x) ────────────────────────COMMENT
MEDIUMscripts/infra/docs/release-notes-data.py1856# ── page-set discovery (shared by release-notes-index.py + release-notes-render.py) ──────COMMENT
MEDIUMscripts/infra/docs/release-notes-data.py1918# ── orphan-sidecar warnings ─────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/release-notes-data.py1955# ── Commands ─────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/release-notes-data.py2244# ── Main ─────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/release-notes-render.py33# ── reuse release-notes-data.py's shared low-level helpers (one source of truth) ─────COMMENT
MEDIUMscripts/infra/docs/release-notes-render.py94# ── formatting helpers (structure the agent must never hand-write) ───────────COMMENT
MEDIUMscripts/infra/docs/release-notes-render.py164# ── page assembly (the single source of layout truth) ────────────────────────COMMENT
MEDIUMscripts/infra/docs/release-notes-render.py288# ── enforcement ──────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/generate-ai-dashboard.py48# ── Paths & constants ────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/generate-ai-dashboard.py88# ── Small helpers ────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/generate-ai-dashboard.py146# ── Panel 1: adoption (NuGet) ────────────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/generate-ai-dashboard.py235# ── Panel 2: cadence (git history + Chromium Dashboard) ──────────────────────COMMENT
MEDIUMscripts/infra/docs/generate-ai-dashboard.py410# ── Panel 3: automation cost ─────────────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/generate-ai-dashboard.py426# ── Main ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUMscripts/infra/docs/release-notes-index.py37# ── reuse release-notes-data.py's shared low-level helpers (one source of truth) ─────COMMENT
MEDIUMscripts/infra/caching/repo-deps.py24# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/infra/caching/repo-deps.py26# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/infra/caching/repo-deps.py33# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/infra/caching/repo-deps.py35# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/infra/caching/repo-deps.py183# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/infra/caching/repo-deps.py185# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/infra/caching/repo-deps.py195# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/infra/caching/repo-deps.py197# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/infra/caching/repo-deps.py209# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/infra/caching/repo-deps.py211# ---------------------------------------------------------------------------COMMENT
18 more matches not shown…
Structural Annotation Overuse130 hits · 216 pts
SeverityFileLineSnippetContext
LOWAGENTS.md163### Step 1: Identify Pointer TypeCOMMENT
LOWAGENTS.md179### Step 2: Choose PatternCOMMENT
LOWAGENTS.md212### Step 3: Error HandlingCOMMENT
LOWAGENTS.md220### Step 4: Same-Instance ReturnsCOMMENT
LOWdocumentation/dev/building-samples.md27### Step 1: Download — select which CI build to fetchCOMMENT
LOWdocumentation/dev/building-samples.md41### Step 2: Build samples — use the real NuGet versionCOMMENT
LOWdocumentation/dev/debugging-methodology.md169#### Step 1: Compare DT_NEEDED between working and broken buildsCOMMENT
LOWdocumentation/dev/debugging-methodology.md181#### Step 2: Check if the linker is silently failingCOMMENT
LOWdocumentation/dev/debugging-methodology.md197#### Step 3: Fix location depends on root causeCOMMENT
LOWdocumentation/dev/adding-apis.md104### Step 1: Find C++ APICOMMENT
LOWdocumentation/dev/adding-apis.md113### Step 2: Add C APICOMMENT
LOWdocumentation/dev/adding-apis.md129### Step 3: Commit SubmoduleCOMMENT
LOWdocumentation/dev/adding-apis.md142### Step 4: Regenerate P/InvokeCOMMENT
LOWdocumentation/dev/adding-apis.md157### Step 5: Add C# WrapperCOMMENT
LOWdocumentation/dev/adding-apis.md167### Step 6: TestCOMMENT
LOWdocumentation/dev/adding-apis.md232# Step 1: Build native library (REQUIRED after C API changes)COMMENT
LOWdocumentation/dev/adding-apis.md236# Step 2: Regenerate P/Invoke (after C API changes)COMMENT
LOWdocumentation/dev/adding-apis.md239# Step 3: Build C# bindingsCOMMENT
LOWdocumentation/dev/adding-apis.md242# Step 4: Run tests (MANDATORY - not optional)COMMENT
LOWdocumentation/dev/writing-docs.md36### Step 1: Stub generation + AI docs (auto-api-docs-writer)COMMENT
LOWdocumentation/dev/writing-docs.md53### Step 2: Submodule sync (auto-docs-submodule-sync)COMMENT
LOWdocumentation/dev/writing-docs.md93### Step 1: Create a branch in the docs submoduleCOMMENT
LOWdocumentation/dev/writing-docs.md101### Step 2: Download the latest NuGet packagesCOMMENT
LOWdocumentation/dev/writing-docs.md113### Step 3: Regenerate the docsCOMMENT
LOW.agents/skills/release-status/SKILL.md44## Step 1: Run the Status ScriptCOMMENT
LOW.agents/skills/release-status/SKILL.md60## Step 2: Interpret ResultsCOMMENT
LOW.agents/skills/release-status/SKILL.md93## Step 3: Report to UserCOMMENT
LOW.agents/skills/ci-status/SKILL.md84## Step 1: Collect Raw DataCOMMENT
LOW.agents/skills/ci-status/SKILL.md131## Step 2: AI AnalysisCOMMENT
LOW.agents/skills/ci-status/SKILL.md250## Step 3: Assemble Report JSONCOMMENT
LOW.agents/skills/ci-status/SKILL.md282## Step 4: Validate ReportCOMMENT
LOW.agents/skills/ci-status/SKILL.md298## Step 5: Render ReportsCOMMENT
LOW.agents/skills/ci-status/SKILL.md316## Step 6: Present to UserCOMMENT
LOW.agents/skills/ci-status/SKILL.md360## Step 7: Follow-Up InvestigationsCOMMENT
LOW.agents/skills/native-dependency-update/SKILL.md236#### Step 1: Create mono/skia PRCOMMENT
LOW.agents/skills/native-dependency-update/SKILL.md254#### Step 2: Create SkiaSharp PRCOMMENT
LOW.agents/skills/native-dependency-update/SKILL.md268#### Step 3: Cross-link the PRsCOMMENT
LOW…s/update-skia/references/breaking-changes-checklist.md9## Step 1: Gather Release NotesCOMMENT
LOW…s/update-skia/references/breaking-changes-checklist.md19## Step 2: Filter by RelevanceCOMMENT
LOW…s/update-skia/references/breaking-changes-checklist.md45## Step 3: Categorize Each ChangeCOMMENT
LOW…s/update-skia/references/breaking-changes-checklist.md57## Step 4: Verify the AnalysisCOMMENT
LOW…s/update-skia/references/breaking-changes-checklist.md81## Step 5: C API Impact AnalysisCOMMENT
LOW…s/update-skia/references/breaking-changes-checklist.md102## Step 6: C# Impact AnalysisCOMMENT
LOW…s/update-skia/references/breaking-changes-checklist.md109## Step 7: Build & VerifyCOMMENT
LOW.agents/skills/release-branch/SKILL.md61## Step 1: Determine VersionCOMMENT
LOW.agents/skills/release-branch/SKILL.md77## Step 2: Determine Release TypeCOMMENT
LOW.agents/skills/release-branch/SKILL.md106## Step 3: Create Branch and Update PREVIEW_LABELCOMMENT
LOW.agents/skills/release-branch/SKILL.md122## Step 4: Push BranchCOMMENT
LOW.agents/skills/release-branch/SKILL.md141## Step 5: Create the mono/skia Counterpart BranchCOMMENT
LOW.agents/skills/release-branch/SKILL.md173## Step 6: Bump the Integration Branch (Stable Only)COMMENT
LOW…ts/skills/api-add-review/references/review-workflow.md17## Step 1: Gather the API SurfaceCOMMENT
LOW…ts/skills/api-add-review/references/review-workflow.md27## Step 2: Check Against Design RulesCOMMENT
LOW…ts/skills/api-add-review/references/review-workflow.md84## Step 3: Check Test CoverageCOMMENT
LOW…ts/skills/api-add-review/references/review-workflow.md105## Step 4: Build and Run TestsCOMMENT
LOW…ts/skills/api-add-review/references/review-workflow.md123## Step 5: Check Sample CodeCOMMENT
LOW…ts/skills/api-add-review/references/review-workflow.md160## Step 6: Produce ReportCOMMENT
LOW.agents/skills/skill-creator/SKILL.md169### Step 1: Spawn all runs (with-skill AND baseline) in the same turnCOMMENT
LOW.agents/skills/skill-creator/SKILL.md199### Step 2: While runs are in progress, draft assertionsCOMMENT
LOW.agents/skills/skill-creator/SKILL.md207### Step 3: As runs complete, capture timing dataCOMMENT
LOW.agents/skills/skill-creator/SKILL.md221### Step 4: Grade, aggregate, and launch the viewerCOMMENT
70 more matches not shown…
Over-Commented Block159 hits · 158 pts
SeverityFileLineSnippetContext
LOWExternal-Dependency-Info.txt21//COMMENT
LOWExternal-Dependency-Info.txt41// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESSCOMMENT
LOWExternal-Dependency-Info.txt101COMMENT
LOWExternal-Dependency-Info.txt121// this software without specific prior written permission.COMMENT
LOWExternal-Dependency-Info.txt941 # The Google Chrome software developed by Google is licensed underCOMMENT
LOWExternal-Dependency-Info.txt961 # Neither the name of Google Inc. nor the names of itsCOMMENT
LOWExternal-Dependency-Info.txt981 #COMMENT
LOWExternal-Dependency-Info.txt1001 # *COMMENT
LOWExternal-Dependency-Info.txt1021 # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGESCOMMENT
LOWExternal-Dependency-Info.txt1041 # * . Redistributions in binary form must reproduce the above copyrightCOMMENT
LOWExternal-Dependency-Info.txt1061 # * OF THE POSSIBILITY OF SUCH DAMAGE.COMMENT
LOWExternal-Dependency-Info.txt1081 # the copyright holders, disclaims all warranties with regard to thisCOMMENT
LOWExternal-Dependency-Info.txt1101 #COMMENT
LOWExternal-Dependency-Info.txt1121 # development of the program and their respective officials, directors,COMMENT
LOWExternal-Dependency-Info.txt1141 # above as far as the program is concerned.COMMENT
LOWExternal-Dependency-Info.txt1161 # are permitted provided that the following conditions are met:COMMENT
LOWExternal-Dependency-Info.txt1181 4. Burmese Word Break Dictionary Data (burmesedict.txt)COMMENT
LOWExternal-Dependency-Info.txt1201 # other materials provided with the distribution.COMMENT
LOW…umentation/docfx/releases/3.0.0/SkiaSharp/SkiaSharp.md2421COMMENT
LOW…n/docfx/releases/3.0.0/SkiaSharp/SkiaSharp.breaking.md1081COMMENT
LOW…ases/1.68.1/SkiaSharp.Views/SkiaSharp.Views.Desktop.md1# API diff: SkiaSharp.Views.Desktop.dllCOMMENT
LOW….1/SkiaSharp.Views/SkiaSharp.Views.Desktop.breaking.md1# API diff: SkiaSharp.Views.Desktop.dllCOMMENT
LOW…docfx/releases/3.116.0/SkiaSharp/SkiaSharp.breaking.md1081COMMENT
LOWdocumentation/site/ai/dashboard.js1// ─────────────────────────────────────────────────────────────COMMENT
LOW….Views.WinUI.Native/SkiaSharp.Views.WinUI.Native/pch.h1#pragma onceCOMMENT
LOW….Views.WinUI.Native/SkiaSharp.Views.WinUI.Native/pch.h21#include <winrt/Microsoft.UI.Xaml.Interop.h>COMMENT
LOW…SkiaSharp.Views/SkiaSharp.Views.WinUI/UWPExtensions.cs81 {COMMENT
LOWtests/Tests/SkiaSharp/SKSingletonInitTest.cs161 // --- SKPaint construction touches the DefaultFont lazy initializer ---COMMENT
LOWtests/Tests/SkiaSharp/SKSingletonInitTest.cs181 // SKFontManager.Default while its cctor was still running, leavingCOMMENT
LOWtests/Tests/SkiaSharp/Pr3997ResourceLeakTest.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/SKHandleDictionaryTestHelpers.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/SKHandleDictionaryTestHelpers.cs81 // Synthetic-handle seed kept well away from any real native pointer range. On 64-bit targetsCOMMENT
LOWtests/Tests/SkiaSharp/SKHandleDictionaryTestHelpers.cs161 if (captured != null)COMMENT
LOWtests/Tests/SkiaSharp/SKHandleDictionaryTestHelpers.cs181 // benign reference-mismatch instead of an InvalidOperationException. The reference-identityCOMMENT
LOW…s/Tests/SkiaSharp/SKHandleDictionaryReservationTest.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/SKSingletonConcurrencyTest.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/SKSingletonConcurrencyTest.cs21 // cannot create an inversion the product does not have, so a clean run is necessaryCOMMENT
LOWtests/Tests/SkiaSharp/SKSingletonConcurrencyTest.cs81 // when Handle is set to zero). Crucially, the new Dispose() design releasesCOMMENT
LOW…ts/Tests/SkiaSharp/SKHandleDictionaryReentrancyTest.cs1using System.Threading;COMMENT
LOWtests/Tests/SkiaSharp/SKManagedStreamConcurrencyTest.cs61 // After SKCodec.Create reparents the managed stream (OwnsHandle=false, IgnorePublicDisposeCOMMENT
LOWtests/Tests/SkiaSharp/Pr4080UseAfterFreeTest.cs1#nullable disableCOMMENT
LOW…Tests/SkiaSharp/HandleDictionaryThreadingCollection.cs1using Xunit;COMMENT
LOWtests/Tests/SkiaSharp/Visual/RendererCatalog.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/Visual/RendererCatalog.cs21 /// else.COMMENT
LOWtests/Tests/SkiaSharp/Visual/IRenderer.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/Visual/IRenderer.cs21 /// </summary>COMMENT
LOWtests/Tests/SkiaSharp/Visual/IRenderer.cs41 /// </summary>COMMENT
LOWtests/Tests/SkiaSharp/Visual/GoldenStore.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/Visual/GoldenStore.cs21 /// software GL).</item>COMMENT
LOWtests/Tests/SkiaSharp/Visual/GoldenStore.cs61 }COMMENT
LOWtests/Tests/SkiaSharp/Visual/ISkiaScene.cs1using System;COMMENT
LOW…Tests/SkiaSharp/Visual/RendererUnavailableException.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/Visual/CatalogReflection.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/Visual/GoldenTolerance.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/Visual/SceneCatalog.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/Visual/GpuRenderGate.cs1namespace SkiaSharp.Tests.VisualCOMMENT
LOW…ests/SkiaSharp/Visual/Renderers/GaneshMetalRenderer.cs1using System;COMMENT
LOW…SkiaSharp/Visual/Renderers/Desktop/GaneshGlRenderer.cs1using System;COMMENT
LOWtests/Tests/SkiaSharp/Visual/Scenes/TextScene.cs1using System;COMMENT
LOW…/Tests/SkiaSharp/Visual/Tests/VisualMatrixTestsBase.cs1using System;COMMENT
99 more matches not shown…
Hallucination Indicators6 hits · 60 pts
SeverityFileLineSnippetContext
CRITICAL…p.Views.Maui.Controls/SkiaSharp.Views.Maui.Controls.md15 [Obsolete ("Use SkiaSharp.Views.Maui.Controls.Hosting.UseSkiaSharp() instead.")]CODE
CRITICAL…ibility/SkiaSharp.Views.Maui.Controls.Compatibility.md15 [Obsolete ("Use SkiaSharp.Views.Maui.Controls.Hosting.UseSkiaSharp(bool, bool) instead.")]CODE
CRITICAL…Uno.WinUI.Wasm/WasmScripts/SkiaSharp.Views.Uno.Wasm.js75 this.requestRender = () => skiaSharpExports.SkiaSharp.Views.Windows.SKSwapChainPanel.RenderFrameCODE
CRITICALsamples/SkiaFiddle/App.xaml.cs64 global::Uno.UI.Adapter.Microsoft.Extensions.Logging.LoggingAdapter.Initialize();CODE
CRITICALsamples/Gallery/Uno/App.xaml.cs26 await Uno.UI.Xaml.Media.FontFamilyHelper.PreloadAsync(CODE
CRITICALsamples/Gallery/Uno/App.xaml.cs140 global::Uno.UI.Adapter.Microsoft.Extensions.Logging.LoggingAdapter.Initialize();CODE
Modern AI Meta-Vocabulary18 hits · 50 pts
SeverityFileLineSnippetContext
MEDIUMdocumentation/dev/release-notes-and-api-diffs.md313## 2. Skill layout & orchestrationCOMMENT
MEDIUMdocumentation/dev/writing-docs.md40- **Workflow**: [`auto-api-docs-writer.md`](https://github.com/mono/SkiaSharp-API-docs/blob/main/.github/workflows/auto-CODE
MEDIUM.agents/agents/agentic-workflows.agent.md33- Configuration: https://github.com/github/gh-aw/blob/v0.71.1/.github/aw/github-agentic-workflows.mdCODE
MEDIUM.agents/agents/agentic-workflows.agent.md55**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.1/.github/aw/create-agentic-workflow.mdCODE
MEDIUM.agents/agents/agentic-workflows.agent.md65**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.1/.github/aw/update-agentic-workflow.mdCODE
MEDIUM.agents/agents/agentic-workflows.agent.md75**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.1/.github/aw/debug-agentic-workflow.mdCODE
MEDIUM.agents/agents/agentic-workflows.agent.md85**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.1/.github/aw/upgrade-agentic-workflows.mdCODE
MEDIUM.agents/agents/agentic-workflows.agent.md105**Prompt file**: https://github.com/github/gh-aw/blob/v0.71.1/.github/aw/create-shared-agentic-workflow.mdCODE
MEDIUM.agents/agents/agentic-workflows.agent.md144# Initialize repository for agentic workflowsCOMMENT
MEDIUM.agents/agents/agentic-workflows.agent.md172- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.71.1/.github/aw/github-agentic-workfCODE
MEDIUM.agents/skills/ci-status/scripts/ci-status.py317 # Query globally (scheduled/dispatch/event-driven workflows)COMMENT
MEDIUM.github/workflows/memory-leak-fixer.md15# guardrails (one finding per run, de-dup, validate-before-PR).COMMENT
MEDIUM.github/workflows/persist-aw-data.yml3# Downloads the agent artifact from a completed agentic workflow run and commitsCOMMENT
MEDIUM.github/workflows/performance-fixer.md16# guardrails (one finding per run, de-dup, two-proof-before-PR).COMMENT
MEDIUM.github/scripts/skia-sync-push-prs.sh95 # Every skia-sync PR carries type/milestone-sync and partner/agentic-workflows (it isCOMMENT
MEDIUM.github/scripts/skia-sync-push-prs.sh96 # created by the auto-skia-sync agentic workflow); milestone bumps (those that changeCOMMENT
MEDIUM.github/scripts/skia-sync-push-prs.sh151 # Every skia-sync PR carries type/milestone-sync and partner/agentic-workflows (it isCOMMENT
MEDIUM.github/scripts/skia-sync-push-prs.sh152 # created by the auto-skia-sync agentic workflow); milestone bumps (those that changeCOMMENT
Excessive Try-Catch Wrapping31 hits · 36 pts
SeverityFileLineSnippetContext
LOW.agents/skills/ci-status/scripts/ci-status.py128 except Exception:CODE
LOW.agents/skills/ci-status/scripts/ci-status.py156 except Exception:CODE
LOW.agents/skills/ci-status/scripts/ci-status.py178 except Exception:CODE
LOW…ls/review-skia-update/scripts/check_generated_files.py63 except Exception:CODE
LOW…ls/review-skia-update/scripts/check_generated_files.py77 except Exception as e:CODE
LOW.agents/skills/review-skia-update/scripts/check_deps.py60 except Exception as exc:CODE
MEDIUM.agents/skills/review-skia-update/scripts/check_deps.py74 eprint(f"Error: DEPS parse failed: {e}")CODE
LOW.agents/skills/review-skia-update/scripts/run_review.py432 except Exception as exc:CODE
LOW.agents/skills/review-skia-update/scripts/run_review.py448 except Exception as exc:CODE
LOW.agents/skills/review-skia-update/scripts/run_review.py463 except Exception as exc:CODE
LOW.agents/skills/review-skia-update/scripts/run_review.py478 except Exception as exc:CODE
MEDIUM…ts/skills/skill-creator/eval-viewer/generate_review.py408 print(f"Error: {workspace} is not a directory", file=sys.stderr)CODE
LOW.agents/skills/skill-creator/scripts/run_eval.py223 except Exception as e:CODE
MEDIUM.agents/skills/skill-creator/scripts/run_eval.py276 print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr)CODE
LOW.agents/skills/skill-creator/scripts/package_skill.py106 except Exception as e:CODE
MEDIUM…ts/skills/skill-creator/scripts/improve_description.py205 print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr)CODE
MEDIUM.agents/skills/skill-creator/scripts/run_loop.py265 print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr)CODE
LOW…gents/skills/security-audit/scripts/query-cg-alerts.py86 except Exception as e:CODE
LOW…gents/skills/security-audit/scripts/query-cg-alerts.py177 except Exception as e:CODE
LOW…skills/security-audit/scripts/query-chrome-releases.py125 except Exception:CODE
LOWscripts/infra/tests/extract-visual-goldens.py105 except Exception as ex: # noqa: BLE001CODE
LOWscripts/infra/tests/extract-visual-goldens.py128 except Exception as ex: # noqa: BLE001CODE
LOWscripts/infra/docs/release-notes-data.py1557 except Exception:CODE
LOWscripts/infra/docs/release-notes-data.py1562 except Exception:CODE
LOWscripts/infra/docs/generate-ai-dashboard.py156 except Exception as e: # noqa: BLE001 - any failure -> try the mirrorCODE
LOWscripts/infra/docs/generate-ai-dashboard.py195 except Exception as e: # noqa: BLE001 - keep last-known adoption blockCODE
LOWscripts/infra/docs/generate-ai-dashboard.py353 except Exception as e: # noqa: BLE001 - can't read git -> keep snapshotCODE
LOWscripts/infra/docs/generate-ai-dashboard.py364 except Exception as e: # noqa: BLE001CODE
LOWscripts/infra/docs/generate-ai-dashboard.py389 except Exception as e: # noqa: BLE001 - keep snapshot dates for this oneCODE
LOWscripts/infra/docs/generate-ai-dashboard.py433 except Exception as e: # noqa: BLE001CODE
LOWscripts/infra/docs/release-notes-index.py108 except Exception as e:CODE
Deep Nesting34 hits · 34 pts
SeverityFileLineSnippetContext
LOW…gents/skills/release-status/scripts/pipeline-status.py160CODE
LOW.agents/skills/ci-status/scripts/ci-status.py243CODE
LOW.agents/skills/ci-status/scripts/ci-status.py417CODE
LOW.agents/skills/ci-status/scripts/ci-status.py483CODE
LOW.agents/skills/ci-status/scripts/ci-status.py611CODE
LOW.agents/skills/ci-status/scripts/render-ci-status-md.py83CODE
LOW…s/skills/review-skia-update/scripts/check_companion.py51CODE
LOW…ls/review-skia-update/scripts/check_generated_files.py31CODE
LOW.agents/skills/review-skia-update/scripts/check_deps.py48CODE
LOW…lls/review-skia-update/scripts/validate-skia-review.py14CODE
LOW…ents/skills/review-skia-update/scripts/check_source.py52CODE
LOW…ts/skills/skill-creator/eval-viewer/generate_review.py85CODE
LOW…ts/skills/skill-creator/eval-viewer/generate_review.py149CODE
LOW…ts/skills/skill-creator/eval-viewer/generate_review.py288CODE
LOW.agents/skills/skill-creator/scripts/run_eval.py35CODE
LOW.agents/skills/skill-creator/scripts/package_skill.py42CODE
LOW…ts/skills/skill-creator/scripts/improve_description.py50CODE
LOW…ts/skills/skill-creator/scripts/aggregate_benchmark.py67CODE
LOW.agents/skills/skill-creator/scripts/generate_report.py16CODE
LOW.agents/skills/skill-creator/scripts/utils.py7CODE
LOW…gents/skills/security-audit/scripts/query-cg-alerts.py105CODE
LOW…gents/skills/security-audit/scripts/query-cg-alerts.py162CODE
LOW…gents/skills/security-audit/scripts/query-cg-alerts.py230CODE
LOW…lls/security-audit/scripts/render-security-audit-md.py63CODE
LOW…skills/security-audit/scripts/query-chrome-releases.py151CODE
LOW…lls/security-audit/scripts/query-milestone-schedule.py269CODE
LOWscripts/infra/tests/extract-visual-goldens.py76CODE
LOWscripts/infra/tests/extract-visual-goldens.py132CODE
LOWscripts/infra/docs/release-notes-data.py252CODE
LOWscripts/infra/docs/release-notes-render.py471CODE
LOWscripts/infra/caching/repo-deps.py213CODE
LOWscripts/infra/caching/repo-deps.py356CODE
LOW.github/scripts/track-artifact-sizes.py168CODE
LOW.github/scripts/track-artifact-sizes.py398CODE
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…sForms/SkiaSharpSample/Properties/Settings.Designer.cs3// This code was generated by a tool.COMMENT
HIGH…Forms/SkiaSharpSample/Properties/Resources.Designer.cs3// This code was generated by a tool.COMMENT
Hyper-Verbose Identifiers13 hits · 14 pts
SeverityFileLineSnippetContext
LOW.agents/skills/review-skia-update/scripts/run_review.py91def extract_skia_milestone_from_cgmanifest(cgmanifest: dict):CODE
LOW.agents/skills/review-skia-update/scripts/viewer.html584 function renderRecommendationAlerts(targetId, recommendations, emptyText) {CODE
LOWbinding/HarfBuzzSharp/HarfBuzzApi.generated.cs6643 // typedef hb_unicode_combining_class_t (*)(hb_unicode_funcs_t* ufuncs, hb_codepoint_t unicode, void* user_data)* hb_unCOMMENT
LOWbinding/HarfBuzzSharp/HarfBuzzApi.generated.cs6665 // typedef hb_unicode_general_category_t (*)(hb_unicode_funcs_t* ufuncs, hb_codepoint_t unicode, void* user_data)* hb_uCOMMENT
LOWscripts/infra/docs/release-notes-data.py428def get_version_from_remote_branch(branch):CODE
LOWscripts/infra/docs/release-notes-data.py743def list_remote_release_branches():CODE
LOWscripts/infra/docs/release-notes-data.py907def collect_preview_milestones(page_version, base_version):CODE
LOWscripts/infra/docs/release-notes-data.py1046def find_previous_stable_base(all_branches, major, minor_num, patch, subpatch=0):CODE
LOWscripts/infra/docs/release-notes-data.py1921def warn_orphan_notes_sidecars():CODE
LOWscripts/infra/docs/release-notes-data.py2025def _canonical_branches_by_version(all_branches):CODE
LOWscripts/infra/docs/generate-ai-dashboard.py276def fetch_chrome_branch_and_stable(milestone):CODE
LOWscripts/infra/docs/generate-ai-dashboard.py294def fetch_nuget_first_releases():CODE
LOW.github/scripts/render-artifact-sizes.py227def render_all_packages_table(history: dict, columns: list[Column],CODE
Unused Imports16 hits · 13 pts
SeverityFileLineSnippetContext
LOW.agents/skills/ci-status/scripts/ci-status.py23CODE
LOW.agents/skills/ci-status/scripts/ci-status.py26CODE
LOW…ills/review-skia-update/scripts/persist-skia-review.py6CODE
LOW…ts/skills/issue-triage/scripts/render-triage-report.py14CODE
LOW.agents/skills/skill-creator/scripts/quick_validate.py7CODE
LOWscripts/infra/docs/release-notes-data.py95CODE
LOWscripts/infra/docs/release-notes-data.py104CODE
LOWscripts/infra/docs/release-notes-data.py105CODE
LOWscripts/infra/docs/release-notes-data.py106CODE
LOWscripts/infra/docs/release-notes-data.py108CODE
LOWscripts/infra/docs/release-notes-data.py108CODE
LOWscripts/infra/docs/release-notes-render.py24CODE
LOWscripts/infra/docs/release-notes-index.py28CODE
LOWscripts/infra/caching/repo-deps.py16CODE
LOW.github/scripts/render-artifact-sizes.py17CODE
LOW.github/scripts/track-artifact-sizes.py32CODE
Cross-Language Confusion2 hits · 12 pts
SeverityFileLineSnippetContext
HIGH…ills/security-audit/scripts/validate-security-audit.py209 # bugUrl can only be null if bugId is nullCOMMENT
HIGH…ills/security-audit/scripts/validate-security-audit.py222 errors.append(f"{loc}: assessment='affected' requires inOurTree (boolean, never null)")CODE
TODO Padding3 hits · 7 pts
SeverityFileLineSnippetContext
LOWscripts/azure-templates-stages-test.yml343 # TODO: add tests for linux alpineCOMMENT
LOWscripts/azure-templates-stages-test.yml344 # TODO: add tests for linux no dependenciesCOMMENT
LOWscripts/azure-templates-stages-test.yml345 # TODO: add tests for windows nano serverCOMMENT
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOWsamples/SkiaFiddle/scripts/smoke.sh6# Usage:COMMENT
LOWsamples/Gallery/Uno/scripts/smoke.sh6# Usage:COMMENT
LOWscripts/infra/docs/generate-api-docs.sh21# Usage:COMMENT
LOWscripts/infra/docs/docker/run.sh21# Usage:COMMENT
Cross-Language Confusion (JS/TS)1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…Sharp.Views.Blazor/wwwroot/types/emscripten/index.d.ts44 print(str: string): void;CODE
AI Slop Vocabulary2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUM…es/Gallery/Shared/Samples/AnimatedWebpEncoderSample.cs107 // Phase 8: empty pause (4 frames) <- makes loop seamlessCOMMENT
LOW.github/workflows/build-site.yml403 # If another workflow beat us to creating the branch, just use theirsCOMMENT