Surface genealogy
Fidelity and granularity controls for AI coding agents — the judgment a seasoned engineering team would apply, made explicit. Execution control + surface control. Model-agnostic. MIT.
npx -y skills add knowledgeco/airworthiness --skill surface-genealogyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 27 days oldThe repository was created 27 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Preserve the irreducible lineage behind identity-bearing product surfaces by recording component invariants, rejected options, default debt, and intentional exceptions. Use when creating or changing reusable interface components, modifying high-identity patterns, refactoring a design system, replacing a component library, investigating unexplained surface inconsistencies, or handing surface work between agents or sessions.
SKILL.md
4.3 KB, as published. Nobody here has run it
Surface Genealogy
Keep visible product intent recoverable without turning design history into a documentation dump.
Govern the failure seam
Prevent later authors from flattening a deliberate exception, reviving a rejected generic pattern, or mistaking a library default for product identity because the reason for the current surface was absent.
Carry intent in the rendered behavior, implementation, names, and surface constitution first. Record only history, rejection, exception, or constraint that those artifacts cannot explain. Apply this recoverability test to every proposed note:
Could a future reader reconstruct this surface decision from the implementation and constitution in less effort than reading the note?
If yes, omit the note.
Work in this order
- Discover local authority. Read the repository's surface constitution, component documentation, implementation, tests, history, and existing genealogy format. Preserve the local format when one exists. If none exists, use genealogy-format.md. When the Airworthiness repository assets are available, validate the portable form with its shared schema; a skill-only install still retains the complete behavioral format without claiming schema validation.
- Separate evidence from intent. Label implementation facts, documented rationale, inference, and unknown history distinctly. Never turn a plausible brand story into recovered history.
- Assign identity load. Classify each relevant component or pattern as
high,medium, orconventional_utility. Concentrate preservation and review on high-identity areas; do not force custom treatment onto utility controls. - Record residue only. Capture non-recoverable invariants, allowed variance, rejected options, lineage events, and decisions likely to be incorrectly "cleaned up." Use genealogy-format.md.
- Expose default debt. Classify retained defaults as accepted, tolerated, unresolved, or scheduled for replacement. The goal is zero unconscious defaults, not zero defaults. Use default-debt-format.md.
- Preserve exceptions and history. Mark superseded or withdrawn decisions instead of erasing them. Distinguish intentional exceptions and signature asymmetries from unexplained drift. Use exception-and-lineage-format.md.
- Check the proposed change. Compare it with current invariants, identity load, debt, and exceptions. Escalate unresolved high-identity conflicts; do not silently normalize them.
Audit an inherited surface honestly
- Unify drift only when the active constitution or implementation makes the intended rule recoverable.
- Surface implicit invariants as observations or inferences, not historical fact.
- Mark a cold trail
unknown; state what is observable and what cannot be recovered. - Keep rejected and superseded paths available when they prevent likely regression.
- Delete genealogy prose that merely narrates the current component.
Hold these boundaries
- Do not fabricate operator selections, taste judgments, approvals, or historical rationale.
- Leave operator-owned decisions pending until the operator supplies them.
- Do not treat every inconsistency as error or every default as debt requiring removal.
- Do not let a genealogy note override current executable behavior or a current surface constitution; surface the conflict for resolution.
- Do not require another skill or a particular model, design library, framework, or agent harness.
Compose optionally
Use this skill alone whenever surface lineage is the only concern. It can also supply residue to a surface constitution, inform state review, or give an independent witness the history needed to distinguish convergence from a deliberate utility convention. Companion skills are optional; the local repository remains authoritative.