by JobDesc AI (LX AI)

Last updated: 2026-10-03

We need to produce HTML fragment only, starting with the opening block exactly as provided: `

A structured, inclusive JD from must-haves

` then after that we need to continue with content. The opening block includes that h1 only? The prompt says: "Opening block (KEEP VERBATIM as first content):

A structured, inclusive JD from must-haves

" So we must start with that exact line. After that we can add other elements. Must not include doctype, html/head/body. Must include 6-8

sections with

subpoints, lists, and ONE table. Include an

What this is NOT

honesty section. End with

References

with , , etc. We need to have 6-8

sections. Let's plan maybe 7 sections: 1) Introduction (maybe after opening?), but we already have opening h1. We need h2 sections after that. Could have:

Why structure matters

,

Building the must‑have list

,

Drafting responsibilities

,

Adding requirements with levels

,

Running an inclusivity check

,

What this is NOT

,

References

. That's 7 h2 sections (including What this is NOT and References). Need at least 6-8, okay. Within each h2 we need

subpoints, lists, etc. Also need one table somewhere (maybe in Building the must‑have list section). Must include at least two inline uses of allowed URLs in body. So we can embed links to OWASP and NIST within some paragraphs. We must end with

References

...

Drafting responsibilities

Action‑verb starters

...

Outcome focus

...

Adding requirements with levels

Must‑have vs Nice‑to‑have

...

Experience ranges

...

Running an inclusivity check

Language scan

...

Accessibility note

...

We reference the OWASP LLM Top 10 for prompt safety: https://owasp.org/www-project-top-10-for-large-language-model-applications

We also align with NIST AI RMF: https://www.nist.gov/itl/ai-risk-management-framework

What this is NOT

No guarantee of perfect fit

...

Not a replacement for legal review

...

References

I built JobDesc AI to turn a blank page into a ready‑to‑post job description that includes a clear structure and an inclusivity check. The process starts with a short list of must‑have items, then expands into responsibilities, requirements, and a final review for biased language. Below is the step‑by‑step workflow I use when I create a JD for a new role.

Now sections. We'll need to count words later but approximate. Let's write each section with multiple paragraphs and lists. Section 1: Why structure matters.

Why structure matters

Screening time

When a JD follows a predictable format, candidates can scan it in seconds. They look for the must‑have block, then the responsibilities list, then the requirements table. If the format changes each time, they spend extra time trying to understand what is required, which drops the number of qualified applicants.

Bias reduction

A fixed layout makes it easier to apply an inclusivity check after the draft is complete. I run the same language scan on every JD, looking for gendered terms, age‑related phrasing, and ability‑based assumptions. Because the check is applied to the same sections each time, I catch issues faster and keep the tone neutral.

Section 2: Building the must‑have list.

Building the must‑have list

Source from role outcomes

I start by writing down the top three outcomes the person in this role must deliver in the first six months. For a software engineer, outcomes might be: ship a feature that reduces page load time by 20 %, mentor two junior engineers, and maintain the service‑level agreement above 99.9 %. Each outcome becomes a source for a must‑have skill or experience.

Separate tiers

I split the list into three tiers: Must‑have, Nice‑to‑have, and Exclude. Must‑have items are non‑negotiable for day‑one productivity. Nice‑to‑have items add value but are not required. Exclude items are characteristics that would lead to automatic disqualification (for example, requiring a specific gender).

Tier Example Reason
Must‑have Three years of experience with React Needed to maintain existing UI components
Nice‑to‑have Experience with TypeScript Helps with future code‑quality work
Exclude Preference for candidates under 30 Age‑based filter is discriminatory

Validate with stakeholders

I share the draft must‑have list with the hiring manager and a team member who does the work. I ask them to mark any item that feels too strict or too loose. After incorporating their feedback, I freeze the list before moving to responsibilities.

Section 3: Drafting responsibilities.

Drafting responsibilities

Action‑verb starters

Each responsibility begins with a strong verb that shows what the person will do. I avoid vague phrases like “responsible for” and instead start with words such as Design, Build, Test, Analyze, Coach, or Write. This makes the expectation clear and helps candidates picture themselves doing the work.

Outcome focus

After the verb, I add the expected result. For example, “Design a REST API that handles 500 requests per second with latency under 100 ms.” The outcome gives a measurable target, which helps the candidate self‑assess fit.

Link to must‑have items

I cross‑check each responsibility against the must‑have list. If a responsibility requires a skill that is not marked as must‑have, I either add that skill to the must‑have block or rephrase the responsibility to rely on a nice‑to‑have skill.

Section 4: Adding requirements with levels.

Adding requirements with levels

Must‑have vs Nice‑to‑have

I create a two‑column table. The left column lists Must‑have requirements, the right column lists Nice‑to‑have requirements. Each row contains a single criterion such as education, years of experience, specific tool, or certification.

Must‑have Nice‑to‑have
Bachelor’s degree in Computer Science or related field Master’s degree in Computer Science
Two years of professional experience with RESTful APIs Three years of experience with GraphQL
Ability to write unit tests covering 80 % of code Experience with property‑based testing frameworks
Familiarity with CI/CD pipelines using GitHub Actions Knowledge of Argo CD for Kubernetes deployments

Experience ranges

I express experience as a minimum range rather than a fixed number. For example, “at least two years of experience with Python” lets candidates with three or four years apply without feeling overqualified. I avoid phrasing like “exactly two years” because it can screen out strong candidates who have slightly more or less experience.

Education flexibility

When a degree is listed as must‑have, I add an alternative path: “or equivalent practical experience.” This acknowledges candidates who learned through bootcamps, self‑study, or military training.

Section 5: Running an inclusivity check.

Running an inclusivity check

Language scan

I run the draft through a custom script that flags problematic terms. The script looks for gendered words (he/she, guys, rockstar), age‑related phrases (digital native, recent graduate), and ability‑based language (must be able to lift 50 lbs, must stand for long periods). Each flag appears as a comment in the editor so I can decide whether to replace or remove the term.

Accessibility note

I add a short statement at the bottom of the JD: “We welcome applications from individuals of all backgrounds and abilities. If you need accommodation during the application process, please let us know.” This signals that the company values accessibility and reduces the chance that qualified candidates self‑screen out.

To keep the language model safe when generating suggestions, I refer to the OWASP LLM Top 10 for prompt injection risks: https://owasp.org/www-project-top-10-for-large-language-model-applications. This helps me avoid prompts that could produce biased or harmful output.

For overall AI risk management, I align with the NIST AI RMF framework: https://www.nist.gov/itl/ai-risk-management-framework. The framework guides me to document model limitations, test for fairness, and monitor drift over time.

Section 6: What this is NOT.

What this is NOT

No guarantee of perfect fit

Even a well‑structured JD cannot promise that every applicant will succeed in the role. The document sets expectations, but performance depends on many factors such as team dynamics, motivation, and changing business needs.

Not a replacement for legal review

I am not a lawyer. The inclusivity check reduces obvious bias, but it does not ensure compliance with local employment laws. Before posting, I have the JD reviewed by our HR or legal team to confirm it meets EEOC guidelines and any state‑specific rules.

Does not eliminate all sourcing challenges

A clear JD helps candidates self‑screen, but it does not fix issues with sourcing channels, employer brand, or compensation competitiveness. I still need to advertise the role where the target audience looks and offer a market‑aligned salary range.

Section 7: References.

References

Why structure matters

Screening time

When a JD follows a predictable format, candidates can scan it in seconds. They look for the must‑have block, then the responsibilities list, then the requirements table. If the format changes each time, they spend extra time trying to understand what is required, which drops the number of qualified applicants.

Check: "When a JD follows a predictable format, candidates can scan it in seconds." No banned. "They look for the must‑have block, then the responsibilities list, then the requirements table." ok. "If the format changes each time, they spend extra time trying to understand what is required, which drops the number of qualified applicants." ok.

Bias reduction

A fixed layout makes it easier to apply an inclusivity check after the draft is complete. I run the same language scan on every JD, looking for gendered terms, age‑related phrasing, and ability‑based assumptions. Because the check is applied to the same sections each time, I catch issues faster and keep the tone neutral.

Check: "A fixed layout makes it easier to apply an inclusivity check after the draft is complete." ok. "I run the same language scan on every JD, looking for gendered terms, age‑related phrasing, and ability‑based assumptions." ok. "Because the check is applied to the same sections each time, I catch issues faster and keep the tone neutral." ok. Check each li: "Consistent headings help screen readers navigate the document." ok. "Standard bullet style reduces visual clutter." ok. "Repeating the same workflow builds a habit that prevents missed steps." ok. Section 2: Building the must‑have list.

Building the must‑have list

Source from role outcomes

I start by writing down the top three outcomes the person in this role must deliver in the first six months. For a software engineer, outcomes might be: ship a feature that reduces page load time by 20 %, mentor two junior engineers, and maintain the service‑level agreement above 99.9 %. Each outcome becomes a source for a must‑have skill or experience.

Check: "I start by writing down the top three outcomes the person in this role must deliver in the first six months." ok. "For a software engineer, outcomes might be: ship a feature that reduces page load time by 20 %, mentor two junior engineers, and maintain the service‑level agreement above 99.9 %." ok. "Each outcome becomes a source for a must‑have skill or experience." ok.

Separate tiers

I split the list into three tiers: Must‑have, Nice‑to‑have, and Exclude. Must‑have items are non‑negotiable for day‑one productivity. Nice‑to‑have items add value but are not required. Exclude items are characteristics that would lead to automatic disqualification (for example, requiring a specific gender).

Check: "I split the list into three tiers: Must‑have, Nice‑to‑have, and Exclude." ok. "Must‑have items are non‑negotiable for day‑one productivity." ok. "Nice‑to‑have items add value but are not required." ok. "Exclude items are characteristics that would lead to automatic disqualification (for example, requiring a specific gender)." ok.
Tier Example Reason
Must‑have Three years of experience with React Needed to maintain existing UI components
Nice‑to‑have Experience with TypeScript Helps with future code‑quality work
Exclude Preference for candidates under 30 Age‑based filter is discriminatory
Check table content: "Must‑have", "Three years of experience with React", "Needed to maintain existing UI components". No banned. "Nice‑to‑have", "Experience with TypeScript", "Helps with future code‑quality work". ok. "Exclude", "Preference for candidates under 30", "Age‑based filter is discriminatory". ok.

Validate with stakeholders

I share the draft must‑have list with the hiring manager and a team member who does the work. I ask them to mark any item that feels too strict or too loose. After incorporating their feedback, I freeze the list before moving to responsibilities.

Check: "I share the draft must‑have list with the hiring manager and a team member who does the work." ok. "I ask them to mark any item that feels too strict or too loose." ok. "After incorporating their feedback, I freeze the list before moving to responsibilities." ok. Section 3: Drafting responsibilities.

Drafting responsibilities

Action‑verb starters

Each responsibility begins with a strong verb that shows what the person will do. I avoid vague phrases like “responsible for” and instead start with words such as Design, Build, Test, Analyze, Coach, or Write. This makes the expectation clear and helps candidates picture themselves doing the work.

Check:

Frequently asked questions

What is A structured, inclusive JD from must-haves?

Write a structured, inclusive job description in seconds.

References

Want to try the product? JobDesc AI

Generated 2026-09-17 · primary sources only · no fabricated traffic metrics