IO

Policy Associate

Full-time Nairobi - SO11, Kenya, KE
Posted 4 weeks, 1 day ago 24 views 0 applications

Job Description

We need to output clean semantic HTML with

for intro paragraphs and general text,

for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). Use
  • for list items. No CSS classes, no inline styles, no
    s, no
    . Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. If text has no clear sections, just wrap paragraphs in

    . Return ONLY the HTML. No markdown fences, no explanation. We need to parse the raw job description and extract sections. The raw includes many paragraphs with HTML tags already (like

    ... etc). We need to output clean HTML using our own tags. We must preserve all original content word-for-word. That includes the text inside tags, but we cannot keep the original HTML tags like ,

    etc. We need to output only our own tags, but preserve the text content exactly as appears (including line breaks? Probably we can keep line breaks as separate paragraphs). We must not add, remove, summarize, or rephrase. So we must keep the exact wording, including any extra spaces? Probably we can keep as is but we need to output plain text with our tags. We need to identify sections: The job description includes sections like "Required Qualifications and Experience", "Education", "Experience", "Skills", "Languages", "Required Competencies", "Values", "Core Competencies", "Notes", etc. The instruction says use

    for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). So we need to map headings to

    . The raw includes headings like "Required Qualifications and Experience", "Education", "Experience", "Skills", "Languages", "Required Competencies", "Values", "Core Competencies". We need to output

    Required Qualifications and Experience

    etc. We must preserve all original content word-for-word. That includes the bullet list items. We need to output
    • ...content...
    for list items. The bullet items have extra HTML like
  • High school diploma ...

  • . We need to extract the inner text (the text inside the

    etc) and output as

  • High school diploma with five years of relevant professional experience; or,
  • etc. But we must preserve the exact wording, including punctuation and semicolons. The original bullet text includes "High school diploma with five years of relevant professional experience; or," and "Bachelor's degree in social sciences, Natural Sciences, Engineering, Business Administration or relevant field from an accredited academic institution with three years of relevant professional experience." So we need to output those exactly. We must not add or remove any content. So we need to be careful to keep the same text, including trailing spaces? Probably not needed. We need to output only the HTML, no extra commentary. Let's reconstruct the cleaned job listing. First, there is an introductory paragraph: "Established in 1951, IOM is a Related Organization of the United Nations and the leading UN agency in the field of migration. Working closely with governmental, intergovernmental and non-governmental partners, IOM promotes humane and orderly migration for the benefit of all. It saves lives and protects people on the move, drives solutions to displacement, and facilitates pathways for regular migration, while providing services and advice to governments and migrants. " Then "IOM is committed to fostering a respectful, inclusive and supportive workplace where all employees can thrive professionally and feel valued. By creating such an environment, IOM aims to better harness the full potential of migration and strengthen its support to people on the move." Then "IOM is committed to fostering a respectful, inclusive and supportive workplace where all employees can thrive professionally and feel valued. By creating such an environment, IOM aims to better harness the full potential of migration and strengthen its support to people on the move." Then "IOM invites candidates from diverse backgrounds to apply and provides reasonable accommodation throughout the recruitment process when required. Learn more about IOM’s workplace culture at IOM workplace culture | International Organization for Migration

    " Actually there is a broken anchor but we need to preserve the text exactly as appears, including the link text? The instruction says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. So we must keep the HTML anchor tags? But we are not allowed to use tags? The rules only specify using

    ,

    ,
    • . It doesn't forbid tags, but we are to use only those tags? It says "Use

      for introductory paragraphs and general text". It doesn't forbid other tags, but we should avoid adding new tags? It says "No CSS classes, no inline styles, no

      s, no
      tags". It doesn't forbid
      tags. But we might want to keep them as they appear? However we need to preserve the original content word-for-word, which includes the anchor tag with attributes. But we are to output only HTML using

      ,

      ,
      • . It doesn't say we cannot use . But the instruction says "Use

        for introductory paragraphs and general text". It doesn't forbid other tags, but we should probably keep the anchor as is? However we might need to preserve the exact text including the anchor tag. But we are to output only the cleaned job text, not the raw HTML. The raw includes many HTML tags; we need to output a cleaned version using our own tags. The instruction says "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". That suggests we must keep the exact same text, including the anchor tags and attributes. But we also need to output only the HTML using

        ,

        ,
        • . So we can output the anchor tag as part of the paragraph content. That would be okay. But we must not add or remove any content. So we must keep the anchor tag exactly as in the original. However the original includes malformed anchor: "IOM workplace culture | International Organization for Migration

          " That's nested anchor. We need to preserve it exactly. That's messy but we must keep it. Given the complexity, maybe we can treat the whole raw as a block and output it as is but wrapped in

          tags for paragraphs, and

          for headings. But we must preserve the original content word-for-word, including the HTML tags. So we can just output the raw text but replace the outer

          tags with our own

          tags? The raw already has

          tags around some sections. But we need to output only the cleaned job text, not the raw HTML. The instruction says "Return ONLY the HTML. No markdown fences, no explanation, no preamble." So we need to output a single HTML document? Probably just the content with tags. Given the complexity, maybe we can output the raw content but wrap each paragraph in

          and headings in

          . But we must preserve the original content word-for-word, which includes the tags etc. So we can output the raw content exactly as is, but we need to replace the outer

          tags? The raw includes

          Introduction

          etc. That is a paragraph with a strong tag. We can output that as

          Introduction

          but we need to use

          for section headers. The instruction says use

          for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). So we should replace Introduction with

          Introduction

          ? But "Introduction" is not one of the listed section headers; it's just an intro. The instruction says use

          for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). So we should use

          for those headings. For other headings like "Introduction", maybe we can just keep as

          (since it's not a section header). But the raw includes Introduction as a heading. Should we treat it as a section header? Probably not required; we can just output as

          Introduction

          but we need to preserve the strong tag. However we are not supposed to use maybe? The rules only specify

          ,

          ,
          • . It doesn't forbid . But we might want to keep it as is to preserve content. However we might want to convert it to

            if it's a heading. But the instruction says use

            for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). "Introduction" is not listed, but it's a heading. Could be considered a section header. But to be safe, we can output it as

            Introduction

            and preserve the text "Introduction". But we must preserve the original content word-for-word, which includes the word "Introduction" but not the tags. The original content includes "Introduction" as part of the text? Actually the raw includes "

            Introduction

            " which contains the word "Introduction" wrapped in . If we output

            Introduction

            , we are removing the tags, which is removing content (the tags). The instruction says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. Removing the tags would be removing content (the markup). But maybe they consider the tags not part of the content? The instruction is ambiguous. However they said "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". That likely means we must keep the textual content exactly as appears, but we can change the markup? The earlier part of the prompt (the job listing extraction) said "Do not add, remove, or rephrase any part of the text." That was for extraction. Now for HTML formatting, they say "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". That suggests we must keep the exact same text, including any markup? But we are to output HTML using only

            ,

            ,
            • . So we cannot keep tags because they are not allowed? But we could keep them as part of the text? The instruction didn't forbid using , but they said "Use

              for introductory paragraphs and general text". They didn't say we cannot use . But they said "No CSS classes, no inline styles, no

              s, no
              tags". So is allowed. However they also said "Use

              for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role)". So we should use

              for those headings. For other headings like "Introduction", maybe we can just keep as

              Introduction

              but that uses . That's okay. But we must preserve the original content word-for-word. That includes the tags? If we output

              Introduction

              , we are removing the tags, which is removing content (the markup). That might be considered removal. So better to keep the tags as part of the content? But we need to use

              for section headers. Could we wrap the text inside

              ? Like

              Introduction

              ? That would preserve the strong tag and the text. But the instruction says use

              for section headers, not necessarily that the content must be plain text. So we could output

              Introduction

              . That would preserve the strong tag and the word "Introduction". That seems to satisfy both: we are using

              for a heading, and we preserve the original content (including the tags). However the original content includes the tags around the word "Introduction". So we need to keep them. So we can output

              Introduction

              . That preserves the strong tags and the word. But the instruction says "Use

              for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role)". It doesn't say we cannot use inside. So we can. Now for other headings like "Required Qualifications and Experience", we should output

              Required Qualifications and Experience

              . That preserves the strong tag. Similarly for "Education", "Experience", "Skills", "Languages", "Required Competencies", "Values", "Core Competencies". For "Values" and "Core Competencies", they are not wrapped in in the raw? Actually they are bolded maybe but not with . Let's check: In the raw, after "Required Competencies" there is "Values - all IOM staff members must abide by and demonstrate these five values:" So "Values" is wrapped in . Then there is a list of values. Then "Core Competencies — behavioural indicators Level 1". So we need to preserve that. Thus we need to output

              Values

              and

              Core Competencies

              . Now for the bullet lists: They are inside
                with
              • items. We need to output
                • ...content...
                . The content inside
              • includes extra HTML like

                High school diploma ...

                . We need to preserve the text exactly, but we can output just the text inside the

                (including the semicolon etc). However we must preserve the original content word-for-word, which includes the HTML tags inside the

              • . If we strip them, we are removing content. So we need to keep them? But we are limited to using only

                ,

                ,
                • . We can include the inner HTML as part of the
                • content. That would preserve the original content. However the instruction says "Use

                  for introductory paragraphs and general text". So we could output the inner

                  content as is, but that would include

                  tags inside

                • . That would be nested

                  inside

                • , which is allowed? Not prohibited. But we need to preserve the original content word-for-word, which includes the

                  tag and the span tags. So we could output the

                • content exactly as appears, including the inner tags. That would be messy but okay. But the instruction also says "No CSS classes, no inline styles, no
                  s, no
                  tags". The inner tags have style attributes like "style="text-align: justify;"" and class attributes like "ortl-align-justify". Those are inline styles? They are style attributes, which are inline styles. The instruction says "No CSS classes, no inline styles". So we must remove style attributes and class attributes. But we must preserve the original content word-for-word, which includes those attributes. This is contradictory. However the instruction likely expects us to strip those extraneous attributes because they are not part of the content but formatting. The instruction says "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". That suggests we cannot remove attributes. But the instruction also says "No CSS classes, no inline styles, no
                  s, no
                  tags". So we must remove them. This is contradictory. In such cases, we need to prioritize the higher-level instruction? The system says "Your ONLY job is to format it as clean semantic HTML." The rules include "No CSS classes, no inline styles, no
                  s, no
                  tags". So we must remove them. But also "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". Removing attributes would be removing content. However maybe they consider the content to be the textual representation, not the markup attributes. The instruction likely expects us to output clean HTML without those attributes, but still preserve the textual content. So we should strip style and class attributes but keep the textual content. That is a reasonable interpretation. Thus we will output
                • High school diploma with five years of relevant professional experience; or,
                • etc. We will not include the inner

                  tags or span tags. We will just output the text that appears inside the

                  (the actual text). That is preserving the content word-for-word (the text). The inner tags are not part of the content; they are formatting. So we can remove them. Thus we need to extract the textual content of each bullet item. Now we need to go through the raw and extract all sections. Let's parse the raw step by step. The raw begins:

                  Introduction

                  Established in 1951, IOM is a Related Organization of the United

    Apply Now ↗

    How well do you match?

    Get an instant AI match score for this role — free, takes 3 minutes.

    Tailor your CV for this role

    The concierge rewrites your whole CV and writes a matching cover letter for this job — opens right here, nothing to paste.

    Tailor My CV to This Job ✍️

    Free cover letter for this job

    Upload your CV and get a tailored cover letter in seconds — free, no account needed.

    Generate a Cover Letter 📝

    Join Our Kenya Channels

    Get free job alerts on your phone

MJC
ECHO
Your MJC Assistant

I'm ECHO, your MJC career assistant. I can help you find jobs, explore career tools, and connect with opportunities across Africa.

How was your experience with ECHO?