pr-delivery
Use to deliver a durable Zava Learning fix as a GitHub pull request once an incident has been root-caused — for either an Infrastructure-as-Code change (Bicep under infra/) or an application code change (under src/). The single skill that creates pull requests; applies after live mitigation and root-cause confirmation. The resulting PR URL is what the ServiceNow Change Request references.
- License 许可
- MIT
- 最近更新
- 2026-11-10
- Stars
- ★ 188
- Forks
- 197
01 前言 Front Matter
- name
- pr-delivery
- tools
- [ "RunAzCliReadCommands", "GetAzCliHelp", "FindConnectedGitHubRepo", "GetIaCForGitHub", "ExecutePythonCode", "SearchMemory" ]
- metadata
- { "kind": "Skill", "api_version": "azuresre.ai/v2" }
- description
- Use to deliver a durable Zava Learning fix as a GitHub pull request once an incident has been root-caused — for either an Infrastructure-as-Code change (Bicep under infra/) or an application code change (under src/). The single skill that creates pull requests; applies after live mitigation and root-cause confirmation. The resulting PR URL is what the ServiceNow Change Request references.
03 SKILL.md 正文
Zava Learning — Pull Request Delivery (IaC + Code)
Single owner of GitHub pull-request creation for durable fixes. Repo: @@REPO@@
(hosts the app src/ and the infrastructure infra/). This skill applies once an incident is
root-caused and the live mitigation is in place; the pull request it produces is later referenced
by the ServiceNow Change Request (servicenow-change-management).
There is no native GitHub pull-request tool — author the branch, commit, and open the PR with
ExecutePythonCode (GitHub REST API / gh) using FindConnectedGitHubRepo and
GetIaCForGitHub to locate the repo and IaC. Never commit secrets. Before opening the PR, retrieve
SearchMemory("zava-redaction") and run its redact() over the PR title, body, and commit message
(and never stage a credential or .env/*.pem/git-credentials file into the diff).
When to use
- An incident is root-caused to a durable defect and the live mitigation is already applied.
- The fix belongs in version control: IaC (
infra/, e.g. an NSG rule ininfra/modules/network.bicep, or a value ininfra/main.parameters.json) or application code (src/, e.g. a synchronous crypto regression insrc/assessment-api/server.js).
Decide the change class
- Infrastructure (IaC): the fix is a guardrail or config in Bicep / parameters. Make BOTH live Azure and the committed IaC reflect the corrected state so the next deploy keeps the fix.
- Application code: the fix is in
src/. The live mitigation was a revision rollback/restart; the PR carries the actual code correction.
Steps
- Resolve the repo and IaC type (
FindConnectedGitHubRepo,GetIaCForGitHub). - Branch from default:
fix/<symptom-slug>(e.g.fix/quiz-launch-nsg-priority). - Apply the minimal, surgical change. Match existing style. Touch only what the root cause requires.
- Commit with a conventional message:
fix(<area>): <symptom> — <root cause>and a body that summarizes the RCA and links the PagerDuty incident. - Open the PR against
@@REPO@@. PR body must include: symptom, root cause, the change, verification evidence (link the Before/After), and the PagerDuty incident number. - Capture the PR URL — the ServiceNow Change Request (
servicenow-change-management) references it. Post the PR link back in the PagerDuty incident notes.
Out of scope (human approval required)
- Merging the PR, force-pushes, history rewrites, changes outside the root-cause fix, VNet/subnet/IAM changes.
Verification
The PR is open against the correct repo/branch with a complete RCA-backed description and a linked Change Request; CI (if any) is green. Report the PR URL.
04 同仓库更多 Skills
zava-reporting
Use to package a completed Zava Learning incident analysis for the audience. First present a branded in-thread executive summary (markdown with the before/after visuals inline), then produce the downloadable deliverables — a PowerPoint deck, an HTML email, and a Teams notification — using the Zava corporate template. The calling agent may narrow this to a subset (e.g. only the HTML report). Produces content and artifacts; it does not send them. Assembles the output of rca-analysis, evidence-before-after, recommendations-next-steps, and pr-delivery.
zava-audit-report
Use to package a completed Zava Learning weekly governance audit (NSG / network security, RBAC / least-privilege, or cloud cost) into a single branded, downloadable PowerPoint deck in the Zava house style. The calling audit agent passes its findings (a list of rows with severity) and a short posture summary; this skill renders the deck, applies redaction, and returns the attachment download link. Produces the artifact; it does not send it.
servicenow-change-management
Use whenever a Zava Learning investigation produces a durable fix that needs change management — after a GitHub PR is opened for an Infrastructure-as-Code or application code root cause, raise a ServiceNow Change Request referencing the PR and attach the RCA report. The single owner of ServiceNow Change Request and attachment operations.
redaction-guard
Use whenever you are about to emit operator-visible content — a chat/thread message, a PagerDuty or ServiceNow note, a commit message or pull-request body, or any report artifact (HTML, PowerPoint, Teams card). Deterministically masks secrets, credentials, tokens, private keys, URI-embedded passwords, and PII so they never appear in the thread or in any deliverable. This is a cross-cutting guardrail invoked by the output-producing skills, not a runbook step.
recommendations-next-steps
Use to produce the forward-looking recommendations and next steps for a Zava Learning incident — prioritized preventive, detective, and process actions with owners, target dates, and the risk of inaction. Its output is used in the zava-reporting deliverables.
rca-analysis
Use to produce the root-cause analysis narrative for a resolved or mitigated Zava Learning incident — the incident timeline, the trigger vs. latent root cause (5-Whys), contributing factors, and how to present them. Defines the RCA section format; its output is used in the before/after, recommendations, and reporting deliverables.