ooligo
claude-skill

Job description writer with Claude

Difficulty
beginner
Setup time
20min
For
recruiter · hiring-manager · talent-acquisition
Recruiting & TA

Stack

A Claude Skill that takes a hiring manager’s loose role description (“we need a senior backend engineer for the payments team”), interviews the manager about the actual scope, and produces a structured job description aligned to skills-based hiring principles plus employer brand voice. Replaces the typical “we’ll write the JD when we get to it” pattern with a 20-minute conversation that produces a usable JD.

What you’ll need

  • Claude Code or Claude.ai with custom Skills enabled
  • The team’s employer brand voice guide (or examples of well-written existing JDs)
  • The role’s pay range and any compliance requirements (US: pay-transparency-required jurisdictions need specific disclosure)

Setup

  1. Drop the Skill. Place jd-writer.skill into your Claude Code skills directory. The Skill exposes one callable function: draft_jd.
  2. Configure the brand voice. Edit brand_voice.md with your company’s JD voice guidelines and 2-3 well-written existing JDs as references.
  3. Configure compliance rules. compliance_rules.yaml includes per-jurisdiction requirements (pay disclosure, EEO statements, accommodation language).
  4. Test on a known role. Run on a role where a JD already exists. Compare the Skill’s draft to the existing JD; tune the brand voice and required-sections config.

How it works

The Skill conducts a 5-10 minute conversation:

  1. Discovers the actual role. Asks the manager about scope, success criteria 12 months in, the team context, must-have vs nice-to-have skills, the day-to-day, the hard parts.
  2. Probes for skills-based hiring alignment. Pushes back on credential-based requirements (“5+ years at FAANG”) in favor of skill-based articulation (“experience designing distributed systems serving 10M+ requests/day”).
  3. Drafts the JD. Aligned to the brand voice, compliance-checked for the target jurisdictions, structured per the team’s standard JD format.

Output

A complete JD draft including:

  • Role summary — 2-3 sentences on what the role does and why it matters
  • What you’ll do — the actual day-to-day, prioritized
  • What we’re looking for — skill-based requirements with explicit must-have vs nice-to-have split
  • About the team — team context, who the candidate works with, what the team is building
  • About the company — company context aligned to employer brand
  • Compensation and benefits — pay range, equity, benefits summary, location/remote details
  • Compliance footer — EEO statement, accommodation language per jurisdiction

Where it fits

Use this Skill at the start of every new role — replacing the usual “we’ll write the JD this week” delay that pushes hiring back. Hiring manager spends 15-20 minutes in the conversation; recruiter reviews the draft, edits, posts.

The downstream benefits compound: better JDs produce better-fit applicant pools, which produces better hire outcomes per recruiting funnel metrics.

Watch-outs

  • Brand voice quality matters. Generic Claude defaults produce generic JDs. Investing in the brand-voice config pays back across every JD.
  • Don’t auto-publish. Recruiter and hiring manager both review before posting. AI-drafted JDs can introduce subtle errors (wrong title, wrong jurisdiction, wrong scope) that need human catch.
  • Compliance is jurisdiction-specific. US states (California, Colorado, NY) have pay-transparency requirements; EU has different requirements. Verify the config matches your hiring jurisdictions.
  • Push back on credential-laden requirements. The Skill should challenge “must have CS degree” and “must have 10+ years experience” framings; verify it actually does in your config.
  • Length discipline. JDs over 600 words get skim-read; force concision. The Skill should target ~400 words for most roles.