Clawteam
win4r/ClawTeam-OpenClaw
Multi-agent swarm orchestration. An agent skill from win4r/ClawTeam-OpenClaw.
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.
$ npx skills add openobserve/openobserve --skill o2-loop -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install openobserve/openobserve o2-loop --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-loop .claude/skills/o2-loop && 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-loop" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-loop into .claude/skills/o2-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-loop", 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-loopType 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-loop -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install openobserve/openobserve o2-loop --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-loop .agents/skills/o2-loop && 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-loop" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-loop into .agents/skills/o2-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-loop", 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-loop -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install openobserve/openobserve o2-loop --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-loop .cursor/skills/o2-loop && 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-loop" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-loop into .cursor/skills/o2-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-loop", 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-loop--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-loop -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install openobserve/openobserve o2-loop --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-loop .gemini/skills/o2-loop && 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-loop" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-loop into .gemini/skills/o2-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-loop", 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-loopInstalls 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-loop -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-loop .github/skills/o2-loop && 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-loop" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-loop into .github/skills/o2-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-loop", 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-loop -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-loop --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-loop .opencode/skills/o2-loop && 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-loop" agent skill from https://github.com/openobserve/openobserve/tree/main/.claude/skills/o2-loop into .opencode/skills/o2-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "o2-loop", 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-loopSplits 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.
The main session only orchestrates: it discusses the plan with you, writes a spec, starts the `o2-coder` subagent, runs the reviewer, follows loop state and relays progress. It does not edit or review code itself. The coder implements the spec, runs the gates and answers each finding by fixing or disputing it, and it keeps its context across rounds. Each round's reviewer is a fresh process, either the Codex CLI or a sandboxed `claude -p`, that reviews the frozen WIP commit, verifies earlier findings and returns a verdict file.
The loop runs for up to five rounds and then asks you to rule on what remains. Commits stay local and nothing is pushed. A reviewer script picks the backend automatically, preferring Codex and falling back to sandboxed Claude with a warning, and a mode that uses both runs the two reviewers in parallel on the same commit, merges their verdicts and has each check the other's findings in the next round. The Claude backend relies on macOS `sandbox-exec`. State lives in a ledger outside the repository, and only one loop should run per checkout and branch, with separate worktrees for parallel sessions.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1ea6f5a. 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 6 files in scripts/ (Python and Shell), which the agent can run.
Shell commands in SKILL.md call:
gitclaudecodexFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use 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.
O2 Review Loop loads about 3.7k tokens when it runs. Until then it costs about 170 tokens; SKILL.md has 1,972 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 1ea6f5a, republished under its AGPL-3.0 licence (© openobserve). 1,972 words, ~3,706 tokens.
.claude/skills/o2-loop/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.Four roles, kept apart on purpose:
| role | who | does |
|---|---|---|
| orchestrator | this session | discusses the plan with the user, writes spec.md, spawns the coder, runs the reviewer, follows loop-state.py, relays progress and verdicts, writes the report |
| coder | o2-coder subagent (.claude/agents/o2-coder.md) | implements the spec, runs the gates, answers findings; continued across rounds with SendMessage so it keeps its context, or respawned from the ledger when that tool is unavailable |
| reviewer | a fresh process per round: Codex CLI, or claude -p in a sandbox | reviews the frozen WIP commit, verifies earlier findings, returns verdict.json |
| user | you | confirms the plan, watches the progress stream, rules on deferred or disputed items, does the final review |
The orchestrator does not edit code and does not review code. If it finds itself doing either, it is breaking the loop.
review.sh picks one (--backend auto, the default): Codex when its CLI is present (codex on PATH or bundled in ChatGPT.app), otherwise a sandboxed claude -p with a loud warning. Pass --backend claude only when the user asks. --backend both runs Codex and Claude on the same commit in parallel and merges their verdicts: request_changes if either says so, findings numbered CX<round>-<n> and CL<round>-<n> (near-duplicates merged and marked with both sources), and every finding goes to both reviewers in the next round so each verifies the other's. Use it when the user asks for a cross-check or when the change is risky enough to pay for two reviews (roughly the cost of a Claude round plus a Codex round, wall time of the slower one). The Claude backend needs macOS sandbox-exec; --unsandboxed overrides only when the user says so. If no backend exists, stop and tell the user.~/.claude/o2-loop/<repo>/<branch-slug>/; the scripts derive it. Nothing from it is ever committed.git worktree; the loop does not lock anything.~/.claude/o2-loop/<repo>/<branch-slug>/
spec.md orchestrator: the confirmed plan the coder implements and the reviewer checks against
round-N/evidence.md coder: gates run, results, what was fixed this round
round-N/coder.log coder: one line per step, written live
round-N/commit, backend review.sh: the WIP commit reviewed and by which backend
round-N/progress.log review.sh: one line per reviewer action, written live
round-N/verdict.json review.sh: the reviewer's structured verdict
round-N/coder-response.json coder: fix / dispute / partial / defer per finding
round-N/also/<repo name>/ review.sh and that repository's coder: commit, path, diff.patch, delta.patch, evidence.md, coder.log, coder-response.json
round-N/prompt.md, diff.patch, delta.patch, candidates.md, events.jsonl, reviewer.err review.sh
round-N/codex/, round-N/claude/ review.sh (--backend both): each reviewer's own prompt, events, verdict and stderr; round-N/verdict.json is the merge
report.md orchestrator: written when the loop endsScripts, all under <skill dir>/scripts/ (this SKILL.md's directory):
review.sh --round N [--backend auto|codex|claude|both] [--also <checkout> ...]: freezes the tree (and every --also checkout) as wip(o2-loop): round N, runs one reviewer round in disposable worktrees (two reviewers in parallel with both), writes verdict.json. Exit 0 approve, 10 request_changes, 1 failure. --help lists every flag.loop-state.py [--cap 5]: reads the ledger and prints ACTION: with the single next step. Run it after every step; do not decide the next step yourself.selftest.py: regression cases for the state machine and the verdict merge; run it after editing either script.0. Spec. Write <ledger>/spec.md: what the change does, what it must not do, the files or areas it touches, the tests that should cover it, and any constraints from the discussion. One page at most. For a change that spans repositories (openobserve plus o2-enterprise, say), the spec opens with a Contract section, the part every repository must agree on: function and type signatures, feature gates, wire formats, the shared branch name (paired PRs need the same branch name in both repos). Then one section per repository with its own checkout path. Tell the user the loop is starting and which backend review.sh --help would pick.
1. Spawn the coder. Agent with subagent_type: o2-coder, run_in_background: true. The brief is only: the ledger path, "round 1", and "read spec.md". Agent definitions load at session start, so if the harness answers that o2-coder is not found, spawn general-purpose instead with the body of .claude/agents/o2-coder.md prepended to the same brief; the rules are identical, only the packaging differs. Do not paste the discussion; the spec is the contract. Before spawning, start a Monitor on <ledger>/round-1/coder.log (create it with touch first) so the coder's steps land in the chat:
L=<ledger>/round-N/coder.log; while IFS= read -r line; do echo "$line"; case "$line" in *" question: "*|*" step: finished"*) pkill -f "^tail -n 0 -f $L"; break ;; esac; done < <(tail -n 0 -f "$L")The watcher ends only on the coder's fixed last line step: finished or on a question: line; a looser pattern such as done matches ordinary step lines ("edits done; running fmt") and ends the watch early. If it does end early, start it again with the same command. The pkill sits before the break on purpose: Monitor runs the command in the user's login shell, and zsh waits for the <(tail ...) process after the loop, so a pkill placed after the loop never runs there and the watch hangs until its timeout; bash does not wait, and the form above works in both. When the coder reports back, post its summary to the user in one short paragraph. If it wrote a question: line, take the question to the user, answer it via SendMessage to the coder, and continue.
1b. Paired repositories. One coder per repository, spawned the same way with its own checkout path in the brief, each writing to its own ledger slot (round-N/evidence.md and coder.log for the primary repository; round-N/also/<repo name>/evidence.md, coder.log, coder-response.json for a paired one, where <repo name> is the checkout directory's name as review.sh derives it). Run them in parallel only when the contract in the spec is settled; when one side depends on an interface the other side has not written yet, run that side first and the dependent side after it reports. Coders never spawn agents themselves: splitting work is the orchestrator's job. Use real sibling checkouts for the paired repositories, not .claude/worktrees/ paths, which other sessions may overwrite. One Monitor per coder.log.
2. Review. Run loop-state.py; it should say review. Start a Monitor on <ledger>/round-N/progress.log (touch it first):
L=<ledger>/round-N/progress.log; while IFS= read -r line; do echo "$line"; case "$line" in *" done: "*|*" error: "*) pkill -f "^tail -n 0 -f $L"; break ;; esac; done < <(tail -n 0 -f "$L")then run review.sh --round N in the background. The watcher's shape matters: reading through a process substitution lets the loop see every line, the anchored pkill inside the loop ends the tail before the break (zsh would otherwise wait for it forever, see step 1), and a plain tail | while never returns at all. Add --also <checkout> for every paired repository so one reviewer sees all sides and can report contract mismatches (the schema's repo field on each finding says which side it belongs to). Tell the user round N started and which backend. Relay the monitor lines as they come, in the user's language. On exit 1, read progress.log and reviewer.err, fix the cause if it is ours (missing evidence, no changes vs base, auth), rerun once, else stop and report.
3. Relay the verdict before anything else. As soon as review.sh returns, post: backend, verdict, every finding as one line (id, severity, file:line, title, and with both which reviewers reported it), and each prior finding's status. With both, say when the two reviewers disagreed on a prior finding; the merge keeps it open if either did. The user sees what the reviewer said before seeing what the coder does about it.
4. Hand the findings to the coder. Run loop-state.py; it says respond, or cap when the round cap is already reached with a non-approving verdict, in which case go to step 5 before the coder does any more work. SendMessage to the same coder agent: the path of round-N/verdict.json, "round N+1", and, only if the verdict is approve and the remaining findings are low, "defer the lows". When SendMessage is unavailable in the session (the harness reports it disabled), spawn a fresh o2-coder instead with the same brief plus the checkout path and "read spec.md, every earlier round's evidence.md and coder-response.json, then the verdict"; the ledger carries the context, so the fresh coder loses nothing the reviewer saw. A verdict with no findings and no still_open prior finding needs no coder at all: loop-state.py treats it as answered. With paired repositories, message every coder; each answers the findings whose repo is its own and ignores the rest, and loop-state.py merges the responses. Start a Monitor on round-(N+1)/coder.log first. When the coder reports, post its per-finding decisions to the user (id, action, reason).
5. Decide by the state machine. Run loop-state.py and do exactly what ACTION says:
agreed: go to Ending the loop.next: go to step 2 with round N+1.cap: write an interim report.md (outcome paused after N rounds with K open items), then AskUserQuestion: continue for up to 3 more rounds, or stop and hand over. Show the open items. On continue, rerun loop-state.py --cap N+3 and go on; on stop, finish with outcome stopped after N rounds with K open items.respond, evidence, review: something is missing; do that step.loop-state.py judges the last round that has a verdict, so a prepared next round (its coder.log or evidence.md) never hides agreed or cap. Agreement, as it computes it: the last verdict is approve, no finding with original severity critical, high, or medium is open, every open low is answered with defer, the coder's open_items is empty, and HEAD equals the reviewed commit with a clean tree. Any edit after an approve invalidates it and needs another round.
Write <ledger>/report.md with, in this order:
agreed after N rounds, paused after N rounds with K open items, or stopped after N rounds with K open items.spec.md, a few sentences.git status --short plus git log --oneline <last reviewed commit>..HEAD, or none. If not none, the outcome must not say agreed.git diff --stat <merge-base> HEAD and the WIP commits from git log --oneline <merge-base>..HEAD.Then PushNotification with the outcome line and the number of items for the user, and in the chat: the outcome line, the items to rule on, a link to report.md, the number of WIP commits, and stop. Do not push or open a PR. Squash the WIP commits into one properly worded commit only when the user, after their review, says so:
git reset --soft <merge-base> && git commitcode-review pre-run that the reviewer must confirm before adopting. Its pre-approved Bash commands include git, grep, sed, awk, find, python3 and bash; the seatbelt, not the allow list, is what keeps writes inside temp directories. On a host without sandbox-exec, --unsandboxed lets the loop run in a reduced mode: the reviewer gets no Bash, no ledger access and no pre-run, so the harness's working-directory confinement of Read/Grep/Glob is the wall; patches are inlined in the prompt (200 KB each, 600 KB in total) and paired worktrees stay readable. On macOS with sandbox-exec the flag changes nothing. Codex is preferred because it is a different vendor's model; when the Claude backend reviews, say so in the report and pass --model so the reviewer differs from the coder's model.high, Claude 15 dollars per round) are the loop; the flags exist for debugging.verdict.json cannot be rerun; a redo takes the next round number.© 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 12 other files (scripts) in .claude/skills/o2-loop of openobserve/openobserve.
Open the folder on GitHubat commit 1ea6f5a
O2 Review Loop 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 |
|---|---|---|---|---|---|---|
| O2 Review Loop this skillopenobserve/openobserve | 22k | — | ~3.7k | Automated safety check: Pass | AGPL-3.0 | |
| Clawteamwin4r/ClawTeam-OpenClaw | 1.5k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Subagent-Driven DevelopmentHoangNguyen0403/agent-skills-standard | 570 | — | ~852 | Automated safety check: Pass | MIT | |
| Qwen Code Team CoordinatorQwenLM/qwen-code | 28k | — | ~994 | Automated safety check: Pass | Apache-2.0 | |
| Agenthubalirezarezvani/claude-skills | 28k | — | ~2k | Automated safety check: Pass | MIT | |
| Simplifytellahq/opensession | 392 | — | ~834 | Automated safety check: Pass | MIT |
win4r/ClawTeam-OpenClaw
Multi-agent swarm orchestration. An agent skill from win4r/ClawTeam-OpenClaw.
HoangNguyen0403/agent-skills-standard
Runs a multi-task implementation plan by sending each task to a fresh implementer subagent, reviewing it independently, then reviewing the whole branch.
QwenLM/qwen-code
Leads a small team of Qwen Code teammates: read-only investigators work in parallel, then one writer pinned to a git worktree makes the changes.
alirezarezvani/claude-skills
Multi-agent collaboration plugin that spawns N parallel subagents competing on the same task via git worktree isolation.
tellahq/opensession
Clean up the changed code without changing behavior — review the diff for reuse, simplification, efficiency, and altitude cleanups via 4 parallel agents, then apply the fixes
win4r/ClawTeam-OpenClaw
Launches a swarm of specialist Hermes agents in git-worktree-isolated tmux windows with a kanban board and file-based inboxes, using built-in templates like hedge-fund and code-review.
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
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.
Works with
Categories
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. The main session only orchestrates: it discusses the plan with you, writes a spec, starts the `o2-coder` subagent, runs the reviewer, follows loop state and relays progress. It does not edit or review code itself.
O2 Review Loop fits situations like: implementing a confirmed plan with an independent review before you look at it; getting a second opinion from Codex on each round of a change; running a risky change through two reviewers.
Run `npx skills add openobserve/openobserve --skill o2-loop -a claude-code`. Or copy the skill folder (.claude/skills/o2-loop in openobserve/openobserve) into .claude/skills/o2-loop in your project. Claude Code loads it when a task matches its description.
Run `npx skills add openobserve/openobserve --skill o2-loop -a codex`. Or copy the skill folder (.claude/skills/o2-loop in openobserve/openobserve) into .agents/skills/o2-loop 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-loop -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-loop, .gemini/skills/o2-loop, .github/skills/o2-loop and .opencode/skills/o2-loop in your project.
Going by SKILL.md and its folder, O2 Review Loop needs Python and a shell for the scripts in its folder and the command-line tools its instructions call (git, claude and codex). Our summary lists: Codex CLI, or `claude -p` with macOS `sandbox-exec` as the fallback reviewer; A Git repository and a confirmed plan; The `o2-coder` subagent definition in `.claude/agents/`.
SKILL.md contains no URLs. Its commands use 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.
O2 Review Loop 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 3.7k tokens (SKILL.md is roughly 15k 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 O2 Review Loop: Clawteam (win4r/ClawTeam-OpenClaw, 1.5k stars), Subagent-Driven Development (HoangNguyen0403/agent-skills-standard, 570 stars), Qwen Code Team Coordinator (QwenLM/qwen-code, 28k stars) and Agenthub (alirezarezvani/claude-skills, 28k 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,281 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 7, 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.