[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AC4ASTWWJE6Q7T3X1A7WDF":3,"skill-same:01M6AC4ASTWWJE6Q7T3X1A7WDF":81},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":6,"updatedAt":51,"install":52,"resources":64},"01M6AC4ASTWWJE6Q7T3X1A7WDF","pnpm-upgrade",null,"Keep pnpm current: preflight the published package and pnpm\u002Faction-setup self-installer, update pnpm locally, align packageManager in package.json, and refresh CI pins. Use this when refreshing the pnpm toolchain manually or in automation.","openai\u002Fopenai-agents-js","openai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F14957082?v=4","01M6AC29YGCR4S2NTJFV0G8B81","OpenAI","01M6AC3JCA5RPWKDHSP3JBJBH1",4015,"MIT","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fpnpm-upgrade\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"pnpm upgrade","pnpm","upgrade","use","when","action","toolchain","keep","self","align","installer","automation","refresh","json","preflight","ci","package","update","setup","2026-11-10 10:12:30",false,"---\nname: pnpm-upgrade\ndescription: 'Keep pnpm current: preflight the published package and pnpm\u002Faction-setup self-installer, update pnpm locally, align packageManager in package.json, and refresh CI pins. Use this when refreshing the pnpm toolchain manually or in automation.'\n---\n\n# pnpm Upgrade\n\nUse these steps to update pnpm and CI pins without blunt search\u002Freplace.\n\n## Steps (run from repo root)\n\n1. Resolve the target pnpm release\n   - Query the npm registry before changing the local toolchain: `PNPM_VERSION=$(curl -fsSL https:\u002F\u002Fregistry.npmjs.org\u002Fpnpm\u002Flatest | jq -r .version)`.\n   - Abort if the version is missing.\n   - Resolve the exact package integrity: `curl -fsSL \"https:\u002F\u002Fregistry.npmjs.org\u002Fpnpm\u002F${PNPM_VERSION}\" | jq -r .dist.integrity`.\n   - Store the result as `PNPM_INTEGRITY`.\n   - Abort if the integrity is missing or does not start with `sha512-`.\n   - Convert the base64 digest after `sha512-` to lowercase hex, for example:\n     ```bash\n     printf '%s' \"${PNPM_INTEGRITY#sha512-}\" | base64 -d | xxd -p -c 256\n     ```\n   - Store the result as `PNPM_SHA512_HEX`.\n\n2. Find the target pnpm\u002Faction-setup release\n   - Query GitHub API: `curl -fsSL https:\u002F\u002Fapi.github.com\u002Frepos\u002Fpnpm\u002Faction-setup\u002Freleases\u002Flatest | jq -r .tag_name`.\n   - Use `GITHUB_TOKEN`\u002F`GH_TOKEN` if available for higher rate limits.\n   - Store as `ACTION_TAG` (e.g., `v4.2.0`). Abort if missing.\n\n3. Resolve the action tag to an immutable commit SHA\n   - Run `git ls-remote https:\u002F\u002Fgithub.com\u002Fpnpm\u002Faction-setup \"refs\u002Ftags\u002F${ACTION_TAG}^{}\"` and capture the SHA as `ACTION_SHA`.\n   - If the dereferenced tag is missing, fall back to `git ls-remote https:\u002F\u002Fgithub.com\u002Fpnpm\u002Faction-setup \"refs\u002Ftags\u002F${ACTION_TAG}\"`.\n   - Abort if `ACTION_SHA` is empty.\n\n4. Preflight the release and CI installation path\n   - Run `node .agents\u002Fskills\u002Fpnpm-upgrade\u002Fscripts\u002Fpreflight.mjs --version \"${PNPM_VERSION}\" --action-ref \"${ACTION_SHA}\"`.\n   - 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`.\n   - It then reproduces both `pnpm\u002Faction-setup` installation paths in separate temporary directories: install the regular `pnpm` bootstrap from `pnpm-lock.json` and the standalone `@pnpm\u002Fexe` bootstrap from `exe-lock.json`, set isolated `PNPM_HOME` directories, and self-update each bootstrap to `PNPM_VERSION`.\n   - 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.\n\n5. Update pnpm locally\n   - Run `pnpm self-update \"${PNPM_VERSION}\"`.\n   - 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.\n   - Confirm `pnpm -v` exactly matches `PNPM_VERSION`.\n\n6. Align package.json\n   - Open `package.json` and set `packageManager` to `pnpm@${PNPM_VERSION}+sha512.${PNPM_SHA512_HEX}` (preserve trailing newline and formatting).\n\n7. Update workflows carefully (no broad regex)\n   - Files: everything under `.github\u002Fworkflows\u002F` that uses `pnpm\u002Faction-setup`.\n   - For each file, edit by hand:\n     - Set `uses: pnpm\u002Faction-setup@${ACTION_SHA}`.\n     - If a `with: version:` field exists, set it to `${PNPM_VERSION}` (keep quoting style\u002Findent).\n   - Do not touch unrelated steps. Avoid multiline sed\u002Fperl one-liners.\n\n8. Verify\n   - Run `pnpm -v` and confirm it matches the version portion of `packageManager`.\n   - Confirm `packageManager` keeps the exact `+sha512.${PNPM_SHA512_HEX}` suffix.\n   - `git diff` to ensure only intended workflow\u002Fpackage.json changes.\n\n9. Follow-up\n   - If runtime code\u002Fbuild\u002Ftest config was changed (not typical here), run `$code-change-verification`; otherwise, a light check is enough.\n   - Commit with `chore: upgrade pnpm toolchain` and open a PR (automation may do this).\n\n## Notes\n\n- Tools needed: `curl`, `jq`, `base64`, `xxd`, `node`, `npm`, and `pnpm`\u002F`corepack`. Install if missing.\n- Keep edits minimal and readable—prefer explicit file edits over global replacements.\n- GitHub Actions must stay pinned to commit SHAs, not tags. Use the latest release tag only to discover the commit SHA to pin.\n- If GitHub API is rate-limited, retry with a token or bail out rather than guessing the tag.\n","# pnpm Upgrade\n\nUse these steps to update pnpm and CI pins without blunt search\u002Freplace.\n\n## Steps (run from repo root)\n\n1. Resolve the target pnpm release\n   - Query the npm registry before changing the local toolchain: `PNPM_VERSION=$(curl -fsSL https:\u002F\u002Fregistry.npmjs.org\u002Fpnpm\u002Flatest | jq -r .version)`.\n   - Abort if the version is missing.\n   - Resolve the exact package integrity: `curl -fsSL \"https:\u002F\u002Fregistry.npmjs.org\u002Fpnpm\u002F${PNPM_VERSION}\" | jq -r .dist.integrity`.\n   - Store the result as `PNPM_INTEGRITY`.\n   - Abort if the integrity is missing or does not start with `sha512-`.\n   - Convert the base64 digest after `sha512-` to lowercase hex, for example:\n     ```bash\n     printf '%s' \"${PNPM_INTEGRITY#sha512-}\" | base64 -d | xxd -p -c 256\n     ```\n   - Store the result as `PNPM_SHA512_HEX`.\n\n2. Find the target pnpm\u002Faction-setup release\n   - Query GitHub API: `curl -fsSL https:\u002F\u002Fapi.github.com\u002Frepos\u002Fpnpm\u002Faction-setup\u002Freleases\u002Flatest | jq -r .tag_name`.\n   - Use `GITHUB_TOKEN`\u002F`GH_TOKEN` if available for higher rate limits.\n   - Store as `ACTION_TAG` (e.g., `v4.2.0`). Abort if missing.\n\n3. Resolve the action tag to an immutable commit SHA\n   - Run `git ls-remote https:\u002F\u002Fgithub.com\u002Fpnpm\u002Faction-setup \"refs\u002Ftags\u002F${ACTION_TAG}^{}\"` and capture the SHA as `ACTION_SHA`.\n   - If the dereferenced tag is missing, fall back to `git ls-remote https:\u002F\u002Fgithub.com\u002Fpnpm\u002Faction-setup \"refs\u002Ftags\u002F${ACTION_TAG}\"`.\n   - Abort if `ACTION_SHA` is empty.\n\n4. Preflight the release and CI installation path\n   - Run `node .agents\u002Fskills\u002Fpnpm-upgrade\u002Fscripts\u002Fpreflight.mjs --version \"${PNPM_VERSION}\" --action-ref \"${ACTION_SHA}\"`.\n   - 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`.\n   - It then reproduces both `pnpm\u002Faction-setup` installation paths in separate temporary directories: install the regular `pnpm` bootstrap from `pnpm-lock.json` and the standalone `@pnpm\u002Fexe` bootstrap from `exe-lock.json`, set isolated `PNPM_HOME` directories, and self-update each bootstrap to `PNPM_VERSION`.\n   - 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.\n\n5. Update pnpm locally\n   - Run `pnpm self-update \"${PNPM_VERSION}\"`.\n   - 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.\n   - Confirm `pnpm -v` exactly matches `PNPM_VERSION`.\n\n6. Align package.json\n   - Open `package.json` and set `packageManager` to `pnpm@${PNPM_VERSION}+sha512.${PNPM_SHA512_HEX}` (preserve trailing newline and formatting).\n\n7. Update workflows carefully (no broad regex)\n   - Files: everything under `.github\u002Fworkflows\u002F` that uses `pnpm\u002Faction-setup`.\n   - For each file, edit by hand:\n     - Set `uses: pnpm\u002Faction-setup@${ACTION_SHA}`.\n     - If a `with: version:` field exists, set it to `${PNPM_VERSION}` (keep quoting style\u002Findent).\n   - Do not touch unrelated steps. Avoid multiline sed\u002Fperl one-liners.\n\n8. Verify\n   - Run `pnpm -v` and confirm it matches the version portion of `packageManager`.\n   - Confirm `packageManager` keeps the exact `+sha512.${PNPM_SHA512_HEX}` suffix.\n   - `git diff` to ensure only intended workflow\u002Fpackage.json changes.\n\n9. Follow-up\n   - If runtime code\u002Fbuild\u002Ftest config was changed (not typical here), run `$code-change-verification`; otherwise, a light check is enough.\n   - Commit with `chore: upgrade pnpm toolchain` and open a PR (automation may do this).\n\n## Notes\n\n- Tools needed: `curl`, `jq`, `base64`, `xxd`, `node`, `npm`, and `pnpm`\u002F`corepack`. Install if missing.\n- Keep edits minimal and readable—prefer explicit file edits over global replacements.\n- GitHub Actions must stay pinned to commit SHAs, not tags. Use the latest release tag only to discover the commit SHA to pin.\n- If GitHub API is rate-limited, retry with a token or bail out rather than guessing the tag.\n",{"name":5,"description":7},"main","9b33d73a3ad696f0c43689d1428e901bfdc37fa0",".agents\u002Fskills\u002Fpnpm-upgrade",1018,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-js\u002F","https:\u002F\u002Fgithub.com\u002Fopenai","https:\u002F\u002Fopenai.com\u002F","2026-11-14 03:06:25",{"source":8,"skillName":5,"commands":53,"prompt":62,"zipAvailable":63},[54,57,60],{"tool":55,"command":56},"npx","npx skills add openai\u002Fopenai-agents-js --skill pnpm-upgrade",{"tool":58,"command":59},"bunx","bunx skills add openai\u002Fopenai-agents-js --skill pnpm-upgrade",{"tool":20,"command":61},"pnpm dlx skills add openai\u002Fopenai-agents-js --skill pnpm-upgrade","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fpnpm-upgrade\u002FSKILL.md",true,[65,71,75],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"agents\u002Fopenai.yaml","REFERENCE","参考文档",290,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fpnpm-upgrade\u002Fagents\u002Fopenai.yaml",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fintegration.md",771,"https:\u002F\u002Fgithub.com\u002Fdavila7\u002Fclaude-code-templates\u002Fblob\u002Fmain\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Frag-chroma\u002Freferences\u002Fintegration.md",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"scripts\u002Fpreflight.mjs","SCRIPT","脚本",5591,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fpnpm-upgrade\u002Fscripts\u002Fpreflight.mjs",[82,102,118,135,155,169],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":93,"publishedAt":38},"01M6AC4R0A34BEB9E1929JHSQR","csv-workbench","Analyze CSV files in \u002Fmnt\u002Fdata and return concise numeric summaries.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fblob\u002Fmain\u002Fexamples\u002Ftools\u002Fskills\u002Fcsv-workbench\u002FSKILL.md",[88],{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000004","电子表格","SCENARIO","使用场景",[94,95,96,97,98,99,100,101],"csv workbench","csv","analyze csv files","summaries","concise","files","analyze","data",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":38},"01M6AC4P55NFYE63B8X4TZ1YFB","credit-note-fixer","Fix the tiny credit-note formatting bug and rerun the exact targeted test command.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fblob\u002Fmain\u002Fexamples\u002Fsandbox\u002Fdata\u002Fcoding-task\u002Fskills\u002Fcredit-note-fixer\u002FSKILL.md",[],[109,110,111,112,113,114,115,116,117],"credit note fixer","fixer","note","test","command","fix","bug","formatting","rerun",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":129,"publishedAt":38},"01M6AC4MKZF8EC8A477XH8Z87Y","invoice-total-fixer","Use when fixing invoice total calculations in the sandbox quickstart repository.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fblob\u002Fmain\u002Fexamples\u002Fdocs\u002Fsandbox-agents\u002Fskills\u002Finvoice-total-fixer\u002FSKILL.md",[124],{"categoryNo":125,"categoryName":126,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000040","财务","PROFESSION","适用职业",[130,110,131,132,133,134,22,23],"invoice total fixer","invoice","sandbox","quickstart","repository",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":144,"publishedAt":38},"01M6AC4JTG74J4VWHBWJ1F2N20","test-coverage-improver","Measure JS SDK coverage or address measured coverage gaps. Use for coverage audits and metric regressions, not routine test additions.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Ftest-coverage-improver\u002FSKILL.md",[141],{"categoryNo":142,"categoryName":143,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000008","测试与质量",[145,146,147,112,148,149,150,151,152,22,153,154],"test coverage","coverage","test coverage improver","for","metric","gaps","routine","coverage gaps","sdk","js",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":38},"01M6AC4GVZRPJYWK9HTDD6M11N","sensitive-logging-audit","Audit or fix sensitive-data exposure in JS SDK diagnostics, exceptions, logging, and telemetry.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fsensitive-logging-audit\u002FSKILL.md",[],[162,163,164,153,165,166,101,167,154,114,168],"audit","logging","sensitive logging audit","telemetry","diagnostics","sensitive-data","data exposure",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":178,"publishedAt":38},"01M6AC4EAT4R58F8R0R24GTT5N","runtime-behavior-probe","Plan and, after explicit approval, execute runtime-behavior probes for local or live integrations. Use only when explicitly invoked to verify behavior that code review and normal tests cannot settle; define a controlled validation matrix, keep disposable JS probes outside tracked paths, and report observed evidence.","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-js\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fruntime-behavior-probe\u002FSKILL.md",[175],{"categoryNo":176,"categoryName":177,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000007","代码审查",[179,180,181,182,183,184,185,186,187,188,189,22,190,191,192,193,194,26,148,23,195,196],"runtime","probe","behavior","runtime behavior probe","normal","review","code","report","validation","plan","integrations","only","evidence","local","define","tests","settle","code review"]