packages/shared-skills/skills/frontend/references/designpowers/EVIDENCE.md
Scenario: designpowers reference corpus is sourced from a pinned submodule and materialized into the frontend skill at build/package time.
$ git -C packages/shared-skills/upstreams/designpowers rev-parse HEAD
cb00757da9d554591fa78d27aa1854d60a05c4f7
$ find packages/shared-skills/skills/frontend/references/designpowers/vendor/skills -mindepth 1 -maxdepth 1 -type d | wc -l | tr -d ' '
27
$ find packages/shared-skills/skills/frontend/references/designpowers/vendor/agents -maxdepth 1 -type f -name '*.md' | wc -l | tr -d ' '
10
$ for s in figma-bridge design-express design-library using-designpowers design-discovery design-memory design-state design-strategy design-taste; do test ! -e packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/$s || exit 1; done
exit=0
$ find packages/shared-skills/skills/frontend/references/designpowers/vendor -path '*/hooks/*' -o -path '*/scripts/*' -o -path '*/.claude/*' -o -path '*/.gemini/*' -o -path '*/.github/*'
$ cmp -s packages/shared-skills/upstreams/designpowers/LICENSE packages/shared-skills/skills/frontend/references/designpowers/vendor/LICENSE
exit=0
$ for file in packages/shared-skills/upstreams/designpowers/agents/*.md; do cmp -s "$file" "packages/shared-skills/skills/frontend/references/designpowers/vendor/agents/${file##*/}"; done
exit=0
$ node --input-type=module <<'NODE'
import { readFileSync } from "node:fs";
import { join } from "node:path";
import { includedDesignpowersSkills } from "./packages/shared-skills/scripts/designpowers-refs-manifest.mjs";
import { normalizeSkillFrontmatter } from "./packages/shared-skills/scripts/materialize-frontend-refs.mjs";
const rawMismatches = [];
const normalizedMismatches = [];
for (const name of includedDesignpowersSkills) {
const upstream = readFileSync(join("packages/shared-skills/upstreams/designpowers/skills", name, "SKILL.md"), "utf8");
const materialized = readFileSync(join("packages/shared-skills/skills/frontend/references/designpowers/vendor/skills", name, "SKILL.md"), "utf8");
if (upstream !== materialized) rawMismatches.push(name);
if (normalizeSkillFrontmatter(upstream) !== materialized) normalizedMismatches.push(name);
}
console.log(`raw_skill_cmp_mismatches=${rawMismatches.length}`);
console.log(`normalized_skill_cmp_mismatches=${normalizedMismatches.length}`);
if (normalizedMismatches.length > 0) throw new Error(`normalized mismatches: ${normalizedMismatches.join(", ")}`);
NODE
raw_skill_cmp_mismatches=27
normalized_skill_cmp_mismatches=0
exit=0
The 27 raw mismatches are expected frontmatter-only description: quoting changes from the materializer. The normalized check proves the shipped skill bodies have no upstream drift.
$ for f in packages/shared-skills/skills/frontend/references/designpowers/vendor/skills/*/SKILL.md; do if rg -q 'MUST invoke the `using-designpowers` skill FIRST|invoke the `using-designpowers` skill FIRST' "$f"; then echo "$f"; exit 1; fi; done
exit=0