Migrate Internal Package into Ghost
TryGhost/Ghost
Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.
Verify that the SPFx ACE sample(s) touched by a pull request in this repo build successfully before merging.
$ npx skills add pnp/sp-dev-fx-aces --skill verify-sample-pr-build -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pnp/sp-dev-fx-aces verify-sample-pr-build --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/pnp/sp-dev-fx-aces.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/verify-sample-pr-build .claude/skills/verify-sample-pr-build && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "verify-sample-pr-build" agent skill from https://github.com/pnp/sp-dev-fx-aces/tree/main/.github/skills/verify-sample-pr-build into .claude/skills/verify-sample-pr-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-sample-pr-build", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/pnp/sp-dev-fx-aces/tree/main/.github/skills/verify-sample-pr-buildType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add pnp/sp-dev-fx-aces --skill verify-sample-pr-build -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pnp/sp-dev-fx-aces verify-sample-pr-build --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pnp/sp-dev-fx-aces.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/verify-sample-pr-build .agents/skills/verify-sample-pr-build && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "verify-sample-pr-build" agent skill from https://github.com/pnp/sp-dev-fx-aces/tree/main/.github/skills/verify-sample-pr-build into .agents/skills/verify-sample-pr-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-sample-pr-build", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pnp/sp-dev-fx-aces --skill verify-sample-pr-build -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pnp/sp-dev-fx-aces verify-sample-pr-build --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pnp/sp-dev-fx-aces.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/verify-sample-pr-build .cursor/skills/verify-sample-pr-build && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "verify-sample-pr-build" agent skill from https://github.com/pnp/sp-dev-fx-aces/tree/main/.github/skills/verify-sample-pr-build into .cursor/skills/verify-sample-pr-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-sample-pr-build", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/pnp/sp-dev-fx-aces.git --path .github/skills/verify-sample-pr-build--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add pnp/sp-dev-fx-aces --skill verify-sample-pr-build -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pnp/sp-dev-fx-aces verify-sample-pr-build --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pnp/sp-dev-fx-aces.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/verify-sample-pr-build .gemini/skills/verify-sample-pr-build && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "verify-sample-pr-build" agent skill from https://github.com/pnp/sp-dev-fx-aces/tree/main/.github/skills/verify-sample-pr-build into .gemini/skills/verify-sample-pr-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-sample-pr-build", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install pnp/sp-dev-fx-aces verify-sample-pr-buildInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add pnp/sp-dev-fx-aces --skill verify-sample-pr-build -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pnp/sp-dev-fx-aces.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/verify-sample-pr-build .github/skills/verify-sample-pr-build && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "verify-sample-pr-build" agent skill from https://github.com/pnp/sp-dev-fx-aces/tree/main/.github/skills/verify-sample-pr-build into .github/skills/verify-sample-pr-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-sample-pr-build", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pnp/sp-dev-fx-aces --skill verify-sample-pr-build -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pnp/sp-dev-fx-aces verify-sample-pr-build --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pnp/sp-dev-fx-aces.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/verify-sample-pr-build .opencode/skills/verify-sample-pr-build && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "verify-sample-pr-build" agent skill from https://github.com/pnp/sp-dev-fx-aces/tree/main/.github/skills/verify-sample-pr-build into .opencode/skills/verify-sample-pr-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verify-sample-pr-build", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
verify-sample-pr-buildVerify that the SPFx ACE sample(s) touched by a pull request in this repo build successfully before merging.
Verify Sample PR Build is an agent skill from pnp/sp-dev-fx-aces. Verify that the SPFx ACE sample(s) touched by a pull request in this repo build successfully before merging. Use when: reviewing a PR, "verify PR build", "check if this PR builds", "test sample before merging", validating a submitted sample or an SPFx version upgrade in samples/. Checks out the PR branch locally, installs dependencies only in the affected sample folder(s), runs the sample-specific build command (gulp or Heft toolchain), reports pass/fail, then cleans up.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/cleanup-sample-build.sh` and `scripts/get-changed-samples.sh`).
It sits in Development, covering Code migrations and Pull requests. It works with npm. The repository describes itself as: Repository for the Microsoft Viva Connections Adaptive Card sample solutions from Microsoft and community. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a3a0b1e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
npmgitghnvmnpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, git, gh and npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Verify Sample PR Build loads about 1.5k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 659 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from pnp/sp-dev-fx-aces at commit a3a0b1e, republished under its MIT licence (© pnp). 659 words, ~1,537 tokens.
.claude/skills/verify-sample-pr-build/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Each sample under samples/<SampleName>/ in this repo (pnp/sp-dev-fx-aces) is a
fully standalone SPFx project with its own package.json / package-lock.json.
There is no root-level package.json. A PR almost always touches exactly one sample
folder — dependencies only need to be installed there, never at the repo root.
The terminal tool can silently "simplify" a chained cd <path> && <command> and
drop the cd, leaving a stale cwd from a previous task/session in place. This
has caused commands to silently run against the wrong sample folder.
Mitigation — apply both:
cd. Use npm --prefix /abs/path/to/samples/<Name> install
and npm --prefix /abs/path/to/samples/<Name> run build instead of cd ... && npm ....
This works regardless of the shell's persisted cwd.cd, issue it as its own standalone command, then immediately
run pwd as a separate call and confirm it matches the expected sample path
before running anything else. Never assume a chained cd took effect.Get the PR number/URL from the user, then find which samples/<Name>/ directories
it touches:
gh pr view <PR_NUMBER> --repo pnp/sp-dev-fx-aces --json files --jq '.files[].path' \
| grep -oE '^samples/[^/]+' | sort -uOr use the helper: get-changed-samples.sh
If more than one sample folder is touched, repeat steps 2-5 for each.
This is local-only and fully reversible (does not touch remote/origin):
gh pr checkout <PR_NUMBER> --repo pnp/sp-dev-fx-acesSPFx version requirements vary a lot across samples in this repo (some are years old). Check, in order of preference, inside the affected sample folder:
package.json → "engines": { "node": "..." }.yo-rc.json → "@microsoft/generator-sharepoint" > "nodeVersion".yo-rc.json "version" (SPFx version):useGulp: false)Switch to that version with nvm (already available in this container):
nvm install <version> && nvm use <version>Use an absolute path with npm --prefix instead of cd (see cwd-safety note above):
npm --prefix <abs-path>/samples/<SampleName> installCheck .yo-rc.json for "useGulp": false (Heft) vs absent/true (Gulp), or just
inspect package.json scripts / presence of gulpfile.js:
Heft toolchain (SPFx 1.21+, no gulpfile.js, has @rushstack/heft dep):
npm --prefix <abs-path>/samples/<SampleName> run build(typically runs heft test --clean --production && heft package-solution --production)
Gulp toolchain (older samples, has gulpfile.js):
(cd <abs-path>/samples/<SampleName> && npx gulp bundle --ship && npx gulp package-solution --ship)Run as a single subshell command so the cd can't be dropped or leak into later
commands. (npm run build alone may only run gulp bundle without --ship;
prefer the exact commands listed in the sample's own README.md "Minimal Path to
Awesome" section — it is the authoritative source per sample.)
Watch the output for: TypeScript compile errors, ESLint errors, Webpack failures,
and packaging errors. A successful run ends with the .sppkg written under
sharepoint/solution/.
Summarize per sample: pass/fail, and paste/summarize any errors encountered. Do not push, comment on, or merge the PR yourself — only report findings.
Always clean up after verification, whether it passed or failed.
Remove build artifacts using an absolute path (no cd required):
cleanup-sample-build.sh
./.github/skills/verify-sample-pr-build/scripts/cleanup-sample-build.sh <abs-path>/samples/<SampleName>Then return to the repo root and switch branches as standalone commands,
verifying with pwd before continuing:
cd <abs-repo-root>
pwd # confirm it printed the repo root before continuing
git checkout main
git branch -D <pr-branch-name>Finally, verify with git status --short that the sample folder has no leftover
untracked build artifacts (e.g. toolchain-specific output directories the cleanup
script doesn't yet know about). If something remains, remove it manually and
consider adding it to cleanup-sample-build.sh for next time.
main/origin destructively — gh pr checkout and
git branch -D only affect the local clone.npm install inside a sample can print deprecation warnings and moderate/critical
audit warnings from transitive deps — this is normal for older SPFx samples and
not a build failure signal.npm --prefix over relying on cd persisting across tool calls.© pnp, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in .github/skills/verify-sample-pr-build of pnp/sp-dev-fx-aces.
Open the folder on GitHubat commit a3a0b1e
Verify Sample PR Build next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Verify Sample PR Build this skillpnp/sp-dev-fx-aces | 139 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Migrate Internal Package into GhostTryGhost/Ghost | 55k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Open Code Review CLIalibaba/open-code-review | 44k | — | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Code Reviewyaklang/yakit | 7.8k | — | ~1.4k | Automated safety check: Notes | AGPL-3.0 | |
| AionUi Version BumpiOfficeAI/AionUi | 33k | — | ~2.1k | Automated safety check: Pass | Apache-2.0 |
TryGhost/Ghost
Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.
alibaba/open-code-review
Runs the ocr command-line tool to review Git changes, a commit or a branch comparison with an AI model, returning line-level comments and optionally applying fixes.
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
yaklang/yakit
对 Yakit 仓库的代码改动做规范化 code review:按代码逻辑、TS 定义、UI 引用与 Props、CSS 样式、依赖版本、配置项六个维度审查,检查测试用例缺失,强制执行 tsc 类型检查与 vitest 测试验证,输出「结果汇总 / 明细解释 / 合并结论」三块报告,经用户确认后写入文件。当用户要求 review、审查、评审代码改动,或在提交、合并、提 PR…
iOfficeAI/AionUi
Automates an AionUi release: checks the latest AionCore release and its artifacts, updates package.json, writes the changelog, opens a PR and tags the release.
vercel-labs/openreview
Upgrade Next.js to the latest version following official migration guides and codemods
pnp/sp-dev-fx-aces
Create or fix the assets/sample.json metadata file for a sample in pnp/sp-dev-fx-aces before merging a new-sample PR.
pnp/sp-dev-fx-aces
Verify a "new sample" PR in pnp/sp-dev-fx-aces builds successfully, then produce a deployment + testing checklist from the sample README so it can be manually deployed and tested before merging.
pnp/sp-dev-fx-aces
End-to-end review-and-merge workflow for a new-sample PR in pnp/sp-dev-fx-aces.
Works with
Categories
Verify that the SPFx ACE sample(s) touched by a pull request in this repo build successfully before merging. Verify Sample PR Build is an agent skill from pnp/sp-dev-fx-aces. Verify that the SPFx ACE sample(s) touched by a pull request in this repo build successfully before merging.
Verify Sample PR Build fits situations like: : reviewing a PR; verify PR build; check if this PR builds; test sample before merging.
Run `npx skills add pnp/sp-dev-fx-aces --skill verify-sample-pr-build -a claude-code`. Or copy the skill folder (.github/skills/verify-sample-pr-build in pnp/sp-dev-fx-aces) into .claude/skills/verify-sample-pr-build in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pnp/sp-dev-fx-aces --skill verify-sample-pr-build -a codex`. Or copy the skill folder (.github/skills/verify-sample-pr-build in pnp/sp-dev-fx-aces) into .agents/skills/verify-sample-pr-build in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pnp/sp-dev-fx-aces --skill verify-sample-pr-build -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verify-sample-pr-build, .gemini/skills/verify-sample-pr-build, .github/skills/verify-sample-pr-build and .opencode/skills/verify-sample-pr-build in your project.
Going by SKILL.md and its folder, Verify Sample PR Build needs a shell for the scripts in its folder and the command-line tools its instructions call (npm, git, gh, nvm and npx). Our summary lists: Node.js; A Bash shell.
SKILL.md contains no URLs. Its commands use npm, git, gh and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Verify Sample PR Build is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Verify Sample PR Build: Migrate Internal Package into Ghost (TryGhost/Ghost, 55k stars), Open Code Review CLI (alibaba/open-code-review, 44k stars), Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars) and Code Review (yaklang/yakit, 7.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pnp (a GitHub organization) maintains it in pnp/sp-dev-fx-aces, which has 139 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on September 28, 2026.
Source: pnp/sp-dev-fx-aces on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.