source-faithful-dify-prototype — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited source-faithful-dify-prototype (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill to create or update Dify prototype screens in:
/Users/x/git/lg/dify-prototypeThe goal is not generic UI design. The goal is to build Dify prototypes that are either:
Existing screens should match Dify as closely as practical. New features should not claim official fidelity when Dify has no page yet; they must still use Dify components, tokens, layout patterns, and interaction language.
Before creating or updating a screen:
cd /Users/x/git/lg/dify-prototype
pnpm sync:difyDo not assume a local Dify repo. Do not add sync flags or alternate sync modes unless the user explicitly asks.
Read .dify-source.json after sync and remember the upstream commit for the final report.
Find the nearest Dify source before implementing.
Common mappings:
dify-source/web/app/signindify-source/web/app/components/headerdify-source/web/app/components/app-sidebardify-source/web/app/components/appsdify-source/web/app/components/appdify-source/web/app/components/datasets/listdify-source/web/app/components/datasets/createdify-source/web/app/components/datasets/documentsdify-source/web/app/components/datasets/hit-testingdify-source/web/app/components/workflowdify-source/web/features/tag-managementdify-source/web/i18n/en-USWhen the user says knowledgebase, knowledge base, or 知识库, map it to Dify datasets.
@langgenius/dify-ui/* primitives when available.@langgenius/dify-ui/select for select/listbox UI.@langgenius/dify-ui/input for text inputs.@langgenius/dify-ui/slider for Top K, temperature, score, and weight sliders.@langgenius/dify-ui/checkbox for checkbox lists and multi-select rows.@langgenius/dify-ui/switch for on/off parameter toggles.@langgenius/dify-ui/number-field, radio-group, popover, and dropdown-menu when the source surface uses them.<select>, <textarea>, input[type="checkbox"], input[type="range"], and plain text inputs are allowed only when Dify source uses that exact native control or when they are hidden/internal backing inputs generated by Dify/Base UI primitives.i-ri-*, i-custom-*, @remixicon/react, and synced SVG components.apps/prototype.dify-source/ or synced packages unless the user explicitly asks to change the sync project itself.pnpm sync:dify.apps/prototype.pnpm build.Minimum verification before claiming completion:
pnpm buildFor UI changes, also open the local dev URL in the browser and verify the requested screen or interaction. Use screenshots when possible. If screenshot capture fails but DOM and interaction checks pass, state that precisely.
Before completing any form-heavy, panel-heavy, workflow, modal, table-filter, or creation-flow prototype, check that visible controls are Dify primitives rather than browser-native defaults.
Source scan:
rg -n '<select|<textarea|<input|type="(checkbox|range|text|number|radio)"|accent-' apps/prototype/srcTreat matches as suspicious unless they are:
Browser audit:
<select>, <textarea>, checkbox, radio, range, or text/number input that is not inside a Dify primitive.@langgenius/dify-ui/select, slider, checkbox, or switch.role="combobox", role="switch", role="checkbox", .group/slider, components-input-bg-normal, and Dify token classes.Include:
.dify-source.jsonDo not say a new-feature prototype is “100% official” when no official Dify page exists. Say it is Dify-native and source-patterned.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.