Source profileQuality 93/100

OpenDigitalProductFactory/opendigitalproductfactory/packages/dpf-skill-pack/skills/dpf-ux-fit-review/SKILL.md

dpf-ux-fit-review

Use before code or PR handoff for UI-impacting DPF work — any route, viewport, dashboard, metric, card, button, empty state, navigation, or admin/settings/config screen, form, or field. Config forms are UI surfaces.

Source repository stars
14
Declared platforms
0
Static risk flags
0
Last source update
2026-08-28
Source checked
2026-08-28

Decision brief

What it does: where it fits

Use this skill before UI-impacting work adds surface area. Its job is to stop the portal from growing into unrelated dashboards, tab rows, one-off metric widgets, and unclear coworker launch points.

Best for

  • A feature plan adds or changes a route, tab, dashboard band, KPI, metric tile, status badge, empty state, card group, button, link, disclosure trigger, local navigation, or coworker launcher.
  • A reviewer asks whether a feature fits the portal architecture.
  • A Build Studio plan or external contributor plan touches Workspace, Business, Customer, Products, Platform, Knowledge, Storefront, or Portal UX.

Not for

  • The request is a pure code correctness review with no UX surface change.
  • The work is a backend-only model/service change and no UI plan exists yet.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/OpenDigitalProductFactory/opendigitalproductfactory --skill "packages/dpf-skill-pack/skills/dpf-ux-fit-review"
Safe inspection promptEditorial

Inspect the Agent Skill "dpf-ux-fit-review" from https://github.com/OpenDigitalProductFactory/opendigitalproductfactory/blob/f795645f8fda2da7c172b32be5014f37517cee10/packages/dpf-skill-pack/skills/dpf-ux-fit-review/SKILL.md at commit f795645f8fda2da7c172b32be5014f37517cee10. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Review Steps

    1. Name the feature and proposed surface. Capture the exact route(s), component(s), and user-facing labels in the spec or plan.

    Name the feature and proposed surface. Capture the exact route(s), component(s), and user-facing labels in the spec or plan.Assign the owning area. Choose one: Workspace, Business, Products, Platform, Knowledge, customer-facing Portal, or internal Storefront management. If the feature needs two homes, identify the canonical home and the seco…State the primary persona. Name who benefits in the first viewport and what they should not need to remember. Examples: founder/operator, dispatcher, retail/service worker, contributor/platform operator, external custom…
  2. 02

    When To Use

    A feature plan adds or changes a route, tab, dashboard band, KPI, metric tile, status badge, empty state, card group, button, link, disclosure trigger, local navigation, or coworker launcher.

    A feature plan adds or changes a route, tab, dashboard band, KPI, metric tile, status badge, empty state, card group, button, link, disclosure trigger, local navigation, or coworker launcher.A reviewer asks whether a feature fits the portal architecture.A Build Studio plan or external contributor plan touches Workspace, Business, Customer, Products, Platform, Knowledge, Storefront, or Portal UX.
  3. 03

    When Not To Use

    The request is a pure code correctness review with no UX surface change.

    The request is a pure code correctness review with no UX surface change.The work is a backend-only model/service change and no UI plan exists yet.The question is a broad architecture review with no UI or navigation concern; use dpf-architecture-review.
  4. 04

    Read First

    Review the “Read First” section in the pinned source before continuing.

    Review and apply the “Read First” source section.
  5. 05

    Enforces

    kernel/principles/architecture-over-shortcuts - choose the route/component shape that can grow without local hacks.

    kernel/principles/architecture-over-shortcuts - choose the route/component shape that can grow without local hacks.kernel/principles/single-source-of-truth - do not create duplicate route homes, status maps, metric components, or UX rules.kernel/principles/no-hardcoded-colors - all UI must use DPF theme variables.

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score93/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars14SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
OpenDigitalProductFactory/opendigitalproductfactory
Skill path
packages/dpf-skill-pack/skills/dpf-ux-fit-review/SKILL.md
Commit
f795645f8fda2da7c172b32be5014f37517cee10
License
Apache-2.0
Collected
2026-08-28
Default branch
main
View the original SKILL.md

DPF UX Fit Review

Use this skill before UI-impacting work adds surface area. Its job is to stop the portal from growing into unrelated dashboards, tab rows, one-off metric widgets, and unclear coworker launch points.

This is a fit review, not a visual taste review. Decide where the feature belongs, which persona it serves, which navigation layer changes, what existing component or route family it should reuse, and what evidence proves the UX did not become harder to remember.

When To Use

  • A feature plan adds or changes a route, tab, dashboard band, KPI, metric tile, status badge, empty state, card group, button, link, disclosure trigger, local navigation, or coworker launcher.
  • A reviewer asks whether a feature fits the portal architecture.
  • A Build Studio plan or external contributor plan touches Workspace, Business, Customer, Products, Platform, Knowledge, Storefront, or Portal UX.
  • User-facing labels might train the wrong mental model.
  • A plan proposes new UI components that may duplicate report-kit, Customer CRM primitives, Finance patterns, or workspace-home primitives.

When Not To Use

  • The request is a pure code correctness review with no UX surface change.
  • The work is a backend-only model/service change and no UI plan exists yet.
  • The question is a broad architecture review with no UI or navigation concern; use dpf-architecture-review.
  • The work is an already-approved implementation task and the fit gate is already captured in the plan; execute and verify instead.

Read First

SourcePath or toolWhat to extract
RulebookAGENTS.mdPortal routes, UI theme rules, Build Studio/verification doctrine
Usability standardsdocs/platform-usability-standards.mdTheme tokens, progressive disclosure, setup/empty-state expectations
Portal UX spinedocs/superpowers/plans/2026-05-26-portal-ux-simplification-spine.mdCurrent target areas, persona gates, UX feature fit gate
Feature spec/planUser-provided path or Build Studio artifactProposed route, component, data, AI, and verification changes
Existing specs/plansmcp__dpf__search_specs_and_plansPrior design decisions the feature should extend
Design intelligencemcp__dpf__search_design_intelligenceCurrent UX/reporting/chart/product recommendations to compare against the proposed pattern
Existing componentsrg / Grep over apps/web/components and apps/web/appReuse candidates, duplicate patterns, and route families
Report-kitapps/web/components/ui/report-kit/README.mdCanonical reporting components for status badges, tables, KPI cards, filters, charts

Enforces

  • kernel/principles/architecture-over-shortcuts - choose the route/component shape that can grow without local hacks.
  • kernel/principles/single-source-of-truth - do not create duplicate route homes, status maps, metric components, or UX rules.
  • kernel/principles/no-hardcoded-colors - all UI must use DPF theme variables.
  • kernel/principles/compose-report-kit-for-reporting-ux - reporting/data-display UI composes report-kit unless a domain primitive is explicitly justified.
  • kernel/principles/design-research-required - user-facing feature specs include research and benchmarking before finalization.

Review Steps

  1. Name the feature and proposed surface. Capture the exact route(s), component(s), and user-facing labels in the spec or plan.

  2. Assign the owning area. Choose one: Workspace, Business, Products, Platform, Knowledge, customer-facing Portal, or internal Storefront management. If the feature needs two homes, identify the canonical home and the secondary shortcut.

  3. State the primary persona. Name who benefits in the first viewport and what they should not need to remember. Examples: founder/operator, dispatcher, retail/service worker, contributor/platform operator, external customer.

  4. Classify the navigation layer. Use one layer by default:

    • Global nav: durable product areas only.
    • Section nav: sibling views inside one product area.
    • Local page nav: filters, tabs, anchors, or panel toggles for this page only.
    • Contextual actions: commands, create buttons, launchers, and quick actions.
  5. Check component convergence. Search existing UI before approving new primitives:

    rg -n "MetricTile|StatusBadge|StatCard|DataTable|FilterBar|Chart|KPI|Badge|Launcher|TabNav" apps/web/components apps/web/app
    

    Prefer report-kit for reporting/data-display UI. Prefer existing domain primitives when the feature lives inside a domain family. A new component must retire or converge duplication, not add another visual dialect.

  6. Check source truth. Name the model, service, read model, or route contract that owns each visible status, metric, or count. If the source truth is unclear, return defer until the data seam is resolved.

  7. Check empty, failure, and permission states. A fresh install, missing permission, unavailable provider, or missing route should show an honest next action or recovery path. Empty dashboards full of zeros fail the gate.

  8. Check AI/coworker action boundary. Informational cards, metric tiles, tabs, and topic choices must not send prompts. Any coworker-starting action needs preview, expected next step, context summary, and explicit confirmation.

  9. Check copy and mental model. User-facing labels should describe the user's work, not the benchmark product, schema model, route name, or implementation phase. Avoid visible "Phase 2", "Phase 3", raw null/unknown states, or vendor-inspired labels unless the user truly needs them.

  10. Decide and write the guardrails. Return one of:

  • fits - no required edits.
  • fits-with-guardrails - implementation may proceed after the named edits are folded into the plan.
  • defer - the feature needs data/source-truth/backlog/route work first.
  • reject - the feature duplicates an existing home or violates a durable UX rule.
  1. Store the review. Put the fit decision where the next worker will actually see it: in the feature plan, linked audit, spec section, or PR body. Do not leave the result only in chat.

Required Output

**UX fit review - <feature name>**

- Decision: fits | fits-with-guardrails | defer | reject
- Owning area: <Workspace | Business | Products | Platform | Knowledge | Portal | Storefront>
- Route family: <canonical route(s)>
- Primary persona: <persona and job>
- Navigation layer touched: <global | section | local | contextual action>
- Reuse/convergence: <existing pattern/component reused, or why a new one is justified>
- Source truth: <model/service/read model>
- Empty/failure behavior: <expected state>
- AI boundary: <no prompt send | preview + confirmation required>
- Required plan/spec edits:
  - <edit 1>
  - <edit 2>
- Evidence before merge:
  - <route tests, theme scan, browser route, viewport, data fixture>
- Captured in: <plan/audit/spec/PR path or section>

Committing the gate evidence (BI-D967DEE0)

A UI-impacting change, including added buttons, links, disclosure triggers, and custom operator-facing controls, must land with a measured UX-fit manifest at docs/ux-fit/<date>-<slug>.ux-fit.json. The UX-Fit-Decision: trailer is retired, and an acknowledgement (evidence.kind: "budgets-acknowledged") is rejected by name — it is attestation theater with one extra row. Two kinds qualify:

  • sweep-measurement — the route's real budget axes (defaultVisibleWords, leadBandWords, primaryActions, visibleFields, maxChoicesPerControl, subLegibleControls, buriedPrimaryAction, axeViolations). The gate adjudicates these against the committed apps/web/lib/ux-budget/route-budget-baseline.json, so a claimed improvement that actually regresses an axis fails. Set evidence.baselineComparison: "new-route" only for a route genuinely absent from it.
  • propose-n-pick — a real recorded choice: decisionInteractionId plus evidence.consideredOptions with at least two entries, one of which is decidedOption.

scope.files must list exactly the UI-impacting files in the diff — an uncovered file fails, and so does a stale or over-broad one. Measure with the UX route sweep, or auditUxBudget from lib/ux-budget against the served DOM.

Worked Example

The Pipedrive CRM Marketing Slice 1 plan proposed a scan-first revenue band on /customer, reusable metric/status components, and marketing tab cleanup.

Decision: fits-with-guardrails.

  • Owning area: Business > Customer.
  • Route family: /customer and /customer/marketing.
  • Primary persona: founder/operator managing customer acquisition and revenue attention.
  • Navigation layer touched: Customer section nav and local page links only.
  • Reuse/convergence: CRM presentation metadata and Customer primitives are acceptable only if they converge repeated CRM semantics; reporting components must still use report-kit when they are generic reporting UI.
  • Source truth: existing CRM and marketing models plus pure read helpers.
  • AI boundary: metric and tab clicks navigate only; coworker launch stays in AgentWorkLauncher with preview and confirmation.
  • Required edits: no global AppRail or Workspace cards, no user-facing "Pipedrive" copy, no disabled phase tabs, route assertions for every metric destination, mobile/no-overlap verification.

The plan was amended before implementation, which is the intended path: fit review changes the plan before code multiplies the problem.

Guardrails

  • Do not approve a new dashboard when a section home or filtered view would do.
  • Do not approve a tab for a route that does not exist or has no meaningful read-only content.
  • Do not approve new metric/status/card primitives until existing primitives have been searched.
  • Do not hide data-source contradictions behind nicer UI.
  • Do not treat screenshots as complete evidence. Require route tests, data-source checks, and at least one browser/viewport exercise for UI work.

Frequently asked questions

What to verify before installation and use

What does the dpf-ux-fit-review source document cover?

Use this skill before UI-impacting work adds surface area. Its job is to stop the portal from growing into unrelated dashboards, tab rows, one-off metric widgets, and unclear coworker launch points.

How do I install dpf-ux-fit-review?

The source record exposes this install command: npx skills add https://github.com/OpenDigitalProductFactory/opendigitalproductfactory --skill "packages/dpf-skill-pack/skills/dpf-ux-fit-review". Inspect the command and pinned source before running it.

Alternatives

Compare before choosing

Computed 9916

NintendaDev/unikit-ai

unikit-docs

Generate and maintain the project's TECHNICAL documentation from its codebase — scans the project structure, tech stack, and module boundaries, then writes a lean README landing page plus detailed topic pages (architecture, modules, setup, build, APIs), only the docs that are relevant. Use whenever the user wants to create, update, or validate documentation of the CODE or the project itself, e.g. "generate documentation", "create docs", "write the README", "update the project docs", "document th

Computed 9817

eugenelim/agent-ready-repo

work-loop

Use when implementing or resuming a non-trivial repository change: a feature, behavior-changing fix, refactor, migration, framework or dependency upgrade, schema or API change, performance work, infrastructure or build-system change, reversion, or an existing build spec under `docs/specs/`. Also use for bare continuation commands ('resume', 'continue', 'keep going', 'pick up where I left off', 'let's get going') when conversation or workspace context identifies active build work. Do not use for

Computed 976

mgiovani/cc-arsenal

team-review

Multi-agent review team: architecture, security, performance, testing, style, docs/UX, plus an adversary that cross-examines the other 6, for security-sensitive, architectural, or large PRs (15+ files) where a single-agent pass risks missing cross-cutting issues. Use for auth/payments/PII changes, schema/pattern changes, compliance sign-off, or when asked to 'get the review team on this' / 'multi-agent review' / 'thorough review before merge'. For a standard PR or a quick pre-merge check, use /r

Computed 9616

th3vib3coder/vibe-science

vibe-science

Scientific research engine for hypothesis testing, literature gap analysis, experimental validation, and data-driven discovery. Enforces adversarial review (Reviewer 2), 32 quality gates, tree search over hypotheses, confounder harness for quantitative claims, and serendipity detection. TRIGGER when: user asks to analyze scientific data, test hypotheses, validate findings, search for research gaps, design experiments, or investigate results. DO NOT TRIGGER when: pure code review, documentation w