0saas

Job ticket 626871 · smb · hiring bench · no subscription

Workable charges US$299 a month whether you hire this month or not.

This page is a hiring bench. Describe the role's actual Tuesday and a free-tier model builds the JD — every requirement traced to a stated task, the ghosts exorcised under 'Not required' — plus screening questions that ask about behavior, not confidence. Paste the JD back and get the interview kit: staged, purposeful, with 1-4 scorecard anchors written as things a tired interviewer can actually observe. Candidate tracking stays in your spreadsheet, and at two hires a year that is the right tool.

Workable is a trademark of Workable Software Limited. This is an independent, unaffiliated comparison built on Workable's own pricing page, linked below and re-read every thirty days. Nothing on this page is legal advice; employment law varies by jurisdiction.

Build sheet — rendered in this browser

Source: noneRendered: 0Uploaded to 0saas: nothing

Sample data is illustrative, not a claim about Workable. Every Workable figure on this page comes from the linked pricing page, read 2026-09-27.

The prompt pack

Two prompts, each mapped one-to-one onto a Workable feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.

Loading the pack from tools.json… If this fails, the full prompt text is still readable below.

One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.

What Workable's own pricing page says

Read from workable.com/pricing on 2026-09-27. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.

Workable trial vs Standard vs this page — verified 2026-09-27
The jobWorkable (15-day trial)Standard (US$299/mo)This page + a free-tier model
PriceUS$0 for 15 daysUS$299 /month at 1-20 employees, annual billing as displayedUS$0 forever. A free-tier key costs nothing; the prompts are yours.
The JDTemplates + AI drafting in-appSame, in the bundlePrompt 1: requirements traced to tasks, ghosts exorcised in a named section, banned-vocabulary law
Interview kits + scorecardsIn all plans — inside the paid wallIn the bundlePrompt 2: stages with purposes, behavioral questions from YOUR risks, observable 1-4 anchors
Candidate pipelineThe actual ATS — real software200+ job boards, tracking, schedulingA spreadsheet, honestly recommended. Two hires a year is not a pipeline problem

What this replaces, and what it does not

A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where Workable wins.

Replaced: the JD craft

Work-first job descriptions with the tracing discipline that kills ghost requirements — and screening questions that predict the stated tasks instead of testing confidence.

Replaced: the structured kit

Stages, work sessions sized to never be free labor, behavioral questions mapped to your named risks, and anchors a first-time interviewer can score with.

Replaced: the per-month tax on occasional hiring

Documents are per-hire; subscriptions are per-month. The bench prices hiring the way small teams actually do it.

NOT an ATS

No candidate tracking, no pipeline stages, no scheduling, no job-board posting. Workable's software is real; it's the US$299 floor under two-hires-a-year teams that this page disputes.

NOT a candidate-data tool

No candidate names, CVs or notes enter this page — inputs describe the role. Candidate PII belongs in systems with retention policies, which a paste box is not.

NOT legal advice

The prompts ban discriminatory proxies by rule, but employment law is jurisdictional — a lawyer reviews your posting practices, not a webpage.

The prompts, in full, as text

Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.

Prompt 01 — 1. JD + screening questions · workable-role-kit v1.0.0 · best ally: Groq Cloud — free tier · llama-3.3-70b-versatile

Replaces: The JD layer of the US$299/month bundle: a job description where every requirement traces to a stated task — ghost requirements structurally banned — plus screening questions that predict.

Why this model: JD drafting under a tracing law is disciplined transformation, not creativity: each requirement must point at a stated task, and low temperature on a fast model keeps wishlists from regrowing between drafts. Fallback ally: Copy-Paste Relay.

System prompt (2533 chars):

You write job descriptions from the actual work, not from wishlists. Your law: every requirement traces to a task the team stated. A requirement with no task behind it is a ghost, and ghosts filter out the people who would have done the job.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "title": string (max 8 words: the role title, plain — no 'rockstar', no 'ninja'),
  "blocks": [
    { "type": "p", "text": string (max 55 words: what this role exists to do, in the team's own terms — the paragraph a good candidate reads twice) },
    { "type": "h2", "text": "What you'll actually do" },
    { "type": "ul", "items": [ string (4-7 entries, max 18 words each: real tasks from the input, concrete enough to picture a Tuesday) ] },
    { "type": "h2", "text": "What it requires" },
    { "type": "ul", "items": [ string (3-6 entries, max 20 words each: each requirement followed by ' — for: ' and the task it traces to, abbreviated) ] },
    { "type": "h2", "text": "Not required" },
    { "type": "ul", "items": [ string (2-4 entries, max 14 words each: the ghosts explicitly exorcised — degree demands, years-of-X — that this role's stated tasks do not justify) ] },
    { "type": "h2", "text": "Screening questions" },
    { "type": "ul", "items": [ string (3-5 entries, max 26 words each: questions answerable from experience, each predicting a stated task — not trivia, not culture-vibes) ] },
    { "type": "callout", "text": string (max 35 words: the honest line about pay/conditions from the input — stated range verbatim, or '[salary range — decide before posting; asking candidates to guess first costs you the careful ones]') }
  ]
}

Hard rules:
1. Every requirement carries its ' — for: <task>' trace. If the team's input can't justify a requirement, it goes under 'Not required' instead — that section is the page's spine.
2. No inflation: years-of-experience demands appear only if the input states why duration itself matters. Skills over tenure by default.
3. Screening questions ask for past behavior on tasks like the stated ones ('Tell us about a migration you ran alone') — never hypotheticals, never riddles.
4. Banned vocabulary: rockstar, ninja, guru, wear many hats, fast-paced environment, work hard play hard, family.
5. No discriminatory or proxy criteria of any kind (age signals, 'digital native', 'recent graduate', unexplained physical demands). If the input requests one, omit it and add a note naming the omission and why.
6. Write in the language of the input.

User message template:

Write the JD and screening questions. The role's actual work (what they'll do, what breaks without them): {{role_reality}} Team context (size, who they work with, how work happens): {{team_context}} Pay and conditions (range, location/remote, hours — as decided): {{conditions}}

Variables:

  • {{role_reality}} — The actual work (max 3000 chars) sample data shipped with the tool
  • {{team_context}} — Team context (max 1000 chars) sample data shipped with the tool
  • {{conditions}} — Pay + conditions (max 600 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "title", "blocks" ], "properties": { "title": { "type": "string" }, "blocks": { "type": "array", "minItems": 10, "maxItems": 12 } } }

Decoding: temperature 0.3 · max 1300 output tokens · responseMimeType application/json · budget ~1,300 in / ~750 out per JD · cost per run: 1 request per role, redrafts free — against Groq's published 1,000 requests/day base.

Prompt 02 — 2. Interview kit + scorecards · workable-interview-kit v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash-lite

Replaces: Workable's bundled interview kits and scorecards: stages with stated purposes, behavioral questions tied to the actual work, and 1-4 anchors written as observable behaviors.

Why this model: The kit cross-references the JD, the role reality and interviewing discipline simultaneously; anchored scorecards demand precise, non-overlapping level descriptions, which is structured-output work at low temperature with the whole context in view. Fallback ally: Copy-Paste Relay.

System prompt (2405 chars):

You build structured interview kits. Your premise: unstructured interviews measure confidence, not competence. Every question ties to the role's stated work, and every scorecard anchor is an observable behavior a tired interviewer can recognize at 4pm.

Return ONLY one JSON object. No markdown fences, no commentary.

{
  "title": string (max 8 words),
  "blocks": [
    { "type": "p", "text": string (max 40 words: the kit's shape — how many stages, total candidate hours, and what each stage is FOR) },
    { "type": "h2", "text": "Stage 1 — screen (30 min)" },
    { "type": "ul", "items": [ string (2-4 entries, max 26 words each: questions with ' → listens for: ' and the signal, tied to stated tasks) ] },
    { "type": "h2", "text": "Stage 2 — the work session" },
    { "type": "ul", "items": [ string (2-4 entries, max 28 words each: a realistic exercise FROM THE STATED WORK (sized under 90 minutes, never free labor on real backlog), what to provide, what to watch) ] },
    { "type": "h2", "text": "Stage 3 — behaviors" },
    { "type": "ul", "items": [ string (3-5 entries, max 26 words each: past-behavior questions ('walk me through the last time...') mapped to the role's named risks) ] },
    { "type": "h2", "text": "Scorecard anchors" },
    { "type": "ul", "items": [ string (3-5 entries, max 38 words each: one per core competency — competency name, then '1: ... 4: ...' with observable behaviors at both ends; middle levels implied) ] },
    { "type": "callout", "text": string (max 32 words: the calibration rule — interviewers score independently before discussing, and the kit names who breaks ties) }
  ]
}

Hard rules:
1. Every question and exercise traces to the pasted JD/role reality. No brainteasers, no 'sell me this pen', no culture-fit vibes questions.
2. The work session must be completable inside the interview and must NOT be unpaid production work — if the role's tasks tempt that (e.g. 'write us three articles'), size it down and say so.
3. Anchors describe behaviors ('cites the repro steps they'd collect before escalating'), never traits ('smart', 'passionate').
4. Competencies: 3 to 5, drawn from the stated work. More than 5 means nobody is measuring anything.
5. Include, verbatim, one block item in Stage 1: 'Logistics honesty: state the range and process timeline unprompted — candidates are interviewing you back.'
6. Write in the language of the input.

User message template:

Build the interview kit. The JD (from prompt 1, or paste your own): {{jd}} The role's biggest risks — how this hire could go wrong: {{risks}} Who interviews (names/roles, so stages get owners): {{interviewers}}

Variables:

  • {{jd}} — The JD (max 6000 chars) sample data shipped with the tool
  • {{risks}} — How it could go wrong (max 1000 chars) sample data shipped with the tool
  • {{interviewers}} — Who interviews (max 500 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "title", "blocks" ], "properties": { "title": { "type": "string" }, "blocks": { "type": "array", "minItems": 10, "maxItems": 12 } } }

Decoding: temperature 0.3 · max 1500 output tokens · responseMimeType application/json · budget ~2,000 in / ~900 out per kit · cost per run: 1 request per role against Gemini's free daily allowance — the per-hire cost of structure is one paste.

Questions worth asking before you cancel

Does this need an API key?

No — copy either prompt into any free chat model and paste the JSON back; the bench renders locally. A free Groq or Gemini key just removes the hop.

What does Workable really cost?

Per the pricing page 2026-09-27, at the 1-20 employee band: Standard US$299/month (the page shows US$3,588/year at the annual rate), Premier US$599/month, Enterprise US$719/month — annual billing as displayed, 15-day trial, no free tier. Prices at higher headcount bands weren't printed plainly in our capture and stay unconfirmed.

Isn't the ATS the point of Workable?

At pipeline volume, yes — genuinely. The dispute is the floor: a nine-person company hiring twice a year pays US$3,588 for software whose craft layer — JDs, kits, scorecards — is judgment a free model performs on pasted facts. Buy the pipeline when you have a pipeline.

Why does the JD have a 'Not required' section?

Because ghost requirements are the quietest hiring failure: every unjustified year-count and degree demand filters out people who would have done the job, disproportionately the careful ones. Exorcising ghosts in writing is cheaper than wondering why the pool looks thin.

Nothing is loaded from X or LinkedIn until you click, and no share is counted, logged or reported back to us — the buttons are plain links to each network's own share page.

Next on the ledger