DES-374: Add lotus-audit-ios skill — auto-generate iOS Lotus audits against Figma#1
Merged
Merged
Conversation
Claude Code skill that runs a fresh audit of the iOS Lotus implementation against the canonical Figma source of truth and writes a dated Markdown report into Olly's Obsidian vault. What it does: - Fetches all Lotus variables from Figma via figma-ds-cli (CDP-local, no PAT needed). Walks aliases to resolve semantic colours to primitives. - Reads parkhub/ios Lotus token sources (LotusColours, LotusTypography, LotusSpacing, LotusCorners) plus the asset catalog hex values. - Diffs Figma <-> iOS for token parity (match / mismatch / missing). - Scans the iOS app for tokenised vs hardcoded usage. Rolls up per screen and per flow (mapping in flows.yaml). - Emits a dated audit report in the vault under Areas/JustPark/Projects/Lotus/Audits/. Files: - .claude/skills/lotus-audit-ios/SKILL.md — procedure + report shape - .claude/skills/lotus-audit-ios/flows.yaml — flow -> screens mapping - .claude/skills/lotus-audit-ios/scripts/fetch-figma-tokens.mjs Prereqs documented in SKILL.md: Figma Desktop running with the Lotus file as the focused tab; figma-cli installed at ~/figma-cli/; parkhub/ios cloned locally. The skill prompts before fetching so it never disturbs a full-screen Figma workspace by re-focusing tabs. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
🚨 Warning: Approaching Monthly Automation Limit Monthly PRs automated: 243/250 Your organization has used over 90% of its monthly quota for gitStream automations. Once the quota is reached, new pull requests for this month will not trigger gitStream automations and will be marked as “Skipped”. To avoid interruptions, consider optimizing your automation usage or upgrading your plan by contacting LinearB. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jira: DES-374 — Lotus Design System (Epic)
Summary
.claude/skills/lotus-audit-ios/that generates a fresh iOS Lotus audit on demand: fetches canonical tokens from Figma via figma-ds-cli, diffs against the iOS Swift implementation, scans the iOS app for tokenised vs hardcoded usage, and writes a dated Markdown report into Olly's Obsidian vault.scripts/fetch-figma-tokens.mjswalks aliases on the semantic Colour collection and resolves them to primitive hex values per mode.flows.yamlmaps the 38 folders underparkhub/ios/JustPark/Screens/into product flows so the report can roll up per-flow as well as per-screen.How it works
fetch-figma-tokens.mjsrunsfigma-ds-cli evalagainst the local Figma Desktop CDP port. Returns 137 variables across 4 collections (Colour,Colour (Primitives),Padding,Corner Radius) with values and modes resolved.~/Documents/Olly's Brain/Areas/JustPark/Projects/Lotus/Audits/YYYY-MM-DD — iOS.md.Why these design decisions
file_variables:readPAT scope.evalnotvar list—var listonly returns names + types;evalreturns full structured data includingvaluesByModeandVARIABLE_ALIASreferences.connect, which auto-focuses Figma and disrupts full-screen workspaces.Test plan
node .claude/skills/lotus-audit-ios/scripts/fetch-figma-tokens.mjs /tmp/test.jsonreturns 137 vars (verified locally on 2026-05-07)./lotus-audit-iosend-to-end withparkhub/ioscloned locally — verify the skill writes a report into the vault and detects known issues (radiusFull = 32 vs 999, h2PoppinsLight = 23pt).Out of scope (v1)
ButtonvsButtonPrimaryetc). Token-level only.lotus-audit-android,lotus-audit-weblater.design-system-manager"suggest"). Pure audit only.Notes
LotusColours,LotusTypography, etc.) — not the plannedLotusColor/LotusFontadapter naming inplatforms/ios/DESIGN.md. Will need a small update once the migration lands.flows.yamlis editable — adjust as the iOS app evolves. Unmapped folders fall through to "Unmapped" so nothing is silently dropped.🤖 Generated with Claude Code