Skip to content
Back to skills

Pf Review

ASecurity

Run all PatternFly compliance checks on a project — imports, components, colors, legacy CSS, and security. Use when auditing PF code, before merging PRs, or for comprehensive compliance review.

  • 9 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
ai-agentsapisecurity

Works with

  • api

Security analysis

A100/100

Pro scans all 13 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add rh-uxd/ai-helpers --skill pf-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pf Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pf Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rh-uxd-pf-review/badge)](https://www.skillsdirectory.com/skills/rh-uxd-pf-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pf-review
description: Run all PatternFly compliance checks on a project — imports, components, colors, legacy CSS, and security. Use when auditing PF code, before merging PRs, or for comprehensive compliance review.
---

# PF Review

Orchestrate all PatternFly compliance sub-skills against a project and produce a unified report. This skill invokes validation and conditional checks from across PF plugins, deduplicates findings, and delivers a prioritized action list.

## Gate check

Read `package.json` in the project root. If no `@patternfly/*` dependencies exist, stop immediately — no PatternFly checks apply. Report that the project is not a PatternFly project and exit.

## How to run

1. **Gate check** — verify `@patternfly/*` dependencies exist in `package.json`
2. **Identify target files** — default to the current working directory. Look for `.tsx`, `.jsx`, `.css`, and `.scss` files. If none exist, report that no auditable files were found and exit.
3. **Run validation skills** — invoke every skill in the validation table below
4. **Evaluate conditional signals** — check each condition in the conditional table
5. **Run matching conditional skills** — invoke only the skills whose conditions are met
6. **Synthesize** — deduplicate, group, and produce the unified report

## Validation skills — always run

When code files exist, invoke each of these skills using the Skill tool:

| Skill | What it checks |
|-------|----------------|
| `/pf-import-check` | Import paths across `@patternfly/*` packages |
| `/pf-component-check` | Component nesting, wrapper hierarchies, layout composition |
| `/pf-color-scan` | Hardcoded hex/rgb/hsl values that should use design tokens |
| `/pf-css-migration-scan` | Legacy CSS classes from older PF versions |
| `/pf-security-scan` | XSS, unsanitized user input, insecure href patterns |

Invoke each skill in sequence. Pass the same target directory or files to each. If a sub-skill is unavailable or returns an error, continue with the remaining skills and note the skip in the report. Collect all findings before moving to conditional skills.

## Conditional skills — invoke when signals are present

Check each condition against the current project context. Invoke only the skills whose conditions are met:

| Skill | When to invoke |
|-------|----------------|
| `/pf-component-reuse-check` | Custom components that may overlap PatternFly APIs |
| `/pf-css-token-check` | Inline styles with hardcoded spacing, font sizes, or border values |
| `/pf-test-gen` | Components exist without corresponding test files |
| `/pf-figma-check` | Figma URLs are in the conversation |
| `/pf-figma-token-check` | Figma URLs are in the conversation |
| `/pf-icon-finder` | Figma mockups contain icons to identify |
| `/pf-project-gen` | User is scaffolding a new project |
| `/pf-ai-audit` | Feature involves AI-powered UX (chatbots, assistants, generation) |

## Synthesis

After all skills complete, produce a unified report:

1. **Deduplicate** — remove findings that overlap across skills (e.g., a legacy CSS class flagged by both migration-scan and color-scan)
2. **Group by severity** — errors first, then warnings, then informational
3. **Attribute** — for each finding, note which skill produced it
4. **Prioritize** — end with an action list ordered by severity and estimated fix effort

## Report format

```
## PatternFly Compliance Report

**Scanned:** [N] files | **Skills invoked:** [list]

### Errors

- [SKILL] file/path.tsx:42 — [description]
  Fix: [recommended action]

### Warnings

- [SKILL] file/path.tsx:18 — [description]
  Fix: [recommended action]

### Info

- [SKILL] [description]

---

## Prioritized Action List

1. [highest severity, lowest effort first]
2. ...
```

Files in this skill

  • SKILL.md3.7 KB
  • eval/cases/non-pf-gate/annotations.yaml18 B
  • eval/cases/non-pf-gate/input.yaml67 B
  • eval/cases/non-pf-gate/package.json155 B
  • eval/cases/pf-full-review/annotations.yaml125 B
  • eval/cases/pf-full-review/input.yaml67 B
  • eval/cases/pf-full-review/package.json210 B
  • eval/cases/pf-full-review/src/components/StatusCard.tsx685 B
  • eval/cases/pf-testing-gap/annotations.yaml141 B
  • eval/cases/pf-testing-gap/input.yaml108 B
  • eval/cases/pf-testing-gap/package.json307 B
  • eval/cases/pf-testing-gap/src/components/AlertBanner.tsx534 B
  • eval/eval.yaml4.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.