Agent skill

Verify Sample PR Build

by pnp in pnp/sp-dev-fx-aces

Verify that the SPFx ACE sample(s) touched by a pull request in this repo build successfully before merging.

MITAuto-check passedDevelopment

Install Verify Sample PR Build

skills CLI
$ npx skills add pnp/sp-dev-fx-aces --skill verify-sample-pr-build -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pnp/sp-dev-fx-aces verify-sample-pr-build --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
verify-sample-pr-build
GitHub stars
139
Token cost
~1.5k tokens
SKILL.md length
659 words
Files
3 (incl. scripts)
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Verify that the SPFx ACE sample(s) touched by a pull request in this repo build successfully before merging.

  • Works in 7 steps: Identify the affected sample folder(s) → Check out the PR branch locally → Determine the required Node.js version → …
  • : reviewing a PR
  • SKILL.md covers When to Use, Known Tool Quirk: Verify Your…, Procedure and Notes
  • Runs Shell scripts from its folder; calls npm, git and gh

What it does

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.

When your agent uses it

  • : reviewing a PR
  • Verify PR build
  • Check if this PR builds
  • Test sample before merging

Example prompts

  • “verify PR build”
  • “check if this PR builds”
  • “test sample before merging”
  • “/verify-sample-pr-build”

Requirements

  • Node.js
  • A Bash shell

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Identify the affected sample folder(s)
  2. Check out the PR branch locally
  3. Determine the required Node.js version
  4. Install dependencies (sample folder only)
  5. Determine the toolchain and build
  6. Report result
  7. Clean up

What it can do on your machine

Read from SKILL.md and the folder at commit a3a0b1e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 2 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • npm
    • git
    • gh
    • nvm
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~125
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from pnp/sp-dev-fx-aces at commit a3a0b1e, republished under its MIT licence (© pnp). 659 words, ~1,537 tokens.

Download SKILL.mdSave it as .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.
name
verify-sample-pr-build
description
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.
argument-hint
<PR number or URL>

Verify Sample PR Build

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.

When to Use

  • Before merging a PR that adds or modifies a sample
  • Verifying an SPFx version upgrade (e.g. Gulp → Heft toolchain migration)
  • Spot-checking a contributor's submission builds cleanly

Known Tool Quirk: Verify Your Working Directory

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:

  1. Prefer absolute paths over 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.
  2. If you must 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.

Procedure

1. Identify the affected sample folder(s)

Get the PR number/URL from the user, then find which samples/<Name>/ directories it touches:

bash
gh pr view <PR_NUMBER> --repo pnp/sp-dev-fx-aces --json files --jq '.files[].path' \
  | grep -oE '^samples/[^/]+' | sort -u

Or use the helper: get-changed-samples.sh

If more than one sample folder is touched, repeat steps 2-5 for each.

2. Check out the PR branch locally

This is local-only and fully reversible (does not touch remote/origin):

bash
gh pr checkout <PR_NUMBER> --repo pnp/sp-dev-fx-aces
3. Determine the required Node.js version

SPFx version requirements vary a lot across samples in this repo (some are years old). Check, in order of preference, inside the affected sample folder:

  1. package.json → "engines": { "node": "..." }
  2. .yo-rc.json → "@microsoft/generator-sharepoint" > "nodeVersion"
  3. If absent, infer roughly from the .yo-rc.json "version" (SPFx version):
    • SPFx 1.21+ → Node 22.x (Heft toolchain, useGulp: false)
    • SPFx 1.17–1.20 → Node 18.x or 22.x
    • SPFx 1.15–1.16 → Node 16.x or 18.x
    • SPFx < 1.15 → Node 12.x/14.x

Switch to that version with nvm (already available in this container):

bash
nvm install <version> && nvm use <version>
4. Install dependencies (sample folder only)

Use an absolute path with npm --prefix instead of cd (see cwd-safety note above):

bash
npm --prefix <abs-path>/samples/<SampleName> install
Show full SKILL.md (322 more words)Show less
5. Determine the toolchain and build

Check .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):

    bash
    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):

    bash
    (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/.

6. Report result

Summarize per sample: pass/fail, and paste/summarize any errors encountered. Do not push, comment on, or merge the PR yourself — only report findings.

7. Clean up

Always clean up after verification, whether it passed or failed.

Remove build artifacts using an absolute path (no cd required): cleanup-sample-build.sh

bash
./.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:

bash
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.

Notes

  • Never run this against 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.
  • Always double-check the working directory before running install/build/cleanup commands — see the cwd-safety note above. Prefer absolute paths and 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

Files

SKILL.md and 2 other files (scripts) in .github/skills/verify-sample-pr-build of pnp/sp-dev-fx-aces.

  • SKILL.md
  • scripts/cleanup-sample-build.sh
  • scripts/get-changed-samples.sh

Open the folder on GitHubat commit a3a0b1e

Compare with similar skills

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.

Verify Sample PR Build compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Verify Sample PR Build this skillpnp/sp-dev-fx-aces139—~1.5kAutomated safety check: PassMIT
Migrate Internal Package into GhostTryGhost/Ghost55k—~3.8kAutomated safety check: PassMIT
Open Code Review CLIalibaba/open-code-review44k—~3.1kAutomated safety check: PassApache-2.0
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Code Reviewyaklang/yakit7.8k—~1.4kAutomated safety check: NotesAGPL-3.0
AionUi Version BumpiOfficeAI/AionUi33k—~2.1kAutomated safety check: PassApache-2.0

Similar skills

  • 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.

    55k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Open Code Review CLI

    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.

    44k GitHub stars~3.1k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • 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.

    18k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Code Review

    yaklang/yakit

    对 Yakit 仓库的代码改动做规范化 code review:按代码逻辑、TS 定义、UI 引用与 Props、CSS 样式、依赖版本、配置项六个维度审查,检查测试用例缺失,强制执行 tsc 类型检查与 vitest 测试验证,输出「结果汇总 / 明细解释 / 合并结论」三块报告,经用户确认后写入文件。当用户要求 review、审查、评审代码改动,或在提交、合并、提 PR…

    7.8k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check: notes
  • AionUi Version Bump

    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.

    33k GitHub stars~2.1k tokensUpdated 29 days ago
    DevelopmentAuto-check passed
  • Next Upgrade

    vercel-labs/openreview

    Official

    Upgrade Next.js to the latest version following official migration guides and codemods

    1.7k GitHub starsUsed in 6 repos~502 tokens
    DevelopmentAuto-check passed

More from pnp/sp-dev-fx-aces

  • Generate Sample Metadata

    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.

    139 GitHub stars~2.3k tokensUpdated 10 days ago
    Auto-check passed
  • Verify 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.

    139 GitHub stars~2k tokensUpdated 10 days ago
    Auto-check passed
  • Merge New Sample PR

    pnp/sp-dev-fx-aces

    End-to-end review-and-merge workflow for a new-sample PR in pnp/sp-dev-fx-aces.

    139 GitHub stars~1.9k tokensUpdated 10 days ago
    Auto-check passed

Works with

Categories

Questions about Verify Sample PR Build

What does Verify Sample PR Build do?

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.

When should I use Verify Sample PR Build?

Verify Sample PR Build fits situations like: : reviewing a PR; verify PR build; check if this PR builds; test sample before merging.

How do I install Verify Sample PR Build in Claude Code?

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.

How do I install Verify Sample PR Build in Codex?

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.

Can I use Verify Sample PR Build in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Verify Sample PR Build need to run?

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.

Does Verify Sample PR Build access the network?

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.

Is Verify Sample PR Build safe to install?

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.

What licence does Verify Sample PR Build use?

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.

How many tokens does Verify Sample PR Build use?

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.

What are the alternatives to Verify Sample PR Build?

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.

Who maintains Verify Sample PR Build?

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.