zuraffa: Command for Claude Code

.specify/extensions/chore/commands/speckit.chore.pr.md

speckit.chore.pr is a command for Claude Code from arrrrny/zuraffa. It costs 13 tokens per session (1,443 once invoked), scanned A, a copy of speckit.bug.pr, MIT.

A GitHub pull-request command for a completed chore, meaning a maintenance task that is not a new feature or bug fix.

In plain words
What is it for?
Use it after implementing a chore to open a pull request from the current branch with the issue and implementation notes attached.
Why use it?
It gathers the recorded task details, links the related issue, and can still prepare a draft when GitHub tools are unavailable.

Command for Claude Code

Written for Claude Code: $ARGUMENTS substitution.

This is arrrrny/zuraffa's own configuration. It tells Claude Code how to work on zuraffa itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything zuraffa configures →

Reuse

Borrowing it

Nothing to install: this file belongs to arrrrny/zuraffa. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/arrrrny/zuraffa/master/.specify/extensions/chore/commands/speckit.chore.pr.md
Clone the repo
git clone --depth 1 https://github.com/arrrrny/zuraffa

Made for: Claude Code.

Wrote 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.

agentmods badge for speckit.chore.pr

README.md
[![agentmods](https://agentmods.dev/badge/commands/arrrrny/zuraffa/speckit.chore.pr/github.svg)](https://agentmods.dev/commands/arrrrny/zuraffa/speckit.chore.pr)
Your own site
<a href="https://agentmods.dev/commands/arrrrny/zuraffa/speckit.chore.pr"><img src="https://agentmods.dev/badge/commands/arrrrny/zuraffa/speckit.chore.pr/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.

agentmods 80×15 button for speckit.chore.pr

Your own site · 80×15
<a href="https://agentmods.dev/commands/arrrrny/zuraffa/speckit.chore.pr"><img src="https://agentmods.dev/badge/commands/arrrrny/zuraffa/speckit.chore.pr.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 13 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,443 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 89% copy Near-identical to another mod in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00013 $0.01443
Opus 5 $0.00006 $0.00722
Sonnet 5 $0.00003 $0.00289
Haiku 4.5 $0.00001 $0.00144

Measured 8d ago against content hash 85c353888fa6, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

speckit.chore.pr 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 8d 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.

Origin

This is a copy

89% identical to speckit.bug.pr — 61 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.specify/extensions/chore/commands/speckit.chore.pr.md · 98 lines

How it starts

The opening of the file, as written. The whole thing — 98 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Open Chore Pull Request

Open a GitHub pull request for the chore recorded by __SPECKIT_COMMAND_CHORE_IMPLEMENT__. This command reads .specify/chores/<slug>/implement.md (and issue.md if the chore was reported) and creates a PR via the gh CLI from the current branch, linking the issue. If gh or a GitHub remote is unavailable, it writes a ready-to-paste PR draft instead.

This command is the natural follow-up when chore.implement was run with --branch / --worktree: the current branch is the chore branch (e.g. chore/<slug>) and the PR opens from it.

User Input

$ARGUMENTS

Accept any of:

  • slug=<chore-slug> or --slug <chore-slug> or a bare slug-like token.
  • A path that contains the slug (e.g. .specify/chores/logo-swap/).
  • Nothing — fall back to context (see Slug Resolution).

Slug Resolution

Resolve CHORE_SLUG in this order, stopping at the first match:

  1. Explicit user input — a slug passed in $ARGUMENTS (any of the forms above).
  2. Conversation context — if the current session has just run __SPECKIT_COMMAND_CHORE_IMPLEMENT__ (or chore.issue), the slug it reported is the working slug. Reuse it without re-prompting.
  3. Single candidate on disk — list .specify/chores/*/implement.md. If exactly one chore has an implement.md, use it.
  4. Disambiguate:
    • Interactive mode: ask the user which chore to open a PR for and list the candidates.
    • Automated mode: stop with an error listing the candidates. Do not guess.

Once resolved, set CHORE_SLUG and CHORE_DIR = .specify/chores/<CHORE_SLUG>.

Prerequisites

  • CHORE_DIR/implement.md MUST exist. If it does not, stop and instruct the user to run __SPECKIT_COMMAND_CHORE_IMPLEMENT__ first.
  • Confirm the current branch is the chore branch (created by chore.implement --branch, or whatever branch holds the change). If the working tree is on main/master with uncommitted changes, warn the user and ask which branch to open the PR from before continuing.
  • Detect GitHub context (same as chore.issue):
    • git rev-parse --is-inside-work-tree and git config --get remote.origin.url to parse owner/repo; only proceed live when the remote is github.com.
    • command -v gh and gh auth status to confirm the CLI and auth.
    • If gh/GitHub remote/auth is unavailable, write a draft (see Graceful Degradation).

Read the full file on GitHub · 98 lines

Changes

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.

  1. 8d ago First seen · 98 lines · 13 tokens per session scan A 85c353888fa6

Subscribe to this mod's changes

speckit.chore.pr is a command published in the GitHub repository arrrrny/zuraffa (5 stars, last pushed today), licensed MIT. It adds 13 tokens to every session and 1,443 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 89% identical to speckit.bug.pr, differing in 61 lines, and is treated as a copy.