Gh Issues
trpc-group/trpc-agent-go
Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments.
Produces a read-only morning brief of your open pull requests across the openobserve GitHub org, with a next step for each and a reminder for idle ones.
$ npx skills add openobserve/openobserve --skill o2-pr-brief -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install openobserve/openobserve o2-pr-brief --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/openobserve/openobserve.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/o2-pr-brief .claude/skills/o2-pr-brief && 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 "o2-pr-brief" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-pr-brief into .claude/skills/o2-pr-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-pr-brief", 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/openobserve/openobserve/tree/main/.claude/skills/o2-pr-briefType 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 openobserve/openobserve --skill o2-pr-brief -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install openobserve/openobserve o2-pr-brief --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openobserve/openobserve.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/o2-pr-brief .agents/skills/o2-pr-brief && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "o2-pr-brief" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-pr-brief into .agents/skills/o2-pr-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-pr-brief", 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 openobserve/openobserve --skill o2-pr-brief -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install openobserve/openobserve o2-pr-brief --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openobserve/openobserve.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/o2-pr-brief .cursor/skills/o2-pr-brief && 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 "o2-pr-brief" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-pr-brief into .cursor/skills/o2-pr-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-pr-brief", 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/openobserve/openobserve.git --path .claude/skills/o2-pr-brief--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 openobserve/openobserve --skill o2-pr-brief -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install openobserve/openobserve o2-pr-brief --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openobserve/openobserve.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/o2-pr-brief .gemini/skills/o2-pr-brief && 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 "o2-pr-brief" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-pr-brief into .gemini/skills/o2-pr-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-pr-brief", 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 openobserve/openobserve o2-pr-briefInstalls 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 openobserve/openobserve --skill o2-pr-brief -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/openobserve/openobserve.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/o2-pr-brief .github/skills/o2-pr-brief && 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 "o2-pr-brief" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-pr-brief into .github/skills/o2-pr-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-pr-brief", 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 openobserve/openobserve --skill o2-pr-brief -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install openobserve/openobserve o2-pr-brief --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openobserve/openobserve.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/o2-pr-brief .opencode/skills/o2-pr-brief && 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 "o2-pr-brief" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-pr-brief into .opencode/skills/o2-pr-brief/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-pr-brief", 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.
o2-pr-briefProduces a read-only morning brief of your open pull requests across the openobserve GitHub org, with a next step for each and a reminder for idle ones.
Each run builds the brief fresh from GitHub using `scripts/pr_brief.py`, which prints JSON. The skill keeps no state and never writes to GitHub: no comments, labels, reviews, approvals, merges, closes or pushes, and it confirms any single action you request afterwards. Each PR appears once, in the first matching bucket among authored, review requested, engaged and assigned, with fields such as CI state, review decision, idle days, blockers and a flag for when only the merge click is missing. Options set the stale threshold, the scope and another user.
Setup is once per person: `gh auth status` must show access to the openobserve org and `python3` must be on the PATH. Then you ask Claude Code, in your openobserve checkout, to run the brief every weekday at 9:00. That creates a local scheduled task using your own `gh` login, which runs while the Claude app is open and the machine is awake. The brief gives the next step per PR and a close reminder for anything idle over a week.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c99e027. 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.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
ghgitpython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, 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.
OpenObserve PR Brief loads about 1.8k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 1,006 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); the scripts in this folder are not scanned.
The full file from openobserve/openobserve at commit c99e027, republished under its AGPL-3.0 licence (© openobserve). 1,006 words, ~1,778 tokens.
.claude/skills/o2-pr-brief/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.A read-only status report built fresh from GitHub on every run. It keeps no state and never writes to GitHub: no comments, labels, reviews, approvals, merges, closes, or pushes. If the user asks for one of those after reading the brief, confirm that single action first.
gh auth status must show you logged in with access to the openobserve org, and python3 must be on PATH.gh login. It runs while the Claude app is open and the machine is awake.git pull on main now and then to pick up changes to this skill.python3 <this skill's directory>/scripts/pr_brief.py. Options: --stale-days N (default 7), --scope 'repo:openobserve/openobserve' (default org:openobserve), --user LOGIN (only when the user asks for someone else's brief). It prints JSON. If gh is not logged in, say so and stop.Each PR appears once, in the first bucket that matches: authored, review_requested, engaged (you reviewed or commented on it), assigned.
Every item has repo, number, title, url, author, fork, draft, size, age_days, idle_days (days since the last human comment, review or push), labels, ci (state, failing check names, pending count excluding the ci-gate check, awaiting_approval workflow runs on a fork PR), review_decision, reviews (latest approve/changes-requested per reviewer), pending_reviewers, mergeable, auto_merge, blockers (why it is not merged yet), and merge_ready (true when nothing but the merge click is missing).
authored: unanswered holds comments and reviews by others after your last activity, each with an excerpt.review_requested: via (you or team:<slug>), requested_at, waiting_days, and engagement when you already commented.engaged (and review_requested/assigned when you took part): engagement.ball tells who moves next:you:re-review-after-approval: you approved and the author pushed code since. Merges of main do not count.you:author-responded: the author pushed or replied after your last comment or review.you:re-requested: your review was requested again after your last activity.merge: you approved, nothing changed since, and it is still open. See approved_not_merged_days and blockers.author: you spoke last and the author has not updated. See waiting_on_author_days; my_last.excerpt is what you said.assigned: assigned_at and assigned_days.Put each PR in exactly one section.
engagement.ball is author. Show how long it has waited; flag it when waiting_days ≥ stale days. When via is a team, say which team, because someone else may have picked it up. When another reviewer already approved, say so. A draft can wait.engaged PRs with a you:* ball: "re-review: new commits since your approval" or "author replied to your comments".unanswered comments (who, one-line gist), changes requested, merge conflicts, failing checks (name them), no ready-for-ci label while you want CI, or merge_ready with auto_merge off ("click Merge when ready").engaged PRs with ball merge. Give approved_not_merged_days and the blockers in plain words, and say who has to act, usually the author. With no blockers: "approved and green, nobody has merged it". When approved_not_merged_days ≥ stale days, add the same close reminder as section 4; at 30 days or more, recommend closing it.author, plus assigned PRs whose next step is the author's (a draft, changes requested). No action is needed; list them so nothing is forgotten. Read my_last.excerpt: if your last word asked for nothing ("LGTM", "thanks"), nothing is pending, so move the PR to the section that fits or leave it out. When waiting_on_author_days ≥ stale days, add "⚠️ no update from the author for N days — consider closing it (or one last ping)".idle_days ≥ stale days. Recommend exactly one of: continue (rebase or merge main, then ping the reviewers by name), convert to draft (still wanted, not now), or close (superseded, idea dropped, or idle for months). Give the reason in one clause. Idle 30 days or more with no reviewer interest means recommend close.openobserve/openobserve and openobserve/o2-enterprise, CI runs only while the PR has the ready-for-ci label and is not a draft. Missing label means CI never ran, which is not the same as a failure.fork: true) every push needs a maintainer to approve the workflow runs ("Approve and run" on the PR's Checks tab) before CI starts; ci.awaiting_approval counts the waiting runs. A fork PR whose only checks are the gate and title checks is not green, CI simply has not started.review (deepseek) check always fails on PRs from forks. Ignore it.check-design-comment / "Feature Design Comment Checker" fails when a feat: PR's description does not start with Design at: #<issue>.BEHIND on its own is not a blocker: the merge queue brings the branch up to date.branch in both, mention them together.PR brief — <login> — <date>, then one line of counts: needs you / in progress / approved-not-merged / waiting on author / stale.[repo#N](url) short title — state → next step. Drop the openobserve/ prefix from repo names. Add at most one sub-line when the reason needs it, for example the failing check names or an unanswered reviewer's gist.© openobserve, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in .claude/skills/o2-pr-brief of openobserve/openobserve.
Open the folder on GitHubat commit c99e027
OpenObserve PR Brief 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 |
|---|---|---|---|---|---|---|
| OpenObserve PR Brief this skillopenobserve/openobserve | 22k | — | ~1.8k | Automated safety check: Pass | AGPL-3.0 | |
| Gh Issuestrpc-group/trpc-agent-go | 1.9k | 8 repos | ~8.7k | Automated safety check: Pass | Apache-2.0 | |
| PR Monitorespennilsen/pi | 122 | — | ~935 | Automated safety check: Pass | MIT | |
| Jira Issue To PROpenHands/extensions | 163 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Release Kanban Mdantopolskiy/kanban-md | 223 | — | ~1.2k | Automated safety check: Pass | MIT | |
| GitHub Channel for NanoClawnanocoai/nanoclaw | 31k | — | ~2.2k | Automated safety check: Notes | MIT |
trpc-group/trpc-agent-go
Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments.
espennilsen/pi
Monitor open GitHub PRs across all repos in ~/Dev. An agent skill from espennilsen/pi.
OpenHands/extensions
This skill should be used when the user asks to "set up a Jira automation to create pull requests", "poll Jira for create-pr issues", "automatically create GitHub PRs from Jira tickets", "deploy a…
antopolskiy/kanban-md
Release kanban-md through its tag-triggered GoReleaser workflow, monitor CI, recover safely from failures, and publish user-facing GitHub release notes.
nanocoai/nanoclaw
Lets a NanoClaw agent join GitHub pull request and issue comment threads as conversations, using a dedicated bot account and the Chat SDK bridge.
davila7/claude-code-templates
Automate GitHub repositories, issues, pull requests, branches, CI/CD, and permissions via Rube MCP (Composio).
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
openobserve/openobserve
A playbook for fixing ESLint and TypeScript errors in the OpenObserve web frontend, with rule-by-rule guidance and typing conventions.
openobserve/openobserve
ALWAYS use this skill for ANY change to the OpenObserve web UI (web/) — even a single-line UI modification.
Works with
Categories
Produces a read-only morning brief of your open pull requests across the openobserve GitHub org, with a next step for each and a reminder for idle ones. py`, which prints JSON. The skill keeps no state and never writes to GitHub: no comments, labels, reviews, approvals, merges, closes or pushes, and it confirms any single action you request afterwards.
OpenObserve PR Brief fits situations like: starting the day with a list of PRs that need your attention; finding PRs you approved that are still not merged; spotting PRs that have sat idle for more than a week; setting up a weekday scheduled PR brief.
Run `npx skills add openobserve/openobserve --skill o2-pr-brief -a claude-code`. Or copy the skill folder (.claude/skills/o2-pr-brief in openobserve/openobserve) into .claude/skills/o2-pr-brief in your project. Claude Code loads it when a task matches its description.
Run `npx skills add openobserve/openobserve --skill o2-pr-brief -a codex`. Or copy the skill folder (.claude/skills/o2-pr-brief in openobserve/openobserve) into .agents/skills/o2-pr-brief 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 openobserve/openobserve --skill o2-pr-brief -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/o2-pr-brief, .gemini/skills/o2-pr-brief, .github/skills/o2-pr-brief and .opencode/skills/o2-pr-brief in your project.
Going by SKILL.md and its folder, OpenObserve PR Brief needs Python for the scripts in its folder and the command-line tools its instructions call (gh, git and python3). Our summary lists: The GitHub CLI (`gh`) logged in with access to the openobserve org; Python 3 on the PATH.
SKILL.md contains no URLs. Its commands use gh and git, 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
OpenObserve PR Brief is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.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 OpenObserve PR Brief: Gh Issues (trpc-group/trpc-agent-go, 1.9k stars), PR Monitor (espennilsen/pi, 122 stars), Jira Issue To PR (OpenHands/extensions, 163 stars) and Release Kanban Md (antopolskiy/kanban-md, 223 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
openobserve (a GitHub organization) maintains it in openobserve/openobserve, which has 22,312 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 10, 2026.
Source: openobserve/openobserve on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.