Agent skill · Audited from source
Pr Fixup
skill · kdlbs/kandevAGPL-3.0 licenceAudited 18 Oct 2026 · source 786d4817799e
Is it safe? With care — CAUTION, grade B (89/100). We read this skill's source at commit 786d4817799e and found no filesystem, network or shell access and no hard-coded secrets. The audit raised 7 findings, 0 critical or high. What it does: Wait for CI and automated reviews on a PR, fix valid failures and comments, disposition every review thread, verify, and push in the primary conversation.
Cite
Cite this page
ModelsAtlas. “Pr Fixup (kdlbs/kandev)”. Retrieved 18 Oct 2026. https://modelsatlas.com/skills/kdlbs/pr-fixup
Trust audit
Audit 0.4.1 · source read 18 Oct 2026
CAUTION means the audit found things worth knowing before you trust this skill. Grade B is shared by 13,985 of 14,816 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | WARN | 6 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | PASS | 1 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (7)
MEDIUMInventory / provenanceinv.symlink · .claude/agents
.claude/agents
- Why
- link not followed
- Fix
- —
MEDIUMInventory / provenanceinv.symlink · .claude/skills
.claude/skills
- Why
- link not followed
- Fix
- —
LOWInventory / provenanceinv.symlink · .github/CLAUDE.md
.github/CLAUDE.md
- Why
- link not followed
- Fix
- —
LOWInventory / provenanceinv.symlink · CLAUDE.md
CLAUDE.md
- Why
- link not followed
- Fix
- —
LOWInventory / provenanceinv.symlink · apps/backend/CLAUDE.md
apps/backend/CLAUDE.md
- Why
- link not followed
- Fix
- —
LOWFilesystem / pathfs.traversal · apps/web/e2e/tests/system/licenses-page.spec.ts:1
import { test, expect } from "../../fixtures/test-base";- Why
- No further detail recorded for this rule.
- Fix
- —
INFOInventory / provenanceinv.oversize · apps/web/generated/licenses.json
apps/web/generated/licenses.json
- Why
- 1506638 bytes not read
- Fix
- —
Audit 0.4.1 · source sha 786d4817799e · 18 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisherkdlbs GitHub organizationOwner of the repository this skill is read from
- Source folderkdlbs/kandev/.agents/skills/pr-fixupThe exact folder we audited
- LicenceAGPL-3.0As the repository states it
- Commit pinned for this verdict786d4817799eA new audit runs when the source changes
- Repository statusNot archivedPushed today
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Wait for CI and automated reviews on a PR, fix valid failures and comments, disposition every review thread, verify, and push in the primary conversation.
--- name: pr-fixup description: Wait for CI and automated reviews on a PR, fix valid failures and comments, disposition every review thread, verify, and push in the primary conversation. --- # PR Fixup Use this workflow directly in the user-started primary conversation. Do not launch a verifier, implementer, or other remediation subagent. A read-only `pr-poller` is the sole exception: launch it only when the user explicitly asks to wait for or monitor PR updates. For a cost-controlled workflow, the user may switch the same conversation to the lower-cost implementation/test model before starting CI remediation. Use `gh` by default; auth or transport errors leave state unknown, never clean. If `gh` returns an authentication error such as 401, use the structured GitHub connector/API fallback for PR, check, and review data. Avoid dumping full HTML/diffs. Map GraphQL thread IDs to REST comment IDs before replies, and refresh current-head state after pushes and review aggregation. If `gh auth status` reports a stale or invalid credential while `gh auth token` returns a usable token, propagate it explicitly to the affected command, for example `GH_TOKEN="$(gh auth token)" scripts/pr-await <PR>`; use the same prefix for `scripts/pr-state` and `gh run` calls. Keep the token out of command output and logs. If token retrieval fails, use the structured connector fallback instead. ## Pipeline Create a visible checklist: 1. Gather PR state 2. Resolve an authorized PR merge conflict 3. Fix failing CI checks 4. Triage every review thread 5. Apply valid fixes and record every disposition 6. Commit, rerun affected checks, and push 7. Re-check the new head 8. Report ## 1. Gather PR State Before the first GitHub call, obtain any network approval required by the runtime. If the runtime denies access, stop until the user authorizes access. Run `scripts/pr-state --compact <PR>` and `scripts/pr-resolve list <PR>`. Load [review-evidence.md](references/review-evidence.md) for snapshot fields, review classification, hidden threads, and access fallbacks. Capture each helper's stdout, stderr, and exit code once per evidence round, then inspect that bounded snapshot. Do not fan out repeated `pr-state` calls while diagnosing one head; repeated API reads can consume the available rate budget and turn a usable snapshot into transport blockage. For cross-repository PRs, use the snapshot's delivery fields as the push target. Then run `gh pr view <PR> --json state,baseRefName,headRefOid,mergeable,mergeStateStatus,reviewDecision`. Require matching head SHAs before triage. Verify the base SHA against the current base-ref tip. Refresh mismatched metadata before attributing failures. If the PR is merged or closed, stop. For a merge, report `mergedAt` and `mergeCommit.oid`. Treat peer alerts as advisory until their SHA matches the current head. If captured output is empty, truncated, or invalid, rerun the command directly and save its unmodified output to a file. Capture stdout and stderr separately and preserve the exit code. An empty capture cannot prove that the PR is clean. If GitHub reports a conflict, load [merge-conflicts.md](references/merge-conflicts.md) before CI or review triage. An explicit fixup request authorizes conflict resolution within that request. Otherwise, report the conflict without changing the branch. If the base advanced without conflicts, use that reference's advanced-base procedure. Base advancement alone does not require a branch update. Record the head, base, synthetic merge, and focused test results. If either input SHA changes, repeat the relevant validation. Keep the helper's exit code unchanged and report any separately verified base drift. For related or stacked PRs, use the semantic-conflict procedure in the same reference. Reconcile changed contracts and stable IDs before delivery. For pending checks, load [waiting.md](references/waiting.md). Use `scripts/pr-await` and its final exit code. For queue membership or enqueue/dequeue requests, load [merge-queue.md](references/merge-queue.md). For queue removals or failed synthetic checks, also load [ci-troubleshooting.md](references/ci-troubleshooting.md). Ordinary PR-head checks do not validate a merge-group commit. Directly supplied review findings need current-source validation even without a GitHub thread. Apply valid fixes within the user's authorization. Do not invent comment IDs or resolutions for findings without a thread. An explicit request to run PR fixup authorizes concise GitHub replies and resolution for every unresolved review thread listed by `scripts/pr-resolve list <PR>` once that thread's disposition is complete. This defines the fixup scope, so do not ask a separate approval question for these writes. A request to address selected comments authorizes writes only for those threads; a review-only request authorizes no GitHub writes. If `reviewDecision=REVIEW_REQUIRED` and `mergeStateStatus=BLOCKED`, report the human approval gate. Green checks do not authorize self-approval or merging. ## 2. Fix CI Failures Before changing code, confirm every reported failed check, its `run_id`, and the parent workflow/job status. A failed job can be visible while its workflow is still in progress; confirm its conclusion and failing step before treating it as reproducible code evidence. Use `scripts/run-quiet gh-run -- gh run view <run-id> --log-failed` so large logs do not flood the conversation. If it returns only GitHub request/transport lines or no failure text, treat logs as unavailable and, after terminal state, use `scripts/pr-state --job-log <job_id>`. For temporary gaps or aggregate-only logs, use the same fallback; it handles plain-text and ZIP responses and emits bounded context. Follow `references/ci-troubleshooting.md`. Reproduce the failing scope locally. For Go lint, use `bash scripts/lint-go-changed <changed-go-files>` from the repository root, including any file named by the failure. Follow `apps/backend/AGENT
Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 786d481
git clone https://github.com/kdlbs/kandev git -C kandev checkout 786d4817799e
The author documents no install command, so this uses the repository directly. Our verdict covers commit 786d4817799e only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- !CAUTION B 89 / 100
first audit · source
786d4817799e
Similar skills
All coding & review skills →kdlbs/kandev
Debug an ACP agent CLI by spawning it, speaking raw JSON-RPC, and capturing every frame to a JSONL file. Use when the user asks to probe an agent's capabilities, compare agents, test a prompt against an agent, inspect…
kdlbs/kandev
Add a new third-party integration (Jira/Linear-style) — per-workspace credentials, 90s auth-health poller, settings page, link/import buttons. Use when scaffolding a new external service integration.
kdlbs/kandev
Delete local branches whose remote has been deleted ([gone]), including their worktrees. Use for branch cleanup after merging PRs.
kdlbs/kandev
Review changed code for quality, security, and architecture compliance. Use only when the user explicitly requests local review or a PR finding requires it.
kdlbs/kandev
Stage and commit changes using Conventional Commits. Use when there are dirty/staged files to commit, the user says "commit", or before pushing a PR.
kdlbs/kandev
AI Kanban & Development Environment. Orchestrate multiple agents, review changes, open PRs. Multi-provider, self-hostable, no telemetry.
Questions about Pr Fixup
What does the Pr Fixup skill do?
Is Pr Fixup safe to install?
What can Pr Fixup access on my machine?
How current is this page?
Sources
- github.com/kdlbs/kandev/tree/main/.agents/skills/pr-fixup — the audited source at commit 786d4817799e and every finding aboveObserved · 18 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the Pr Fixup skill do?
- Is Pr Fixup safe to install?
- What can Pr Fixup access on my machine?