From yalla
Adversarial code review with binary pass/fail checks. Each reviewer answers one specific question about the code. Any Fail blocks shipping. Use standalone for reviewing changes, or invoked by /yalla and /yalla-team. Do NOT use when changes haven't been tested yet (run tests first).
How this skill is triggered — by the user, by Claude, or both
Slash command
/yalla:yalla-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Binary pass/fail code review. Each reviewer checks one specific aspect. No severity scales — either the code passes the check or it doesn't. The default comparison base is `$BASE_BRANCH` (from `base_branch:` in `.claude/YALLA.md`, default `main`).
Binary pass/fail code review. Each reviewer checks one specific aspect. No severity scales — either the code passes the check or it doesn't. The default comparison base is $BASE_BRANCH (from base_branch: in .claude/YALLA.md, default main).
Each reviewer answers ONE specific question with Pass or Fail. Not "rate the quality" — that produces unactionable noise. Binary forces explicit definitions of what constitutes failure, making disagreements resolvable and fixes obvious.
Risk gates are triggered by the changed files and workflow. Do not run every historical check on every PR. The universal checks stay small; subsystem checks run only when their trigger applies.
For non-trivial work, include the operator-understanding layer (see ${CLAUDE_PLUGIN_ROOT}/knowledge/yalla/). This check verifies that the operator/maintainer can understand the change without reading code; it does not quiz the operator or grade writing polish.
git diff "$BASE_BRANCH" --name-only
git diff "$BASE_BRANCH"
Also read ${CLAUDE_PLUGIN_ROOT}/knowledge/yalla/ARTIFACTS.md, ${CLAUDE_PLUGIN_ROOT}/knowledge/yalla/TEST-SEAMS.md, ${CLAUDE_PLUGIN_ROOT}/knowledge/yalla/ARCHITECTURE-DEPTH.md, ${CLAUDE_PLUGIN_ROOT}/knowledge/yalla/PROJECT-CHECKS.md, ${CLAUDE_PLUGIN_ROOT}/knowledge/yalla/REVIEW-CHECKS.md, and ${CLAUDE_PLUGIN_ROOT}/knowledge/product/INTENDED-VS-IMPLEMENTED.md before launching reviewers.
security-check:
"Does this change introduce SQL injection, XSS, SSRF, auth bypass, exposed secrets, or missing input validation?"
Specifics to check:
is_active.error.message from caught exceptions in 5xx responses.pending_review) unless the user explicitly approved bypassing review.complexity-check:
"Does any new function exceed 50 lines, add an abstraction used only once, or add complexity the plan didn't call for?"
Specifics to check:
correctness-check:
"Do validation schemas match their type definitions (every field name, type, and nullability)? Are there dead parameters — including
_-prefixed vars that were once used but aren't anymore? Does the output shape of each function match the input contract of its downstream consumer?"
Specifics to check:
_ that existed in a prior version of the function but are no longer read in the body{ foo, bar } but function B (its only caller) destructures { foo, baz } — shape mismatchas unknown as X) on embedded/joined query results — verify the actual return shapesuccess-invariant-check:
"Can the changed workflow report success before the user-visible promise is fulfilled or before an explicit recoverable state is persisted?"
Specifics to check:
completed plus an inaccessible resource, a missing token email, or a skipped generation stepslop-check:
"Are there comments that narrate what the code does instead of why? Extra defensive checks abnormal for the surrounding code? Casts to
any? Docblocks 3x longer than comparable files in the repo? Style inconsistencies with the rest of the file?"
Specifics to check:
// Step 1: do X, // Send email, // Check auth — these narrate, not explain// ===...) that don't match the pattern used in the rest of the fileany casts inserted to suppress type errors instead of fixing the underlying typeoperator-understanding-check:
"Does this PR include the operator-readable summary/artifact required by its selected understanding depth, and does it explain the problem, solution, tradeoff, impact, risks, and verification without requiring the operator/maintainer to read code?"
Specifics to check:
light mode has a concise operator summary and a valid reason no durable artifact is neededdefault mode has an Operator Understanding section in the plan and PR Non-Engineer Summarydeep mode has plans/active/issue-###-understanding.md or equivalent artifact plus teach-back marked complete or pending with reasontest-quality-check:
"Do tests verify behavior through the highest correct public interface, and does every acceptance criterion have evidence or an accepted risk?"
Specifics to check:
.pipeline/acceptance-trace.json maps every acceptance criterion to covered, accepted-risk, or blocked.pipeline/test-evidence.jsonTEST_SEAM_BLOCKED entries include behavior, reason, risk, and architecture findingArchitecture Alignment section, .pipeline/architecture-alignment.json links affected architecture-doc claims to tests, unchanged-code evidence, or accepted riskevidence-check:
"Do build/typecheck/test/smoke/claim-verification artifacts prove the stated behavior, and are
INCONCLUSIVEresults handled as risks instead of success?"
Specifics to check:
.pipeline/test-evidence.json records the project's typecheck, build, targeted tests, and full-suite status or accepted blockersVERIFIED, NOT VERIFIED, or INCONCLUSIVENOT VERIFIED and INCONCLUSIVE entries are treated as blockers or accepted risks, not green evidencereviewability-check:
"Can a reviewer understand the intent, risky files, generated/mechanical changes, and test evidence from the PR body and artifacts without reconstructing the run?"
Specifics to check:
gh pr checks as the source of truth for PR-attached checks, not only gh run listarchitecture-check:
"Does this change violate patterns established in your conventions doc (CLAUDE.md / AGENTS.md), relevant
docs/architecture/files, or the existing codebase?"
Specifics to check:
architecture-docs-check:
"Does the PRD/plan cite the right architecture docs, does the code conform to those docs or update them in the same PR, and does
.pipeline/architecture-alignment.jsonprove the verdict?"
Specifics to check:
Architecture Alignment with source-of-truth docs, code sources checked, alignment verdict, required doc updates, and test/review proof.pipeline/architecture-alignment.json exists when behavior described in docs/architecture/ changed${CLAUDE_PLUGIN_ROOT}/knowledge/yalla/PROJECT-CHECKS.mdLast verified against code line is updated where presentarchitecture-depth-check:
"Does this change improve or preserve module depth and locality? Are new seams justified by real adapters?"
Specifics to check:
strict-structure-check (conditional for broad/high-risk diffs):
"Is there a clear code-judo simplification that would delete complexity, avoid file-size blowups, or prevent spaghetti branching before shipping?"
Specifics to check:
voice-check:
"Does this content match the project voice? Is there corporate slop, AI-sounding language, or tone mismatch?"
Trigger when the diff touches checkout, billing, webhook handlers for payments, or any file referencing application fees, discounted prices, promo/coupon codes, or discounts. (See ${CLAUDE_PLUGIN_ROOT}/knowledge/yalla/REVIEW-CHECKS.md for project-specific triggers and the full pass/fail criteria.)
payment-integrity-check:
"Do checkout, webhook, entitlement, coupon, invoice, and fee paths preserve money and access invariants?"
Specifics to check:
Trigger when .pipeline/classification.json has product_intent_gate: "applies", when .pipeline/product-intent.json exists, or when the diff changes product/GTM/user-flow behavior, pricing/packaging, onboarding promises, access/delivery boundaries, metrics, or copy that makes a user-visible promise.
intended-vs-implemented-check:
"Does the implementation match the documented Product Intent, plan, architecture docs, and PR promises on the real code paths?"
Specifics to check:
Trigger when the diff touches background jobs, webhooks, cron handlers, queue publishing, email sending, version-control API calls, infrastructure management API calls, or long-running generation phases.
async-reliability-check:
"Does each async side effect define idempotency, retry taxonomy, terminal states, observability, and recovery?"
Specifics to check:
429, 5xx, and network failures with bounded backoff; do not blindly retry normal 4xxTrigger when the diff touches migration files, schema templates, migration runners, or code that writes columns added by migrations.
schema-migration-check:
"Do migrations, templates, writers, and schema docs stay coupled for both new and existing environments?"
Specifics to check:
Trigger when the diff touches auth handlers, OAuth callbacks, invite tokens, the accounts/users model, or routing after login.
identity-routing-check:
"Does auth/OAuth/invite code bind the right identity, classify roles correctly, and avoid orphan or broken-link states?"
Specifics to check:
Trigger when the diff touches email sending, email templates, signup/purchase confirmation, delivery email, or webhook paths that send user instructions.
email-delivery-check:
"If an email carries the user's only token/link/instruction, is it treated as critical infrastructure with render tests, logging, retry, and recovery?"
Specifics to check:
Trigger when the diff touches generators, scaffold templates, seed data, or generated user-facing repo/instruction artifacts.
generated-artifact-check:
"Do generated repos/templates contain no unresolved placeholders, missing manifest files, citation/markup tags, object-string leaks, or inaccessible delivery links?"
Specifics to check:
{{PLACEHOLDER}} in generated paths or contents[object Object] text leaksTrigger when the diff touches user-facing forms, checkout, onboarding, dashboards, or page routes.
ui-journey-check:
"Can a user complete and recover from the changed form/journey on desktop and mobile, including the likely failure path?"
Specifics to check:
Each reviewer reports:
Pass:
PASS — security-check
Reviewed 4 files. No injection, XSS, auth bypass, or exposed secrets found.
Parameterized queries used correctly. Webhook signature verified.
Fail:
FAIL — security-check
File: api/webhook.ts:23
Code: `const body = JSON.parse(req.body)`
Issue: Webhook payload parsed without signature verification.
Attacker can forge events and trigger free deliveries.
Fix: Verify the provider signature against the raw body before parsing.
Reject invalid signatures with 400.
All checks pass: Proceed to next phase.
Any check fails:
Before returning success, write .pipeline/review-results.json using the schema in ${CLAUDE_PLUGIN_ROOT}/knowledge/yalla/ARTIFACTS.md.
When invoked directly (not from /yalla):
/yalla-review
Runs against the current branch's diff from $BASE_BRANCH. Reports results. Does not auto-fix — presents findings for the user to act on.
_ to suppress unused-var lint instead of removing it — the lint rule exists to catch dead code, not to be silencedINCONCLUSIVE verification as successgh pr checksnpx claudepluginhub iwo-szapar/yalla --plugin yallaProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.