by JobDesc AI (LX AI)
We need to produce HTML fragment only, starting with the opening block exactly as provided: `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
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.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.
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.
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.
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 |
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.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.
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.
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.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 |
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.
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.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.
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.
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.
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.
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.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.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.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.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 |
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.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:Write a structured, inclusive job description in seconds.
Want to try the product? JobDesc AI
Generated 2026-09-17 · primary sources only · no fabricated traffic metrics