Branch Review
SkillDev toolsReview a Luxury Yacht branch for merge readiness, production readiness, PR-summary quality, or current-diff risk using read-only git state, repo contracts, and validation evidence
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Branch Review skill
What this skill tells your AI
The instructions your AI receives, as published by luxury-yacht/app in .agents/skills/branch-review/SKILL.md and read by ahel’s review.
Use this when the user asks whether a branch is production-ready, merge-ready, an actual improvement, or asks for a branch/PR review or PR summary grounded in the current diff.
Goal
Return a concrete merge-readiness verdict based on the code, tests, and current validation state. Findings lead. Summaries are secondary.
What the user wants to know:
- Is the work COMPLETE?
- Is the work CORRECT?
- Is the work SAFE to merge and release?
- Is the work a REAL improvement, either for the user experience or the codebase?
- Was anything important missed that should have been included?
Read-Only First Pass
Unless the user explicitly asks for fixes, begin in review mode.
- Do not reread injected
AGENTS.mdfiles. Use.agents/README.mdonly when the diff spans an ambiguous workflow, anddocs/README.mdonly when the owning contract is unclear. - Check repository state with read-only git commands:
git status --shortgit branch --show-currentgit diff --stat origin/main...HEADgit diff --name-only origin/main...HEADgit diff --statgit diff --name-onlygit diff --cached --statgit diff --cached --name-onlygit ls-files --others --exclude-standard
- If the user provides a different base or range, use that instead of
origin/main...HEAD. - If
origin/main...HEADcannot be resolved, inspect remotes/default branch state with read-only git commands and state the exact base assumption before reviewing. - Review both committed branch changes and working-tree changes. Do not ignore
modified, staged, or untracked files just because
origin/main...HEADis empty. - Read any changed docs/plans that claim completion. Treat them as hints, not proof.
Contract Audit
For every meaningful change, inspect the owning contract:
| Change Area | Required Context |
|---|---|
| Cross-layer shared contracts, generated bindings, enum/metadata drift | docs/architecture/shared-contracts.md |
| Multi-cluster, scopes, selected/background clusters, cache keys | docs/architecture/multi-cluster.md, .agents/skills/cluster-auth-lifecycle/SKILL.md |
| Auth failure, recovery, kubeconfig, client lifecycle | docs/architecture/auth.md, .agents/skills/cluster-auth-lifecycle/SKILL.md |
| Refresh, snapshots, streams, diagnostics | docs/architecture/refresh-system.md, docs/architecture/data-layer.md, .agents/skills/refresh-subsystem/SKILL.md |
| Query-backed resource streams and resource WebSocket signals | docs/architecture/data-freshness.md, docs/architecture/data-layer.md |
| Identity, status, lifecycle, links, facts, object refs | docs/architecture/shared-resource-model.md, .agents/skills/shared-resource-model/SKILL.md |
| Resource kind vocabulary, generated dispatch, per-kind behavior | docs/architecture/resource-kind-registry.md, .agents/skills/add-resource/SKILL.md |
| Browse/catalog/discovery/namespace metadata and LIST rows | docs/architecture/catalog.md, docs/architecture/refresh-system.md, .agents/skills/browse-tables/SKILL.md |
| Frontend resource reads, app-state reads, stores | docs/architecture/data-access.md |
| Permissions/capabilities/RBAC UI | docs/architecture/permissions.md, .agents/skills/permissions-capabilities/SKILL.md |
| Tables, query-backed pages, large datasets | docs/frontend/gridtable.md, docs/architecture/large-data.md |
| Object panel details, YAML, actions, docked panels | .agents/skills/object-panel/SKILL.md, docs/architecture/yaml-editing.md, docs/frontend/yaml-editor.md, docs/frontend/dockable-panels.md |
| Logs, shell/debug, port-forward, drain, runtime operations | .agents/skills/operations-workflows/SKILL.md, docs/workflows/logs/overview.md, docs/workflows/shell-debug.md, docs/workflows/operation-lifecycle.md |
| Object map | .agents/skills/object-map/SKILL.md, docs/workflows/object-map.md |
| UI shell/settings/modals/keyboard/tabs | .agents/skills/app-shell/SKILL.md, relevant docs/frontend/*.md |
Required Checks
Look for these before considering the branch ready:
- Every review claim cites evidence gathered in the current turn (
file:lineor command output) or is explicitly marked[unverified]/[assumed]. - Cluster-data paths carry
clusterIdthrough requests, scopes, caches, state, events, navigation, persistence keys, and actions. - Object references crossing boundaries carry
clusterId,group,version,kind, and concretenamespace/namewhen applicable. - Object catalog remains the source of truth for discovery, existence,
GVK/GVR identity, Browse namespace metadata, and cluster listings;
namespace LIST rows remain owned by the
namespacesrefresh domain. - Backend status semantics are projected as
status,statusState,statusPresentation, and optionalstatusReasonwhere primary status is rendered. - Relationship navigation uses
ResourceLink.refand catalog-backed identity, not frontend kind/name reconstruction. - List/table payloads are served from refresh snapshot/query paths, not
backend/resourcesdetail/action services. - Refresh domain metadata, behavior classes, timing, backend registrations, frontend registrations, diagnostics, and tests align through the shared domain contract.
- Query-backed resource stream WebSocket messages remain liveness signals; rows, filtering, sorting, facets, totals, and page metadata stay on the HTTP snapshot/query path.
- Snapshot/query payloads and stream signals agree on identity, scope, liveness, and permission behavior for the same table/list surface.
- Permission-denied or restricted-RBAC behavior remains visible in diagnostics.
- Auth, recovery, runtime operation, stream, and cleanup behavior stays scoped to the affected cluster.
- YAML read/save/merge/ownership flows preserve full cluster and GVK identity and the shared field-policy contract.
- Shared contracts do not add parallel frontend/backend enums, descriptors, schemas, or registries without parity tests.
- Frontend resource reads use
dataAccess, app-shell/persisted-state reads useappStateAccess, and directfetchremains confined to the refresh client. - New frontend UI uses existing components, CSS files, tokens, aliases, and GridTable where applicable.
- Tests cover the changed behavior at the closest useful level.
Validation Sequence
Run focused tests first when the branch has clear areas:
- Backend shared/resource-model/refresh changes: focused
mise exec -- go testpackages. - Frontend changes: targeted Vitest specs and
mise exec -- npm run typecheck --prefix frontend. - Runtime operations/logs/shell/port-forward/drain: focused backend workflow tests plus affected frontend lifecycle/orchestrator tests.
- Broad frontend/shared changes: consider
mise exec -- wails3 task qc:knip.
Before a final "ready" verdict on non-documentation or non-comment-only work, run:
mise exec -- wails3 task qc:prerelease
git diff --check
git status --short
If mise exec -- wails3 task qc:prerelease cannot run or fails, report the
exact command and first concrete failure. Do not call the branch ready.
mise exec -- wails3 task qc:prerelease includes qc:lint-fix, so inspect
changed files afterward.
For documentation-only or comment-only branches,
mise exec -- wails3 task qc:prerelease may be skipped, but still run
git diff --check and git status --short before the verdict.
Output Format
For review findings:
- Findings first, ordered by severity.
- Each finding includes file/line, problem, impact, and concrete fix direction.
- Then open questions or assumptions.
- Then validation state.
- Then short summary/verdict.
For no findings:
- Say that no merge-blocking issues were found.
- State exactly what was validated.
- State residual risk or untested areas.
For PR summaries:
- Use the real diff/range.
- Describe user-visible behavior and operational impact.
- Avoid touched-file inventories, commit hashes, and unverified claims.
Signals
- GitHub stars
- 435
- Forks
- 23
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
branch-review- Source
- github.com/luxury-yacht/app