Introduction
A common need when using AI Agents is to have them play specific roles: code reviewer, technical writer, test engineer, etc. But how do you make AI accurately understand the behavioral boundaries of that role? Writing detailed instructions manually is costly and prone to missing key constraints.
recruit-skill takes a different approach: through iterative deep questioning, AI gradually understands and builds the persona the user wants.
Design Evolution
Version Changes
| Version | Lines | Description |
|---|---|---|
| v1 | 214 lines | Complete flowcharts, multiple tables, detailed instructions |
| v2 | 17 lines | Simplified to core instructions |
| v3 | 16 lines | Removed redundant constraints |
Key changes from v1 to v3:
- Role-first: Changed from preset dimensions to asking "what role" first
- Termination: Changed from "cover all dimensions" to "AI judgment + user confirmation"
- Minimal format: Inspired by grill-me (11 lines), removed DOT diagrams and tables
Design Decisions
| Decision | Rationale |
|---|---|
| No preset dimensions | Different roles need different dimensions, let LLM decide |
| No preset termination | AI judges sufficiency, then user confirms |
| No forced memory read | User choice, avoid historical pollution |
| Minimal instruction format | Only core behavioral constraints |
Core Logic
Complete SKILL.md:
---
name: recruit
description: Build agent persona through iterative questioning.
---
Build the user's desired agent persona by asking questions one at a time:
1. Explore existing context (memory files, CLAUDE.md, project structure)
2. Ask: what role to define?
3. Ask role-specific dimension questions.
When you believe info is sufficient, present summary for confirmation.
4. Summarize persona, confirm write path or keep as session context
Constraints:
- No assumptions. Ask if uncertain.
- Do NOT write without user confirmation.16 lines, no flowcharts, no preset dimension tables.
Core Features
| Feature | Description |
|---|---|
| Role-first | Ask role type first, then decide inquiry dimensions |
| One-at-a-time | Each question asked individually, gradual deep dive |
| Language-adaptive | Output language auto-matches user interaction language |
| Write-on-confirm | Any file write requires explicit user confirmation |
Why "One-at-a-time"
Asking multiple questions at once leads to incomplete answers. Individual questions ensure each dimension is fully explored.
Why "Language-adaptive"
Users may interact in Chinese or English. Skills should match the user's natural expression, not enforce a language.
Usage
# Install
cp -r skills/recruit ~/.claude/skills/
# Trigger
/recruitTypical conversation flow:
AI: What role do you want to define?
User: Code reviewer
AI: What aspects should the code reviewer focus on?
User: Performance, security, maintainability
AI: For performance, are there specific thresholds or metrics?
User: Response time over 200ms is a problem
...
AI: I have collected enough information. Here's the persona summary:
- Role: Code reviewer
- Focus: Performance, security, maintainability
- Performance threshold: Response time < 200ms
- Output format: Markdown checklist
Confirm?
User: Confirmed, write to .claude/reviewer.md
Comparison with Other Approaches
| Approach | Pros | Cons |
|---|---|---|
| Manual instructions | Full control | High cost, easy to miss things |
| Preset templates | Quick start | Doesn't fit special needs |
| recruit-skill | Flexible, complete | Requires conversation time |
recruit-skill's value: the conversation process ensures persona completeness while keeping user control over the final output.
Future Plans
- Integrate into SuperHarness project
- Collect user feedback for iteration
- Multi-language output testing