refactor(skills): update agent references in 2 skills to kei- prefix

Mechanical rename of all 14 kit-agent references in skills/*/SKILL.md.
Pattern: word-boundary match that excludes "-" on both sides, applied
longest-first so "ml-researcher" rewrites before "researcher" (avoids
the "kei-ml-kei-researcher" double-prefix trap).

skills/new-agent/SKILL.md (14 refs):
  - Phase 3.3 handoff list (code-implementer/critic/validator mandatory,
    cost-guardian/ml-implementer/ml-researcher/infra-implementer/
    security-auditor conditional)
  - Phase 3.5 role-template example (Hand off ... to code-implementer ...)
  - Phase 4 manifest-template example (target = "code-implementer" etc.)
  - Phase 6 report-block example ("Handoffs: code-implementer, critic, ...")
  - Description-string ref on Phase 1b (cost-guardian mandatory)

skills/research/SKILL.md (5 refs):
  - `critic` renamed to `kei-critic` inside backticks and bold
  - Teammate-role mentions that happen to share the name
  - NOTE: hyphenated compound labels like `web-researcher`, `code-explorer`,
    `{component}-critic`, `meta-critic` are left untouched — they are
    ad-hoc teammate-role labels, not kit-agent handoffs. The boundary rule
    (no "-" immediately before the name) preserves them correctly.

Other 4 skills (debug-deep, pr-review, refactor, test-gen) have zero
kit-agent references — untouched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Parfii-bot 2026-04-21 13:38:03 +08:00
parent 3039adab3f
commit 1a4a25a540
2 changed files with 19 additions and 19 deletions

View file

@ -113,7 +113,7 @@ This call ALWAYS runs. Q7 (scrapers) is independent of Q2/Q3, so every agent ans
"options": [
{"label": "None", "description": "No scraping / data extraction"},
{"label": "Free-tier only", "description": "YouTube API v3, GitHub GraphQL, Telegram Telethon, Twitter twscrape — Tier 1"},
{"label": "Paid tier", "description": "Apify / Bright Data — HIGH GDPR + cost risk, cost-guardian mandatory"}
{"label": "Paid tier", "description": "Apify / Bright Data — HIGH GDPR + cost risk, kei-cost-guardian mandatory"}
]
}
]
@ -204,16 +204,16 @@ If any block is missing:
### 3.3 Compute `handoffs`
ALWAYS include:
- `code-implementer` — "generic dev work outside this project's stack"
- `critic` — "anti-pattern / Constructor Pattern sweep on diffs >200 LOC"
- `validator` — "fact-check / citation sanity before commit"
- `kei-code-implementer` — "generic dev work outside this project's stack"
- `kei-critic` — "anti-pattern / Constructor Pattern sweep on diffs >200 LOC"
- `kei-validator` — "fact-check / citation sanity before commit"
Conditional additions:
- Q3 == Yes → add `cost-guardian` — "paid API run — pricing + cost estimate + dashboard check"
- Q4 == Yes → add `ml-implementer` — "numerical experiment / training run" AND `ml-researcher` — "literature / prior art lookup"
- Q2 != "None yet" → add `infra-implementer` — "node provisioning / deploy / SSH / container ops"
- Q1 is Rust/Swift/Go (any variant) → add `security-auditor` — "crypto / key handling / network / memory review"
- Q7 == "Paid tier" → add `cost-guardian` if not already present (paid scraping = cost risk even when Q3 == No) — "paid scraper run — Apify/Bright Data pricing + cost estimate + dashboard check"
- Q3 == Yes → add `kei-cost-guardian` — "paid API run — pricing + cost estimate + dashboard check"
- Q4 == Yes → add `kei-ml-implementer` — "numerical experiment / training run" AND `kei-ml-researcher` — "literature / prior art lookup"
- Q2 != "None yet" → add `kei-infra-implementer` — "node provisioning / deploy / SSH / container ops"
- Q1 is Rust/Swift/Go (any variant) → add `kei-security-auditor` — "crypto / key handling / network / memory review"
- Q7 == "Paid tier" → add `kei-cost-guardian` if not already present (paid scraping = cost risk even when Q3 == No) — "paid scraper run — Apify/Bright Data pricing + cost estimate + dashboard check"
### 3.4 Compute `references.extra`
@ -234,7 +234,7 @@ Conditional:
`role` — 2-3 sentences you compose from the answers. Template:
> You are the {slug} specialist. You own {one-line description}. Stack: {Q1}. Deploy: {Q2 or "local-only"}. {If Q5: "Sensitive IP: no public deploy, double explicit confirmation required."} Hand off generic dev work to `code-implementer`, numerical work to `ml-implementer` (if ML), and infra to `infra-implementer` (if deployed).
> You are the {slug} specialist. You own {one-line description}. Stack: {Q1}. Deploy: {Q2 or "local-only"}. {If Q5: "Sensitive IP: no public deploy, double explicit confirmation required."} Hand off generic dev work to `kei-code-implementer`, numerical work to `kei-ml-implementer` (if ML), and infra to `kei-infra-implementer` (if deployed).
`domain_in` — 5-8 lines derived from Q1/Q2 stack/deploy specifics. Use the
existing generic manifests in `_manifests/` as shape references. If unsure,
@ -249,7 +249,7 @@ inherits:
- If Q5 == Yes: `"Public deployment without double explicit confirmation (\"yes, deploy\" + \"I confirm publication\")"`
- If Q6 == Yes: `"Echoing any secret from <secrets-dir> in chat — reference paths only"`
- If Q4 == Yes: `"Running paid training without cost estimate + single-variant verify first"`
- If Q7 == "Paid tier": `"Paid scraper batch >100 items without \`cost-guardian\` pre-run cost estimate"` + `"LinkedIn paid scrape without legal-review sign-off (BGH Germany Nov 2024 GDPR risk)"`
- If Q7 == "Paid tier": `"Paid scraper batch >100 items without \`kei-cost-guardian\` pre-run cost estimate"` + `"LinkedIn paid scrape without legal-review sign-off (BGH Germany Nov 2024 GDPR risk)"`
- If Q5 == Yes AND Q7 != "None": `"Scraper output must never contain PII of subjects whose profile references unfiled patent IP (cross-contamination risk — priority-date leak via enrichment)"`
- Files >200 LOC without decomposition (Constructor Pattern).
- Picking a non-default language without a documented reason.
@ -280,11 +280,11 @@ inherits:
lines. Example:
```toml
[[handoff]]
target = "code-implementer"
target = "kei-code-implementer"
trigger = "generic dev work outside this project's stack"
[[handoff]]
target = "critic"
target = "kei-critic"
trigger = "anti-pattern / Constructor Pattern sweep on diffs >200 LOC"
```
5. Write the filled manifest to
@ -334,7 +334,7 @@ Show a concise block to the user:
Agent generated: <slug>-specialist
Blocks: baseline, evidence-grading, memory-protocol, rule-pre-dev-gate,
<stack>, <deploy or >, <domain blocks>
Handoffs: code-implementer, critic, validator, <conditional ones>
Handoffs: kei-code-implementer, kei-critic, kei-validator, <conditional ones>
Manifest: ~/.claude/agents/_manifests/<slug>-specialist.toml
Generated: ~/.claude/agents/<slug>-specialist.md
Memory: ~/.claude/memory/<slug>-project.md (not yet created — adjust path if your memory layout differs)

View file

@ -82,7 +82,7 @@ Route to matching section based on pair {A|B|C, 1|2|3}:
Control-level logic applies to ALL variants:
- **L1** — before EVERY `TaskCreate` + agent spawn, invoke `AskUserQuestion` with options {Approve | Modify | Skip}
- **L2** — auto-spawn discovery waves; `AskUserQuestion` ONLY before verification waves + new-branch spawns
- **L3** — no user prompts; apply `critic` teammate self-evaluation on each wave output before proceeding
- **L3** — no user prompts; apply `kei-critic` teammate self-evaluation on each wave output before proceeding
---
@ -92,7 +92,7 @@ Control-level logic applies to ALL variants:
**Phase 1:** Spawn 3 teammates in parallel:
- `web-researcher` — WebSearch/WebFetch top 10 findings
- `critic` — limitations, alternatives, failure stories
- `kei-critic` — limitations, alternatives, failure stories
- `practical` — real-world use cases + prior art
**Phase 2:** Cross-reference + verify + confidence grading (you, lead).
@ -203,7 +203,7 @@ Plus `graph.json` cumulative update + `intersections.md`.
> Idle teammates from Phase 1 get reused in Phase 5 — no wasted spawns.
>
> **Teammate naming convention:**
> - Phase 1: `web-researcher`, `code-explorer`, `critic`, `practical`, `docs`
> - Phase 1: `web-researcher`, `code-explorer`, `kei-critic`, `practical`, `docs`
> - Phase 5: reuse same teammates with new tasks (they keep context!)
> - If topic doesn't need code exploration, skip `code-explorer` — spawn only what's needed
>
@ -241,7 +241,7 @@ Create tasks and assign to teammates:
2. **code-explorer** — If topic relates to code/library, search the codebase and npm/pypi/github for implementations, examples, patterns. [CONDITIONAL: skip if not code-related]
3. **critic** — Search for criticisms, limitations, known issues, alternatives. Find "X vs Y" comparisons, migration guides, deprecation notices.
3. **kei-critic** — Search for criticisms, limitations, known issues, alternatives. Find "X vs Y" comparisons, migration guides, deprecation notices.
4. **practical** — Find real-world usage examples, case studies, production stories. Check GitHub issues, Stack Overflow, blog posts.
@ -311,7 +311,7 @@ Create new tasks and assign to teammates (reuse existing first, spawn additional
1. **web-researcher** (reuse) → **Numbers** — Verify ALL numbers, unit economics, metrics, benchmarks. Recalculate independently. Find primary sources for each figure. If numbers don't agree — mark `[DISPUTED]`.
2. **critic** (reuse) → **Critique** — Devil's advocate. Find ALL reasons this WON'T work. Worst-case scenarios. Legal risks. Ethical problems. What skeptics say. Real failure stories.
2. **kei-critic** (reuse) → **Critique** — Devil's advocate. Find ALL reasons this WON'T work. Worst-case scenarios. Legal risks. Ethical problems. What skeptics say. Real failure stories.
3. **practical** (reuse) → **Competitors** — Find ALL competitors (not only the obvious ones). Check: market map, Crunchbase, ProductHunt, G2/Capterra. Who launched in the last 6 months? Who died? Who pivoted?