Agent skill

Verify New Sample PR

by pnp in 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.

MITAuto-check passedDevelopment

Install Verify New Sample PR

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

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

GitHub CLI
$ gh skill install pnp/sp-dev-fx-aces verify-new-sample-pr --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-new-sample-pr .claude/skills/verify-new-sample-pr && 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-new-sample-pr
GitHub stars
139
Token cost
~2k tokens
SKILL.md length
929 words
Files
5 (incl. scripts)
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

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.

  • Works in 9 steps: Confirm this is a "new sample" PR → Identify the affected sample folder(s) → Check out the PR branch locally → …
  • : reviewing a PR that adds a brand-new ACE sample
  • SKILL.md covers When to Use, Known Tool Quirk: Verify Your…, Procedure and Notes
  • Runs Shell scripts from its folder; calls npm, gh and git

What it does

Verify New Sample PR is an agent skill from 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. Use when: reviewing a PR that adds a brand-new ACE sample, "verify new sample PR", "test new sample before merging", checking a first-time contributor submission. Detects PR type from the PR template Q&A table, builds the sample, locates the generated .sppkg, extracts/summarizes deployment and testing steps (and required…

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `scripts/cleanup-sample-build.sh`, `scripts/get-api-permissions.sh` and `scripts/get-changed-samples.sh`).

It sits in Development, covering Technical documentation, QA and bug reports and Deployment. 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 that adds a brand-new ACE sample
  • Verify new sample PR
  • Test new sample before merging
  • Checking a first-time contributor submission

Example prompts

  • “new sample”
  • “verify new sample PR”
  • “test new sample before merging”
  • “/verify-new-sample-pr”

Requirements

  • Node.js
  • A Bash shell

Workflow steps

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

  1. Confirm this is a "new sample" PR
  2. Identify the affected sample folder(s)
  3. Check out the PR branch locally
  4. Determine Node.js version & toolchain, then build
  5. Locate and report the .sppkg
  6. Check for required API permission approvals
  7. Extract a deployment + testing checklist from the README
  8. Present results and STOP — wait for manual confirmation
  9. Clean up only after explicit confirmation

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 4 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • npm
    • gh
    • git
    • 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, gh, git 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 New Sample PR loads about 2k tokens when it runs. Until then it costs about 170 tokens; SKILL.md has 929 words of instructions outside code blocks.

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

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). 929 words, ~1,972 tokens.

Download SKILL.mdSave it as .claude/skills/verify-new-sample-pr/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
verify-new-sample-pr
description
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. Use when: reviewing a PR that adds a brand-new ACE sample, "verify new sample PR", "test new sample before merging", checking a first-time contributor submission. Detects PR type from the PR template Q&A table, builds the sample, locates the generated .sppkg, extracts/summarizes deployment and testing steps (and required API permission approvals) from the README, flags missing README guidance, and defers cleanup until the user confirms manual testing passed.
argument-hint
<PR number or URL>

Verify New Sample PR

Companion to the verify-sample-pr-build skill (use that one for upgrade/fix PRs — a straight compile/build check is enough there). This skill is for PRs that introduce a brand-new sample into samples/<SampleName>/, where a human needs to manually deploy the generated .sppkg and validate it actually works before merging.

When to Use

  • PR template body has New sample? | yes
  • First-time contributor submitting an entirely new ACE sample
  • You need a deployment + testing checklist, not just a compile check

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. Confirm this is a "new sample" PR

Detect from the PR body's Q&A table (this repo's PR template has rows like Bug fix? / New feature? / New sample?):

bash
gh pr view <PR_NUMBER> --repo pnp/sp-dev-fx-aces --json body --jq '.body'

Or use get-pr-type.sh, which prints new-sample, upgrade-or-fix, or ambiguous.

If ambiguous (leftover placeholder text, multiple rows marked yes, or no clear answer) — ask the user to confirm before proceeding. If it turns out to be an upgrade/fix PR, use the verify-sample-pr-build skill instead.

2. Identify the affected sample folder(s)
bash
gh pr view <PR_NUMBER> --repo pnp/sp-dev-fx-aces --json files --jq '.files[].path' \
  | grep -oE '^samples/[^/]+' | sort -u

Or get-changed-samples.sh. A new-sample PR should touch exactly one new samples/<Name>/ folder — if it touches more than one, or modifies existing unrelated samples, flag that to the user.

3. Check out the PR branch locally
bash
gh pr checkout <PR_NUMBER> --repo pnp/sp-dev-fx-aces

Local-only and fully reversible — does not touch remote/origin.

4. Determine Node.js version & toolchain, then build

Same detection logic as verify-sample-pr-build. Use the sample's absolute path throughout (see cwd-safety note above) — do not rely on a prior cd:

  1. Check package.json → engines.node, or .yo-rc.json → nodeVersion
  2. nvm install <version> && nvm use <version>
  3. npm --prefix <abs-path>/samples/<SampleName> install
  4. Build:
    • Heft toolchain (SPFx 1.21+, no gulpfile.js): npm --prefix <abs-path>/samples/<SampleName> run build
    • 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.

After each step, sanity-check output paths/errors reference the expected sample folder name — if they reference a different sample, stop and re-verify cwd.

If the build fails: stop here, report the errors, clean up (step 9), and do not proceed to README/deployment analysis for a broken build.

5. Locate and report the .sppkg
bash
find samples/<SampleName>/sharepoint/solution -name '*.sppkg'

Report the full absolute path so the user can copy/download it for manual deployment to a SharePoint app catalog.

6. Check for required API permission approvals

New samples that call Microsoft Graph or other APIs often declare webApiPermissionRequests in config/package-solution.json. These must be approved in the SharePoint Admin Center → API access page after the package is deployed, or the ACE will fail at runtime — this is easy for a README to omit.

bash
./scripts/get-api-permissions.sh samples/<SampleName>

Always surface these explicitly in the checklist, regardless of whether the README mentions them.

Show full SKILL.md (381 more words)Show less
7. Extract a deployment + testing checklist from the README

Read samples/<SampleName>/README.md and produce a summarized, actionable checklist (not a verbatim quote) covering:

  • Prerequisites: tenant settings, site/list provisioning, sample data, feature flags
  • Deployment steps: upload to app catalog, trust/deploy, approve the API permissions found in step 6, any ACE property-pane config needed
  • How to add the ACE: Viva Connections dashboard / Teams / SharePoint page
  • How to verify it works: expected behavior, what to click, what result to expect

Flag gaps explicitly. If the README is missing any of the above — e.g. no mention of the Graph permissions found in step 6, no clear "how to test" section, missing prerequisite setup (like a required SharePoint list schema or sample data) — call it out as "missing from README — consider asking the PR author to add this" so the user can request changes from the contributor before merging.

8. Present results and STOP — wait for manual confirmation

Report: build status, .sppkg absolute path, deployment checklist, testing checklist, and any README gaps found. Then pause and wait. Do not clean up yet — the user needs the checked-out branch/build artifacts while they manually download, deploy, and test the package.

9. Clean up only after explicit confirmation

Once the user confirms manual testing passed (e.g. "all ok"):

bash
./scripts/cleanup-sample-build.sh <abs-path>/samples/<SampleName>

(uses absolute paths internally, no cd required)

Then return to the repo root and switch branches as standalone commands, verifying with pwd:

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.

If the user reports a problem instead, keep the branch and build artifacts in place so they can keep investigating — only clean up once they're done or ask to abandon it.

Notes

  • Never push, comment on, or merge the PR yourself — only report findings and act on the user's explicit instructions.
  • gh pr checkout and git branch -D only ever affect the local clone.
  • npm install deprecation/audit warnings on older transitive deps are normal 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 4 other files (scripts) in .github/skills/verify-new-sample-pr of pnp/sp-dev-fx-aces.

  • SKILL.md
  • scripts/cleanup-sample-build.sh
  • scripts/get-api-permissions.sh
  • scripts/get-changed-samples.sh
  • scripts/get-pr-type.sh

Open the folder on GitHubat commit a3a0b1e

Compare with similar skills

Verify New Sample PR 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 New Sample PR compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Verify New Sample PR this skillpnp/sp-dev-fx-aces139—~2kAutomated safety check: PassMIT
Remotion Bits Releaseav/remotion-bits487—~1.2kAutomated safety check: PassNone
Cline CLI Release Publishercline/cline70k—~3.4kAutomated safety check: WarnApache-2.0
ClawRouter Release ChecklistBlockRunAI/ClawRouter6.6k—~1.4kAutomated safety check: PassMIT
ReleaseTypedDevs/bashunit434—~618Automated safety check: NotesMIT
Uui Release Workflowepam/UUI248—~867Automated safety check: PassMIT

Similar skills

  • Remotion Bits Release

    av/remotion-bits

    Runs the full release of the remotion-bits package: version bump, changelog, registry build, release commit, GitHub release, docs deploy and npm publish.

    487 GitHub stars~1.2k tokensUpdated 23 days ago
    DevelopmentAuto-check passed
  • Walks through releasing the Cline CLI package to npm: release notes, version bump, matching git tag, and either the GitHub workflow or a local publish.

    70k GitHub stars~3.4k tokensUpdated today
    DevelopmentAuto-check: warnings
  • ClawRouter Release Checklist

    BlockRunAI/ClawRouter

    Walks the agent through every ClawRouter release step in order, from the version bump and changelog entry to build, tests, npm publish, git tag and GitHub release.

    6.6k GitHub stars~1.4k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Release

    TypedDevs/bashunit

    Run pre-release validation and execute the release process. An agent skill from TypedDevs/bashunit.

    434 GitHub stars~618 tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • Guides the UUI package release process including stable and beta releases, changelog updates, and handling failed releases.

    248 GitHub stars~867 tokensUpdated 9 days ago
    DevelopmentAuto-check passed
  • Readme

    aiskillstore/marketplace

    When the user wants to create or update a README.md file for a project.

    430 GitHub starsUsed in 5 repos~4.9k tokens
    DevelopmentAuto-check: notes

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 Sample PR Build

    pnp/sp-dev-fx-aces

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

    139 GitHub stars~1.5k 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

Questions about Verify New Sample PR

What does Verify New Sample PR do?

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. Verify New Sample PR is an agent skill from 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.

When should I use Verify New Sample PR?

Verify New Sample PR fits situations like: : reviewing a PR that adds a brand-new ACE sample; verify new sample PR; test new sample before merging; checking a first-time contributor submission.

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

Run `npx skills add pnp/sp-dev-fx-aces --skill verify-new-sample-pr -a claude-code`. Or copy the skill folder (.github/skills/verify-new-sample-pr in pnp/sp-dev-fx-aces) into .claude/skills/verify-new-sample-pr in your project. Claude Code loads it when a task matches its description.

How do I install Verify New Sample PR in Codex?

Run `npx skills add pnp/sp-dev-fx-aces --skill verify-new-sample-pr -a codex`. Or copy the skill folder (.github/skills/verify-new-sample-pr in pnp/sp-dev-fx-aces) into .agents/skills/verify-new-sample-pr in your project. Codex loads it when a task matches its description.

Can I use Verify New Sample PR 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-new-sample-pr -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-new-sample-pr, .gemini/skills/verify-new-sample-pr, .github/skills/verify-new-sample-pr and .opencode/skills/verify-new-sample-pr in your project.

What does Verify New Sample PR need to run?

Going by SKILL.md and its folder, Verify New Sample PR needs a shell for the scripts in its folder and the command-line tools its instructions call (npm, gh, git, nvm and npx). Our summary lists: Node.js; A Bash shell.

Does Verify New Sample PR access the network?

SKILL.md contains no URLs. Its commands use npm, gh, git and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Verify New Sample PR 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 New Sample PR use?

Verify New Sample PR 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 New Sample PR use?

About 2k tokens (SKILL.md is roughly 7.9k 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 New Sample PR?

Skills that share tags, products or a category with Verify New Sample PR: Remotion Bits Release (av/remotion-bits, 487 stars), Cline CLI Release Publisher (cline/cline, 70k stars), ClawRouter Release Checklist (BlockRunAI/ClawRouter, 6.6k stars) and Release (TypedDevs/bashunit, 434 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Verify New Sample PR?

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.