review-kubeasy-challenge✓ تایید شده
Review a Kubeasy challenge for quality, pedagogy, and bypass resistance. Runs lint directly, then spawns a kubeasy-challenge-learner agent and a kubeasy-challenge-bypasser agent, combines their reports, scores the result, and writes a PR comment. Use when reviewing a challenge PR or auditing an existing challenge. Arguments: SLUG: <slug>
// نصب مهارت
نصب مهارت
مهارتها کدهای شخص ثالث از مخازن عمومی GitHub هستند. SkillHub الگوهای مخرب شناختهشده را اسکن میکند اما نمیتواند امنیت را تضمین کند. قبل از نصب، کد منبع را بررسی کنید.
نصب سراسری (سطح کاربر):
npx skillhub install kubeasy-dev/registry/review-kubeasy-challengeنصب در پروژه فعلی:
npx skillhub install kubeasy-dev/registry/review-kubeasy-challenge --projectمسیر پیشنهادی: ~/.claude/skills/review-kubeasy-challenge/
محتوای SKILL.md
---
name: review-kubeasy-challenge
description: >
Review a Kubeasy challenge for quality, pedagogy, and bypass resistance.
Runs lint directly, then spawns a kubeasy-challenge-learner agent and a
kubeasy-challenge-bypasser agent, combines their reports, scores the result,
and writes a PR comment. Use when reviewing a challenge PR or auditing an
existing challenge. Arguments: SLUG: <slug>
---
You are reviewing a Kubeasy challenge for quality, pedagogy, and bypass resistance.
`$ARGUMENTS` contains the challenge slug.
## Step 1: Lint
Run lint directly — no agent needed:
```bash
cd challenges/<slug> && kubeasy dev lint
```
If lint fails → score 0/20, verdict ❌ Fail. Write the PR comment with lint errors and stop.
## Step 2: Read challenge metadata
Read `challenges/<slug>/challenge.yaml` — title, description, initialSituation, objective, difficulty, estimatedTime, type, validation titles.
Note any metadata issues before running the agents (tutorial-style tone, spoiler titles, etc.).
## Step 3: Run the learner agent
Call the Agent tool with `subagent_type: kubeasy-challenge-learner`.
Prompt: the challenge slug.
The agent returns a free-form report + JSON block. Wait for it before proceeding.
## Step 4: Clean between agents
```bash
cd challenges && kubeasy dev clean <slug>
kubectl wait --for=delete namespace/<slug> --timeout=20s 2>/dev/null || true
```
## Step 5: Run the bypasser agent
Call the Agent tool with `subagent_type: kubeasy-challenge-bypasser`.
Prompt: the challenge slug.
The agent returns a free-form report + JSON block. Wait for it before proceeding.
## Step 6: Score
Combine metadata observations + learner report + bypasser report to score each criterion 0–4:
| Criterion | 4 (Excellent) | 3 (Good) | 2 (Needs work) | 1 (Poor) | 0 (Broken) |
|-----------|---------------|----------|-----------------|----------|------------|
| **Clarity** | Crystal clear symptoms, situation, objective | Minor ambiguity | Missing context | Confusing or misleading | Incomprehensible |
| **Pedagogy** | Teaches exactly the right concept, natural investigation path | Minor gaps | Some misdirection or mixed concepts | Minimal educational value | Teaches nothing or bad practices |
| **Validation** | Checks outcomes perfectly, accepts multiple valid solutions | Rare edge cases slip | Some misalignment with learning goal | Checks implementation not outcome | Broken or missing |
| **Bypass resistance** | All shortcuts blocked, educational frame solid | Minor theoretical bypasses | Significant bypass possible | Easy to cheat without learning | Trivially bypassable |
| **UX** | Difficulty/time accurate, errors helpful, smooth flow | Minor friction | Noticeable gaps in feedback | Frustrating experience | Impossible or broken |
Scoring signals:
- `broken_state_confirmed: false` → Pedagogy = 0
- `spoiler_comments` non-empty → automatic 0/20, ❌ Fail
- `bypass_found: true` + `policies_present: false` → Bypass resistance ≤ 2
- `solved: false` after 5 attempts → UX = 0, flag as unsolvable
- `friction_points` non-empty → deduct from UX
- `validations_initially_passing` non-empty → note under Validation
- `argocd_annotations: true` → note under UX
## Step 7: Write the PR comment
Write to `review-<slug>-pr-comment.md` in the registry root.
**Must not reveal:** root cause, fix, specific commands, field names, or anything that spoils investigation.
```markdown
## 🔍 Challenge Review: <title>
**Score: X/20** · Verdict: ✅ Pass | ⚠️ Needs work | ❌ Fail
| Criterion | Score | Comment |
|-----------|:-----:|---------|
| Clarity | X/4 | |
| Pedagogy | X/4 | |
| Validation | X/4 | |
| Bypass resistance | X/4 | |
| UX | X/4 | |
### Issues
-
### Recommendations
-
### Flags
- Solvable: ✅/❌
- Bypass found: ✅/❌
- Coherent with learning goal: ✅/❌
- Solved in X attempt(s)
---
*Reviewed by Kubeasy Challenge Reviewer*
```
## Verdict thresholds
| Score | Verdict |
|-------|---------|
| 18–20 | ✅ Pass — ready to merge |
| 14–17 | ⚠️ Needs work — minor tweaks |
| 10–13 | ❌ Fail — significant revision |
| < 10 | ❌ Fail — major redesign |
// نصب مهارت
نصب مهارت
مهارتها کدهای شخص ثالث از مخازن عمومی GitHub هستند. SkillHub الگوهای مخرب شناختهشده را اسکن میکند اما نمیتواند امنیت را تضمین کند. قبل از نصب، کد منبع را بررسی کنید.
نصب سراسری (سطح کاربر):
npx skillhub install kubeasy-dev/registry/review-kubeasy-challengeنصب در پروژه فعلی:
npx skillhub install kubeasy-dev/registry/review-kubeasy-challenge --projectمسیر پیشنهادی: ~/.claude/skills/review-kubeasy-challenge/