بنقرة واحدة
open-pr
Run pre-PR checks, push the branch, and open a pull request
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Run pre-PR checks, push the branch, and open a pull request
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the project issue tracker. Use when the user wants to convert a plan into issues, create implementation tickets, or break down work into issues.
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
Capture rough notes locally with zero ceremony, then export them to their right permanent home. Use when the user wants to jot/park/stash a thought mid-task without derailing ("note to self", "remember to", "journal this"), or when they later want to export/file/route parked notes into an issue, spec, ADR, CONTEXT term, or docs. Capture is local and gitignored; export delegates to whichever existing skill owns the note's permanent home.
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/spec asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".
Implement a piece of work based on a spec or set of tickets.
Plan a huge chunk of work — more than one agent session can hold — as a shared map of investigation tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.
| name | open-pr |
| description | Run pre-PR checks, push the branch, and open a pull request |
| allowed-tools | Bash(git:*), Bash(gh pr create:*), Bash(npx prettier:*), Bash(npx ng lint:*), Bash(npx eslint:*) |
| user-invocable | true |
Run each step in order. Stop and report if any step fails.
git log --oneline develop..HEAD
Confirm all commits match #{ticket_number} {2-8 word description} (e.g., #501 Add endpoint for client rules). Flag any that don't.
cd "$(git rev-parse --show-toplevel)/angular-client" && npx prettier --check "src/**/*.{ts,html,scss}" && npx ng lint
If there are frontend changes. Skip if the diff only touches scylla-server/.
Why the absolute cd: the Bash tool persists cwd across calls, so a bare cd angular-client errors on the second run when you're already inside. Resolving from git rev-parse --show-toplevel makes it idempotent regardless of where the prior command left you.
git fetch origin develop
git merge --no-commit --no-ff origin/develop || true
git merge --abort 2>/dev/null || true
Note: "Already up to date" returns a non-zero exit code but is not a failure. Only stop if there are actual merge conflicts in the output.
Use .github/pull_request_template.md as the base. Fill in sections from the diff.
PR style for this repo:
Closes #NNN at the bottom referencing the GitHub issueExample Changes section (good — precise):
Adds a Flat toggle to the graph sidebar topic tree (desktop + mobile) that swaps the nested tree for an alphabetical flat list of leaves. Labels show the full path when it fits a 30-char budget, otherwise compact to firstSegment...tail. Selection state is preserved across toggles.
Example Changes section (bad — verbose, redundant bullets, filler):
Adds a Flat toggle to the graph sidebar topic tree (desktop and mobile). When on, the tree renders as a flat alphabetical list of leaves; when off, it returns to the nested tree with selection state preserved across the toggle. This is a building block for selected-topics-only views.
- New flattenTreeNodes + compactTopicLabel helpers in src/utils/tree.utils.ts
- Toggle UI (PrimeNG ToggleSwitch) wired into the desktop and mobile sidebar headers
- Flat labels show the full path when it fits (default 30-char threshold) and otherwise compact to firstSegment...tail, keeping as much of the tail as fits
The bad version repeats the same information in prose and bullets, narrates the toggle behavior instead of stating it, and pre-pitches a future feature in Changes.
Screenshot rule (CRITICAL):
user-attachments/assets/... URLs (drag-and-dropped by the user via the GitHub web UI) belong in the Screenshots sectionraw.githubusercontent.com URL, SHA-pinned raw URL, or local file path into the Screenshots section_screenshot pending_ placeholder — do not link to local filespictures/<branch>/, report the full paths to the user and remind them to drag-drop the relevant ones into the PR body via the GitHub web UI themselvesWriting shape (borrowed from Matt's writing-shape skill):
Backtick rule: Max 3 backtick usages in the entire PR description. You can reference files, functions, and identifiers without backticks — only use them for commands worth copy-pasting.
Write the PR body to /tmp/<branch-name>-pr-body.md, where <branch-name> is the current git branch (git branch --show-current). Using a branch-specific filename avoids stale content from previous PRs leaking in.
Restore any untracked or modified files that were changed as a side effect of earlier steps (e.g. package-lock.json from npm install during lint). The working tree must be clean before gh pr create — it aborts on uncommitted changes.
git checkout -- . 2>/dev/null || true
Extract the ticket number from the branch name (e.g., 174-mqtt-screen-mobile-view → #174).
Always use --head with the branch name — gh cli can't always detect the remote branch without it.
git push -u origin $(git branch --show-current)
gh pr create --draft --base develop --head $(git branch --show-current) --title "#{ticket_number} brief title" --body-file "/tmp/$(git branch --show-current)-pr-body.md" --assignee @me
Report the PR URL when done.