Job Description
,
for section headers, - for list items. No CSS classes, no inline styles, no , no
. Must preserve all original content word-for-word, no addition, removal, summarizing, rephrasing. So we need to parse the given raw HTML and extract text content, preserving it exactly, then format with appropriate tags.
Given the raw HTML includes many tags with styles etc. We need to strip those and produce semantic HTML.
We need to identify sections: The job description includes:
- Title: "Let's Write Africa's Story Together!" (inside ...)
- Intro paragraph: "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this."
- Then blank paragraphs.
- Then heading: "Aspires to be a Financial Advisor" (maybe a subheading)
- Then paragraph: "We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies."
- Then blank line and then paragraph with span: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions."
- Then blank.
- Then Skills heading.
- Then blank paragraphs.
- Then a line: "Building Trust, Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Direct Selling, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships"
- Then (empty)
- Then Competencies heading.
- Then blank paragraphs.
- Then a series of competencies each preceded by empty? Actually pattern: then competency text then etc. Let's extract them:
After Competencies heading, we have:
Action OrientedBalances StakeholdersBuilds NetworksCollaboratesCommunicates EffectivelyCustomer FocusDecision QualityEnsures Accountability...
So each competency appears between empty tags. So we need to list them as list items under Competencies.
Then blank paragraphs.
Then Education heading.
Then text: "NQF Level 4 - Grade 12, School leaving Certificate, National or Occupational Certificate or equivalent (Required)"
Then blank paragraphs.
Then Closing Date heading.
Then "29 November 2026 , 23:59"
Then blank paragraphs.
Then The appointment will be made from the designated group in line with the Employment Equity Plan of Old Mutual South Africa and the specific business unit in question.
Then blank paragraphs.
Then The Old Mutual Story!
We need to preserve all content word-for-word. So we must output exactly those strings, but wrapped in appropriate tags.
We need to decide what constitutes section headers. The instruction: Use for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). So we should treat "Skills", "Competencies", "Education", "Closing Date" as section headers? They are not exactly the examples but likely we should treat them as headers. Also maybe "Aspires to be a Financial Advisor" could be a header? It's underlined bold. Might be considered a section header (like job title?). But we already have the main title. The instruction says use for section headers. So we need to wrap those headings in . For list items (duties, responsibilities, qualifications, skills) use - . So for Skills list, we need to wrap each skill as
- . For Competencies list, each competency as
- . For maybe responsibilities? Not present. For qualifications? Not present besides Education.
We must preserve all original content word-for-word, meaning we cannot change punctuation or spacing? We must keep the exact text. However we need to wrap them in tags; that's okay. We must not add or remove any characters from the original text besides tags. So we need to output the exact strings as they appear, preserving spaces, commas, etc.
We need to be careful about extra spaces: The original text may have multiple spaces. We should preserve them.
Let's extract each piece exactly as appears in the raw text (excluding tags). We'll need to strip HTML tags but keep the text content.
Let's go through the raw HTML piece by piece.
Raw:
Let's Write Africa's Story Together!
Text: Let's Write Africa's Story Together! (note the apostrophe is HTML entity ' which should be apostrophe). We need to preserve the original content word-for-word. The original content after decoding? The instruction says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. The original content includes the HTML entities? The raw text includes '. Should we keep it as is or decode? Usually "original content" means the visible text, but they gave HTML with entities. The safe approach is to keep the decoded characters? However they said word-for-word, meaning we should not change the text. If we decode, we change ' to ', which is a change the content. So we should keep the entities as they appear? But then the output would show ' which is not the intended text. Usually they'd want the readable text. But the instruction is ambiguous. In similar tasks, they expect you to output the readable text, not the entities. However they said preserve ALL original content word-for-word. The original content includes the entities; but if we output the entities, it's still word-for-word of the original text (the raw HTML). But they also said return ONLY the HTML. So we are outputting HTML; we can include the entities as part of the text nodes. That would be preserving the original content exactly. However typical cleaning tasks decode entities. I'd lean to decode to readable text because they'd want a clean job listing. But the instruction says "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". If we decode, we are changing the content (though it's semantically same). I'd assume they want the readable text, as they'd not want to see ' in final output. Many similar tasks expect you to convert entities. I'll decode.
Thus title: Let's Write Africa's Story Together!
Next paragraph:
Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this.
Text: Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this. (note trailing space before closing span? There's a space before . We should preserve that space? The text includes a space before the closing span. So we should keep that space at end? Probably not important but we can keep it. We'll keep exactly as appears: "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this. " (with trailing space). We'll keep it.
Then there are two empty paragraphs. They contain no text, so we can ignore them (they produce empty paragraphs; but we should not add empty tags? The instruction: If text has no clear sections, just wrap paragraphs in
tags. Empty paragraphs have no text; we could omit them as they add no content. Probably safe to omit.
Then:
Aspires to be a Financial Advisor
Text: Aspires to be a Financial Advisor (with underline and bold). We'll keep as is.
Then empty.
Then:
We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies.
The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions.
We need to combine the text: The first span: "We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies." Then
then second span: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions." So there are nested spans. The text: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions."
We need to preserve the content word-for-word, including the double quotes encoded as ". We'll decode? Probably keep as is? I'd decode to regular quotes for readability. But again ambiguous. I'll decode to regular double quotes.
Also there is a space after the first sentence before
? The HTML shows a period then
then . So no space. We'll just combine with a newline? But we need to preserve original content word-for-word; the original had a line break? Actually
indicates line break. In plain text, that would be a blank line. We could represent as a separate paragraph? But we are to output HTML; we could keep as separate tags? The instruction: Use
for introductory paragraphs and general text. So we could treat each block separated by
as separate paragraphs. However they said preserve all original content word-for-word; we could keep the
as is? But we cannot use
tags per rules: no
tags. So we must represent the line break via paragraph separation. So we should split into two
elements.
Thus first paragraph: "We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies." (decoded apostrophe). Second paragraph: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions." (decoded quotes). We'll keep trailing spaces? There's none.
Then after that, there is
empty.
Then:
Skills
Text: Skills (bold). We'll treat as heading.
Then two empty paragraphs.
Then the skills list line: "Building Trust, Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Direct Selling, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships"
Note there is no surrounding tag? Actually it's directly after the empty paragraphs, not wrapped in
. In the raw HTML, after the empty paragraphs, we see that line directly, then
then etc. So the skills line is not inside a . It's just plain text. We need to wrap it appropriately. Since it's a list of skills, we should make a
- for each skill. The text is a comma-separated list. We need to split by commas and trim spaces? But we must preserve original content word-for-word. If we split, we are altering the representation (though content same). The instruction: Use
- for list items (duties, requirements, qualifications, skills). So we need to convert the comma-separated list into list items. That is allowed because we are changing format but not content. We must keep each skill exactly as appears between commas. So we need to extract each skill string.
Let's list them:
1. Building Trust
2. Consultative Selling
3. Customer Feedback Management
4. Customer-Focused
5. Customer Service
6. Customer Understanding
7. Direct Selling
8. Identifying Sales Opportunities
9. Oral Communications
10. Probing Questions
11. Qualifying Prospects
12. Sales Data Management
13. Sales Software
14. Strategic Selling
15. Strengthening Customer Relationships
Check for any extra spaces: The original line: "Building Trust, Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Direct Selling, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships"
After each comma there is a space. So each skill trimmed.
Now after that line, we have then then etc for competencies.
Thus after skills list, there is an empty paragraph, then a series of tags with competency names.
We need to treat Competencies as heading (
Competencies
) then list each competency as - .
Let's extract competencies from the raw:
After the empty
, we have:
Action OrientedBalances StakeholdersBuilds NetworksCollaboratesCommunicates EffectivelyCustomer FocusDecision QualityEnsures Accountability
So each competency appears between pairs. The pattern: Competency Text. There may be multiple in a row? Actually we see "Action OrientedBalances Stakeholders..." So after the first competency, there is before next competency? Let's examine: The string:
Action OrientedBalances StakeholdersBuilds NetworksCollaboratesCommunicates EffectivelyCustomer FocusDecision QualityEnsures Accountability
It seems after each competency there is then immediately another before next competency? Actually pattern: closing of competency, then opening of next empty? Wait they have Action OrientedBalances Stakeholders... So after Action Oriented, we have
then then Balances Stakeholders... That seems like there are two empty h3 tags between competencies. Possibly due to formatting errors. But we can just extract the text that is not inside tags. So we can parse by removing all tags and get the text pieces: "Action Oriented", "Balances Stakeholders", "Builds Networks", "Collaborates", "Communicates Effectively", "Customer Focus", "Decision Quality", "Ensures Accountability". Let's verify: The raw also had earlier before Skills? Actually after skills line there was then Competencies etc. So there is an empty h3 before Competencies heading. We'll ignore empty ones.
Thus competencies list: Action Oriented, Balances Stakeholders, Builds Networks, Collaborates, Communicates Effectively, Customer Focus, Decision Quality, Ensures Accountability.
Now after that, we have (empty) then Education
then text: "NQF Level 4 - Grade 12, School leaving Certificate, National or Occupational Certificate or equivalent (Required)". Note there are double spaces after commas? We'll preserve.
Then blank paragraphs.
Then Closing Date
then "29 November 2026 , 23:59". Note there is a space before comma after 2026? Actually "29 November 2026 , 23:59" includes
. Must preserve all original content word-for-word, no addition, removal, summarizing, rephrasing. So we need to parse the given raw HTML and extract text content, preserving it exactly, then format with appropriate tags. Given the raw HTML includes many tags with styles etc. We need to strip those and produce semantic HTML. We need to identify sections: The job description includes: - Title: "Let's Write Africa's Story Together!" (inside ...) - Intro paragraph: "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this." - Then blank paragraphs. - Then heading: "Aspires to be a Financial Advisor" (maybe a subheading) - Then paragraph: "We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies." - Then blank line and then paragraph with span: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions." - Then blank. - Then Skills heading. - Then blank paragraphs. - Then a line: "Building Trust, Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Direct Selling, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships" - Then (empty) - Then Competencies heading. - Then blank paragraphs. - Then a series of competencies each preceded by empty? Actually pattern: then competency text then etc. Let's extract them: After Competencies heading, we have: Action OrientedBalances StakeholdersBuilds NetworksCollaboratesCommunicates EffectivelyCustomer FocusDecision QualityEnsures Accountability... So each competency appears between empty tags. So we need to list them as list items under Competencies. Then blank paragraphs. Then Education heading. Then text: "NQF Level 4 - Grade 12, School leaving Certificate, National or Occupational Certificate or equivalent (Required)" Then blank paragraphs. Then Closing Date heading. Then "29 November 2026 , 23:59" Then blank paragraphs. Then
The appointment will be made from the designated group in line with the Employment Equity Plan of Old Mutual South Africa and the specific business unit in question.
Then blank paragraphs. ThenThe Old Mutual Story!
We need to preserve all content word-for-word. So we must output exactly those strings, but wrapped in appropriate tags. We need to decide what constitutes section headers. The instruction: Use for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). So we should treat "Skills", "Competencies", "Education", "Closing Date" as section headers? They are not exactly the examples but likely we should treat them as headers. Also maybe "Aspires to be a Financial Advisor" could be a header? It's underlined bold. Might be considered a section header (like job title?). But we already have the main title. The instruction says use for section headers. So we need to wrap those headings in . For list items (duties, responsibilities, qualifications, skills) use - . So for Skills list, we need to wrap each skill as
- . For Competencies list, each competency as
- . For maybe responsibilities? Not present. For qualifications? Not present besides Education.
We must preserve all original content word-for-word, meaning we cannot change punctuation or spacing? We must keep the exact text. However we need to wrap them in tags; that's okay. We must not add or remove any characters from the original text besides tags. So we need to output the exact strings as they appear, preserving spaces, commas, etc.
We need to be careful about extra spaces: The original text may have multiple spaces. We should preserve them.
Let's extract each piece exactly as appears in the raw text (excluding tags). We'll need to strip HTML tags but keep the text content.
Let's go through the raw HTML piece by piece.
Raw:
Let's Write Africa's Story Together!
Text: Let's Write Africa's Story Together! (note the apostrophe is HTML entity ' which should be apostrophe). We need to preserve the original content word-for-word. The original content after decoding? The instruction says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. The original content includes the HTML entities? The raw text includes '. Should we keep it as is or decode? Usually "original content" means the visible text, but they gave HTML with entities. The safe approach is to keep the decoded characters? However they said word-for-word, meaning we should not change the text. If we decode, we change ' to ', which is a change the content. So we should keep the entities as they appear? But then the output would show ' which is not the intended text. Usually they'd want the readable text. But the instruction is ambiguous. In similar tasks, they expect you to output the readable text, not the entities. However they said preserve ALL original content word-for-word. The original content includes the entities; but if we output the entities, it's still word-for-word of the original text (the raw HTML). But they also said return ONLY the HTML. So we are outputting HTML; we can include the entities as part of the text nodes. That would be preserving the original content exactly. However typical cleaning tasks decode entities. I'd lean to decode to readable text because they'd want a clean job listing. But the instruction says "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". If we decode, we are changing the content (though it's semantically same). I'd assume they want the readable text, as they'd not want to see ' in final output. Many similar tasks expect you to convert entities. I'll decode.
Thus title: Let's Write Africa's Story Together!
Next paragraph:
Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this.
Text: Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this. (note trailing space before closing span? There's a space before . We should preserve that space? The text includes a space before the closing span. So we should keep that space at end? Probably not important but we can keep it. We'll keep exactly as appears: "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this. " (with trailing space). We'll keep it.
Then there are two empty paragraphs. They contain no text, so we can ignore them (they produce empty paragraphs; but we should not add empty tags? The instruction: If text has no clear sections, just wrap paragraphs in
tags. Empty paragraphs have no text; we could omit them as they add no content. Probably safe to omit.
Then:
Aspires to be a Financial Advisor
Text: Aspires to be a Financial Advisor (with underline and bold). We'll keep as is.
Then empty.
Then:
We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies.
The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions.
We need to combine the text: The first span: "We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies." Then
then second span: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions." So there are nested spans. The text: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions."
We need to preserve the content word-for-word, including the double quotes encoded as ". We'll decode? Probably keep as is? I'd decode to regular quotes for readability. But again ambiguous. I'll decode to regular double quotes.
Also there is a space after the first sentence before
? The HTML shows a period then
then . So no space. We'll just combine with a newline? But we need to preserve original content word-for-word; the original had a line break? Actually
indicates line break. In plain text, that would be a blank line. We could represent as a separate paragraph? But we are to output HTML; we could keep as separate tags? The instruction: Use
for introductory paragraphs and general text. So we could treat each block separated by
as separate paragraphs. However they said preserve all original content word-for-word; we could keep the
as is? But we cannot use
tags per rules: no
tags. So we must represent the line break via paragraph separation. So we should split into two
elements.
Thus first paragraph: "We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies." (decoded apostrophe). Second paragraph: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions." (decoded quotes). We'll keep trailing spaces? There's none.
Then after that, there is
empty.
Then:
Skills
Text: Skills (bold). We'll treat as heading.
Then two empty paragraphs.
Then the skills list line: "Building Trust, Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Direct Selling, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships"
Note there is no surrounding tag? Actually it's directly after the empty paragraphs, not wrapped in
. In the raw HTML, after the empty paragraphs, we see that line directly, then
then etc. So the skills line is not inside a . It's just plain text. We need to wrap it appropriately. Since it's a list of skills, we should make a
- for each skill. The text is a comma-separated list. We need to split by commas and trim spaces? But we must preserve original content word-for-word. If we split, we are altering the representation (though content same). The instruction: Use
- for list items (duties, requirements, qualifications, skills). So we need to convert the comma-separated list into list items. That is allowed because we are changing format but not content. We must keep each skill exactly as appears between commas. So we need to extract each skill string.
Let's list them:
1. Building Trust
2. Consultative Selling
3. Customer Feedback Management
4. Customer-Focused
5. Customer Service
6. Customer Understanding
7. Direct Selling
8. Identifying Sales Opportunities
9. Oral Communications
10. Probing Questions
11. Qualifying Prospects
12. Sales Data Management
13. Sales Software
14. Strategic Selling
15. Strengthening Customer Relationships
Check for any extra spaces: The original line: "Building Trust, Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Direct Selling, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships"
After each comma there is a space. So each skill trimmed.
Now after that line, we have then then etc for competencies.
Thus after skills list, there is an empty paragraph, then a series of tags with competency names.
We need to treat Competencies as heading (
Competencies
) then list each competency as - .
Let's extract competencies from the raw:
After the empty
, we have:
Action OrientedBalances StakeholdersBuilds NetworksCollaboratesCommunicates EffectivelyCustomer FocusDecision QualityEnsures Accountability
So each competency appears between pairs. The pattern: Competency Text. There may be multiple in a row? Actually we see "Action OrientedBalances Stakeholders..." So after the first competency, there is before next competency? Let's examine: The string:
Action OrientedBalances StakeholdersBuilds NetworksCollaboratesCommunicates EffectivelyCustomer FocusDecision QualityEnsures Accountability
It seems after each competency there is then immediately another before next competency? Actually pattern: closing of competency, then opening of next empty? Wait they have Action OrientedBalances Stakeholders... So after Action Oriented, we have
then then Balances Stakeholders... That seems like there are two empty h3 tags between competencies. Possibly due to formatting errors. But we can just extract the text that is not inside tags. So we can parse by removing all tags and get the text pieces: "Action Oriented", "Balances Stakeholders", "Builds Networks", "Collaborates", "Communicates Effectively", "Customer Focus", "Decision Quality", "Ensures Accountability". Let's verify: The raw also had earlier before Skills? Actually after skills line there was then Competencies etc. So there is an empty h3 before Competencies heading. We'll ignore empty ones.
Thus competencies list: Action Oriented, Balances Stakeholders, Builds Networks, Collaborates, Communicates Effectively, Customer Focus, Decision Quality, Ensures Accountability.
Now after that, we have (empty) then Education
then text: "NQF Level 4 - Grade 12, School leaving Certificate, National or Occupational Certificate or equivalent (Required)". Note there are double spaces after commas? We'll preserve.
Then blank paragraphs.
Then Closing Date
then "29 November 2026 , 23:59". Note there is a space before comma after 2026? Actually "29 November 2026 , 23:59" includes
. For list items (duties, responsibilities, qualifications, skills) use - . So for Skills list, we need to wrap each skill as
- . For Competencies list, each competency as
- . For maybe responsibilities? Not present. For qualifications? Not present besides Education.
We must preserve all original content word-for-word, meaning we cannot change punctuation or spacing? We must keep the exact text. However we need to wrap them in tags; that's okay. We must not add or remove any characters from the original text besides tags. So we need to output the exact strings as they appear, preserving spaces, commas, etc.
We need to be careful about extra spaces: The original text may have multiple spaces. We should preserve them.
Let's extract each piece exactly as appears in the raw text (excluding tags). We'll need to strip HTML tags but keep the text content.
Let's go through the raw HTML piece by piece.
Raw:
Let's Write Africa's Story Together!
Text: Let's Write Africa's Story Together! (note the apostrophe is HTML entity ' which should be apostrophe). We need to preserve the original content word-for-word. The original content after decoding? The instruction says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. The original content includes the HTML entities? The raw text includes '. Should we keep it as is or decode? Usually "original content" means the visible text, but they gave HTML with entities. The safe approach is to keep the decoded characters? However they said word-for-word, meaning we should not change the text. If we decode, we change ' to ', which is a change the content. So we should keep the entities as they appear? But then the output would show ' which is not the intended text. Usually they'd want the readable text. But the instruction is ambiguous. In similar tasks, they expect you to output the readable text, not the entities. However they said preserve ALL original content word-for-word. The original content includes the entities; but if we output the entities, it's still word-for-word of the original text (the raw HTML). But they also said return ONLY the HTML. So we are outputting HTML; we can include the entities as part of the text nodes. That would be preserving the original content exactly. However typical cleaning tasks decode entities. I'd lean to decode to readable text because they'd want a clean job listing. But the instruction says "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". If we decode, we are changing the content (though it's semantically same). I'd assume they want the readable text, as they'd not want to see ' in final output. Many similar tasks expect you to convert entities. I'll decode.
Thus title: Let's Write Africa's Story Together!
Next paragraph:
Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this.
Text: Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this. (note trailing space before closing span? There's a space before . We should preserve that space? The text includes a space before the closing span. So we should keep that space at end? Probably not important but we can keep it. We'll keep exactly as appears: "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this. " (with trailing space). We'll keep it.
Then there are two empty paragraphs. They contain no text, so we can ignore them (they produce empty paragraphs; but we should not add empty tags? The instruction: If text has no clear sections, just wrap paragraphs in
tags. Empty paragraphs have no text; we could omit them as they add no content. Probably safe to omit.
Then:
Aspires to be a Financial Advisor
Text: Aspires to be a Financial Advisor (with underline and bold). We'll keep as is.
Then empty.
Then:
We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies.
The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions.
We need to combine the text: The first span: "We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies." Then
then second span: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions." So there are nested spans. The text: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions."
We need to preserve the content word-for-word, including the double quotes encoded as ". We'll decode? Probably keep as is? I'd decode to regular quotes for readability. But again ambiguous. I'll decode to regular double quotes.
Also there is a space after the first sentence before
? The HTML shows a period then
then . So no space. We'll just combine with a newline? But we need to preserve original content word-for-word; the original had a line break? Actually
indicates line break. In plain text, that would be a blank line. We could represent as a separate paragraph? But we are to output HTML; we could keep as separate tags? The instruction: Use
for introductory paragraphs and general text. So we could treat each block separated by
as separate paragraphs. However they said preserve all original content word-for-word; we could keep the
as is? But we cannot use
tags per rules: no
tags. So we must represent the line break via paragraph separation. So we should split into two
elements.
Thus first paragraph: "We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies." (decoded apostrophe). Second paragraph: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions." (decoded quotes). We'll keep trailing spaces? There's none.
Then after that, there is
empty.
Then:
Skills
Text: Skills (bold). We'll treat as heading.
Then two empty paragraphs.
Then the skills list line: "Building Trust, Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Direct Selling, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships"
Note there is no surrounding tag? Actually it's directly after the empty paragraphs, not wrapped in
. In the raw HTML, after the empty paragraphs, we see that line directly, then
then etc. So the skills line is not inside a . It's just plain text. We need to wrap it appropriately. Since it's a list of skills, we should make a
- for each skill. The text is a comma-separated list. We need to split by commas and trim spaces? But we must preserve original content word-for-word. If we split, we are altering the representation (though content same). The instruction: Use
- for list items (duties, requirements, qualifications, skills). So we need to convert the comma-separated list into list items. That is allowed because we are changing format but not content. We must keep each skill exactly as appears between commas. So we need to extract each skill string.
Let's list them:
1. Building Trust
2. Consultative Selling
3. Customer Feedback Management
4. Customer-Focused
5. Customer Service
6. Customer Understanding
7. Direct Selling
8. Identifying Sales Opportunities
9. Oral Communications
10. Probing Questions
11. Qualifying Prospects
12. Sales Data Management
13. Sales Software
14. Strategic Selling
15. Strengthening Customer Relationships
Check for any extra spaces: The original line: "Building Trust, Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Direct Selling, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships"
After each comma there is a space. So each skill trimmed.
Now after that line, we have then then etc for competencies.
Thus after skills list, there is an empty paragraph, then a series of tags with competency names.
We need to treat Competencies as heading (
Competencies
) then list each competency as - .
Let's extract competencies from the raw:
After the empty
, we have:
Action OrientedBalances StakeholdersBuilds NetworksCollaboratesCommunicates EffectivelyCustomer FocusDecision QualityEnsures Accountability
So each competency appears between pairs. The pattern: Competency Text. There may be multiple in a row? Actually we see "Action OrientedBalances Stakeholders..." So after the first competency, there is before next competency? Let's examine: The string:
Action OrientedBalances StakeholdersBuilds NetworksCollaboratesCommunicates EffectivelyCustomer FocusDecision QualityEnsures Accountability
It seems after each competency there is then immediately another before next competency? Actually pattern: closing of competency, then opening of next empty? Wait they have Action OrientedBalances Stakeholders... So after Action Oriented, we have
then then Balances Stakeholders... That seems like there are two empty h3 tags between competencies. Possibly due to formatting errors. But we can just extract the text that is not inside tags. So we can parse by removing all tags and get the text pieces: "Action Oriented", "Balances Stakeholders", "Builds Networks", "Collaborates", "Communicates Effectively", "Customer Focus", "Decision Quality", "Ensures Accountability". Let's verify: The raw also had earlier before Skills? Actually after skills line there was then Competencies etc. So there is an empty h3 before Competencies heading. We'll ignore empty ones.
Thus competencies list: Action Oriented, Balances Stakeholders, Builds Networks, Collaborates, Communicates Effectively, Customer Focus, Decision Quality, Ensures Accountability.
Now after that, we have (empty) then Education
then text: "NQF Level 4 - Grade 12, School leaving Certificate, National or Occupational Certificate or equivalent (Required)". Note there are double spaces after commas? We'll preserve.
Then blank paragraphs.
Then Closing Date
then "29 November 2026 , 23:59". Note there is a space before comma after 2026? Actually "29 November 2026 , 23:59" includes
Let's Write Africa's Story Together!
Text: Let's Write Africa's Story Together! (note the apostrophe is HTML entity ' which should be apostrophe). We need to preserve the original content word-for-word. The original content after decoding? The instruction says preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase. The original content includes the HTML entities? The raw text includes '. Should we keep it as is or decode? Usually "original content" means the visible text, but they gave HTML with entities. The safe approach is to keep the decoded characters? However they said word-for-word, meaning we should not change the text. If we decode, we change ' to ', which is a change the content. So we should keep the entities as they appear? But then the output would show ' which is not the intended text. Usually they'd want the readable text. But the instruction is ambiguous. In similar tasks, they expect you to output the readable text, not the entities. However they said preserve ALL original content word-for-word. The original content includes the entities; but if we output the entities, it's still word-for-word of the original text (the raw HTML). But they also said return ONLY the HTML. So we are outputting HTML; we can include the entities as part of the text nodes. That would be preserving the original content exactly. However typical cleaning tasks decode entities. I'd lean to decode to readable text because they'd want a clean job listing. But the instruction says "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". If we decode, we are changing the content (though it's semantically same). I'd assume they want the readable text, as they'd not want to see ' in final output. Many similar tasks expect you to convert entities. I'll decode. Thus title: Let's Write Africa's Story Together! Next paragraph:Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this.
Text: Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this. (note trailing space before closing span? There's a space before . We should preserve that space? The text includes a space before the closing span. So we should keep that space at end? Probably not important but we can keep it. We'll keep exactly as appears: "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this. " (with trailing space). We'll keep it. Then there are two empty paragraphs. They contain no text, so we can ignore them (they produce empty paragraphs; but we should not add emptytags? The instruction: If text has no clear sections, just wrap paragraphs in
tags. Empty paragraphs have no text; we could omit them as they add no content. Probably safe to omit. Then:
Aspires to be a Financial Advisor
Text: Aspires to be a Financial Advisor (with underline and bold). We'll keep as is. Then empty. Then:We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies.
The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions.
then second span: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions." So there are nested spans. The text: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions." We need to preserve the content word-for-word, including the double quotes encoded as ". We'll decode? Probably keep as is? I'd decode to regular quotes for readability. But again ambiguous. I'll decode to regular double quotes. Also there is a space after the first sentence before
? The HTML shows a period then
then . So no space. We'll just combine with a newline? But we need to preserve original content word-for-word; the original had a line break? Actually
indicates line break. In plain text, that would be a blank line. We could represent as a separate paragraph? But we are to output HTML; we could keep as separate
tags? The instruction: Use
for introductory paragraphs and general text. So we could treat each block separated by
as separate paragraphs. However they said preserve all original content word-for-word; we could keep the
as is? But we cannot use
tags per rules: no
tags. So we must represent the line break via paragraph separation. So we should split into two
elements. Thus first paragraph: "We are looking for self-motivated and dynamic individuals who have a passionate entrepreneurial spirit to join one of Africa's leading insurance companies." (decoded apostrophe). Second paragraph: "The role at a glance is about championing our valued customers to achieve their lifetime goals by identifying their financial needs, providing sound financial advice, recommending and implementing "fit for purpose" financial plans and solutions." (decoded quotes). We'll keep trailing spaces? There's none. Then after that, there is
empty. Then:Skills
Text: Skills (bold). We'll treat as heading. Then two empty paragraphs. Then the skills list line: "Building Trust, Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Direct Selling, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships" Note there is no surroundingtag? Actually it's directly after the empty paragraphs, not wrapped in
. In the raw HTML, after the empty paragraphs, we see that line directly, then
then etc. So the skills line is not inside a. It's just plain text. We need to wrap it appropriately. Since it's a list of skills, we should make a
- for each skill. The text is a comma-separated list. We need to split by commas and trim spaces? But we must preserve original content word-for-word. If we split, we are altering the representation (though content same). The instruction: Use
- for list items (duties, requirements, qualifications, skills). So we need to convert the comma-separated list into list items. That is allowed because we are changing format but not content. We must keep each skill exactly as appears between commas. So we need to extract each skill string.
Let's list them:
1. Building Trust
2. Consultative Selling
3. Customer Feedback Management
4. Customer-Focused
5. Customer Service
6. Customer Understanding
7. Direct Selling
8. Identifying Sales Opportunities
9. Oral Communications
10. Probing Questions
11. Qualifying Prospects
12. Sales Data Management
13. Sales Software
14. Strategic Selling
15. Strengthening Customer Relationships
Check for any extra spaces: The original line: "Building Trust, Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Direct Selling, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships"
After each comma there is a space. So each skill trimmed.
Now after that line, we have then then etc for competencies.
Thus after skills list, there is an empty paragraph, then a series of tags with competency names.
We need to treat Competencies as heading (
Competencies
) then list each competency as - .
Let's extract competencies from the raw:
After the empty
, we have:
Action OrientedBalances StakeholdersBuilds NetworksCollaboratesCommunicates EffectivelyCustomer FocusDecision QualityEnsures Accountability So each competency appears between pairs. The pattern: Competency Text. There may be multiple in a row? Actually we see "Action OrientedBalances Stakeholders..." So after the first competency, there is before next competency? Let's examine: The string: Action OrientedBalances StakeholdersBuilds NetworksCollaboratesCommunicates EffectivelyCustomer FocusDecision QualityEnsures Accountability It seems after each competency there is then immediately another before next competency? Actually pattern: closing of competency, then openingof next empty? Wait they have Action OrientedBalances Stakeholders... So after Action Oriented, we have
then then Balances Stakeholders... That seems like there are two empty h3 tags between competencies. Possibly due to formatting errors. But we can just extract the text that is not inside tags. So we can parse by removing all tags and get the text pieces: "Action Oriented", "Balances Stakeholders", "Builds Networks", "Collaborates", "Communicates Effectively", "Customer Focus", "Decision Quality", "Ensures Accountability". Let's verify: The raw also had earlier before Skills? Actually after skills line there was then Competencies etc. So there is an empty h3 before Competencies heading. We'll ignore empty ones. Thus competencies list: Action Oriented, Balances Stakeholders, Builds Networks, Collaborates, Communicates Effectively, Customer Focus, Decision Quality, Ensures Accountability. Now after that, we have (empty) thenEducation
then text: "NQF Level 4 - Grade 12, School leaving Certificate, National or Occupational Certificate or equivalent (Required)". Note there are double spaces after commas? We'll preserve. Then blank paragraphs. ThenClosing Date
then "29 November 2026 , 23:59". Note there is a space before comma after 2026? Actually "29 November 2026 , 23:59" includes
- for list items (duties, requirements, qualifications, skills). So we need to convert the comma-separated list into list items. That is allowed because we are changing format but not content. We must keep each skill exactly as appears between commas. So we need to extract each skill string.
Let's list them:
1. Building Trust
2. Consultative Selling
3. Customer Feedback Management
4. Customer-Focused
5. Customer Service
6. Customer Understanding
7. Direct Selling
8. Identifying Sales Opportunities
9. Oral Communications
10. Probing Questions
11. Qualifying Prospects
12. Sales Data Management
13. Sales Software
14. Strategic Selling
15. Strengthening Customer Relationships
Check for any extra spaces: The original line: "Building Trust, Consultative Selling, Customer Feedback Management, Customer-Focused, Customer Service, Customer Understanding, Direct Selling, Identifying Sales Opportunities, Oral Communications, Probing Questions, Qualifying Prospects, Sales Data Management, Sales Software, Strategic Selling, Strengthening Customer Relationships"
After each comma there is a space. So each skill trimmed.
Now after that line, we have then then etc for competencies.
Thus after skills list, there is an empty paragraph, then a series of tags with competency names.
We need to treat Competencies as heading (
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 📝Let jobs find you
Leave your email and our AI matches you to new jobs across 24 African markets — free. You wait for the call.
Add your CV for real matches
Upload your CV and we score every new job against your real experience — only strong matches reach your inbox. Optional, but it makes your matches far sharper.
You're in.
We'll email you the moment a job matches your profile. Check your inbox for a welcome from My Job Concierge.
I'm ECHO, your MJC career assistant. I can help you find jobs, explore career tools, and connect with opportunities across Africa.