pnpm-upgrade

作成者: openai

pnpmを最新に保つ:pnpm self-update/corepack prepareを実行し、package.jsonのpackageManagerを調整し、pnpm/action-setupと固定されたpnpmバージョンを…で更新します。

npx skills add https://github.com/openai/openai-agents-js --skill pnpm-upgrade

pnpm Upgrade

Use these steps to update pnpm and CI pins without blunt search/replace.

Steps (run from repo root)

  1. Resolve the target pnpm release

    • Query the npm registry before changing the local toolchain: PNPM_VERSION=$(curl -fsSL https://registry.npmjs.org/pnpm/latest | jq -r .version).
    • Abort if the version is missing.
    • Resolve the exact package integrity: curl -fsSL "https://registry.npmjs.org/pnpm/${PNPM_VERSION}" | jq -r .dist.integrity.
    • Store the result as PNPM_INTEGRITY.
    • Abort if the integrity is missing or does not start with sha512-.
    • Convert the base64 digest after sha512- to lowercase hex, for example:
      printf '%s' "${PNPM_INTEGRITY#sha512-}" | base64 -d | xxd -p -c 256
      
    • Store the result as PNPM_SHA512_HEX.
  2. Find the target pnpm/action-setup release

    • Query GitHub API: curl -fsSL https://api.github.com/repos/pnpm/action-setup/releases/latest | jq -r .tag_name.
    • Use GITHUB_TOKEN/GH_TOKEN if available for higher rate limits.
    • Store as ACTION_TAG (e.g., v4.2.0). Abort if missing.
  3. Resolve the action tag to an immutable commit SHA

    • Run git ls-remote https://github.com/pnpm/action-setup "refs/tags/${ACTION_TAG}^{}" and capture the SHA as ACTION_SHA.
    • If the dereferenced tag is missing, fall back to git ls-remote https://github.com/pnpm/action-setup "refs/tags/${ACTION_TAG}".
    • Abort if ACTION_SHA is empty.
  4. Preflight the release and CI installation path

    • Run node .agents/skills/pnpm-upgrade/scripts/preflight.mjs --version "${PNPM_VERSION}" --action-ref "${ACTION_SHA}".
    • The script first rejects published pnpm manifests with non-empty dependencies or devDependencies. pnpm bundles its runtime dependencies, so these fields indicate a broken publication such as pnpm@11.12.0.
    • It then reproduces both pnpm/action-setup installation paths in separate temporary directories: install the regular pnpm bootstrap from pnpm-lock.json and the standalone @pnpm/exe bootstrap from exe-lock.json, set isolated PNPM_HOME directories, and self-update each bootstrap to PNPM_VERSION.
    • Abort the upgrade on any failure. Do not bypass this check with a direct local install; the preflight exists to exercise the CI-only bootstrap path.
  5. Update pnpm locally

    • Run pnpm self-update "${PNPM_VERSION}".
    • If pnpm is missing or self-update fails only because the current installation cannot update itself, run corepack prepare "pnpm@${PNPM_VERSION}" --activate. Do not use this fallback to bypass a failed preflight.
    • Confirm pnpm -v exactly matches PNPM_VERSION.
  6. Align package.json

    • Open package.json and set packageManager to pnpm@${PNPM_VERSION}+sha512.${PNPM_SHA512_HEX} (preserve trailing newline and formatting).
  7. Update workflows carefully (no broad regex)

    • Files: everything under .github/workflows/ that uses pnpm/action-setup.
    • For each file, edit by hand:
      • Set uses: pnpm/action-setup@${ACTION_SHA}.
      • If a with: version: field exists, set it to ${PNPM_VERSION} (keep quoting style/indent).
    • Do not touch unrelated steps. Avoid multiline sed/perl one-liners.
  8. Verify

    • Run pnpm -v and confirm it matches the version portion of packageManager.
    • Confirm packageManager keeps the exact +sha512.${PNPM_SHA512_HEX} suffix.
    • git diff to ensure only intended workflow/package.json changes.
  9. Follow-up

    • If runtime code/build/test config was changed (not typical here), run $code-change-verification; otherwise, a light check is enough.
    • Commit with chore: upgrade pnpm toolchain and open a PR (automation may do this).

Notes

  • Tools needed: curl, jq, base64, xxd, node, npm, and pnpm/corepack. Install if missing.
  • Keep edits minimal and readable—prefer explicit file edits over global replacements.
  • GitHub Actions must stay pinned to commit SHAs, not tags. Use the latest release tag only to discover the commit SHA to pin.
  • If GitHub API is rate-limited, retry with a token or bail out rather than guessing the tag.

openaiのその他のスキル

user-context
openai
Data Analyticsプラグインの永続的なソースルーティング設定、オンボーディングロジック、セットアップ進捗、およびセマンティックレイヤーレジストリを読み込むか管理します。
official
notion-research-documentation
openai
Notionのコンテンツを調査し、構造化されたブリーフ、レポート、または引用付きの比較にまとめます。対象クエリを使用してNotionページを検索・取得し、テーマごとに調査結果を整理し、インラインのソース引用と参考文献セクションを追加します。範囲とユーザーの目的に応じて、4つの出力形式(クイックブリーフ、調査サマリー、比較、包括的レポート)から選択します。組み込みテンプレートを使用してNotionページを作成・更新し、新しい情報が到着するたびにソースを直接リンクし、変更を追跡します...
official
rcsb-pdb-skill
openai
コアメタデータ、Search APIクエリ、FASTAダウンロードのためのコンパクトなRCSB PDBリクエストを送信します。ユーザーが簡潔なRCSBサマリーを希望する場合に使用し、生のJSONや…を保存します。
official
pdf
openai
PDFの読み取り、作成、検証(視覚的レンダリングおよびプログラムによる生成を含む)。Poppler(pdftoppm)を使用して、納品前にレイアウト、スペーシング、タイポグラフィを視覚的に検査するためにPDFページをPNGにレンダリング。reportlabを使用してプログラム的にPDFを生成し、信頼性の高いフォーマットを実現。pdfplumberまたはpypdfを使用してテキストとメタデータを抽出。品質基準を遵守:テキストのクリッピングなし、要素の重なりなし、テーブルの破損なし、レンダリングアーティファクトなし。ASCIIハイフンのみ、人間が読める引用を使用。
official
test-coverage-improver
openai
Improve test coverage in the OpenAI Agents JS monorepo: run `pnpm test:coverage`, inspect coverage artifacts, identify low-coverage files and branches, propose…
official
playwright
openai
ターミナル駆動のブラウザ自動化で、要素スナップショットとインタラクティブなUIワークフローを備えています。playwright-cliラッパースクリプト(npxが必要)を介して動作し、ヘッドレスモードとヘッドモードの両方をサポートし、ビジュアルデバッグが可能です。コアワークフローは、ページを開き、安定した要素参照のためにスナップショットを取得し、参照を使用して操作し、ナビゲーションやDOM変更後に再スナップショットを取得します。フォーム入力、クリック、タイピング、マルチタブ管理、スクリーンショット/PDFキャプチャ、フローデバッグ用のトレース記録を含みます。要素参照(例:e3、e15)...
official
ukb-topmed-phewas-skill
openai
単一バリアントのコンパクトなUKB-TOPMed PheWASサマリーを取得します。rsID、GRCh37、またはGRCh38の入力を受け付け、必要なGRCh38クエリに解決します。以下の場合に使用します…
official
code-review-context
openai
モデル可視コンテキスト
official