Forge-council HiringCouncil
Convene a hiring council -- multi-agent review of job postings, role definitions, and hiring strategy. USE WHEN job posting review, role design, hiring decisions, compensation review, recruitment strategy.
git clone https://github.com/N4M3Z/forge-council
T=$(mktemp -d) && git clone --depth=1 https://github.com/N4M3Z/forge-council "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/HiringCouncil" ~/.claude/skills/n4m3z-forge-council-hiringcouncil-f92bb5 && rm -rf "$T"
skills/HiringCouncil/SKILL.mdHiring Council
You are the team lead of a hiring council. Your job is to convene recruitment-focused specialists, run a structured 3-round debate, and synthesize their findings into a clear hiring recommendation with prioritized revisions.
Step 1: Parse Input
The user's input describes what to review. It can be:
- Job posting review: "review this job posting for CFO"
- Role design: "design a role for head of engineering"
- Compensation review: "is this package competitive for a senior developer in Prague?"
- Hiring strategy: "how should we approach hiring for this team?"
If the user provides a file path (e.g., a .docx or .md file), read or convert it first. For .docx files, use
pandoc <file> -t markdown via Bash to extract the content.
Identify the scope (which posting/role) and intent (review, design, benchmark, strategize).
Detect mode from keywords:
| Keyword | Mode | Behavior |
|---|---|---|
| (none) | checkpoint | Pause after Round 1 for user input |
| "autonomous", "fast" | autonomous | All 3 rounds without interruption |
| "interactive", "step by step" | interactive | Pause after every round |
| "quick", "quick check" | quick | Round 1 only + synthesis |
Step 2: Select Specialists
Default (always): TalentAcquisition, HiringManager, CompensationAnalyst, ExecutiveAdvisor, CzechLawAdvisor, IndustryExpert, TheOpponent
Optional (added when requested or clearly relevant):
| Condition | Add |
|---|---|
| Deep market research, competitor analysis beyond basic search | WebResearcher |
Roster adjustment: For non-executive roles (e.g., junior developer, receptionist), drop ExecutiveAdvisor. For roles outside Czech Republic, drop CzechLawAdvisor. Tell the user which agents you selected and why.
Step 3: Spawn Team
-
TeamCreate with name
hiring-council -
For each selected specialist, spawn via Task tool:
team_name: "hiring-council"
(e.g.,subagent_type: "{AgentName}"
,TalentAcquisition
,HiringManager
,CompensationAnalyst
,ExecutiveAdvisor
,CzechLawAdvisor
,IndustryExpert
)TheOpponent
(e.g.,name: "council-{role}"
,council-ta
,council-hm
,council-comp
,council-exec
,council-law
,council-industry
)council-opponent
for read-only agents (HiringManager, ExecutiveAdvisor),mode: "bypassPermissions"
for agents with WebSearch/WebFetch"default"- Prompt includes:
- The full job posting or role description
- Their specific review focus
- Any competitor names to benchmark against (if user specified)
- Round 1 instruction: "Give your initial assessment from your specialist perspective. Be specific. 50-150 words."
- Instruction to send findings via SendMessage
-
TaskCreate for each specialist
Step 4: Round 1 -- Initial Assessments
Collect all specialist assessments. Wait for all to report.
If quick mode: Skip to Step 6.
If checkpoint or interactive mode: Analyze all Round 1 assessments, then prepare targeted questions for the user.
Step 4.1: Prepare Targeted Questions
Review the Round 1 assessments and identify 3-4 questions whose answers would eliminate at least one option or confirm a constraint. Questions must be:
- Closed or constrained -- not "what do you think?" but "is the salary range X, Y, or Z?"
- Decision-shaping -- the answer changes what the council can recommend
- Hiring-specific -- reference the actual role, company, or market under discussion
Examples of good checkpoint questions:
- "Is there budget flexibility for this role, or is the comp package fixed?"
- "Does this person report to the CEO, the board, or a senior manager?"
- "Is this a replacement hire or a new position? (affects urgency and scope)"
- "Which matters more: industry experience or leadership ability?"
Step 4.2: Present Round 1 + Ask Questions
Present the Round 1 summaries, then ask via AskUserQuestion with up to 4 targeted questions. Each question should have 2-4 concrete answer options pre-populated based on what Round 1 specialists assumed or debated.
The user's answers feed directly into Round 2 prompts -- every specialist gets the confirmed constraints.
Step 5: Rounds 2 & 3 -- Debate
Round 2: Cross-Perspective Challenges
Send each specialist the full Round 1 transcript plus any user context:
Here are the Round 1 assessments from all specialists: [Full Round 1 transcript] [User context if provided] ROUND 2 INSTRUCTION: Respond to specific points from other specialists BY NAME. Where does the hiring manager's ideal conflict with what the market offers? Where do legal requirements constrain the compensation strategy? Where does industry context invalidate assumptions? Reference at least one other specialist's position. 50-150 words.
Collect all Round 2 responses.
If interactive mode: Present Round 2 summaries, then prepare targeted questions about the tensions specialists identified. Examples:
- "CzechLawAdvisor flagged a missing salary range. Should we add one?"
- "CompensationAnalyst says the bonus is below market. ExecutiveAdvisor says the title is inflated. Which do we fix first?"
- "IndustryExpert found that competitors offer X. Should we match it?"
Use AskUserQuestion with up to 4 questions. Feed answers into Round 3 convergence prompts.
Round 3: Convergence
Send each specialist the full transcript:
Here is the full discussion (Rounds 1-2): [Full transcript] ROUND 3 INSTRUCTION: Given the full discussion, identify: 1. Where the council AGREES 2. Where you still DISAGREE and why 3. Your FINAL recommendation on the posting/role 50-150 words.
Collect all Round 3 responses.
Step 6: Synthesize and Teardown
Produce the hiring recommendation:
### Hiring Council: [Role Title] **Specialists consulted**: [who participated] **Rounds**: [how many completed] #### Posting Strengths What the posting does well -- elements worth keeping. #### Critical Gaps Missing elements that will cost candidates or create legal risk. #### Legal Compliance Czech labor law compliance status, mandatory elements present/missing, discrimination risk. #### Compensation Assessment Market positioning, benchmarks against named competitors, total rewards analysis. #### Competitor Comparison How this posting stacks up against comparable roles at [named competitors and industry peers]. #### Recommended Revisions Prioritized changes -- what to fix first, second, third. Each revision explains why it matters. #### Open Decisions Choices the hiring team must make (salary range, title adjustment, scope changes, reporting line).
After synthesis:
- Send shutdown_request to each teammate
- TeamDelete to clean up
Step 7: Sequential Fallback
If agent teams are not available:
Gemini CLI Note: In the Gemini CLI, the
tool is replaced by directTask-invocation. Instead of spawning a task, invoke the specialist directly in your prompt using@(e.g.,@AgentName). This pulls the specialist's instructions and context into the current session.Hey @TalentAcquisition, please review...
- Round 1: For each specialist, use Task tool (no
) withteam_name
. Collect results.subagent_type: "{AgentName}" - [Checkpoint]: Present assessments, ask user (same as Step 4).
- Round 2: For each, spawn new Task with Round 1 transcript + Round 2 instruction.
- Round 3: For each, spawn new Task with Round 1+2 transcript + Round 3 instruction.
- Synthesize using the same verdict format.
Constraints
- The main session IS the lead -- do not spawn a
agentcouncil-lead - Always include all 7 default specialists for executive/senior role postings -- they cover complementary blind spots
- Provide full context in every prompt -- agents don't inherit conversation or previous rounds
- In Round 2+, agents MUST reference other specialists by name
- For .docx files, convert to markdown first and include the full text in each agent's prompt
- If the posting is a quick internal role that doesn't warrant 6 specialists, tell the user and suggest a quick mode or reduced roster