Team hiring
SkillDev toolsGenerate the canonical Genesys hiring artefacts end-to-end. Mode A produces the sourcing 3-pack (JD + interview process + LinkedIn hiring post) plus an optional public careers page. Mode B produces per-batch operational artefacts (interview hub per role per sprint) and per-candidate Stage-1 outputs (scorecard from Granola transcript + advance email or decline note). Calibrated to a specific client (or Genesys-internal) context. Pulls voice, positioning, traction, ICP, team structure, and brand rules from the client's CLAUDE.md + locked PMM artefacts. Layers best-practice patterns from category-leading companies per role type (Nooks / Apollo / 11x / Clay for outbound; Linear / Vercel / Notion for PMM; Anthropic for technical roles). Produces markdown files in the client's team-hiring/ folder. Triggers Mode A: "create JD for", "hire a {role}", "hiring 3-pack", "team hiring sprint", "careers page", "SDR JD", "AE JD". Triggers Mode B: "build interview hub for {role}", "score this interview", "stage 1 scorecard for {candidate}", "draft advance email for {candidate}", "decline note for {candidate}", "interview debrief". Depends on client CLAUDE.md for voice rules and externally-safe proof points; recommends positioning, product-messaging, tov-guidelines, expert-pov, icp-research, brand-kit upstream. Gate 3 deep review for Mode A (public-facing). Gate 2 standard review for Mode B (internal stakeholder + candidate-facing).
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Team hiring skill
What this skill tells your AI
The instructions your AI receives, as published by matteotitta/genesys-skills in skills/primitives/clients/team-hiring/SKILL.md and read by ahel’s review.
Full-funnel hiring skill. Mode A covers sourcing (JD + interview process + LinkedIn post + optional careers page). Mode B covers batch operations (interview hub per role per sprint) and per-candidate Stage-1 outputs (scorecard from Granola transcript + advance email or decline note). One skill, two operational halves, calibrated per client.
Doctrine inherited (Step 7 — 0626 rollout, locked 2026-06-04)
Output complies with output-tenets.md, output-simplicity.md, ai-speak-anti-patterns.md. Step 6 calibration: see [[feedback_execution_doctrine_refinements_step6]].
Refinements applied: R1 (JD + careers page → end-customer-facing → no sources; interview hub + scorecard → client-team review → cleaned cites in appendix), R2 (Mode A multi-asset pack ships as one doc with toggles per asset: JD + process + LinkedIn post + careers page), R3 (JD opener capability-led, never "we are thrilled to grow our team"), R6 (JD close → application primary CTA), R9 (verb-led role + section names).
Modes
| Mode | Scope | Cadence | Output | Review gate |
|---|---|---|---|---|
| A — Sourcing artefacts | Per role per hiring sprint | Once per role | JD + interview process + LinkedIn post (+ optional careers page) | Gate 3 (public-facing) |
| B — Batch operations | Per batch + per candidate | Per interview cycle (~weekly) | Interview hub (per role) + Stage-1 scorecard (per candidate) + comms draft (per candidate) | Gate 2 (internal + candidate-facing) |
When to run → which mode
| User says | Routes to |
|---|---|
| "create JD for {role}", "hire a {role}", "hiring 3-pack", "careers page" | Mode A |
| "build interview hub for {role}", "set up the {role} hiring batch" | Mode B Step 1 |
| "score this interview", "stage 1 scorecard for {candidate}", "interview debrief" | Mode B Step 2 |
| "draft advance email for {candidate}", "decline note for {candidate}" | Mode B Step 3 |
Don't run when the user wants: organisational design (headcount planning, org chart), updating an existing JD after feedback (edit directly), coaching session or interview-prep for the hiring panel, or a reference-check script or offer-letter template.
Inputs
Mode A required (no defaults): org context (client folder), role title, artifact scope (3-pack vs 4-pack).
Mode B required (no defaults): org context, role (must already have an existing interview hub OR be creating one in Step 1), and per-step specifics:
- Step 1 (hub): role family (SDR / GM / PMM / engineer / etc.), candidate list for this batch (names + LinkedIn URLs + comp expectation + visa flag if relevant).
- Step 2 (scorecard): Granola meeting ID (or transcript) + the role's interview hub (for the canonical scorecard table) + user-stated pre-verdict (advance-clean / advance-with-caveat / reject).
- Step 3 (comms): the candidate's scorecard verdict + any caveats (office availability / comp recalibration / availability timing / format choice) for advance variants.
Recommended for both modes (pulled from client artefacts): voice rules (brand-name convention, em-dash policy, English variant, banned buzzwords, externally-safe vs internal-only proof), positioning + traction, ICP / buyer, team structure, mission + values. Source: client CLAUDE.md, positioning/, messaging/, icp/.
If any required input is missing, ask the user. Don't fabricate role specifics or candidate context.
Steps
Mode A — Sourcing artefacts (Steps A1-A8)
- Resolve context. Read client CLAUDE.md, latest.md, canonical references. Pull voice rules, externally-safe proof points, team-member list, existing team-hiring/ precedents.
- Confirm scope. Role title + reporting line + comp band (with role-family defaults). Artifact scope (3-pack or 4-pack).
- Route to role-family patterns. Per the premium reference, identify 3-5 category-leading companies whose JDs and careers pages inform this hire.
- Draft the JD. Use the 10-section template in the premium reference. Length 1,500-2,200 words.
- Draft the interview process. Use the 3-stage template in the premium reference. Calibrate Stage 2 to role family. Length 1,200-1,500 words.
- Draft the LinkedIn hiring post. Use one of the 4 hook archetypes from the premium reference (Challenge / Contrarian-Craft / Mission-Led / Story). Length 350-500 words.
- (If 4-pack) Draft the careers page. WebFetch live About page first. Synthesise 5-7 operating principles from About + brand kit + voice + expert-pov. Length 1,200-1,800 words.
- Voice-rule self-review + Gate 3 pause + push handoff. Per the premium reference voice-rule grep + push protocol.
Mode B — Batch operations (Steps B1-B3)
-
Build the interview hub (per role per sprint). Per the premium reference: this-week's-candidates table + Stage-1 screening script (60-min outline with per-section timing) + live exercise template (per role family) + scorecard template (7 dims for SDR, 10 for GM, role-family adaptations for PMM / engineer / CS) + per-candidate prep appendices (snapshot + three-risks-to-verify + customised opening hook + two probe questions + comp framing + Stage-2 handoff template) + canonical 3-stage process reference. Output:
MMYY-{role}-interview-hub.mdin client'steam-hiring/folder. Notion-publish as a child page; manifest line wired per.claude/rules/notion-protocol.md. -
Score the candidate (per candidate per Stage-1 interview). Per the premium reference: pull Granola transcript via
mcp__granola__get_meeting_transcript. Map transcript evidence to the role's canonical scorecard table (from the hub). Apply hiring bar ("no dimension below 3, at least 3 dimensions at 4+"). Verdict-up-top, verbatim transcript quotes per dimension, Stage-2 handoff template (or rejection rationale), "next move" footer. Three verdict shapes: advance-clean, advance-with-caveat (sub-variants per the premium reference), reject (rubric-anchored). Output:MMYY-{firstname-lastname}-stage1-scorecard.md. Notion-publish as child of the hub page (parent inheritance via the hub'spageId). -
Draft candidate-facing comms (per candidate post-verdict). Per the premium reference: advance email (positive signal → next-stage framing → any-caveat-conversation framing → close) OR decline note (shape-of-role framing, not performance → named specific strength → genuine stay-in-touch close). Tone gate: "would I be comfortable if the candidate posted this on LinkedIn?" Output:
MMYY-{firstname-lastname}-stage1-{advance-email|decline-note}.md. Local-only (operational draft, not stakeholder artefact). Voice rules per client CLAUDE.md.
What good looks like
Mode A quality bar (existing v1.0, unchanged):
- Voice match: reads like the client's existing brand voice. 100-Posts Test.
- Specificity over generality: KPIs quantified, team members named, reporting line explicit, comp a real band.
- Externally-safe proof only: internal-only metrics never appear.
- Role-family pattern visible without copying.
- Application format consistent ("No CV. Three things." per Genesys convention).
Mode B quality bar (new in v2.0):
- Hub: scorecard dimensions match the role family (SDR 7-dim, GM 10-dim, etc.). Stage-1 script timed to 30 minutes. Per-candidate prep appendix grounded in real LinkedIn + JD context (no fabricated risks).
- Scorecard: verdict at line 1 (not buried). Every dimension score backed by a verbatim transcript quote or explicit "not assessed in Stage 1" marker. Hiring-bar logic applied correctly. Stage-2 handoff template populated. "Next move" footer specifies who-does-what.
- Comms: advance email frames any caveat (office / comp / availability) honestly without making the candidate feel they're on probation. Decline note frames on shape-of-role, not performance; names a specific strength; warm but unambiguous.
- Voice rules per client: no em dashes if banned (e.g., ClientCo), brand-name spelling correct, no affirmative use of internally-banned metrics.
Self-evaluation (pre-delivery checklist):
Mode A (unchanged): voice match, KPIs quantified, team members named, comp band specific, brand-name convention, em-dash policy, English variant, no banned buzzwords, no internal-only proof, application format, interview Stage 2 role-appropriate, (if 4-pack) careers page operating principles client-specific + works at openings = 0.
Mode B (new):
- Hub: scorecard dimensions match role family, Stage-1 script timed to 30 min, per-candidate appendices grounded in real profile data.
- Scorecard: verdict at line 1, every dimension backed by verbatim quote, hiring bar applied, Stage-2 handoff populated, "next move" footer specific.
- Comms: advance email caveat framed cleanly, decline note shape-of-role + named strength + warm close.
- Voice rules: pulled from active client's CLAUDE.md, applied per-output.
Final ship gate
Run /premortem --output before ship. See /premortem skill for the 5 execution domains.
Trivial-case escape: ## Premortem\nNo failure modes — trivial change satisfies the contract.
Signals
- GitHub stars
- 36
- Forks
- 14
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
team-hiring- Source
- github.com/matteotitta/genesys-skills