From banyandb-bydbql
Creates GitHub pull requests for SkyWalking BanyanDB with pre-PR validation including code generation, linting, testing, and license checks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/banyandb-bydbql:gh-pull-requestThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Always create a PR from a new branch.** Never push directly to `main`. This is the same convention as the main Apache SkyWalking repo (https://github.com/apache/skywalking).
Always create a PR from a new branch. Never push directly to main. This is the same convention as the main Apache SkyWalking repo (https://github.com/apache/skywalking).
git checkout -b <descriptive-branch-name>
Run these checks locally before pushing. They mirror the CI check job and PR-blocking tests in .github/workflows/ci.yml.
make generate
make build
make lint
make check
make check verifies formatting (gofumpt), go mod tidy, and ensures no uncommitted generated file diffs.
Why this order: build must succeed before lint so generated code exists. check validates consistency after linting.
After make lint passes: If lint introduced any fixes (e.g. auto-formatting, field alignment corrections), commit those changes before running make check. Do NOT update CHANGES.md for these fixup commits — just stage all modified tracked files and commit with a message like chore: fix lint issues. Then run make check on the clean tree.
make license-check
All source files must have Apache 2.0 license headers.
Add a one-line entry under the current development version section in CHANGES.md (at the repo root). Place it under the appropriate subsection (### Features, ### Bug Fixes, etc.).
Run these test packages. Each can run in parallel if the user's machine has enough cores, but it's fine to run them sequentially:
make test-ci PKG=./banyand/...
make test-ci PKG=./bydbctl/...
make test-ci PKG=./pkg/...
make test-ci PKG=./fodc/...
The CI uses these options: --vv --fail-fast --label-filter \!slow with coverage flags. For local runs, use a simplified form unless the user asks for full CI parity:
TEST_CI_OPTS="--vv --fail-fast --label-filter \!slow" make test-ci PKG=./banyand/...
Run these after unit tests pass:
make test-ci PKG=./test/integration/standalone/...
make test-ci PKG=./test/integration/distributed/...
These run in CI only — no need to run locally:
make lint fails with field alignment errors: The linter reports structs with suboptimal field ordering (e.g. fieldalignment: struct with X pointer bytes could be Y). Fix them automatically with:
~/go/bin/fieldalignment -fix ./path/to/package/...
Parse the lint output to find which packages have alignment issues, run fieldalignment -fix on those packages, then re-run make lint to confirm they're resolved.
make lint fails with formatting errors: Run make format to auto-fix, then re-run make lint to confirm.
Test timeout: Integration tests can be slow; add TEST_CI_OPTS="--timeout 60m" if they time out
Missing tools: make check-req will tell you what's missing
make lint or make check fails with buf: not found: Install buf automatically by running make -C api generate, then retry.
make build fails: Check if generated files are up to date with make generate
git push -u origin <branch-name>
gh pr create --title "<title>" --body "<body>"
Follow the standard PR format with a summary and test plan.
npx claudepluginhub apache/skywalking-banyandb --plugin banyandb-bydbqlCreates GitHub Pull Requests using GitHub CLI: detects existing PRs for branches, pushes changes, generates titles/bodies from commits. Handles monorepos/submodules. Use for /create-pr or PR/review requests.
Orchestrate a complete git workflow from code review through PR creation, using specialized agents for quality assurance, testing, and deployment readiness.
Creates GitHub pull requests with automated quality validation, security scanning, and CI monitoring handoff. Useful when merging completed work with compliance checks.