Back to Skiasharp

Skia Analyst Report Schema (v1)

.agents/skills/skia-analyst/references/schema-cheatsheet.md

4.148.03.6 KB
Original Source

Skia Analyst Report Schema (v1)

Top-Level Structure

json
{
  "meta": { ... },
  "summary": { ... },
  "findings": [ ... ]
}

meta

FieldRequiredDescription
dateYesYYYY-MM-DD
schemaVersionYes"1.0"
repoYes"mono/SkiaSharp"
currentMilestoneYesSkiaSharp's current Skia milestone
latestUpstreamMilestoneYesLatest milestone in upstream Skia
releaseNotesSourceYesURL to Skia RELEASE_NOTES.md
scanModeNo"full", "windowed", or "diff"
refFrom / refToNoGit refs when diffing
milestoneFrom / milestoneToNoMilestone range when windowed
commitCount / prCountNoCommit stats when diffing

summary

FieldRequiredDescription
totalFindingsYesNumber of findings
byChangeTypeNoCounts per changeType
byImportanceNoCounts per importance
byBindingStatusNoCounts per bindingStatus
byImpactNoCounts per impact
byPriorityNoCounts per priority
bySourceNoCounts per source

findings — Unified Array

Every finding has BOTH lenses — what it means for the changelog AND for the gap analysis.

Required fields (every finding)

FieldTypeDescription
namestringFeature title
categoryenumWhat area (new_feature, codec, image, image_filter, shader, color, canvas, path, font, utility, performance, behavior_change, deprecation, security, platform, dependency)
descriptionstringWhat changed / what's missing
sourceenumrelease-notes, header-scan, binding-audit, git-diff
changeTypeenumadded, changed, fixed, deprecated, removed, dependency, platform, upstream
importanceenumbreaking, major, minor, patch
bindingStatusenumfull, partial, missing, action_needed, correctly_absent, not_applicable
impactenumtransformative, significant, moderate, minor
priorityenumcritical, high, medium, low

Optional fields

FieldTypeWhen to include
effortenumtrivial/small/medium/large — cost to implement
labelsstring[]Freeform tags for filtering
milestoneintegerPrimary Skia milestone
milestonesinteger[]Additional milestones
milestoneDeprecatedintegerWhen deprecated
milestoneRemovedintegerWhen removed
pr / prUrlint/stringPR reference
commit / commitUrlstringCommit reference
issue / issueUrlint/stringIssue reference
authorstringPR/commit author
affectedTypes / affectedMethodsstring[]C# types/methods affected
cApiFunction / cApiFilestringC API details
csharpMethod / csharpFilestringC# binding details
cppClass / cppHeader / cppMethodstringC++ header scan details
platformsstring[]Affected platforms
skiaApistringUpstream Skia API name
skiaFeature / skiaMilestonestring/intUpstream feature reference
userValuestringWhy an app developer would want this
notesstringAdditional context
slideBulletstringMarketing bullet (for downstream tooling)
migrationGuidestringMigration guide for breaking changes
replacement / obsoleteMessagestringDeprecation details
dependencyName / dependencyFrom / dependencyTostringDependency version tracking
skillToUsestringWhich skill to invoke for follow-up