Scraps Review
getsentry/sentry
Filter large Sentry Scraps design-system migration PRs for review by separating mechanical import-path changes, generated baseline updates, snapshot mocks, and pure renames from substantive…
Drive Sentry-derived GitHub issues to merged PRs at scale — pick by priority label, self-assign, plan then implement via subagents, pair adversarial reviews, and shepherd every PR to ready-for-review.
$ npx skills add boardsesh/boardsesh --skill sentry-issue-campaign -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install boardsesh/boardsesh sentry-issue-campaign --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/sentry-issue-campaign .claude/skills/sentry-issue-campaign && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "sentry-issue-campaign" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/sentry-issue-campaign into .claude/skills/sentry-issue-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-issue-campaign", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/sentry-issue-campaignType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add boardsesh/boardsesh --skill sentry-issue-campaign -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install boardsesh/boardsesh sentry-issue-campaign --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/sentry-issue-campaign .agents/skills/sentry-issue-campaign && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "sentry-issue-campaign" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/sentry-issue-campaign into .agents/skills/sentry-issue-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-issue-campaign", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add boardsesh/boardsesh --skill sentry-issue-campaign -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install boardsesh/boardsesh sentry-issue-campaign --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/sentry-issue-campaign .cursor/skills/sentry-issue-campaign && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "sentry-issue-campaign" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/sentry-issue-campaign into .cursor/skills/sentry-issue-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-issue-campaign", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/boardsesh/boardsesh.git --path .claude/skills/sentry-issue-campaign--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add boardsesh/boardsesh --skill sentry-issue-campaign -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install boardsesh/boardsesh sentry-issue-campaign --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/sentry-issue-campaign .gemini/skills/sentry-issue-campaign && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "sentry-issue-campaign" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/sentry-issue-campaign into .gemini/skills/sentry-issue-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-issue-campaign", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install boardsesh/boardsesh sentry-issue-campaignInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add boardsesh/boardsesh --skill sentry-issue-campaign -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/sentry-issue-campaign .github/skills/sentry-issue-campaign && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "sentry-issue-campaign" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/sentry-issue-campaign into .github/skills/sentry-issue-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-issue-campaign", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add boardsesh/boardsesh --skill sentry-issue-campaign -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install boardsesh/boardsesh sentry-issue-campaign --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/sentry-issue-campaign .opencode/skills/sentry-issue-campaign && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "sentry-issue-campaign" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/sentry-issue-campaign into .opencode/skills/sentry-issue-campaign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sentry-issue-campaign", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
sentry-issue-campaignDrive Sentry-derived GitHub issues to merged PRs at scale — pick by priority label, self-assign, plan then implement via subagents, pair adversarial reviews, and shepherd every PR to ready-for-review.
Sentry Issue Campaign is an agent skill from boardsesh/boardsesh. Drive Sentry-derived GitHub issues to merged PRs at scale — pick by priority label, self-assign, plan then implement via subagents, pair adversarial reviews, and shepherd every PR to ready-for-review. Use when asked to "pick up N sentry errors", work from-sentry issues, turn a Sentry triage sweep into fixes, or continue an in-flight Sentry fix campaign. Repo boardsesh/boardsesh.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Sentry and GitHub. The licence is Apache-2.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 93cf9a7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Sentry Issue Campaign loads about 2k tokens when it runs. Until then it costs about 101 tokens; SKILL.md has 1,154 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from boardsesh/boardsesh at commit 93cf9a7, republished under its Apache-2.0 licence (© boardsesh). 1,154 words, ~2,018 tokens.
.claude/skills/sentry-issue-campaign/SKILL.md (or your agent's skills folder).Turn from-sentry issues into merged PRs. The work is orchestration: you pick, claim, delegate,
verify, and shepherd. You rarely write the fix yourself.
For bugs without the from-sentry label, use bug-bash-campaign instead. This skill adds the
Sentry-specific steps ("Resolving the underlying Sentry issues") to the same loop.
gh issue list --label from-sentry --state open --limit 100 \
--json number,title,labels,assigneesSort by priority:P0 → P1 → P2. Take the count asked for, highest priority first.
For each: gh issue edit <n> --add-assignee marcodejongh, then post a claim comment naming the
session so parallel automation picks something else. Skip issues already assigned to someone else.
Before starting any issue, check whether it already has a PR — gh issue view <n> and the
issue's own timeline/linked PRs. A closed event ~1s after a PR merge is an auto-close, i.e.
evidence of a fix. Never conclude "no fix exists" from a paginated gh pr list --state merged --limit N sweep; a matching branch can fall outside the page and read as absence.
If a PR exists but is unmerged, the job is get that PR ready for review, not start over.
Spawn a read-only planning agent per issue. Require it to verify the issue's claims against the code and say so if the issue is wrong — stale and fabricated issues are common (see §6).
Read every plan yourself and judge it:
Model by complexity: Sonnet for mechanical/bounded work, Opus for crashes, concurrency, data correctness, security, native code.
A follow-up at P2 or worse gets a fix PR immediately, not just an issue. File the issue and spawn the implementation agent in the same turn. P3 and below can stay an issue. This applies to findings you generate yourself — review results, hazards spotted mid-task — not only to tickets handed to you.
Put these in every spawn prompt. They are what makes the output trustworthy at 15-agent scale.
git checkout -- <file> to undo a mutation also reverts uncommitted
real work in that file. After any such restore, run git status and read the diff.pr-body-<issue>.md, mutate-<issue>.py). Agents share one
scratchpad directory; PR bodies and mutation scripts have both been silently overwritten
mid-task. Re-read the published PR body with gh pr view after creating it.expo-updates runtimeversion:resolve
(or the PR's own OTA check), not asserted. Upstream claims read out of node_modules, not memory.Read the diff and the red output yourself before you believe a report.
from-sentry so PRs and issues filter together.## Risk must be its own heading with a separate Risk: N/5 — why line
(packages/shared/pr-body/src/risk.ts regex is ^#{2,3}\s+risk\s*$). A combined heading fails.commit-lint reads the webhook payload,
so a rerun reuses the stale title — amend and force-push.--force-with-lease without asking. GitHub's mergeable is computed
lazily and reads UNKNOWN; test locally instead:
git merge-tree --write-tree origin/main <branch> | grep CONFLICT.chatgpt-codex-connector[bot] and fire when a draft is marked ready.
A draft has no codex review because it has never been ready. Promoting a batch triggers a batch
of reviews; work through them.When the user relays review feedback, treat it as authoritative input: revert the PR to draft if the finding is substantive, send the verbatim quote to an agent, and require it to verify the finding before fixing — reviewers are sometimes wrong about the mechanism while right about the bug, and their suggested fix can be wrong even when the finding is right.
Only after the fix has merged. Use resolvedInNextRelease for anything shipping by OTA (it is
still firing on the current fleet; resolved would read as a false claim), resolved for backend
work that deploys on merge. Always pass reason — the fix PR, the mechanism, and any follow-up.
Verify the Sentry ID before touching it. Run search_issues(query="issue:BOARDSESH-XX") and
read the error text back. In one sweep, three IDs cited in our own issue bodies pointed at entirely
different, live bugs — resolving on the citation would have closed two real problems and left them
firing. When one grouping swallows many causes, the issue's headline impact belongs to the bucket,
not the sampled error.
vp test run --project backend runs corrupt each other. Serialize with flock /tmp/boardsesh-backend-tests.lock, scope
to your own files, and treat CI as the authoritative full run. Better: a test that mocks its
dependencies and touches no DB runs under a throwaway vitest config omitting
globalSetup/setupFiles — no lock, seconds.df -h /home before creating worktrees. Reclaim from packages/web/.next in idle
worktrees; remove your own finished agent worktrees only after confirming the commits are on
GitHub (git fetch origin refs/pull/<n>/head).vp test filters are positional: vp test run --project mobile <path>.
vp run test:mobile -- <pattern> ignores the filter and runs everything.main but leaves the head on pre-squash commits — the child silently absorbs the parent's files
and goes red on blobs that were never its own. Fix: git rebase --onto origin/main <old-base-tip>.main — e.g. one moves a constant into
a shared export while the other hardcodes its old value. After both merge, run the shared suite
on main.Surface these rather than deciding them: anything that moves the native fingerprint (forces a TestFlight/Play build and pauses OTA reach), anything needing a secret or operator action to take effect, and anything that mutates stored user data. State plainly when a merged fix is inert until someone acts.
© boardsesh, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/sentry-issue-campaign of boardsesh/boardsesh.
Open the folder on GitHubat commit 93cf9a7
Sentry Issue Campaign next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Sentry Issue Campaign this skillboardsesh/boardsesh | 163 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Scraps Reviewgetsentry/sentry | 46k | — | ~1.2k | Automated safety check: Notes | Custom licence | |
| Create Pull Request with Work Item IDmakeplane/plane | 61k | — | ~824 | Automated safety check: Pass | AGPL-3.0 | |
| Dotagentsgetsentry/sentry-wizard | 295 | — | ~900 | Automated safety check: Pass | Custom licence | |
| Reviewgetsentry/sentry-react-native | 1.8k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Superset Automatesuperset-sh/superset | 15k | — | ~1.4k | Automated safety check: Pass | Custom licence |
getsentry/sentry
Filter large Sentry Scraps design-system migration PRs for review by separating mechanical import-path changes, generated baseline updates, snapshot mocks, and pure renames from substantive…
makeplane/plane
Opens a pull request for the current branch using the repo's template, a work item ID in the title and a description filled in from the actual diff.
getsentry/sentry-wizard
Manage agent skill dependencies with dotagents. An agent skill from getsentry/sentry-wizard.
getsentry/sentry-react-native
Three-axis review of the branch diff — Standards (this repo's documented standards + public API/bridge surface), Spec (the originating Linear/GitHub issue or PR), and Correctness (runtime bugs + the…
superset-sh/superset
Turns a recurring chore into a scheduled or event-triggered Superset agent, drafting its prompt, picking a target and trigger, and reviewing the first run.
getsentry/sentry-react-native
Produce a verified spec — problem, desired outcome, and acceptance criteria — before building.
boardsesh/boardsesh
Run a multi-agent bug bash — pick a batch of open bugs by priority label, claim them, investigate then implement via subagents, pair adversarial reviews, and shepherd every PR to ready-for-review…
boardsesh/boardsesh
Classify collected Boardsesh Discord messages into GitHub issue decisions — bug, feature, question, noise, or duplicate — deduplicating against the existing tracker.
boardsesh/boardsesh
Mine Boardsesh's PostHog telemetry (error tracking, session recordings, product analytics) with a multi-agent workflow, then file verified, deduplicated, severity-labelled GitHub issues.
boardsesh/boardsesh
Capture screenshots of the Boardsesh React Native app (packages/mobile/) running on an Android emulator, driven against Metro with a cached dev-client APK.
Drive Sentry-derived GitHub issues to merged PRs at scale — pick by priority label, self-assign, plan then implement via subagents, pair adversarial reviews, and shepherd every PR to ready-for-review. Sentry Issue Campaign is an agent skill from boardsesh/boardsesh. Drive Sentry-derived GitHub issues to merged PRs at scale — pick by priority label, self-assign, plan then implement via subagents, pair adversarial reviews, and shepherd every PR to ready-for-review.
Sentry Issue Campaign fits situations like: asked to pick up N sentry errors; work from-sentry issues; turn a Sentry triage sweep into fixes; continue an in-flight Sentry fix campaign.
Run `npx skills add boardsesh/boardsesh --skill sentry-issue-campaign -a claude-code`. Or copy the skill folder (.claude/skills/sentry-issue-campaign in boardsesh/boardsesh) into .claude/skills/sentry-issue-campaign in your project. Claude Code loads it when a task matches its description.
Run `npx skills add boardsesh/boardsesh --skill sentry-issue-campaign -a codex`. Or copy the skill folder (.claude/skills/sentry-issue-campaign in boardsesh/boardsesh) into .agents/skills/sentry-issue-campaign in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add boardsesh/boardsesh --skill sentry-issue-campaign -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sentry-issue-campaign, .gemini/skills/sentry-issue-campaign, .github/skills/sentry-issue-campaign and .opencode/skills/sentry-issue-campaign in your project.
Going by SKILL.md and its folder, Sentry Issue Campaign needs the command-line tools its instructions call (git and gh).
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Sentry Issue Campaign is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Sentry Issue Campaign: Scraps Review (getsentry/sentry, 46k stars), Create Pull Request with Work Item ID (makeplane/plane, 61k stars), Dotagents (getsentry/sentry-wizard, 295 stars) and Review (getsentry/sentry-react-native, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
boardsesh (a GitHub organization) maintains it in boardsesh/boardsesh, which has 163 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.
Source: boardsesh/boardsesh on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.