pf-org-version-update

Update patternfly-org for a new PatternFly release — resolve versions, update package.json and versions.json, and provide build steps. Use when cutting a PF release or release candidate.

8 stars

Best use case

pf-org-version-update is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Update patternfly-org for a new PatternFly release — resolve versions, update package.json and versions.json, and provide build steps. Use when cutting a PF release or release candidate.

Teams using pf-org-version-update should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/pf-org-version-update/SKILL.md --create-dirs "https://raw.githubusercontent.com/patternfly/ai-helpers/main/plugins/pf-workshop/skills/pf-org-version-update/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/pf-org-version-update/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How pf-org-version-update Compares

Feature / Agentpf-org-version-updateStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Update patternfly-org for a new PatternFly release — resolve versions, update package.json and versions.json, and provide build steps. Use when cutting a PF release or release candidate.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# PatternFly Org Version Update

Updates patternfly-org for a new PatternFly release or release candidate: resolve versions, update all package.json and versions.json, then provide the user with steps to run install, build, and optionally update documentation screenshots locally.

## 1. Resolve Versions

**If the user provided specific versions** (e.g. in the command or message): use those versions. Do **not** run `latest-versions.sh`.

**If no versions were specified**: run from repo root:

```bash
./scripts/latest-versions.sh -e
```

The `-e` flag includes extension packages. Output is one line per package in the form:

```
"@patternfly/package-name": "X.Y.Z",
```

Parse this output to build the set of package versions. Use these as the source of truth for the rest of the workflow.

## 2. Update package.json Files

Update PatternFly dependencies only in these locations. **Do not** modify `packages/site/package.json` or any other package.json not listed here.

### Root `package.json`

In `devDependencies` and `resolutions`, update every `@patternfly/*` entry with the resolved versions. Only change PatternFly packages; leave other dependencies unchanged.

### `packages/documentation-site/package.json`

In `dependencies`, update every `@patternfly/*` entry with the resolved versions. Only change PatternFly packages; leave other dependencies unchanged.

### `packages/documentation-framework/package.json`

In `peerDependencies`, update every `@patternfly/*` entry with the resolved versions. Only change PatternFly packages; leave other dependencies unchanged.

## 3. Update versions.json

File: `packages/documentation-framework/versions.json`.

### 3.1 New release object

Insert a **new** object at the **start** of the `"Releases"` array with:

- **`"name"`**: version from `@patternfly/react-core` (e.g. `"6.3.0"` or `"6.5.0-prerelease.33"`).
- **`"date"`**: current date in `YYYY-MM-DD`.
- **`"latest"`**: `true`.
- **`"versions"`**: object with **all** PatternFly packages and their versions. Use the resolved version set; for any package not in that set, copy the version from the current "latest" release so the list stays complete and consistent.

### 3.2 Previous latest release

Find the release that currently has `"latest": true`. Change it to `"hidden": true` (remove `"latest": true`). Do not change anything else in that entry.

### 3.3 Validation

- Exactly one release has `"latest": true`.
- All others have `"hidden": true`.
- New release is first in the array.
- Every release’s `versions` object includes the same package keys (alphabetical order); only version values change.

### 3.4 versions object package list

Each release’s `versions` must include these packages (alphabetical order):

- `@patternfly/chatbot`
- `@patternfly/patternfly`
- `@patternfly/quickstarts`
- `@patternfly/react-catalog-view-extension`
- `@patternfly/react-charts`
- `@patternfly/react-code-editor`
- `@patternfly/react-component-groups`
- `@patternfly/react-console`
- `@patternfly/react-core`
- `@patternfly/react-data-view`
- `@patternfly/react-drag-drop`
- `@patternfly/react-icons`
- `@patternfly/react-log-viewer`
- `@patternfly/react-styles`
- `@patternfly/react-table`
- `@patternfly/react-tokens`
- `@patternfly/react-templates`
- `@patternfly/react-topology`
- `@patternfly/react-user-feedback`
- `@patternfly/react-virtualized-extension`

New release object shape:

```json
{
  "name": "X.Y.Z",
  "date": "YYYY-MM-DD",
  "latest": true,
  "versions": {
    "@patternfly/chatbot": "...",
    "@patternfly/patternfly": "...",
    "@patternfly/react-*": "...",
    "... (all packages above, alphabetically)"
  }
}
```

### 3.5 Conventions

- Release name = `@patternfly/react-core` version.
- Use current date for new releases.
- Some packages (e.g. react-charts, chatbot) may use different version numbers; use the resolved or existing latest value for those.

## 4. Verification Checklist

Before proceeding:

- [ ] Root package.json devDependencies (all @patternfly/\* entries) updated
- [ ] documentation-site package.json dependencies (all @patternfly/\* entries) updated
- [ ] documentation-framework package.json peerDependencies (all @patternfly/\* entries) updated
- [ ] packages/site/package.json was **not** modified
- [ ] New release added at top of versions.json Releases array with `"latest": true`
- [ ] Previous latest now has `"hidden": true`
- [ ] Only one object has `"latest": true`
- [ ] Version numbers consistent across root, documentation-site, documentation-framework, and versions.json

## 5. Build and Screenshots (user-run only)

The agent **does not** run `yarn install`, `yarn build`, `yarn serve`, or `yarn screenshots` (sandbox limits: cache/lockfile, long build, Puppeteer/Chrome). After completing steps 1–4, give the user the following instructions to run locally from the repo root for the purpose of updating documentation screenshots.

1. **Install**

   ```bash
   yarn install
   ```

2. **Build**

   ```bash
   yarn build
   ```

3. **Serve** — in a terminal, start the server and leave it running:

   ```bash
   yarn serve
   ```

   Wait until the docs are being served (e.g. "Serving build/patternfly-org/site at..." or similar).

4. **Screenshots** — in a second terminal:

   ```bash
   yarn screenshots
   ```

   Run to completion.

5. When `yarn screenshots` has finished, stop the serve process.

After providing the user with the steps to update screenshots, the skill is done.

## Summary

| Step                | Action                                                                                                                                                                                   |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Versions            | User-provided → use as-is. Otherwise run `./scripts/latest-versions.sh -e` and parse output.                                                                                             |
| package.json        | Update root, documentation-site, and documentation-framework: every @patternfly/\* entry with resolved versions; only change PF packages. Never change packages/site.                    |
| versions.json       | Add new release at top with `latest: true`, set previous latest to `hidden: true`, same package list everywhere.                                                                         |
| Build / Screenshots | Do **not** run install, build, serve, or screenshots. Give user the full list of steps: `yarn install`, `yarn build`, `yarn serve` (one terminal), `yarn screenshots` (second terminal). |

Related Skills

pf-unit-test-generator

8
from patternfly/ai-helpers

Generate a unit test file for a React component using Testing Library. Use when adding test coverage to new or existing components.

pf-prototype-mode

8
from patternfly/ai-helpers

Enable prototype mode for React apps with grayscale styling and a banner overlay. Use when demoing early concepts, presenting wireframes, or preventing stakeholders from fixating on visual polish.

pf-project-scaffolder

8
from patternfly/ai-helpers

Scaffolds PatternFly React projects with PF6-safe dependencies, imports, and starter layout. Use when creating a new PatternFly app or bootstrapping a migration sandbox.

pf-import-checker

8
from patternfly/ai-helpers

Audit and fix invalid PatternFly import paths across packages. Use when imports fail, modules are unresolved, or after upgrading PatternFly versions.

pf-component-structure

8
from patternfly/ai-helpers

Audit PatternFly React component nesting, wrapper hierarchies, and layout structure. Use when scanning for hierarchy violations or debugging spacing caused by missing wrapper components.

write-example-description

8
from patternfly/ai-helpers

Write and refine example descriptions for PatternFly.org component and demo pages. Use when authoring or updating the prose in PatternFly example markdown files.

summarize-jira-issues

8
from patternfly/ai-helpers

Summarize your current sprint workload from Jira — assigned issues, contributor roles, and priorities. Use when checking what's left in the sprint or deciding what to work on next.

semantic-release-troubleshooting

8
from patternfly/ai-helpers

Diagnose and fix semantic-release issues when a specific version is not being released. Use when semantic-release skips a version, fails to release, or when troubleshooting after git push --force, squashed commits, permission errors, or reference already exists.

quarterly-initiative-report

8
from patternfly/ai-helpers

Generate quarterly Jira status reports with RAG assessment, blocker tracking, and next-quarter recommendations. Use when preparing quarterly initiative reviews or tracking epic progress.

pf-tokens

8
from patternfly/ai-helpers

Build CSS design tokens for PatternFly core and copy them to the PatternFly repository. Use when regenerating tokens after design changes or during release preparation.

pf-create-issue

8
from patternfly/ai-helpers

Create well-structured GitHub issues for PatternFly repositories with templates, follow-up tracking, and duplicate detection. Use when filing bugs, feature requests, or cross-repo follow-ups.

pf-bug-triage

8
from patternfly/ai-helpers

Triage PatternFly bug reports — assess completeness, suggest fixes, identify affected components, and recommend assignees. Use when reviewing new bug issues or preparing them for assignment.