From component-developer
Full code review for Keboola Python components — covers both code quality (architecture, config/client patterns, typing, Pythonic best practices) and backward compatibility (configSchema changes, sync actions, output tables, state files, telemetry impact). Use for PRs, pre-merge checks, and component audits. Invoke whenever someone asks to review code, check a PR, audit before release, or verify that changes are safe for existing users.
npx claudepluginhub keboola/ai-kit --plugin component-developerThis skill uses the workspace's default tool permissions.
Run both code quality and backward compatibility reviews in a single pass, unless the user asks for only one.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Run both code quality and backward compatibility reviews in a single pass, unless the user asks for only one.
CRITICAL: Repos are PUBLIC. Never write client names, project names, stack URLs, or any identifying information anywhere — including PR comments. Anonymized aggregate numbers only.
Default: git diff $(git merge-base HEAD main)..HEAD for a PR, or git diff for unstaged changes.
Specified: files or directories the user provides.
Run ruff before doing any manual review — it catches formatting and linting mechanically:
uv run ruff format --check . 2>&1
uv run ruff check --target-version py313 . 2>&1
If either fails, report it as a single item: "run ruff format . && ruff check --fix .". Don't enumerate individual formatting or lint violations manually — that's ruff's job. Skip any review findings that ruff would catch.
Focus on what ruff doesn't catch. In priority order:
Blocking — architecture violations:
run() is not a clean orchestrator (should read like a table of contents, < 30 lines)run() instead of __init__ — breaks sync_actionsImportant — quality improvements:
typing.List, typing.Dict, typing.Optional) — use built-insself.configuration.parameters.get(...) scattered through the codeOnly report issues with confidence ≥ 60. See code-quality.md for detailed patterns and examples.
grep -E 'KBC_DEVELOPERPORTAL_APP|APP_ID' .github/workflows/push*.yml
Handles single env var, multiple suffixed vars, and matrix strategy patterns.
git diff $(git merge-base HEAD main)..HEAD -- \
'component_config/' 'src/configuration.py' 'src/component.py' 'Dockerfile' '.github/workflows/'
Check each changed file against the breaking change vectors in breaking-changes.md: config schema, Pydantic models, sync actions, output tables, state file, Dockerfile.
If Keboola MCP is available, query telemetry for each component ID — active configs, job stats, and property usage for any changed/removed field. See telemetry.md for exact queries and anonymization rules.
When MCP is unavailable, state it explicitly and treat all changes conservatively (assume configs exist).
Start with a 1-2 sentence overall assessment, then:
Code quality — TODOs grouped by Blocking / Important / Nice-to-Have:
### TODO N: [Title]
**Location:** `src/component.py:45-52`
**Pattern:** the specific code that's wrong
**Fix:** concrete 2-3 sentence fix
Backward compatibility — findings grouped by HIGH / MEDIUM / LOW / SAFE risk. Include telemetry table when available. End with verdict: APPROVE / REQUEST CHANGES / WARN.
Use a constructive tone — direct but kind, giving the author agency. "I'd personally..." over "you must...". "LGTM" when there's nothing to flag.