@litfamily/lithermes 1.0.7 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +299 -13
- package/README_Ko-KR.md +300 -14
- package/assets/lithermes-plugin/README.md +17 -6
- package/assets/lithermes-plugin/__init__.py +96 -21
- package/assets/lithermes-plugin/core.py +15 -6
- package/assets/lithermes-plugin/core_commands.py +140 -28
- package/assets/lithermes-plugin/core_contexts.py +88 -15
- package/assets/lithermes-plugin/core_contract.py +118 -9
- package/assets/lithermes-plugin/core_routing.py +197 -8
- package/assets/lithermes-plugin/deliverable_hedge_guard.py +378 -357
- package/assets/lithermes-plugin/diagnostics.py +76 -8
- package/assets/lithermes-plugin/humanizer_detector.py +348 -0
- package/assets/lithermes-plugin/humanizer_ko_metrics.py +108 -0
- package/assets/lithermes-plugin/humanizer_office.py +18 -0
- package/assets/lithermes-plugin/lit_mark.py +1 -1
- package/assets/lithermes-plugin/motion_receipts.py +80 -0
- package/assets/lithermes-plugin/payload-version.json +2240 -64
- package/assets/lithermes-plugin/plugin.yaml +1 -1
- package/assets/lithermes-plugin/rules/bundled-rules/lit-humanizer.md +14 -0
- package/assets/lithermes-plugin/skills/autoconference/assets/report_template.md +2 -1
- package/assets/lithermes-plugin/skills/autoconference/modes/ship/SKILL.md +11 -8
- package/assets/lithermes-plugin/skills/autoresearch/modes/ship/type-checklists.md +2 -2
- package/assets/lithermes-plugin/skills/browser-drive/ORIGIN.json +17 -0
- package/assets/lithermes-plugin/skills/browser-drive/SKILL.md +41 -16
- package/assets/lithermes-plugin/skills/browser-drive/scripts/capability_probe.py +122 -10
- package/assets/lithermes-plugin/skills/frontend-ui-ux/SKILL.md +45 -13
- package/assets/lithermes-plugin/skills/frontend-ui-ux/examples/phase-3-readme-ab/README.md +51 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/README.md +44 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/adaptive-layout.md +34 -62
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/brand-and-imagery.md +22 -70
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/complete-contract.md +18 -4
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/composition.md +27 -78
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/craft-floor.md +74 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/creative-directions.md +25 -69
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/evidence-review.md +18 -97
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/implementation-platforms.md +23 -83
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/inclusive-interface.md +22 -70
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/interaction-motion.md +34 -68
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/motion-guide.md +62 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/operating-lanes.md +14 -78
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/performance-delivery.md +22 -71
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/product-direction.md +17 -70
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/production.md +19 -7
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/redesign-playbook.md +23 -76
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/slop-register.md +69 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/system-foundations.md +22 -67
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/visual-language.md +16 -72
- package/assets/lithermes-plugin/skills/frontend-ui-ux/references/visual-reconstruction.md +16 -81
- package/assets/lithermes-plugin/skills/frontend-ui-ux/resources/THIRD-PARTY-NOTICE.txt +15 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/probe-page.js +311 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/probe-rules.json +46 -0
- package/assets/lithermes-plugin/skills/frontend-ui-ux/scripts/probe.mjs +231 -0
- package/assets/lithermes-plugin/skills/lit-comprehend/SKILL.md +36 -25
- package/assets/lithermes-plugin/skills/lit-comprehend/references/artifact-template.md +45 -87
- package/assets/lithermes-plugin/skills/lit-comprehend/scripts/verify-explainer.py +3 -27
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/NOTICE +33 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/SKILL.md +308 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-architecture-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bar-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bar-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bar-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-beeswarm-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bubble-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bump-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bump-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-bump-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-data-flow-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-datalake-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-db-schema-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dependency-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-deployment-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-integration-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-dp-security-matrix-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-er-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-er-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-er-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-fishbone-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-flowchart-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-gantt-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-heatmap-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-high-level-vertical-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-drawio-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-excalidraw-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-import-mermaid-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-it-state-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-journey-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-journey-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-journey-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-kanban-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-layers-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-layers-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-layers-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-line-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-line-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-line-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-loop-terminal-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-marimekko-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-medallion-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-nested-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-nested-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-nested-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-org-chart-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-paved-road-animated-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-polar-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-polar-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-polar-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-policy-trace-animated-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-process-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-process-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-process-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-pyramid-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-consultant-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-quadrant-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-queue-animated-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-radar-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-radar-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-radar-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-ridgeline-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sankey-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-scatter-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-sequence-oauth-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-slopegraph-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-lifecycle-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-state-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-story-map-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-streamgraph-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-swimlane-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-timeline-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-block-decomposition-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-tree-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-treemap-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-uml-class-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-venn-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-venn-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-venn-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-wardley-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-dark.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-full.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/examples/type-waterfall-light.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/fonts/OFL.txt +94 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/fonts/PretendardVariable.woff2 +0 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/fonts/provenance.json +22 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/icons.html +231 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/index.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/devicon-MIT.txt +20 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/diagram-design-MIT.txt +21 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/log-z-MIT.txt +21 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/simple-icons-CC0.md +30 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/assets/licenses/tabler-MIT.txt +21 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/01-service-architecture/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/01-service-architecture/brief.md +33 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/02-release-decision/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/02-release-decision/brief.md +18 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/03-data-retention/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/03-data-retention/brief.md +19 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/04-oauth-sequence/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/04-oauth-sequence/brief.md +17 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/05-review-lanes/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/05-review-lanes/brief.md +17 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/06-rollout-gates/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/06-rollout-gates/brief.md +17 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/07-deployment-boundary/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/07-deployment-boundary/brief.md +19 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/08-policy-traces/after.html +1 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/examples/08-policy-traces/brief.md +20 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/accessibility.md +37 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/export.md +29 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-drawio.md +21 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-excalidraw.md +14 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-mermaid.md +18 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/import-schema.md +28 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/korean-typography.md +34 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/motion.md +29 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/office-pptx-docx.md +40 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/output-spec.md +48 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-annotation.md +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-icons.md +21 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-sketchy.md +11 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/primitive-terminal.md +11 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/profiles.md +24 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/semantic-patterns.md +27 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/style-guide.md +67 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-architecture.md +51 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-bar.md +51 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-beeswarm.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-bubble.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-bump.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-catalog.json +1433 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-data-flow.md +51 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-datalake.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-db-schema.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-dependency.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-deployment.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-dp-integration.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-dp-security-matrix.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-er.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-fishbone.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-flowchart.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-gantt.md +49 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-heatmap.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-high-level-vertical.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-high-level.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-import-drawio.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-import-excalidraw.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-import-mermaid.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-it-state.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-journey.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-kanban.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-layers.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-line.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-loop-terminal.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-loop.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-marimekko.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-medallion.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-nested.md +59 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-org-chart.md +58 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-paved-road-animated.md +72 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-polar.md +67 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-policy-trace-animated.md +69 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-process.md +58 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-pyramid.md +59 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-quadrant-consultant.md +60 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-quadrant.md +57 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-queue-animated.md +63 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-radar.md +57 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-ridgeline.md +63 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-sankey.md +68 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-scatter.md +60 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-sequence-oauth.md +66 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-sequence.md +63 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-slopegraph.md +65 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-state-lifecycle.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-state.md +59 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-story-map.md +52 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-streamgraph.md +53 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-swimlane.md +52 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-timeline.md +52 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-tree-block-decomposition.md +57 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-tree.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-treemap.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-uml-class.md +52 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-venn.md +51 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-wardley.md +52 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/type-waterfall.md +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/references/verifier-guide.md +31 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/block-registry.mjs +43 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/browser-version.mjs +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/check-visible-text.py +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_brief.py +192 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_catalog.py +135 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_checks.py +123 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_cli.py +94 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_geometry.py +130 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_metrics.py +166 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_quality.py +293 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_quality_geometry.py +200 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_records.py +205 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/diagram_sequence.py +55 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/doctor.mjs +24 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/drawio_extract.py +209 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/drawio_source.py +188 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/excalidraw_extract.py +233 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/excalidraw_support.py +64 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/export.mjs +125 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/mermaid_extract.py +240 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/mermaid_source.py +39 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/office-safety.mjs +54 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-all.py +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-brief.py +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-diagram.py +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-motion.py +12 -0
- package/assets/lithermes-plugin/skills/lit-diagram-drawer/scripts/verify-type.py +12 -0
- package/assets/lithermes-plugin/skills/lit-docx/NOTICE +1 -0
- package/assets/lithermes-plugin/skills/lit-docx/SKILL.md +97 -0
- package/assets/lithermes-plugin/skills/lit-docx/references/frontmatter_schema.md +42 -0
- package/assets/lithermes-plugin/skills/lit-docx/references/journal_style_spec.md +17 -0
- package/assets/lithermes-plugin/skills/lit-docx/references/markdown_quality_checklist.md +37 -0
- package/assets/lithermes-plugin/skills/lit-docx/references/slop_phrase_list.yaml +58 -0
- package/assets/lithermes-plugin/skills/lit-docx/references/slop_rules.md +35 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/clean_markdown.py +95 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/convert_md_to_docx.py +1041 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/convert_md_to_pdf.py +281 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/convert_pdf.py +130 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/edit_docx.py +297 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/embed_images.py +78 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/generate_docx_templates.py +491 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/slop_lint.py +536 -0
- package/assets/lithermes-plugin/skills/lit-docx/scripts/visual_audit.py +41 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/docx/acs.docx +0 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/docx/elsevier.docx +0 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/docx/ieee.docx +0 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/docx/korean-generic.docx +0 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/docx/nature.docx +0 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/acs/README.md +5 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/acs/template.tex +37 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/elsevier/README.md +5 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/elsevier/template.tex +38 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/ieee/README.md +5 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/ieee/template.tex +37 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/korean-generic/README.md +5 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/korean-generic/template.tex +37 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/nature/README.md +5 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/latex/nature/template.tex +37 -0
- package/assets/lithermes-plugin/skills/lit-docx/templates/registry.yaml +1366 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/NOTICE +170 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/SKILL.md +125 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/assets/report-skeleton.md +26 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/assets/slide-text-skeleton.md +30 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/accessibility-note/after.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/accessibility-note/before.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/api-reference/after.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/api-reference/before.md +15 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/changelog/after.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/changelog/before.md +12 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/code-comments/after.md +10 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/code-comments/before.md +19 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/commit/after.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/commit/before.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/data-release/after.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/data-release/before.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/detector-validation/ko-metrics-golden.json +49 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/detector-validation/pos-real.txt +26 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/detector-validation/rule-cases.json +306 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/english-essay/after.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/english-essay/before.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/incident-update/after.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/incident-update/before.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-essay/after.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-essay/before.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-report/after.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-report/before.md +13 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-slide/after.md +19 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/ko-slide/before.md +21 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/meeting-brief/after.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/meeting-brief/before.md +11 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/policy-faq/after.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/policy-faq/before.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/pr/after.md +15 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/pr/before.md +17 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/project-update/after.md +7 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/project-update/before.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/readme/after.md +12 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/readme/before.md +14 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/report/after.md +13 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/report/before.md +11 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/research-abstract/after.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/research-abstract/before.md +5 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/slides/after.md +19 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/slides/before.md +19 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/troubleshooting/after.md +11 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/examples/troubleshooting/before.md +11 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/README.md +16 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/always-on-rule.md +9 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/code-patterns.md +468 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/deliverable-channels.md +111 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns-checklist.md +43 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns-content.md +243 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns-structure.md +375 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/en-patterns.md +57 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-metrics.md +33 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-patterns-a-d.md +659 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-patterns-e-j.md +387 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/ko-patterns.md +31 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/rewrite-playbook.md +54 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/references/taxonomy.md +153 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/rules.json +884 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/scripts/detect.py +17 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/scripts/extract_office_text.py +114 -0
- package/assets/lithermes-plugin/skills/lit-humanizer/scripts/ko_metrics.py +35 -0
- package/assets/lithermes-plugin/skills/lit-pptx/NOTICE +1 -0
- package/assets/lithermes-plugin/skills/lit-pptx/SKILL.md +109 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/analyst.md +49 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/antithesis.md +65 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/architect.md +44 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/critic.md +42 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/synthesizer.md +47 -0
- package/assets/lithermes-plugin/skills/lit-pptx/agents/thesis.md +33 -0
- package/assets/lithermes-plugin/skills/lit-pptx/assets/azure/circle-lg.png +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/assets/azure/circle-md.png +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/assets/azure/circle-sm.png +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/bin/office.mjs +77 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/PRETENDARD-OFL.txt +94 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Black.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Bold.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-ExtraBold.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-ExtraLight.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Light.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Medium.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Regular.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-SemiBold.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/A2Z-Thin.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/OFL.txt +94 -0
- package/assets/lithermes-plugin/skills/lit-pptx/fonts/a2z-font/SOURCE.md +29 -0
- package/assets/lithermes-plugin/skills/lit-pptx/pretendard-font/public/static/PretendardGOV-Bold.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/pretendard-font/public/static/PretendardGOV-Regular.otf +0 -0
- package/assets/lithermes-plugin/skills/lit-pptx/references/anti-slop-checklist.md +71 -0
- package/assets/lithermes-plugin/skills/lit-pptx/references/authoring-guide.md +139 -0
- package/assets/lithermes-plugin/skills/lit-pptx/references/consensus-protocol.md +125 -0
- package/assets/lithermes-plugin/skills/lit-pptx/references/data-display-cookbook.md +45 -0
- package/assets/lithermes-plugin/skills/lit-pptx/references/design-system-azure.md +58 -0
- package/assets/lithermes-plugin/skills/lit-pptx/runtime/package-lock.json +750 -0
- package/assets/lithermes-plugin/skills/lit-pptx/runtime/package.json +15 -0
- package/assets/lithermes-plugin/skills/lit-pptx/runtime/requirements.in +7 -0
- package/assets/lithermes-plugin/skills/lit-pptx/runtime/requirements.lock +391 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/compile-deck.js +447 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/craft_extras.py +215 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/embed_fonts.py +199 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/integrity.py +60 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/inventory.py +64 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/learn_template.py +433 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/derive-palette.js +176 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/directive-parser.js +244 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/font-map.js +79 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/gen-bg.js +85 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/gen-gradient-assets.js +36 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/layout-resolver.js +736 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/markdown-loader.js +136 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/render-adapter-html.js +357 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/render-adapter-pptx.js +1864 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/slide-ast.js +539 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/spec-validator.js +94 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/lib/template-registry.js +355 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/qa_deck.py +791 -0
- package/assets/lithermes-plugin/skills/lit-pptx/scripts/validate_pptx.py +206 -0
- package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/markdown-slide-spec-v1.md +251 -0
- package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/markdown-slide-spec-v2.md +221 -0
- package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/slide-ast-v1.schema.json +229 -0
- package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/slide-ast-v2.schema.json +144 -0
- package/assets/lithermes-plugin/skills/lit-pptx/slide-formats/template-enrollment-contract.md +228 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/capabilities.yaml +146 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/layout-mapping.yaml +384 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-A2Z/template.yaml +37 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/capabilities.yaml +154 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/layout-mapping.yaml +405 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/AZURE-PRO/template.yaml +37 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/capabilities.yaml +179 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/layout-mapping.yaml +299 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-A2Z/template.yaml +45 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/capabilities.yaml +181 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/layout-mapping.yaml +299 -0
- package/assets/lithermes-plugin/skills/lit-pptx/templates/enrolled/BOILERPLATE-PRETENDARD/template.yaml +44 -0
- package/assets/lithermes-plugin/skills/lit-scientific-visualization/SKILL.md +2 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/SKILL.md +71 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/bin/audio.py +45 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/bin/motion.mjs +690 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/bin/runtime.mjs +299 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/NOTICE +23 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/THIRD_PARTY_NOTICES +55 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/browser.mjs +169 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/completion.mjs +52 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/constants.mjs +162 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/director.mjs +33 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/encode.mjs +191 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/flash.mjs +163 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/frame.mjs +428 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/gate.mjs +483 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/look.mjs +223 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/page.js +622 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/presets.mjs +170 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/scenes.mjs +242 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/sound.mjs +382 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-gate.mjs +97 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-init.js +186 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-kit.js +389 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-qa.mjs +358 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage-worker.mjs +33 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stage.mjs +691 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stills.mjs +71 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/stroke.mjs +231 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/timeline.mjs +177 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/treatment.mjs +244 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/type.mjs +183 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/engine/util.mjs +152 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/craft-loop.md +175 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/engine-contract.md +166 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/runtime.md +122 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/stage.md +261 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/style-bibles.md +122 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/treatment.md +164 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/references/type-craft.md +92 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/fonts.json +154 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/licenses/CREDITS +20 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/licenses/EMS-OFL.txt +91 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/package-lock.json +88 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/package.json +12 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/requirements.in +1 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/requirements.lock +727 -0
- package/assets/lithermes-plugin/skills/lit-typographic-motion/runtime/word-timing.json +9 -0
- package/assets/lithermes-plugin/skills/litresearch/SKILL.md +19 -18
- package/assets/lithermes-plugin/skills/litwork/SKILL.md +28 -0
- package/assets/lithermes-plugin/skills/visual-qa/references/complete-contract.md +3 -3
- package/package.json +1 -1
- package/readme-assets/ab-simple/s11-ui-baseline-desktop.webp +0 -0
- package/readme-assets/ab-simple/s11-ui-lithermes-desktop.webp +0 -0
- package/readme-assets/ab-simple/s3-ui-baseline-desktop.webp +0 -0
- package/readme-assets/ab-simple/s3-ui-lithermes-desktop.webp +0 -0
- package/readme-assets/ab-simple/s4-ui-baseline-desktop.webp +0 -0
- package/readme-assets/ab-simple/s4-ui-lithermes-desktop.webp +0 -0
- package/readme-assets/ab-simple/s5-office-baseline-slides.webp +0 -0
- package/readme-assets/ab-simple/s5-office-lithermes-slides.webp +0 -0
- package/readme-assets/ab-simple/s7-lithermes-diagram.webp +0 -0
- package/readme-assets/ab-simple/s8-office-baseline-slides.webp +0 -0
- package/readme-assets/ab-simple/s8-office-lithermes-slides.webp +0 -0
- package/readme-assets/ab-simple/s9-office-lithermes-pages.webp +0 -0
- package/readme-assets/badge-version.svg +1 -1
- package/readme-assets/cover-motion-still.webp +0 -0
- package/readme-assets/cover-motion.webp +0 -0
- package/readme-assets/skills/autoconference.webp +0 -0
- package/readme-assets/skills/autoresearch.webp +0 -0
- package/readme-assets/skills/browser-drive.webp +0 -0
- package/readme-assets/skills/comment-checker.webp +0 -0
- package/readme-assets/skills/debugging.webp +0 -0
- package/readme-assets/skills/deep-interview.webp +0 -0
- package/readme-assets/skills/frontend-ui-ux.webp +0 -0
- package/readme-assets/skills/lit-burnoff-file.webp +0 -0
- package/readme-assets/skills/lit-burnoff.webp +0 -0
- package/readme-assets/skills/lit-code.webp +0 -0
- package/readme-assets/skills/lit-commit.webp +0 -0
- package/readme-assets/skills/lit-comprehend.webp +0 -0
- package/readme-assets/skills/lit-crucible.webp +0 -0
- package/readme-assets/skills/lit-diagram-drawer.webp +0 -0
- package/readme-assets/skills/lit-docx.webp +0 -0
- package/readme-assets/skills/lit-handoff.webp +0 -0
- package/readme-assets/skills/lit-humanizer.webp +0 -0
- package/readme-assets/skills/lit-init.webp +0 -0
- package/readme-assets/skills/lit-plan.webp +0 -0
- package/readme-assets/skills/lit-pptx.webp +0 -0
- package/readme-assets/skills/lit-recap.webp +0 -0
- package/readme-assets/skills/lit-scientific-visualization.webp +0 -0
- package/readme-assets/skills/lit-typographic-motion.webp +0 -0
- package/readme-assets/skills/litgoal.webp +0 -0
- package/readme-assets/skills/litresearch.webp +0 -0
- package/readme-assets/skills/litwork.webp +0 -0
- package/readme-assets/skills/lsp-setup.webp +0 -0
- package/readme-assets/skills/lsp.webp +0 -0
- package/readme-assets/skills/readme-studio.webp +0 -0
- package/readme-assets/skills/refactor.webp +0 -0
- package/readme-assets/skills/review-work.webp +0 -0
- package/readme-assets/skills/rules.webp +0 -0
- package/readme-assets/skills/start-work.webp +0 -0
- package/readme-assets/skills/structural-search.webp +0 -0
- package/readme-assets/skills/visual-qa.webp +0 -0
- package/readme-assets/skills/wikify.webp +0 -0
- package/src/cli.js +40 -1
- package/src/lib/check.js +21 -0
- package/src/lib/install.js +262 -7
- package/src/lib/skillPayload.js +3 -3
- package/assets/lithermes-plugin/skills/lit-korean/SKILL.md +0 -237
- package/assets/lithermes-plugin/skills/lit-korean/references/quick-rules.md +0 -24
- package/assets/lithermes-plugin/skills/lit-korean/references/safety-checklist.md +0 -23
- package/readme-assets/cover.webp +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Slop register
|
|
2
|
+
|
|
3
|
+
Scan the rendered surface before making a taste judgment. DET rows are observable signals; a JUDG or DET-assist row is a prompt for a reviewer, never an automatic verdict. Fix the underlying repetition, empty decoration, or fake content in the cheapest order: delete, use the platform, reuse an existing design value, correct the value, then add. A brand rationale or real data binding may make a visual signal intentional; record that evidence rather than suppressing the signal.
|
|
4
|
+
|
|
5
|
+
| Rule | Signal | Method | Threshold | Severity | Cheapest relevant fix |
|
|
6
|
+
| --- | --- | --- | --- | --- | --- |
|
|
7
|
+
| SLOP-001 | Cloned split-hero repetition | DET | run length ≥ 3 consecutive sections | MEDIUM | Break the run with a full-width, stacked, or bento section before the 3rd repeat (correct) |
|
|
8
|
+
| SLOP-002 | Identical tile-grid repetition | DET | ≥ 4 identical tiles in one grid, where each tile's child shape is icon/svg/img + heading + text. A grid rendered as ul, ol or table is a data collection and is skipped (Delta 1: the calibrated n ≥ 4 floor; every clean reference has a legitimate 3-item grid) | MEDIUM | Vary tile size/structure per item, or switch one instance to a different layout family (correct) |
|
|
9
|
+
| SLOP-003 | Nested card shells / unfilled bento cells | DET-assist, JUDG verdict | nesting depth ≥ 3, or cell count ≠ content-item count | MEDIUM | Collapse the redundant wrapper, or reshape the grid to match the content count (delete) |
|
|
10
|
+
| SLOP-004 | Split-header filler paragraph | DET-assist, JUDG verdict | short column < 15 words, no distinct role, AND JUDG finds no real second message | MEDIUM | Stack headline and body vertically instead of splitting them (correct) |
|
|
11
|
+
| SLOP-005 | Layout family reused verbatim across the page | DET | repeat count ≥ 3 (raised from ≥ 2 — reusing one layout family exactly twice on a longer page is ordinary, deliberate design-system consistency; ≥ 3 aligns with SLOP-001's consecutive-run floor) | MEDIUM | Give the repeat's second occurrence a different layout family (correct) |
|
|
12
|
+
| SLOP-006 | Monotonous spacing rhythm | DET | page has ≥ 5 distinct visual regions AND ≥ 10 samples, dominant bucket > 85% of samples, ≤ 3 distinct nonzero buckets (raised from > 60% / whole-page sampling — a restrained, intentional 3-token spacing system on a simple page is good practice, not slop) | MEDIUM | Introduce a real multi-step spacing scale and apply it by relationship, not by habit (correct) |
|
|
13
|
+
| SLOP-007 | Decorative empty space with no hierarchy role | JUDG | — | LOW (WARN) | Remove the gap or attach it to a real grouping decision (delete) |
|
|
14
|
+
| SLOP-008 | Default purple/blue "AI" gradient palette | DET | HSL hue 260°–310° with a channel spread ≥ 50/255, on heading text (h1–h3 or ≥ 20px) or on any gradient stop; brand-consistency exemption applies (Delta 1: the earlier 220°–280° band pulled in ordinary brand blues near 221°–224°) | MEDIUM (calibration: never fired on any of the 19 clean/real pages in this task pack — a narrow single-pattern check, not a validated near-universal tell; downgraded from HIGH) | Swap in a neutral base plus one hue rooted in the actual brand, per the existing lila guardrail (correct) |
|
|
15
|
+
| SLOP-009 | Gradient-filled headline text | DET | co-occurrence present | MEDIUM | Replace with a solid color and a weight or size change (correct) |
|
|
16
|
+
| SLOP-010 | Glow / bloom halo on primary actions or headings | DET | shared glow test, not a focus state, and the same glow recurring on ≥ 2 unrelated elements | MEDIUM when the same glow recurs on ≥ 2 unrelated elements (Delta 1: a genericness tell is at most MEDIUM); a single glow is reported once under CF-404 (LOW), never twice | Use the shadow-as-border recipe (offset + soft neutral blur) instead, or drop the shadow (correct) |
|
|
17
|
+
| SLOP-011 | Floating blob / sphere decoration | DET-assist, JUDG verdict | presence AND JUDG finds no stated purpose (a single deliberate atmospheric blob is a common, often well-regarded accent on modern SaaS marketing pages, not by itself a tell) | MEDIUM | Remove, or tie it to an actual focal point in the layout (delete) |
|
|
18
|
+
| SLOP-012 | Decorative dot/grid background with no referent | DET | presence, no adjacent data element, AND ≥ 1 co-occurring slop signal (a dot-grid or blueprint texture alone is a common, tasteful choice on developer-tool sites, not inherently a tell) | MEDIUM | Remove unless the grid is standing in for a real chart (delete) |
|
|
19
|
+
| SLOP-013 | Over-rendered noise hiding the layout | JUDG | — | LOW (WARN) | Reduce opacity or remove; if kept, confine it to a fixed non-scrolling layer (correct) |
|
|
20
|
+
| SLOP-014 | Glassmorphism used as unexamined default | JUDG | — | LOW (WARN) | Drop the blur for a solid surface unless the brief earns it (delete) |
|
|
21
|
+
| SLOP-015 | Fake pseudo-border accent stripe | DET | any one of (a)/(b)/(c) reaching ≥ 2 occurrences in one rounded scope; variant (b) alone reaches threshold at ≥ 1 | MEDIUM | Drop the stripe; carry the same emphasis in the card's own fill or an icon (delete) |
|
|
22
|
+
| SLOP-016 | Reflex default sans font | DET-assist, JUDG verdict | any match on the fixed list (Geist family excepted) AND JUDG finds no declared rationale | MEDIUM | Pick a less common face tied to the product's own voice, or state why the common one was kept (correct) |
|
|
23
|
+
| SLOP-017 | Serif reached for without a stated reason | DET-assist, JUDG verdict | any match on the shortlist AND no rationale recorded | MEDIUM | Switch to a sans display face, or keep the serif only with a recorded rationale (correct) |
|
|
24
|
+
| SLOP-018 | Giant headline over a weak tiny subhead | DET-assist, JUDG verdict | ratio ≥ ~3.5 with subhead below ~14px, AND JUDG confirms it reads as an afterthought | MEDIUM | Raise the subhead's role in the scale or shorten the headline pairing (correct) |
|
|
25
|
+
| SLOP-019 | Too many type moods on one page | DET | > 3 distinct families, icon fonts excluded. Chosen over impeccable's stricter 1-family "distill" ceiling because distill is a deliberate reduction workflow, not a general craft floor; krehel's general guidance ("rarely use more than three") is used instead | MEDIUM | Cut back to the stated ceiling for the page (delete) |
|
|
26
|
+
| SLOP-020 | Lazy all-caps overuse | DET | leaf text length > ~40 chars under text-transform: uppercase, majority-cased-script text only | LOW | Reserve uppercase for short labels only; sentence-case the rest (correct) |
|
|
27
|
+
| SLOP-021 | Washed-out gray secondary text on a colored surface | DET | text L 40–70%, S < 10%, background chromatic | MEDIUM (cross-ref **CF-201** — craft floor owns the canonical contrast-floor check this overlaps; kept here for the reflex-default pattern itself) | Tint the secondary text from the surface's own hue instead of plain gray (correct) |
|
|
28
|
+
| SLOP-022 | More than one accent hue competing per screen | JUDG, DET-assist | > 1 accent hue family, fill-surfaces ≥ 24×24px only, status colors excluded | MEDIUM (cross-ref **CF-205** — craft floor owns the canonical one-accent-per-view threshold and the identical filled-surface/status-role-excluded histogram method; this row restates the same finding as a genericness signal, see Section C's CF-205 catalogue entry for the executable algorithm) | Pick one accent per view and demote the rest to neutral (correct) |
|
|
29
|
+
| SLOP-023 | Pure black or pure white as a base surface | DET | exact match, outside the declared-dark-theme exception | LOW | Shift to an off-black/off-white a few percent toward the brand's neutral (correct) |
|
|
30
|
+
| SLOP-024 | Spring/bounce easing on routine feedback | DET | keyword match, or bezier outside that range, on a routine control | MEDIUM (cross-ref **CF-505** — craft floor owns the canonical threshold and the executable scanAnimationTimingIssues algorithm in Section C; this row is a cross-reference, not a second implementation) | Replace with a settled ease-out curve, or a spring config with bounce fixed at 0 (correct) |
|
|
31
|
+
| SLOP-025 | Entrance animation scaling in from zero | DET | scale start ≤ ~0.1 | MEDIUM (cross-ref **CF-503** — craft floor's floor is 0.95, tighter than this row's ~0.1; craft floor owns the canonical threshold) | Start near 0.95, never 0 (correct). Note: an absolutely-positioned icon swap/cross-fade is a distinct convention with its own recipe (scale: 0.25 → 1, never 0.5 or 0.6) — don't fold that case into this general entrance-scale floor |
|
|
32
|
+
| SLOP-026 | Animating layout-triggering properties for motion | DET | any layout property present outside the disclosure exception | MEDIUM (cross-ref **CF-508** — craft floor owns the canonical threshold; the slop angle is the reflex choice, not just the cost) | Animate transform/opacity instead (correct) |
|
|
33
|
+
| SLOP-027 | Decorative infinite pulse/blink with no bound state | DET | presence, no bound-state signal of any of the above kinds | LOW | Remove, or slow it and bind it to the real status it claims to show (delete) |
|
|
34
|
+
| SLOP-028 | Motion fired on every routine, high-frequency interaction | JUDG, DET-assist | transition duration > ~150ms on a selector in the fixed high-frequency set | LOW (cross-ref **CF-506** — craft floor's ≤150ms high-frequency ceiling is the same threshold, scoped to a repeated-selector/scrollable-container gate) | Make the routine case instant or ≤150ms; save longer motion for rare, meaningful moments (correct) |
|
|
35
|
+
| SLOP-029 | Eyebrow/kicker label templated above most headings | DET | count > ceil(sectionCount / 3), where sectionCount = the number of visible h2; visible elements only | MEDIUM (Delta 1: a genericness tell is at most MEDIUM) | Drop the eyebrow; the heading and the section's place on the page already carry the context (delete) |
|
|
36
|
+
| SLOP-030 | Section numbering used as decoration | DET-assist, JUDG verdict | any match, ≥ 2 distinct index values, AND JUDG finds no real ordering behind it — the ubiquitous "01/02/03 — how it works" pattern describing a genuinely sequential process is not itself a defect | MEDIUM | Remove the numbering; if progression matters, name the step itself instead of counting it (delete) |
|
|
37
|
+
| SLOP-031 | Unreleased-looking version/status stamp in marketing copy | DET-assist, JUDG verdict | any match AND JUDG finds no real release-notes context | MEDIUM | Remove the stamp unless the brief is genuinely about a launch/preview status (delete) |
|
|
38
|
+
| SLOP-032 | Decorative status dot with no bound state | DET | presence, no bound attribute | LOW | Remove, or reserve it for an actual live/availability signal (delete) |
|
|
39
|
+
| SLOP-033 | Middle-dot / locale-time separator strip overused | DET | · count ≥ 3 on one line, OR ≥ 2 co-occurring locale/weather tokens on one line | LOW | Prefer line breaks or columns to chained middle-dots; drop the locale strip unless the brief is genuinely place/time relevant (delete) |
|
|
40
|
+
| SLOP-034 | Decorative word strip at the hero's foot | DET | presence within the bottom 15% of the hero's bbox, no <a>/real status content inside, not a compliance-badge strip | MEDIUM | Remove, unless it is a real sticky navigation strip or genuine build/status info (delete) |
|
|
41
|
+
| SLOP-035 | Scroll-cue label or arrow at the first viewport | DET | presence | LOW | Remove; a visitor at the top of the page already knows the page continues (delete) |
|
|
42
|
+
| SLOP-036 | Marketing buzzword filler | DET | count ≥ 1 | MEDIUM (Delta 1: a genericness tell is at most MEDIUM) | Replace with a specific, product-true claim (correct) |
|
|
43
|
+
| SLOP-037 | Fabricated placeholder brand wordmark | DET-assist, JUDG verdict | any match on the fixed list AND JUDG confirms it is not the product's real name | MEDIUM (Delta 1) | Name the product from the brief itself, or invent one name tied to what it actually does (correct) |
|
|
44
|
+
| SLOP-038 | Generic placeholder person name (the "Jane Doe" effect) | DET | any match | MEDIUM | Replace with a specific, locale-appropriate name (correct) |
|
|
45
|
+
| SLOP-039 | Aphoristic "Not X. Y." cadence repeated | DET | combined count ≥ 3 | LOW | Vary sentence rhythm; keep the device to at most one use per page (correct) |
|
|
46
|
+
| SLOP-040 | Em-dash (or flourish en-dash) anywhere in shipped copy | DET | count ≥ 1 in the main scope (zero tolerance unchanged, see Open Question 3); each carve-out hit is reported separately at LOW | MEDIUM (Delta 1: a dash neither blocks nor misleads a visitor; carve-out hits: LOW) | Rewrite with a period, comma, or parentheses instead (correct) |
|
|
47
|
+
| SLOP-041 | Fabricated-looking numeric claim | JUDG, DET-assist | ≥ 1 candidate after the exclusions, with no source/mock marker in its block, AND JUDG finds no real origin for it | MEDIUM | Cite the real figure, label it as an example, or cut the number entirely (correct) |
|
|
48
|
+
| SLOP-042 | Duplicate call-to-action wording for one intent | JUDG, DET-assist | > 1 distinct label per intent, same page | LOW | Pick one label for that intent and reuse it everywhere on the page (correct) |
|
|
49
|
+
| SLOP-043 | Div-built fake product screenshot | DET-assist, JUDG verdict | any of (a)/(b)/(c) with no real-media or focusable descendant, AND JUDG confirms a stand-in rather than a real component preview | MEDIUM once JUDG confirms (tier Inferred, the same posture MD-011 takes for its JUDG items); a DET-assist hit alone is a review candidate, never a finding by itself | Use a real screenshot, a generated image, or a real component preview instead (correct / platform) |
|
|
50
|
+
| SLOP-044 | Fake build/version footer inside a mock preview | DET-assist, JUDG verdict | any match AND JUDG finds no real changelog/docs surface | MEDIUM | Remove; this is CLI-fixture flavor with nothing to say to a visitor (delete) |
|
|
51
|
+
| SLOP-045 | Decorative identical stat/KPI columns | DET-assist, JUDG verdict | ≥ 4 same-shape stat siblings (≥ 3 beside a marketing CTA), AND JUDG finds KPIs were not requested or a figure has no real source | MEDIUM once JUDG confirms (tier Inferred, MD-011's JUDG posture); a DET-assist hit alone is a review candidate, since an accurate stats banner is a legitimate pattern until judged otherwise | Remove unless the brief actually asked for KPI display, and back any kept number with a real source (delete) |
|
|
52
|
+
| SLOP-046 | Decorative gauge/sparkline/progress element with a hard-coded value | DET-assist, JUDG verdict | candidate present, AND JUDG finds no real data point behind it | MEDIUM | Remove unless it encodes a real, current data point (delete) |
|
|
53
|
+
| SLOP-047 | Illegible ticker-scale logo wall | DET | distinct-logo count ≤ 6, AND median rendered logo height < 20px at the 1440px RS viewport. The 20px floor is a house default: the corpus names the failure ('unreadable mosquito logos') without a size, and neither reference clone publishes one; recalibrate on labeled logo walls before tightening | MEDIUM | Slow it down, enlarge the logos, or replace the loop with a static row if the count is this small (correct) |
|
|
54
|
+
| SLOP-048 | Autoplay carousel dots with no real function | DET | candidate present, autoplay declared or observed, and none of the accessible-binding signals present | LOW | Remove the dots or wire them to real keyboard/AT-reachable navigation (correct) |
|
|
55
|
+
| SLOP-049 | Generic silhouette/egg avatar standing in for a person | DET | match against the fixed list | LOW | Use a believable photo placeholder or a deliberate illustrated style instead (correct) |
|
|
56
|
+
| SLOP-050 | Category label printed under every logo in a trust wall | DET | any match | LOW | Drop the caption; the logo alone carries the credibility (delete) |
|
|
57
|
+
| SLOP-051 | Illustration assembled from an excessive primitive count | JUDG, DET-assist | all DET-assist conditions met (≥ 8 primitives, ≥ 200×200px, ≥ 3 fills, ≤ 2 text elements, no pattern) AND JUDG confirms a stand-in scene. The constants are impeccable's published ones (it reads declared width/height or viewBox; this row reads the rendered box), not yet calibrated on this family's pages | MEDIUM | Commission or simplify the illustration; don't primitive-stack a substitute (correct) |
|
|
58
|
+
| SLOP-052 | Busy geometric mask faking a photographic edge | DET | polygon: ≥ 10 vertices and mostly off-grid; path(): ≥ 3 curve segments (impeccable's published constants) | LOW | Use a real photographic crop, or a simple deliberate shape (correct) |
|
|
59
|
+
| SLOP-053 | Emoji glyphs standing in for a real icon set | DET-assist, JUDG verdict | any match AND JUDG finds no stated emoji-policy exception | LOW | Replace with the project's chosen icon set (correct) |
|
|
60
|
+
| SLOP-054 | Hover transform applied to the image element itself | DET | rule targets the image node itself | LOW | Move the transform to the container; animate the frame, not the picture (correct) |
|
|
61
|
+
| SLOP-055 | Recurring cluster of generic tells appearing together | JUDG | ≥ 2 co-occurring DET hits on one component escalates the row from WARN to a real finding | MEDIUM (escalated); LOW (WARN) below that | Break up the combination; vary the visual language for that component specifically (correct) |
|
|
62
|
+
| SLOP-056 | Overall "could be any competitor's product" genericness | JUDG | — | LOW (WARN), holistic-only | No single fix; return to the specific rows above that are contributing to the impression and act on those (correct) |
|
|
63
|
+
| SLOP-057 | Broken image source | DET | any match | HIGH | Fix or replace the source, or remove the element (correct / delete) |
|
|
64
|
+
| SLOP-058 | Dead link | DET (derived — an attribute scan cannot see an attached handler) | any match | HIGH (nav/primary) / MEDIUM (decorative) | Point it at a real destination, or make it a real button if it has no destination (correct) |
|
|
65
|
+
| SLOP-059 | Button with no type/handler inside a form | DET inside a form; JUDG outside one | missing type on a button whose form owner has ≥2 submit-capable buttons (a lone typeless button is the intended implicit submit) | HIGH (inside a form only) | Add an explicit type="button" (or "submit" when that is genuinely intended) (correct) |
|
|
66
|
+
| SLOP-060 | Placeholder / lorem text | DET | any match | LOW | Replace with real, brief-specific copy (correct) |
|
|
67
|
+
| SLOP-061 | Marquee / scrolling ticker on text | DET | any match | LOW | Replace with a static row, or add a real pause/stop control (correct) |
|
|
68
|
+
| SLOP-062 | Modal opened by reflex with no real interruption need | JUDG | — | LOW (WARN) | Replace with an inline panel, toast, or disclosure (correct) |
|
|
69
|
+
| SLOP-063 | Monospace used as a "technical" costume | JUDG | — | LOW (WARN) | Switch to the page's normal text face unless the content is genuinely code/data (correct) |
|
|
@@ -1,82 +1,37 @@
|
|
|
1
|
-
Design-system foundations
|
|
1
|
+
# Design-system foundations
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
`direction.token_strategy` and every entry in `inventory.components[]`.
|
|
3
|
+
Treat a design system as shared boundaries and a consumer inventory, not a folder of components. Record its token strategy and every delivered primitive in the Design Contract.
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
Record the reuse, extension, or creation choice in `direction.token_strategy`.
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
## Audit, then add
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
- Extract every color, size, radius, shadow, and spacing value in use; count distinct values.
|
|
12
|
-
- Record which components already carry all nine states and which do not.
|
|
13
|
-
- Write the audit into `omissions` first; an unaudited addition is a hidden duplicate.
|
|
9
|
+
Before creating a primitive, locate existing components with the same rendered role, inspect their APIs and consumers, count current tokens, and list state/variant gaps. Extend the existing primitive when it fits; avoid parallel components without a specific reason.
|
|
14
10
|
|
|
15
|
-
|
|
11
|
+
Organize tokens in one direction:
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
1. **Foundation:** neutral raw values, such as space, radius, and palette steps.
|
|
14
|
+
2. **Semantic:** roles that refer to foundations, such as surface-raised or text-secondary.
|
|
15
|
+
3. **Component:** a named component property that refers to semantic roles.
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
- Semantic: roles referencing foundation only — `surface.raised`, `text.secondary`, `border.focus`.
|
|
21
|
-
- Component: decisions referencing semantic only — `button.primary.bg`, `table.row.gap`.
|
|
22
|
-
- Every component token names its component and its property; without both it is unowned.
|
|
17
|
+
A component should not reach into foundation values or embed raw color/spacing. Lint these boundaries where possible; record an owned exception with reason when a real constraint requires one.
|
|
23
18
|
|
|
24
|
-
##
|
|
19
|
+
## Specify the component contract
|
|
25
20
|
|
|
26
|
-
|
|
21
|
+
For each component, name anatomy, API/defaults, token dependencies, variants, and supported states: default, hover where available, focus-visible, active, disabled, loading, empty, error, and success. Stress short and longest real strings, CJK, zero items, and representative large collections. Unsupported combinations should be explicit.
|
|
27
22
|
|
|
28
|
-
|
|
29
|
-
- Lint it: raw hex, raw px, or a foundation reference inside a component file fails the build.
|
|
30
|
-
- Exceptions live in `accepted_exceptions` with a reason and an owner, one line each.
|
|
23
|
+
A showcase route is useful when the deliverable is a reusable system or many variants need coordinated review. Include theme, density, text scale, and reduced-motion controls; do not make it a prerequisite for an unrelated feature.
|
|
31
24
|
|
|
32
|
-
##
|
|
25
|
+
## Themes and existing APIs
|
|
33
26
|
|
|
34
|
-
|
|
27
|
+
Themes should change semantic roles, not component internals. Dark mode needs its own contrast measurements. Forced-colors mode should retain visible boundaries and state without relying on background color alone.
|
|
35
28
|
|
|
36
|
-
|
|
37
|
-
- States: default, hover, focus-visible, active, disabled, loading, empty, error, success.
|
|
38
|
-
- Variants: intent, size, density — every combination renders or is declared unsupported.
|
|
39
|
-
- Content stress: one character, longest supported string, CJK string, zero items, 100 items.
|
|
40
|
-
- API: prop names, defaults, and the tokens consumed, recorded in `components[]`.
|
|
29
|
+
In brownfield work, preserve token names, props, defaults, and consumer rendering. Put new variants behind existing APIs; enumerate consumers before a rename. For a shipped plugin asset, follow the payload sync and isolated-install/doctor procedure after editing.
|
|
41
30
|
|
|
42
|
-
##
|
|
31
|
+
## Reject
|
|
43
32
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
- Capture it per theme under `.hermes/lithermes/` as the baseline for later diffs.
|
|
50
|
-
- No feature route starts until each primitive it needs appears in the showcase.
|
|
51
|
-
|
|
52
|
-
## Theme architecture: dark mode and forced colors
|
|
53
|
-
|
|
54
|
-
A theme swaps semantic roles and nothing else. If a component changes per theme, the system leaks.
|
|
55
|
-
|
|
56
|
-
- Themes redefine semantic roles; foundation values and component tokens stay byte-identical.
|
|
57
|
-
- Dark is not inverted light: raise surfaces by lightness, cut saturation, re-measure contrast.
|
|
58
|
-
- Forced colors: system color keywords, a 1px border on every interactive element, never state by
|
|
59
|
-
background alone.
|
|
60
|
-
|
|
61
|
-
## Align with an existing system
|
|
62
|
-
|
|
63
|
-
In brownfield work the existing system is the specification; match its names first.
|
|
64
|
-
|
|
65
|
-
- Map each requested primitive onto the existing one and extend it; never add a sibling.
|
|
66
|
-
- New variants ship behind the current API; no rename lands without an enumerated migration list.
|
|
67
|
-
- When primitives ship as plugin assets, run `npm --prefix packages/lithermes-installer run
|
|
68
|
-
sync-plugin -- --in-place`, confirm the `payload-version.json` entry changed, then check an
|
|
69
|
-
isolated `--hermes-home` install with `lithermes doctor`.
|
|
70
|
-
- Hand `contract_id` and its SHA-256 to the independent review pass.
|
|
71
|
-
|
|
72
|
-
## Failure patterns
|
|
73
|
-
|
|
74
|
-
Apply this governance reject-list to every proposed addition.
|
|
75
|
-
|
|
76
|
-
Reject:
|
|
77
|
-
|
|
78
|
-
- A token added with no consumer, or a component token with no owning component.
|
|
79
|
-
- A component referencing a foundation value or a literal directly.
|
|
80
|
-
- A primitive shipped without focus-visible, disabled, loading, empty, and error.
|
|
81
|
-
- A second primitive doing an existing primitive's job because renaming felt risky.
|
|
82
|
-
- A theme that patches component internals instead of semantic roles.
|
|
33
|
+
- A token with no consumer or an unnamed component token.
|
|
34
|
+
- A component using raw values instead of semantic roles.
|
|
35
|
+
- A second primitive that duplicates an existing job without a migration reason.
|
|
36
|
+
- A delivered control missing focus, disabled, loading, or failure states.
|
|
37
|
+
- A theme that forks component internals rather than semantic roles.
|
|
@@ -1,85 +1,29 @@
|
|
|
1
|
-
Visual language
|
|
1
|
+
# Visual language
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
`direction.token_strategy` and `direction.principles`.
|
|
3
|
+
Choose roles and reusable values for typography, color, imagery, depth, icons, and data. Keep those decisions in the token strategy so components do not develop their own vocabulary.
|
|
5
4
|
|
|
6
|
-
##
|
|
5
|
+
## Type and color
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
Define roles such as display, page title, section title, body, metadata, labels, and tabular numerals. A useful starting cap is six sizes and three weights; body copy should be at least 16 px, with 14 px reserved for dense tables. Name font fallbacks and loading behavior.
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
- Cap the scale at 6 sizes and 3 weights; body 16px minimum, 14px only for dense tabular data.
|
|
12
|
-
- Never let weight alone carry meaning; pair it with size, position, or a label.
|
|
9
|
+
Use semantic color roles for surfaces, text, borders, actions, and status. One accent should have a consistent meaning; a second accent needs a stated reason. Status must include a word, icon, or shape as well as color. Measure rendered contrast in every supported theme:
|
|
13
10
|
|
|
14
|
-
|
|
11
|
+
- Body text: at least 4.5:1; 24 px text or 19 px bold text: at least 3:1.
|
|
12
|
+
- Component boundaries, controls, and chart marks: at least 3:1.
|
|
13
|
+
- Focus indicator: at least 3:1 against both control and adjacent surface.
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
## Icons, imagery, and depth
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
warning, danger, info.
|
|
20
|
-
- A hex in a component has no dark-mode counterpart and no contrast record; a role has both.
|
|
21
|
-
- One accent, and it means "act here". A second accent needs a written reason.
|
|
22
|
-
- Status never travels by color alone; pair every status with an icon or a word.
|
|
17
|
+
Use one icon family and a consistent grid/stroke. A 24 px grid and 1.5–2 px stroke are useful starting values; avoid rendering below 16 px. Use one metaphor per action, give unlabeled controls accessible names, and hide decorative icons from assistive technology.
|
|
23
18
|
|
|
24
|
-
|
|
19
|
+
Define image ratios and rendered boxes before load. Measure any text scrim against the actual image. Asset origin, rights, and alt-text belong in brand-and-imagery.md.
|
|
25
20
|
|
|
26
|
-
|
|
21
|
+
Use a small named elevation scale (base, raised, overlay); identify tiers consistently and define overlay stacking order. For example: content 0, sticky 100, dropdown 200, modal 300, toast 400. In dark themes, remeasure surfaces rather than relying on heavier shadows.
|
|
27
22
|
|
|
28
|
-
|
|
29
|
-
- Component boundaries, control edges, and chart marks 3:1 against adjacent color.
|
|
30
|
-
- Focus ring 3:1 against both the control and its background, 2px thick, 2px offset.
|
|
23
|
+
## Data display
|
|
31
24
|
|
|
32
|
-
|
|
25
|
+
Choose the visual form from the question: current level → value with units; time trend → line; category comparison → sorted bars; part-to-whole → stacked bar (pie only for three slices or fewer); distribution → histogram; relationship → scatter; exact lookup → table. Label units, start bar axes at zero, and split series into small multiples when they become hard to compare.
|
|
33
26
|
|
|
34
|
-
|
|
27
|
+
## Check for drift
|
|
35
28
|
|
|
36
|
-
|
|
37
|
-
- One metaphor per concept, product-wide; two icons for one action is a defect.
|
|
38
|
-
- Any icon without an adjacent text label needs an accessible name; decorative ones are hidden.
|
|
39
|
-
- Reject metaphors that do not survive translation: hand gestures, letter-shaped glyphs, local objects.
|
|
40
|
-
|
|
41
|
-
## Treat imagery as a layer with rules
|
|
42
|
-
|
|
43
|
-
Pick one treatment and one ratio set, then hold them.
|
|
44
|
-
|
|
45
|
-
- Fixed aspect ratios from a declared set; every image gets its box before it loads.
|
|
46
|
-
- Text over imagery requires a measured scrim reaching 4.5:1, not an assumed one.
|
|
47
|
-
- One treatment product-wide: full color, duotone, or monochrome.
|
|
48
|
-
- Every image has alt text or is explicitly marked decorative.
|
|
49
|
-
|
|
50
|
-
## Make surface, depth, and elevation one system
|
|
51
|
-
|
|
52
|
-
Depth is three tiers, not a shadow library. Each tier is one token set used the same way.
|
|
53
|
-
|
|
54
|
-
- Tiers: base, raised, overlay. Each declares background, border, and optional shadow.
|
|
55
|
-
- Signal a tier one way only — border or shadow, never both plus a tint.
|
|
56
|
-
- In dark themes, raise surfaces with lightness; do not darken shadows further.
|
|
57
|
-
- `z-index` from a named scale: content 0, sticky 100, dropdown 200, modal 300, toast 400.
|
|
58
|
-
|
|
59
|
-
## Choose the data display from the question asked
|
|
60
|
-
|
|
61
|
-
The question decides the form; choosing a chart first inverts the work.
|
|
62
|
-
|
|
63
|
-
- Current level → one large value with units; change over time → line.
|
|
64
|
-
- Compare categories → bars sorted by value; part of whole → stacked bar, pie only at 3 slices or fewer.
|
|
65
|
-
- Distribution → histogram; relationship → scatter; exact numbers → table.
|
|
66
|
-
- Label axes with units, start bar axes at zero, and cap at 5 series before small multiples.
|
|
67
|
-
|
|
68
|
-
## Drift checks before review
|
|
69
|
-
|
|
70
|
-
Drift is countable. Run these against the built surface, not the intent.
|
|
71
|
-
|
|
72
|
-
- Grep the source for raw hex and raw px outside the token file; both must return zero.
|
|
73
|
-
- Count distinct font sizes, shadows, radii, and accents; each must match the declared count.
|
|
74
|
-
- Capture one shared component on three routes; any pixel difference is unauthorised variance.
|
|
75
|
-
- Confirm every `design.*` block describes what shipped, then rehash `contract_id` for the review pass.
|
|
76
|
-
|
|
77
|
-
## Failure patterns
|
|
78
|
-
|
|
79
|
-
Reject:
|
|
80
|
-
|
|
81
|
-
- A type "system" that is a font pairing with no roles and no size cap.
|
|
82
|
-
- `blue-500` referenced inside a component instead of a semantic role.
|
|
83
|
-
- Contrast judged by eye, or measured in one theme only.
|
|
84
|
-
- Two icon families, or one concept drawn two ways on two routes.
|
|
85
|
-
- A pie chart with seven slices, or a bar axis truncated to exaggerate a gap.
|
|
29
|
+
Before review, inspect source for unapproved raw colors/spacing, count distinct type sizes, shadows, radii, and accents, and compare a shared component on representative routes. Update the contract to reflect what shipped and recompute its review hash.
|
|
@@ -1,94 +1,29 @@
|
|
|
1
|
-
Visual reconstruction
|
|
1
|
+
# Visual reconstruction
|
|
2
2
|
|
|
3
|
-
A
|
|
4
|
-
every claim you cannot see in the file.
|
|
3
|
+
Rebuild the supplied visual target as a live, semantic interface. A screenshot is evidence of one viewport at one moment; it does not define behavior, permission, source structure, or an entire brand.
|
|
5
4
|
|
|
6
|
-
##
|
|
5
|
+
## Keep evidence and inference separate
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
For each relevant region, record internally what is:
|
|
9
8
|
|
|
10
|
-
- **Observed
|
|
11
|
-
- **Inferred
|
|
12
|
-
- **Unknown
|
|
13
|
-
- Log inferred items in `omissions`; promote on confirmation; batch unknowns into one question.
|
|
9
|
+
- **Observed:** directly measurable, such as dimensions, color, spacing, and visible text.
|
|
10
|
+
- **Inferred:** a plausible system with its basis, such as a spacing scale suggested by repeated gaps.
|
|
11
|
+
- **Unknown:** not visible, such as focus, hover, error state, scroll behavior, or content outside the crop.
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
Preserve the source dimensions and hash. Do not turn uncertain observations into reader-facing labels or claims. Resolve only unknowns that affect the requested build.
|
|
16
14
|
|
|
17
|
-
Measure
|
|
15
|
+
## Measure, then build real structure
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
- Sample color from flat interiors, never an edge or a gradient midpoint.
|
|
21
|
-
- Measure 6 or more gaps, then reduce to the smallest consistent step, usually 4 or 8 px.
|
|
17
|
+
Measure at the source pixel ratio. Sample flat color areas, not edges or gradient transitions; compare several gaps before inferring a spacing scale. Implement with semantic elements, grid/flow, reusable components, and live text. Do not position an entire page by screenshot coordinates or use the target image as the interface background.
|
|
22
18
|
|
|
23
|
-
|
|
19
|
+
For assets, recreate simple shapes and icons when appropriate; request photography, logos, and brand illustrations, or use a clearly neutral placeholder. Never redraw third-party marks or invent unknown chart data. If the target font is unavailable, choose a metric-compatible fallback, tune its supported font metrics, and record the substitution.
|
|
24
20
|
|
|
25
|
-
|
|
21
|
+
## Derive responsive behavior
|
|
26
22
|
|
|
27
|
-
|
|
28
|
-
- A repeated visual unit becomes one component with props, never five copies.
|
|
29
|
-
- Layout by flow, grid, and gap; positioning onto a measured coordinate is a defect.
|
|
30
|
-
- Real text nodes everywhere, including where the reference rasterized a label.
|
|
23
|
+
A single target width cannot prove responsive behavior. Classify regions as fixed, fluid, reflowed, or conditionally hidden and mark those choices as inferred. Set breakpoints where content fails. Check the reference width, narrow and wide supported widths, longest real string, and CJK behavior when in scope.
|
|
31
24
|
|
|
32
|
-
##
|
|
25
|
+
## Compare and report
|
|
33
26
|
|
|
34
|
-
|
|
27
|
+
Capture the build at the target dimensions and compare important regions: bounds, type, spacing, color, radius, content, and state. Fix the largest measured deltas, then recapture. After three iterations with no improvement, stop and report the remaining mismatch plainly.
|
|
35
28
|
|
|
36
|
-
-
|
|
37
|
-
- **Request** photography, logos, illustration, and brand marks as source files.
|
|
38
|
-
- **Substitute** a labeled placeholder at the same box size when no source exists.
|
|
39
|
-
- Never recreate a third-party logo, licensed photography, a chart with unknown data, or a real face.
|
|
40
|
-
|
|
41
|
-
## Metric-compatible font fallback
|
|
42
|
-
|
|
43
|
-
When the reference face is unavailable, match metrics or every line box drifts.
|
|
44
|
-
|
|
45
|
-
- Choose a fallback with comparable cap height, x-height, and average advance width.
|
|
46
|
-
- Tune `size-adjust`, `ascent-override`, and `descent-override` until line boxes align.
|
|
47
|
-
- Verify at three string lengths including the longest real string.
|
|
48
|
-
- Declare the substitution in the typography rules; never present it as the original.
|
|
49
|
-
|
|
50
|
-
## Responsive behavior from one reference
|
|
51
|
-
|
|
52
|
-
One reference proves one width. Derive the rest and mark the derivation inferred.
|
|
53
|
-
|
|
54
|
-
- Classify each block as fixed, fluid, reflowing, or hidden below a breakpoint.
|
|
55
|
-
- Put breakpoints where measured content breaks, not at borrowed device widths.
|
|
56
|
-
- Verify at 320, 768, 1280, and the reference width; that width matches closest.
|
|
57
|
-
- Retest with strings 1.5x the reference length under the declared `localization.cjk_line_break_review`.
|
|
58
|
-
|
|
59
|
-
## Iteration loop
|
|
60
|
-
|
|
61
|
-
Iterate on measured deltas, never on impressions.
|
|
62
|
-
|
|
63
|
-
1. Capture the build at the exact reference dimensions.
|
|
64
|
-
2. Compare region by region: bounds, type, spacing, color, radius, shadow, content, state.
|
|
65
|
-
3. List the five largest deltas with their measured values.
|
|
66
|
-
4. Fix only those, then recapture.
|
|
67
|
-
5. After three rounds with no delta shrinking, stop and report the residual as a limit.
|
|
68
|
-
|
|
69
|
-
## Fidelity report
|
|
70
|
-
|
|
71
|
-
Report per region. One aggregate percentage hides every interesting failure.
|
|
72
|
-
|
|
73
|
-
- Each region: matched or deviating, with the measured delta.
|
|
74
|
-
- Each asset: recreated, requested, or placeholder.
|
|
75
|
-
- Each inferred and unknown item with its current status.
|
|
76
|
-
|
|
77
|
-
## The "pixel perfect" gate
|
|
78
|
-
|
|
79
|
-
Use the phrase only when all five hold. Otherwise say "matched at the measured regions".
|
|
80
|
-
|
|
81
|
-
- Same-dimension captures exist for every `inventory.references` entry.
|
|
82
|
-
- Zero deviating regions in the fidelity report.
|
|
83
|
-
- No placeholder asset and no undeclared font substitution.
|
|
84
|
-
- No unknown item still affecting rendering.
|
|
85
|
-
- The independent review pass returned PASS on the same revision and contract hash.
|
|
86
|
-
|
|
87
|
-
## Failure patterns
|
|
88
|
-
|
|
89
|
-
Reject:
|
|
90
|
-
|
|
91
|
-
- The reference set as a `background-image` with invisible hit targets over it.
|
|
92
|
-
- Coordinates used in place of layout.
|
|
93
|
-
- A third-party logo redrawn to avoid asking for it.
|
|
94
|
-
- "Pixel perfect" claimed from one screenshot at one width.
|
|
29
|
+
Use “pixel perfect” only when same-size captures cover every declared reference, all measured regions match, no placeholder or undeclared font remains, no material unknown affects rendering, and an independent reviewer passes the same revision and contract hash. Otherwise describe the result as a match at the measured regions. Keep observed/inferred/unknown detail in the internal review record.
|
|
@@ -12,3 +12,18 @@ recorded in PROVENANCE.json.
|
|
|
12
12
|
No upstream scripts, templates, CLI, installers, manifests, screenshots, previews,
|
|
13
13
|
documentation, premium features, host integrations, code-example columns,
|
|
14
14
|
documentation-URL columns, or google-fonts.csv data are included.
|
|
15
|
+
|
|
16
|
+
Craft-floor and slop-register mechanisms were independently re-expressed after
|
|
17
|
+
studying pbakaus/impeccable (https://github.com/pbakaus/impeccable), by Paul
|
|
18
|
+
Bakaus, Apache License, Version 2.0, consulted at commit 9d715cc. No source
|
|
19
|
+
file, prose, or fixture from that project is reproduced here.
|
|
20
|
+
|
|
21
|
+
Mode, review-format, and routing-governance mechanisms were independently
|
|
22
|
+
re-expressed after studying jakubkrehel/skills
|
|
23
|
+
(https://github.com/jakubkrehel/skills), Copyright (c) 2026 Jakub Krehel,
|
|
24
|
+
MIT License, consulted at commit 267330e. No source or prose is reproduced.
|
|
25
|
+
|
|
26
|
+
Anti-slop catalogue and responsive value checks were independently re-expressed
|
|
27
|
+
after studying the ui-skills.com playbook (https://www.ui-skills.com/playbook),
|
|
28
|
+
sourced from github.com/ibelick/ui-skills, Copyright (c) 2026 Julien Thibeaut,
|
|
29
|
+
MIT License. No source or prose from the site or repository is reproduced.
|