winapp CLI is a command-line tool for Windows application development that manages SDKs, app identity, manifests, certificates, packaging, and build tools. It helps developers using frameworks such as .NET, Win32, CMake, Electron, or Rust access Windows-native development capabilities. The catalogue add-ons provide agent workflows for using the CLI.
Borrowing it
Nothing to install: this file belongs to microsoft/winappCli. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/microsoft/winappCli/main/.github/skills/pr-lifecycle/SKILL.mdgit clone --depth 1 https://github.com/microsoft/winappCliWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/microsoft/winappcli/pr-lifecycle)<a href="https://agentmods.dev/skills/microsoft/winappcli/pr-lifecycle"><img src="https://agentmods.dev/badge/skills/microsoft/winappcli/pr-lifecycle/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/microsoft/winappcli/pr-lifecycle"><img src="https://agentmods.dev/badge/skills/microsoft/winappcli/pr-lifecycle.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00096 | $0.03147 |
| Opus 5.5 | $0.00038 | $0.01259 |
| Sonnet 5.5 | $0.00019 | $0.00629 |
| Haiku 4.5 | $0.00010 | $0.00315 |
Grade A, and why
pr-lifecycle scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 245 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PR lifecycle: Prepare, Present, Finish
Use this for work on this repository, not as a shipped winapp plugin skill.
The outcome is a clear PR and an honest readiness state, not a merge.
Authority and repository policy
- Establish the requested scope first. "Draft a PR body" returns text only; "review this PR" returns findings only. Neither authorizes changing code, pushing, posting, requesting reviews, or changing labels. A request to create or take a PR through readiness authorizes the necessary in-scope work, not unrelated changes or merging. Confirm any additional authority you need.
- Read AGENTS.md, the
PR template, affected workflow definitions in
.github\workflows, and applicable.pipelinesinstructions. Live branch protection/rulesets are the source of truth for required checks and approvals; do not freeze their names or counts here. - pr-review owns independent, practical review of correctness, compatibility and performance. Use it for a full feature review; keep a narrow docs/fix review proportional rather than copying its entire orchestration. spec-review is for unresolved design questions before implementation, not another mandatory post-code ceremony.
- Fix findings in the existing PR by default. Create a follow-up fix PR only
when the user asks. Preserve the review-only default of
pr-review. - Use the host's
create_pull_request,update_pull_request, andreply_and_resolve_review_threadtools when available; obey their contracts rather than substituting shell commands. Other GitHub reads/actions may usegh. Never merge, enable auto-merge, bypass protection, dismiss a human changes-request review, or manufacture an approval.
Prepare
- Identify the real comparison. Read the live PR (if it exists): repository,
number, state, head repository/ref/SHA, base ref/SHA, draft state, checks,
reviews and mergeability. Inspect local status, tracking refs and the full
diff including relevant untracked files. Fetch the actual head and base;
do not assume the local branch or
origin/mainis current. Record immutable head/base SHAs for the assessment. - Preserve other work. Do not stage unrelated files, delete scratch files,
discard a dirty tree, or overwrite collaborator commits. If the remote head
differs from your expected head, inspect it before continuing; stop and
coordinate overlapping edits. Prefer a normal non-rewriting update. Rewrite
only with permission and an explicit expected-SHA lease
(
--force-with-lease=<ref>:<expected-sha>); a failed lease means re-inspect, not force harder. - Respect stacks. Review against the actual parent branch, not the entire stack against main. Use the available native stack skill/tool to synchronize parents and propagate updates. Check the parent and ultimate main as appropriate to repository policy; do not blindly retarget to main or merge main into a child. For an ordinary PR, incorporate required base updates safely and resolve conflicts before assessing readiness.
- Review and repair. Get independent review of the actual final diff.
Review concrete user paths, supported released compatibility contracts and
meaningful performance risks, not speculative edge cases. Fix only findings
that meet "What blocks a PR" in
AGENTS.md, with regression tests where applicable, and handle everything else as "Addressing review feedback" describes (one-line decline, scope guard, at most two review-and-fix rounds). Explain false positives with evidence; do not silently mark them addressed. A prior review remains useful only if its SHA is recorded and every subsequent delta is reviewed, or range-equivalence is demonstrated. A rebase alone is not proof of equivalence. - Validate the changed behavior. Run the smallest relevant existing tests, builds and user-path checks required by repository instructions. Update only affected documentation. Record exact commands and observed outcomes, including limitations. For contributor Markdown-only changes, check frontmatter, links/paths and Markdown plus applicable docs tooling; no full NativeAOT build is needed unless that tooling requires it.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago Changed · +5 lines 9211498105cf
- 24d ago First seen · 240 lines · 96 tokens per session scan A 915bc87ab4fe
pr-lifecycle is a skill published in the GitHub repository microsoft/winappCli (1,314 stars, last pushed today), licensed MIT. It adds 96 tokens to every session and 3,147 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-22.
Other skills, from other repositories
update-pr
Update the pull request for the current session. Use when the user wants to push new changes to an existing PR.
gh-find-prs
Survey open Codewhale PRs and triage each for mergeability and disposition against the real landing branch.
hunk-launch-video
Produces Hunk videos by driving the real TUI headlessly in a PTY, compositing captioned 1080p frames in Chromium, and encoding with ffmpeg. Use for feature demos, workflow explainers, announcements, launch videos, and full-release roundups.
hunk-release
Prepares, publishes, verifies, and curates Hunk releases. Use for release metadata, benchmarks, tags, publishing, release videos, backports, or recovery.
git
Git and code hosting platform management — GitHub, GitLab, Codeberg, Forgejo. Zero barrier — install x-cmd and manage repos from the terminal. Use for "git", "github", "gitlab", "repo", "pull request", "code hosting".
vhs-e2e-gif
Record a test run, a TUI session, or any terminal command as a GIF with VHS and attach it to a GitHub PR as a release-hosted asset, never a repo commit. Use when asked to record an e2e run, demo a fix on a PR, attach a GIF or screen recording to a pull request, show a test passing visually, or produce a terminal…