Skip to content
Back to skills

Speckit Jit Pr

ASecurity

Review, commit, push and open the task's pull request

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 5, 2026
developmentgobashtestinggitsecurity

Security analysis

A100/100

Scanned November 5, 2026

npx -y skills add iamalisson/jit-speckit --skill speckit-jit-pr --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Speckit Jit Pr?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Speckit Jit Pr
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/iamalisson-speckit-jit-pr/badge)](https://www.skillsdirectory.com/skills/iamalisson-speckit-jit-pr)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: speckit-jit-pr
description: Review, commit, push and open the task's pull request
compatibility: Requires spec-kit project structure with .specify/ directory
metadata:
  author: iamalisson
  source: jit:commands/pr.md
---

# Task pull request (after `/speckit-implement`)

1. Read the level: `level:` in `.specify/extensions/jit/jit-config.yml` (default `standard`).
   - **lite**: ask "Review and open the PR now?" and continue only on yes.
   - **standard** and **full**: continue.
2. **Checks.** Run the constitution's test command, plus lint and build if they exist. If
   anything fails, stop and report it. Never open a PR on red checks.

   **Tests are evidence, not decoration.** Each test comes from the task's *Completed when* and
   the spec's acceptance scenarios, and must fail if the behavior breaks:
   - assert exact values, both sides of every limit (the last allowed value and the first
     refused one), the error paths, and that nothing extra leaks out;
   - when a test fails, fix the code. Never loosen an assertion, add a retry or a skip, widen
     an accepted value ("200 or 405"), or delete the test to get green;
   - if an existing test really must change (the spec changed, or the test was wrong), the PR
     body needs a `## Test changes` section saying why. The script refuses the PR without it.

   **Mutation testing proves those tests can fail.** Run
   `bash .specify/extensions/jit/scripts/mutants.sh` (the constitution's `mutate` command on this
   branch's changes). `ok` goes in *Evidence*. `survivors` means a behavior no test checks: for
   each surviving mutant in the changed lines, add the test that kills it, or write one line in
   *Evidence* saying why it changes nothing observable (log or help text). `missing` means the
   constitution has no `mutate` command: say so in *Evidence* and suggest `/jit-speckit:adopt`.
3. **Commit.** Commit the task's changes, and only those. Stage files by name, never
   `git add -A`. Use a Conventional Commit message, `<type>(<scope>): <summary>`, with a body line
   `Refs #<ISSUE>`. Attribution lines (`Co-Authored-By` for Claude, "Generated with") follow the
   project's `.claude/settings.json`: with jit-speckit's default `"attribution"` block there are
   none; if the team removed that block to disclose AI use, keep them. The git pre-commit hook checks for secrets. If it refuses, remove the secret;
   never use `--no-verify`.
4. **Independent review**, the gate that catches what this session cannot see about its own
   work. Launch the reviewer exactly as `commands/review.md` (`/speckit-jit-review`) says: one
   fresh general-purpose subagent, given that file and the facts it lists, and nothing of what you
   think about the code. While it runs:
   - `bash .specify/extensions/jit/scripts/security-scan.sh --changed`. Read every finding and fix
     the real ones. List the false positives with the reason.
   - `/security-review` on the branch.

   Save the report as it came to a file outside the repository (`mktemp`) and record it:
   `bash .specify/extensions/jit/scripts/review.sh record <file>`. Then fix every **High** and
   **Medium** finding in the code (a test changes only when the test was wrong: then
   `## Test changes`, step 2). Commit the fixes (same rules), re-run step 2, and run the review
   again until it says `ready`, at most three rounds; after that stop and show the user what
   remains. **Low** findings are fixed or listed with a reason. Skip nothing because the first
   round was clean: the second round reviews the fixes. This step runs at **every level**: the
   script in step 6 refuses a PR without a recorded `ready` review for the exact diff, so a
   commit after the review means one more review.
5. **PR body**, written to a temporary file. Keep it short to read: what a reviewer needs is
   visible, the rest folds away.
   - one or two sentences on what changed;
   - `## Review`: the reviewer's *What changed* line, each High and Medium finding and the commit
     that fixed it, the Low ones left with their reason, and the final assessment. The script
     refuses a body without this section, at every level;
   - `## Evidence`: one visible line per result (e.g. "tests 42/42 · lint clean · scanners: no
     findings"), showing the task's *Completed when* is met. On **full** the script refuses a body
     without this section.
   - anything long (check output, scan details, false positives with their reason, screenshots)
     goes in a collapsible block, one per topic:
     `<details>` / `<summary>Test output</summary>` / blank line / the content / `</details>`;
   - attribution lines only if the project's settings ask for them (see step 3).
6. Run `bash .specify/extensions/jit/scripts/pr.sh task <TASK_ID> "<commit title>" <body-file>`.
   It pushes (the pre-push hook re-checks every commit for secrets), adds `Closes #<ISSUE>` and
   prints `PR=<url>`, and asks GitHub Copilot code review for a second independent read when the
   account has it. The `Security` and `CI` workflows then run on the PR; they are the gate.
7. End with the PR URL.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.