Babysit PR To Pass CI
sgl-project/sglang
Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head.
Sync the matter.js fork, implement and test a fix or a new feature/enhancement, format, lint, commit, push, and open a PR against matter-js/matter.js.
$ npx skills add Luligu/matterbridge --skill matterjs-pr-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Luligu/matterbridge matterjs-pr-workflow --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/Luligu/matterbridge.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/matterjs-pr-workflow .claude/skills/matterjs-pr-workflow && 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 "matterjs-pr-workflow" agent skill from https://github.com/Luligu/matterbridge/tree/main/.agents/skills/matterjs-pr-workflow into .claude/skills/matterjs-pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "matterjs-pr-workflow", 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/Luligu/matterbridge/tree/main/.agents/skills/matterjs-pr-workflowType 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 Luligu/matterbridge --skill matterjs-pr-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Luligu/matterbridge matterjs-pr-workflow --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Luligu/matterbridge.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/matterjs-pr-workflow .agents/skills/matterjs-pr-workflow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "matterjs-pr-workflow" agent skill from https://github.com/Luligu/matterbridge/tree/main/.agents/skills/matterjs-pr-workflow into .agents/skills/matterjs-pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "matterjs-pr-workflow", 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 Luligu/matterbridge --skill matterjs-pr-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Luligu/matterbridge matterjs-pr-workflow --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Luligu/matterbridge.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/matterjs-pr-workflow .cursor/skills/matterjs-pr-workflow && 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 "matterjs-pr-workflow" agent skill from https://github.com/Luligu/matterbridge/tree/main/.agents/skills/matterjs-pr-workflow into .cursor/skills/matterjs-pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "matterjs-pr-workflow", 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/Luligu/matterbridge.git --path .agents/skills/matterjs-pr-workflow--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 Luligu/matterbridge --skill matterjs-pr-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Luligu/matterbridge matterjs-pr-workflow --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Luligu/matterbridge.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/matterjs-pr-workflow .gemini/skills/matterjs-pr-workflow && 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 "matterjs-pr-workflow" agent skill from https://github.com/Luligu/matterbridge/tree/main/.agents/skills/matterjs-pr-workflow into .gemini/skills/matterjs-pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "matterjs-pr-workflow", 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 Luligu/matterbridge matterjs-pr-workflowInstalls 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 Luligu/matterbridge --skill matterjs-pr-workflow -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Luligu/matterbridge.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/matterjs-pr-workflow .github/skills/matterjs-pr-workflow && 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 "matterjs-pr-workflow" agent skill from https://github.com/Luligu/matterbridge/tree/main/.agents/skills/matterjs-pr-workflow into .github/skills/matterjs-pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "matterjs-pr-workflow", 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 Luligu/matterbridge --skill matterjs-pr-workflow -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Luligu/matterbridge matterjs-pr-workflow --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Luligu/matterbridge.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/matterjs-pr-workflow .opencode/skills/matterjs-pr-workflow && 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 "matterjs-pr-workflow" agent skill from https://github.com/Luligu/matterbridge/tree/main/.agents/skills/matterjs-pr-workflow into .opencode/skills/matterjs-pr-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "matterjs-pr-workflow", 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.
matterjs-pr-workflowSync the matter.js fork, implement and test a fix or a new feature/enhancement, format, lint, commit, push, and open a PR against matter-js/matter.js.
Matterjs PR Workflow is an agent skill from Luligu/matterbridge. Sync the matter.js fork, implement and test a fix or a new feature/enhancement, format, lint, commit, push, and open a PR against matter-js/matter.js. v.1.0.0
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Pull requests and Linting and formatting. The repository describes itself as: Matterbridge plugin manager for Matter. The licence is Apache-2.0.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 857fd9b. 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:
gitnpmnpxghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom 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.
Matterjs PR Workflow loads about 2.4k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 928 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 Luligu/matterbridge at commit 857fd9b, republished under its Apache-2.0 licence (© Luligu). 928 words, ~2,415 tokens.
.claude/skills/matterjs-pr-workflow/SKILL.md (or your agent's skills folder).Use this when a change belongs upstream in matter.js rather than in matterbridge — a bug fix found while working in matterbridge (e.g. during verify-server-endpoint-context, or any other investigation), or a new feature/enhancement the user wants added to matter.js directly.
Fork location: ../matter.js (sibling of the matterbridge repo). Remotes:
origin → https://github.com/Luligu/matter.js.git (the user's fork — push here, never to upstream)upstream → https://github.com/matter-js/matter.js.git (read-only, the real project)git -C ../matter.js fetch upstream
git -C ../matter.js fetch origin
git -C ../matter.js merge --ff-only upstream/main # run from a clean main; fails loudly if origin/main has diverged
git -C ../matter.js push origin mainIf the fast-forward fails, stop and reconcile with the user rather than force-pushing.
cd ../matter.js && npm install # triggers the `prepare` script (build-clean) if deps changed
npm run build # full monorepo build (nacho-build); should report all packages "Up to date"git -C ../matter.js checkout -b fix/<short-description> main # bug fix
git -C ../matter.js checkout -b feat/<short-description> main # new feature or enhancementBranch from the freshly synced main, not from whatever branch happened to be checked out before.
Matter 1.6.0 § x.y.z comment style that matterbridge's own CLAUDE.md mandates — that's a matterbridge-only
convention). Plain, spec-referencing comments (e.g. // Per § 5.2.10.21.1, ...) match existing matter.js style.chip/1.6.0/specs/*.html in the matterbridge repo when verifying the
correct behavior, the correct field/attribute semantics, or that a new feature matches how the spec actually
defines it — don't guess status codes, constraint bounds, or field semantics either way.matter.js does not always have coverage for the behavior server you're touching. Before assuming a test exists:
grep -rl "<ClassOrMethodName>" ../matter.js/packages/node/test ../matter.js/support/chip-testing/test 2>/dev/nullIf nothing turns up, add a test under packages/node/test/behaviors/<cluster-name>/<Name>ServerTest.ts, following
an existing sibling test file for conventions:
test/behaviors/boolean-state/BooleanStateServerTest.ts
(MockServerNode.createOnline() + node.add(Device, state)).test/behaviors/window-covering/WindowCoveringServerTest.ts or
test/behaviors/color-control/ColorControlServerTest.ts (SomeServer.with("Feature1", "Feature2"),
MockEndpoint.createWith(...) or MockServerNode.createOnline(undefined, { device: undefined }) +
node.add(CustomDevice, state)).node.online({}, async agent => { ... }) (NOT a bare
endpoint.act) so context.fabric resolves to FabricIndex.NO_FABRIC instead of undefined — behaviors that
read this.context.fabric (e.g. most DoorLock commands) throw UnsupportedAccess otherwise. Get the
endpoint-scoped agent via endpoint.agentFor(agent.context), then call agent.<behaviorId>.<command>(request).M conformance) attributes without defaults must be supplied in the initial state passed to
node.add(...) or endpoint construction fails during initialize() with a conformance/constraint validation
error naming the exact attribute — read the error and add that attribute; don't guess the whole set up front.Run just the new test file first:
cd ../matter.js/packages/node && npx matter-test esm --spec test/behaviors/<cluster-name>/<Name>ServerTest.tsTemporarily revert or comment out only the change (Edit tool, not git, so you don't lose the diff), rerun the test and confirm it fails — for a bug fix, with the expected wrong value; for a new feature, because the behavior it checks doesn't exist yet. Then reapply the change and confirm the test passes again:
# revert/remove the change with Edit, then:
npx matter-test esm --spec test/behaviors/<cluster-name>/<Name>ServerTest.ts # must fail
# reapply the change with Edit, then:
npx matter-test esm --spec test/behaviors/<cluster-name>/<Name>ServerTest.ts # must passSkipping this step means the test might be passing for the wrong reason (or passing regardless of whether the change exists at all).
cd ../matter.js/packages/node && npx matter-test esmLarge suites (1000+ tests) commonly have a handful of pre-existing, unrelated flaky failures (timing/mDNS/session mocks). Check the failing test names — if they're unrelated to the touched cluster/behavior, note them as pre-existing rather than chasing them. Do not silently ignore a failure in the same area you touched.
The check-and-lint CI job runs both oxfmt --check and oxlint, and fails the PR on either — including a plain
manual edit that doesn't match oxfmt's line-wrapping rules (e.g. a long single-line return { ... } that oxfmt
wants multi-line). Run both on every file you touched, before the first commit, not after CI catches it:
cd ../matter.js && npm run format # oxfmt, rewrites in place
npm run format-verify # oxfmt --check; must report "All matched files use the correct format"
npm run lint # oxlint --type-aware; must report no errorsIf lint reports fixable issues, npm run lint-fix applies them in place — re-run npm run lint afterward to
confirm nothing remains, and read any issue it can't auto-fix rather than suppressing it.
Then rerun the affected test file once more to confirm formatting/lint fixes didn't change behavior (they shouldn't, but verify anyway).
cd ../matter.js && npm run buildShould report all packages "Up to date" with no type-check errors.
Match the existing commit style (git -C ../matter.js log --oneline -15 to check current convention — this repo
mixes plain descriptive subjects and Conventional Commits like fix(node): ..., test(node): ...,
style: ...). Stage only the intended files explicitly (never git add -A):
git -C ../matter.js add <changed-source-file> <new-test-file>
git -C ../matter.js status --short # confirm nothing unintended is staged
git -C ../matter.js commit -m "$(cat <<'EOF'
fix(node): <short description>
<why, with the spec paragraph citation if applicable>
EOF
)"For a new feature/enhancement, use feat(node): <short description> as the subject instead, with a body
explaining what it adds and, where relevant, the spec paragraph it implements.
git -C ../matter.js push origin <fix-or-feat>/<short-description>Never push to upstream. This is an action visible outside the local environment — confirm with the user before
pushing unless they've already asked for it in this conversation.
Draft title + body and show the user for approval before running gh pr create (opening a PR against an external
repo is a visible, hard-to-fully-reverse action). Target matter-js/matter.js:main from
Luligu:<fix-or-feat>/<short-description>:
gh pr create --repo matter-js/matter.js --base main --head Luligu:<fix-or-feat>/<short-description> \
--title "..." --body "$(cat <<'EOF'
## Summary
- ...
## Test plan
- [x] New/updated test fails without the change and passes with it
- [x] `npm run format-verify` and `npm run lint` clean
- [x] `npm run build` clean
- [x] Full package test suite run; no regressions attributable to this change
EOF
)"Mention any out-of-scope issues found along the way (e.g. an unrelated bug the test had to work around) in a "Note for maintainers" section rather than silently fixing or silently ignoring them.
gh pr checks <PR#> --repo matter-js/matter.jsWatch check-and-lint specifically first (fastest, most likely to fail on formatting or lint). If it fails on
either again, repeat step 8, commit as a separate style: commit, push, and re-check — don't bundle a post-hoc
format/lint fix into the original commit once it's already pushed and under review.
gh run view <run-id> --repo matter-js/matter.js --job <job-id> --log | grep -iE "error|format|lint|fail"to pull the exact failure when a check fails.
© Luligu, 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 .agents/skills/matterjs-pr-workflow of Luligu/matterbridge.
Open the folder on GitHubat commit 857fd9b
Matterjs PR Workflow 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 |
|---|---|---|---|---|---|---|
| Matterjs PR Workflow this skillLuligu/matterbridge | 983 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Babysit PR To Pass CIsgl-project/sglang | 37k | 2 repos | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Changesetbiomejs/biome | 26k | — | ~839 | Automated safety check: Pass | Apache-2.0 | |
| Pre Pipeline Reviewsuperplanehq/superplane | 7.7k | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| Lint Commit PRTresjs/tres | 3.8k | — | ~1.1k | Automated safety check: Pass | MIT | |
| PR Pushicebear0828/codex-proxy | 1.8k | — | ~2.2k | Automated safety check: Notes | Custom licence |
sgl-project/sglang
Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head.
biomejs/biome
A skill your agent uses when a Biome change may affect users and you must decide whether it needs a changeset, choose the release level, or create and edit .changeset/.md release-note text.
superplanehq/superplane
Reviews SuperPlane code changes for correctness and reuse, then runs fast Make targets (lint, format, build) that Semaphore CI runs so easy checks do not fail in the pipeline.
Tresjs/tres
Lint local changes, auto-fix, conventional commit, and optionally create PR
icebear0828/codex-proxy
Package the current working changes into a standards-compliant codex-proxy pull request: branch hygiene, commit message linting, CHANGELOG prompt, conventional commit, push, and gh pr create against…
icebear0828/codex-proxy
Package the current working changes into a standards-compliant codex-proxy pull request: branch hygiene, commit message linting, CHANGELOG prompt, conventional commit, push, and gh pr create against…
Luligu/matterbridge
Verify which coding agent is running and that it loaded the shared Matterbridge instructions, rules and skills from AGENTS.md and .agents/.
Luligu/matterbridge
Verify that matterbridge and all Matterbridge workspace packages are aligned on the npm latest and dev tags.
Luligu/matterbridge
Verify server message endpoint context, endpoint type narrowing, plugin forwarding order, command observable emission, and Matter 1.6.0 comments on validation and state updates.
Luligu/matterbridge
Verify that package, Docker build, test utility helper, docs update JSON files, and Docker workflow tags match the expected root version rules.
Luligu/matterbridge
Verify which coding agent is running and that it loaded the shared Matterbridge instructions, rules and skills from AGENTS.md and .agents/.
Categories
Sync the matter.js fork, implement and test a fix or a new feature/enhancement, format, lint, commit, push, and open a PR against matter-js/matter.js. Matterjs PR Workflow is an agent skill from Luligu/matterbridge.js.
Matterjs PR Workflow fits situations like: tasks that involve Pull requests; tasks that involve Linting and formatting.
Run `npx skills add Luligu/matterbridge --skill matterjs-pr-workflow -a claude-code`. Or copy the skill folder (.agents/skills/matterjs-pr-workflow in Luligu/matterbridge) into .claude/skills/matterjs-pr-workflow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Luligu/matterbridge --skill matterjs-pr-workflow -a codex`. Or copy the skill folder (.agents/skills/matterjs-pr-workflow in Luligu/matterbridge) into .agents/skills/matterjs-pr-workflow 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 Luligu/matterbridge --skill matterjs-pr-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/matterjs-pr-workflow, .gemini/skills/matterjs-pr-workflow, .github/skills/matterjs-pr-workflow and .opencode/skills/matterjs-pr-workflow in your project.
Going by SKILL.md and its folder, Matterjs PR Workflow needs the command-line tools its instructions call (git, npm, npx and gh). Our summary lists: Node.js.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. 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.
Matterjs PR Workflow 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 2.4k tokens (SKILL.md is roughly 9.7k 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 Matterjs PR Workflow: Babysit PR To Pass CI (sgl-project/sglang, 37k stars), Changeset (biomejs/biome, 26k stars), Pre Pipeline Review (superplanehq/superplane, 7.7k stars) and Lint Commit PR (Tresjs/tres, 3.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Luligu (a GitHub user) maintains it in Luligu/matterbridge, which has 983 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 7, 2026.
Source: Luligu/matterbridge on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.