AI Skill Report Card

Auditing App Generation Lineage

A-84·Aug 12, 2026·Source: Extension-selection
13 / 15

Given N versions of an app (docs, code, or specs), produce:

  1. A Master Comparison Table (Step | Description | Topics | App1 origin | App2 reality | App3/Next-gen framework | Design Verdict)
  2. A Lineage Classification into 4 groups: Direct Evolution, Merged/Absorbed, Genuinely New, Lost/Regressed
  3. A Source-of-Truth Map: which artifact from which version should drive which part of the new design (visual ≠ feature ≠ workflow ≠ data-flow ≠ interaction)
  4. A Final Verdict sentence: is the new version an evolution, a rewrite, or a hybrid — and what changed in kind (not just degree)

Never redesign by "looking at the latest screenshots." Redesign by tracing what each feature is made of (DNA) and where that DNA currently lives.

Recommendation
Include a concrete before/after snippet of the Master Comparison Table (with actual rows filled in) rather than only describing its columns.
14 / 15

Progress:

  • Step 1: Inventory every feature/module across all versions (name, purpose, location/file)
  • Step 2: For each feature, trace its origin — did it exist in v1? Under what name/shape?
  • Step 3: Determine what happened to it in v2 — same shape, merged into a pipeline, split apart, disappeared, or newly introduced
  • Step 4: Check the "next-gen framework" version (v3) for structural rules it imposes (gestures, output format, cross-module dependency, safety/override semantics) — apply these as evaluation criteria, not as a literal implementation to copy
  • Step 5: Classify each feature into one of 4 lineage groups (see below)
  • Step 6: Flag regressions explicitly — newer is not always better; call out what was lost (testing, responsiveness, accessibility, persistence, state architecture cleanliness)
  • Step 7: Flag "isolated features" — anything computed but never consumed downstream (dead-end data) is a red flag per next-gen discipline
  • Step 8: Build the Source-of-Truth Map — split "what to copy" by dimension (visual DNA / feature truth / current taxonomy / workflow / data flow / interaction rules), never by whole-screen copy
  • Step 9: Write the Final Verdict — state precisely what changed in kind (e.g., "feature-centric console" → "state-driven operational system")
Recommendation
Add an example showing a fully filled-out Source-of-Truth Map to make Example 3's abstract description more concrete.
  1. Direct Evolution — same concept, same role, improved implementation (e.g., a safety-gate calculation that becomes an actual FIRE lockout)
  2. Merged/Absorbed — old standalone view/tool gets swallowed into a bigger pipeline and loses its own screen, but its logic survives and often gets automated (e.g., a calculator view becomes one stage of a reactive pipeline)
  3. Genuinely New — no prior lineage; introduced to support a new architectural capability (state machines, event logs, emergency overrides, animation loops)
  4. Lost/Regressed — existed and worked in an earlier version, absent or worse in the newer one (exports, responsiveness, tests, clean state architecture)

A single feature can span categories partially (e.g., "evolved but incompletely wired" — computed value exists but has no consumer).

16 / 20

Example 1: Input: "Feature X was a standalone calculator page in v1. In v2 it's not visible as a page anymore — did we lose it?" Output: Trace data flow. If X's calculation logic now feeds automatically into a downstream module (e.g., its output populates a shared engine that other modules read), classify as Merged/Absorbed, not lost. State explicitly: "X did not disappear; it changed role from View to Subsystem." Only classify as Lost if no other module consumes that logic anymore.

Example 2: Input: "v2 has more features than v1 and a fancier UI shell — is v2 strictly better?" Output: Reject the premise. Produce the 4-group breakdown. Explicitly enumerate regressions (e.g., "v2 dropped automated tests, dropped mobile responsiveness, flattened Context-based state into prop-drilling through one giant root component, removed PDF export"). Conclude: "v2 is a superset in domain automation but a regression in engineering hygiene and accessibility — these are independent axes."

Example 3: Input: "How should we design v4 — should we mimic v2's UI directly?" Output: No. Build the Source-of-Truth Map: take visual language (glassmorphism, motion, responsive rules) from v1; take the real feature list and taxonomy anomalies from v2's inventory docs; take workflow sequencing and cross-module data-flow contracts from v2's data-flow docs; take interaction discipline (explicit gestures, output shape, safety/override rules) from v3's framework. Design the new UI from these five layers combined, not from v2's literal window/screen structure.

Recommendation
Consider trimming overlap between 'Best Practices' and 'Common Pitfalls' sections — several points restate the same idea (data-flow tracing, regression auditing) which adds length without new content.
  • Trace data flow, not screen presence. A feature "disappearing" from the UI usually means it moved from being a page to being a pipeline stage. Check what consumes its output before declaring it lost.
  • Separate "what changed in degree" from "what changed in kind." More features ≠ architectural evolution. A shift from feature-centric (user opens tool → gets result) to state-driven (change propagates automatically across modules) is a change in kind — call it out distinctly.
  • Treat the "next-gen framework" doc as a rulebook, not a blueprint. It tells you how features should behave (gestures, outputs, dependencies, safety semantics), not what the final screen should look like.
  • Always produce a 4-way classification, never a binary "kept vs. removed." Nuance (merged, automated-but-relocated, new-but-half-wired) is where the real design insight is.
  • Explicitly list regressions. Teams fixate on new capabilities and forget to audit what quietly broke (tests, exports, responsive layouts, clean state architecture, persistence).
  • Flag orphaned computations. Any value calculated but never read downstream (e.g., "headingMils → nowhere") is an unfinished feature and a design red flag, regardless of how complete its UI looks.
  • Split the source-of-truth by dimension, not by version. Visual language, feature inventory, taxonomy, workflow, data flow, and interaction rules can each come from a different version — that's expected and correct.
  • Do not equate "not visible in the new UI" with "removed." Verify against data flow before concluding a feature was cut.
  • Do not treat the newest version as strictly superior. Audit regressions with the same rigor as new capabilities.
  • Do not redesign by screenshotting the latest version's screens. This traps the redesign in the latest version's structural mistakes (e.g., copying an overbuilt window-manager shell instead of fixing it).
  • Do not treat the "next-gen framework" doc as a third implementation to diff line-by-line. It's a set of design constraints/evaluation criteria, categorically different from the two implementation versions.
  • Do not skip the isolated-feature audit. A feature can look "done" in the UI while being functionally a dead end (no downstream consumer) — this is easy to miss without explicit data-flow tracing.
  • Do not present findings as a single number/verdict ("v2 is 80% better"). Lineage and quality are multi-dimensional; preserve the breakdown by group and by axis (features vs. engineering hygiene vs. UX polish).
0
Grade A-AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
13/15
Workflow
14/15
Examples
16/20
Completeness
18/20
Format
14/15
Conciseness
13/15