Agent skill

Redlamp Reports

by pdcgomes in pdcgomes/redlamp

The reports room, where every report people file on GitHub (Report a Bug and Send Feedback from the app, and issues opened by hand) is followed from arrival to the release that ships its fix, in a…

MPL-2.0Auto-check passedTesting & QA

Install Redlamp Reports

skills CLI
$ npx skills add pdcgomes/redlamp --skill redlamp-reports -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pdcgomes/redlamp redlamp-reports --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/pdcgomes/redlamp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/redlamp-reports .claude/skills/redlamp-reports && rm -rf skills-src

Use ~/.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/

Facts

Skill name
redlamp-reports
GitHub stars
222
Token cost
~2.7k tokens
SKILL.md length
1,600 words
Files
4
Skills in repo
11
Repo updated
First seen
Licence
MPL-2.0

At a glance

The reports room, where every report people file on GitHub (Report a Bug and Send Feedback from the app, and issues opened by hand) is followed from arrival to the release that ships its fix, in a…

  • Works in 5 steps: Run python3… → Write a read of each report waiting for… → Give each suggestion a proposal: what… → …
  • Feedback comes in
  • SKILL.md covers Where, Every time: know where things…, Triage: what each button does and Reopened reports, plus 8 more sections
  • Runs Python scripts from its folder; calls gh and python3

What it does

Redlamp Reports is an agent skill from pdcgomes/redlamp. The reports room, where every report people file on GitHub (Report a Bug and Send Feedback from the app, and issues opened by hand) is followed from arrival to the release that ships its fix, in a canvas the owner triages from. A bug he marks Fix it gets its own agent chat that reproduces it, fixes it, pushes to main and replies on the issue with the cause, the fix and the release; a suggestion he accepts goes onto the roadmap, one he rejects is closed with his reason. Use when a bug report or feedback comes in…

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `bug-agent.md` and `room.py`).

It sits in Testing & QA, covering QA and bug reports. It works with GitHub. The repository describes itself as: A native, open-source RAW photo editor for Mac, iPad and iPhone that feels immediately familiar to Lightroom users. The licence is MPL-2.0.

When your agent uses it

  • Feedback comes in
  • Closing a report
  • Applying the owners triage decisions
  • Replying to a reporter

Example prompts

  • “/redlamp-reports”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Run python3 .cursor/skills/redlamp-reports/room.py status. Never take states from memory. It lists the reports waiting for triage, the…
  2. Write a read of each report waiting for triage when the owner asks for one (Refresh, or Ask the agent): what the person says happened, the…
  3. Give each suggestion a proposal: what Accept would do. A new row (its ID, the next free one in the right section of…
  4. After a release ships, see After a release below.
  5. Sync: room.py sync, and say plainly what you didn't check.

What it can do on your machine

Read from SKILL.md and the folder at commit bc52683. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • gh
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Redlamp Reports loads about 2.7k tokens when it runs. Until then it costs about 182 tokens; SKILL.md has 1,600 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~182
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from pdcgomes/redlamp at commit bc52683, republished under its MPL-2.0 licence (© pdcgomes). 1,600 words, ~2,738 tokens.

Download SKILL.mdSave it as .claude/skills/redlamp-reports/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
redlamp-reports
description
The reports room, where every report people file on GitHub (Report a Bug and Send Feedback from the app, and issues opened by hand) is followed from arrival to the release that ships its fix, in a canvas the owner triages from. A bug he marks Fix it gets its own agent chat that reproduces it, fixes it, pushes to main and replies on the issue with the cause, the fix and the release; a suggestion he accepts goes onto the roadmap, one he rejects is closed with his reason. Use when a bug report or feedback comes in, when triaging, fixing, answering or closing a report, applying the owner's triage decisions, replying to a reporter, after a release ships, or asking which reports are open, fixed or released.

The reports room

Every report is followed in one canvas, the reports room: the reporter's own words, the owner's triage, each bug's agent and how far it has got, the fixes on main and the release each is expected in, and the suggestions with the owner's decision. The owner triages everything by hand for now; nothing is fixed, answered, closed or added to the roadmap until he says so on the board.

Where

WhatWhere
The room~/.cursor/projects/Users-pedrogomes-src-darkroom/canvases/reports-room.canvas.tsx, from template.tsx. room.py sync writes its DATA block; edit only its room object (decisions and links). A change to the rendering goes into the template and the room together.
The owner's clicksreports-room.canvas.data.json beside it, under triage: { "<n>": { "decision": "fix" | "close" | "accept" | "reject" | "answer", "at": "…", "reason"?: "…", "token"?: "…" } }. Only the canvas writes it.
The room's notes~/.cursor/projects/Users-pedrogomes-src-darkroom/reports-room/: reports/<n>.json per report (what agents record), log.jsonl, thumbs/. Written only through room.py, so agents working at once never write the same file.
The scriptroom.py: status, sync, watch, claim, note, log (its docstring has every option). Run the main checkout's copy, from anywhere.
The bug agent's briefbug-agent.md, which Fix it hands each bug's agent
How reports are filedpackages/RedlampUI/Sources/Feedback (the sheet and Your Reports), web/lib/feedback.ts (the relay), .cursor/rules/tracker-issues.mdc (Issues people file)

Read ~/.cursor/skills-cursor/canvas/SKILL.md once per session before the first edit of the room. Link the room in every reply that changes it: [Reports room](/Users/pedrogomes/.cursor/projects/Users-pedrogomes-src-darkroom/canvases/reports-room.canvas.tsx).

Every time: know where things stand

  1. Run python3 .cursor/skills/redlamp-reports/room.py status. Never take states from memory. It lists the reports waiting for triage, the decisions waiting to be applied, the agents at work, and the closed ones, with each one's commits on main and branches, the release it's expected or was released in, and the replies. It folds in the owner's clicks.
  2. Write a read of each report waiting for triage when the owner asks for one (Refresh, or Ask the agent): what the person says happened, the code it's likely about, whether main has fixed it since their version, whether something already tracks it. Two or three sentences, with no GitHub writes and no code changes: room.py note <n> --read "…".
  3. Give each suggestion a proposal: what Accept would do. A new row (its ID, the next free one in the right section of docs/research/research-tracker.md, its item text and phase), follows an existing row, or a duplicate of one: room.py note <n> --proposal '{"kind": "new row", "id": "TON-31", "text": "…", "phase": "P3"}'.
  4. After a release ships, see After a release below.
  5. Sync: room.py sync, and say plainly what you didn't check.

Triage: what each button does

The owner decides on the Triage tab. Each card shows the report's own sections (What happened, What I expected, Steps to reproduce; What I'd like to do; Message), its area, how often, the version and Mac, the replies, a thumbnail of the first screenshot, a read and a proposal when an agent has written them.

  • Fix it (bugs): records fix with a token and opens a new chat for that bug alone, prompted to follow bug-agent.md. The agent claims the report with the token, which ties the chat to the board.
  • Accept (suggestions): records accept; its label says what the proposal does.
  • Reject… (suggestions) and Close… (bugs, questions): record reject or close with the owner's reason, in a sentence written for the reporter.
  • Answer it (questions): records answer and opens a chat that answers it (Questions, below).
  • Ask the agent: opens a chat to look into the report and write a read; it changes nothing.
  • Apply decisions: opens one chat that carries out every recorded Accept, Reject and Close (Applying decisions, below). Undo removes a click that hasn't been applied.
  • Refresh: opens a chat that brings the room up to date, as above.

A Fix it that no agent has claimed shows under "Fix it, no agent has picked it up yet", with Start its agent again.

Reopened reports

When a report is reopened after its fix (the reporter says it isn't fixed, or asks for more), it goes back to Triage. Its card says who reopened it and when, and shows the earlier round: the commits, the release they shipped in, its reply, and Open the first agent's chat. Clicks, reads and fixes from before the reopen no longer count; room.py finds the reopen in the issue's events and keeps the earlier round in the report's history (rounds). Fix it again opens a new agent chat whose prompt names the earlier fix and the first agent's chat, and asks it to find out why that fix wasn't enough before changing anything. When the agent claims the report, the earlier round is filed under rounds in its note.

Applying decisions

Take each recorded decision in turn, then record it with room.py note <n> --triage <decision> --applied "<what you did>" (and --tracked <ID> where it became one), so the board stops showing it as waiting.

  • Close (a bug): reply with the owner's reason, in his voice, and close it as not planned (gh issue close <n> --reason "not planned").
  • Reject (a suggestion): the same; add a SKIP- row to the tracker when the reason is worth keeping (section 13, Recorded skips).
  • Accept, a new row: add the row to the tracker, as .cursor/rules/tracker-issues.mdc says: a new ID in the right section, never reused; Decision Accepted (<date>): the owner accepted it from #<n>; Status Not started; Source linking the issue. Start the issue's title with the ID (gh issue edit <n> --title "TON-31: …"), so the next sync adopts it and keeps the reporter's text above its block. Then bring the README roadmap and the Lightroom comparison into step (scripts/roadmap-sync.py, .cursor/rules/roadmap-and-comparison.mdc), commit, push, and sync the issues (scripts/tracker-issues.py, then --apply) only when .cursor/rules/main-branch.mdc allows it. Reply to the reporter: it's on the roadmap as the row, and the app's Your Reports shows it as Tracked as that ID.
  • Accept, follows a row: label it follows:<ID> (create the label the first time, gh label create follows:<ID> --color ededed), and reply that it's tracked as the row (link its issue) and that the reply will come there when it lands. It stays open for the person who asked.
  • Accept, a duplicate: close it as a duplicate of the row's issue, with a reply that links it.
Show full SKILL.md (561 more words)Show less

Questions

Answer it gives a question to a chat of its own. Answer from what the README, the docs, the manual and the code say, in the owner's voice, and close the issue as completed once it's answered. If the answer is "not yet" and it's worth doing, record what you found with --waiting you, so the owner can make it a suggestion; if it describes a bug, say so and let the owner triage it again.

A bug's agent

Its brief is bug-agent.md: claim, read, reproduce when it isn't obvious, fix in a worktree of its own, push to main through the push gate, reply with the cause, the fix and the release, and close. It records every step with room.py note and syncs the room, so the Bugs tab shows each bug's track: Reported, Triaged, Reproduced (or not needed), Fixed, On main, Replied, Released. It stops and asks, flagged on the board, when the fix would change how existing edits render, when another session is rewriting the same code, while the release room is approved or releasing, and when it needs something only the owner has.

The expected release is the upcoming version from scripts/release-status.py, or the one after it when the release room has already checked a candidate that doesn't hold the fix. A fix that changes nothing in the app (the site, the cask, the docs) is out once it's on main.

After a release

When a release has shipped (room.py status shows fixes Released in it), reply on each report it fixed, in a sentence: "Redlamp 0.2.6 is out with this fix: Check for Updates… in the Redlamp menu installs it." Record it with room.py note <n> --out-url <the comment's URL>. A fix the room expected in that release but which isn't in it shows as missed: reply with a correction naming the release it comes in now, and record the new one in --release. The release room's last step brings this room up to date.

Keeping it live

room.py watch syncs every 5 minutes (--every <seconds>); it only reads GitHub and git, so the owner can leave it running in a Terminal tab, or an agent in a background shell. A sync rewrites the room only when something changed, or when its last check is over four minutes old. A sync takes about a minute on this Mac, most of it git.

Writing in the owner's voice

Replies on GitHub go out under the owner's account. Take his voice from his own messages (~/.cursor/projects/Users-pedrogomes-src-darkroom/agent-transcripts/*/*.jsonl, the user lines) and his comments on the issues: plain, first person, short, and kind to the person who took the time to report. Say what was wrong and what changed in words a photographer follows, not the code's. No superlatives, exclamation marks or em dashes, and none of the usual tells ("delve", "seamless"). British spelling (docs/brand/README.md). Claim only what the fix and its tests show.

Later

When the owner wants it, a keeper chat can start each bug's agent without the click: room.py watch notices the new report, and the keeper hands a background agent the same brief.

Evolving the room

The owner shapes the room as needs come up. A new list, state or button goes into the template, room.py and this skill in the same change, and the room picks it up. Commit them on main: Reports room: ….

© pdcgomes, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in .cursor/skills/redlamp-reports of pdcgomes/redlamp.

  • SKILL.md
  • bug-agent.md
  • room.py
  • template.tsx

Open the folder on GitHubat commit bc52683

Compare with similar skills

Redlamp Reports 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.

Redlamp Reports compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Redlamp Reports this skillpdcgomes/redlamp222—~2.7kAutomated safety check: PassMPL-2.0
Weavebench Cua ReproduceAMAP-ML/LongHorizon-Harness1.7k—~1.6kAutomated safety check: PassMIT
Evidence-Driven Testingmichaelshimeles/skills1.3k1 repos~3.9kAutomated safety check: PassNone
Create GitHub IssueNVIDIA/OpenShell16k—~1.7kAutomated safety check: PassApache-2.0
Triage IssuesClickHouse/clickhouse-java1.6k—~904Automated safety check: PassApache-2.0
Gentle AI Issue CreationGentleman-Programming/gentle-shell1.3k—~2.5kAutomated safety check: PassApache-2.0

Similar skills

  • Weavebench Cua Reproduce

    AMAP-ML/LongHorizon-Harness

    Reproduce CUA-Harness experiments on WeaveBench from a GitHub checkout.

    1.7k GitHub stars~1.6k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Evidence-Driven Testing

    michaelshimeles/skills

    Records an annotated screen recording of the agent testing an app hands-on, then posts the video and a results summary to the PR and tracker issue.

    1.3k GitHub starsUsed in 1 repo~3.9k tokens
    Testing & QAAuto-check passed
  • Create GitHub Issue

    NVIDIA/OpenShell

    Official

    Create GitHub issues using the gh CLI. An agent skill from NVIDIA/OpenShell.

    16k GitHub stars~1.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Triage Issues

    ClickHouse/clickhouse-java

    Analyzes a single GitHub issue at a time. An agent skill from ClickHouse/clickhouse-java.

    1.6k GitHub stars~904 tokensUpdated today
    Testing & QAAuto-check passed
  • Gentle AI Issue Creation

    Gentleman-Programming/gentle-shell

    Create and triage GitHub issues from repository evidence. An agent skill from Gentleman-Programming/gentle-shell.

    1.3k GitHub stars~2.5k tokensUpdated today
    Testing & QAAuto-check passed
  • Termio Bug Report

    termio-sh/termio

    Diagnose a termio hang, beachball, crash, or 'it froze again' from the evidence macOS and termio actually leave behind — live process samples, crash and CPU-burn reports, the unified log, the…

    539 GitHub stars~1.9k tokensUpdated yesterday
    Testing & QAAuto-check passed

More from pdcgomes/redlamp

All 11 skills in this repo
  • Redlamp Bench

    pdcgomes/redlamp

    Redlamp Bench, the way an agent asks the owner to do a step in another app and gets the results back without anyone moving files.

    222 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Redlamp Manual

    pdcgomes/redlamp

    The Redlamp User Manual (docs/manual), a dense, book-style PDF for photographers, typeset from Markdown and a print style sheet by Chrome, with its ranges, defaults and shortcuts generated from the…

    222 GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Redlamp Promo Studio

    pdcgomes/redlamp

    The promo studio, which makes Redlamp's short promotional videos for social feeds the way a small creative agency does - a brief, hooks and copy, a script on a music grid, visuals from the promo…

    222 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Redlamp Site

    pdcgomes/redlamp

    Map of redlamp.app, the Next.js website in web/: its stack and commands, its pages, the home page's sections with their anchors, components and content sources, the brand's Tailwind tokens and…

    222 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Redlamp Blog

    pdcgomes/redlamp

    The blog room, where every redlamp.app blog post is tracked from idea to announcement in a canvas the owner marks as they post.

    222 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Redlamp Press

    pdcgomes/redlamp

    The press room, where every outlet Redlamp is pitched to (newsletters, Mac and photography sites, developer and open-source communities, lists and directories) is tracked from finding it to its…

    222 GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Redlamp Reports

What does Redlamp Reports do?

The reports room, where every report people file on GitHub (Report a Bug and Send Feedback from the app, and issues opened by hand) is followed from arrival to the release that ships its fix, in a…. Redlamp Reports is an agent skill from pdcgomes/redlamp. The reports room, where every report people file on GitHub (Report a Bug and Send Feedback from the app, and issues opened by hand) is followed from arrival to the release that ships its fix, in a canvas the owner triages from.

When should I use Redlamp Reports?

Redlamp Reports fits situations like: feedback comes in; closing a report; applying the owners triage decisions; replying to a reporter.

How do I install Redlamp Reports in Claude Code?

Run `npx skills add pdcgomes/redlamp --skill redlamp-reports -a claude-code`. Or copy the skill folder (.cursor/skills/redlamp-reports in pdcgomes/redlamp) into .claude/skills/redlamp-reports in your project. Claude Code loads it when a task matches its description.

How do I install Redlamp Reports in Codex?

Run `npx skills add pdcgomes/redlamp --skill redlamp-reports -a codex`. Or copy the skill folder (.cursor/skills/redlamp-reports in pdcgomes/redlamp) into .agents/skills/redlamp-reports in your project. Codex loads it when a task matches its description.

Can I use Redlamp Reports in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pdcgomes/redlamp --skill redlamp-reports -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/redlamp-reports, .gemini/skills/redlamp-reports, .github/skills/redlamp-reports and .opencode/skills/redlamp-reports in your project.

What does Redlamp Reports need to run?

Going by SKILL.md and its folder, Redlamp Reports needs Python for the scripts in its folder and the command-line tools its instructions call (gh and python3). Our summary lists: Python 3.

Does Redlamp Reports access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Redlamp Reports safe to install?

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.

What licence does Redlamp Reports use?

Redlamp Reports is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Redlamp Reports use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Redlamp Reports?

Skills that share tags, products or a category with Redlamp Reports: Weavebench Cua Reproduce (AMAP-ML/LongHorizon-Harness, 1.7k stars), Evidence-Driven Testing (michaelshimeles/skills, 1.3k stars), Create GitHub Issue (NVIDIA/OpenShell, 16k stars) and Triage Issues (ClickHouse/clickhouse-java, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Redlamp Reports?

pdcgomes (a GitHub user) maintains it in pdcgomes/redlamp, which has 222 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 10, 2026.

Source: pdcgomes/redlamp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.