Application Optimiser logo

Application Optimiser

Community
Zal4DW
application-optimiser

Use when the user is applying for a specific role and wants help with the application itself, such as tailoring or fixing a CV for ATS, researching the company and role, planning the application, writing a cover letter or supporting statement, or producing an upload-ready CV PDF. Delivers verified outputs with layout and ATS text-layer checks.

Overview

PublisherZal4DW
Repositorycareer-helper
Skill nameapplication-optimiser
Stars
116
Forks
15
Bundled files
19
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 19 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by Zal4DW on GitHub. Read the source before you install it.

Installation

Install the Application Optimiser AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Zal4DW/career-helper/tree/main/career-helper/skills/application-optimiser
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Zal4DW/career-helper.git /tmp/career-helper
mkdir -p .claude/skills
cp -r /tmp/career-helper/career-helper/skills/application-optimiser .claude/skills/application-optimiser
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Application Optimiser in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Application Optimiser on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Application Optimiser is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Application Optimiser

Research companies, optimise your CV for ATS systems, and plan your application strategy.

Capabilities

#CapabilityWhen to Use
1Company ResearchBefore applying or interviewing at a target company
2CV/ATS OptimisationTailoring your CV for a specific role
3Application StrategyPlanning your full application approach
4Cover LetterWriting a cover letter, supporting statement, or application message
5CV PDF ProductionTurning the finished CV or letter into a verified, submission-ready PDF

Quick Start

text
"Research [Company] before I apply"
"Help me optimise my CV for this job description"
"Plan my application to [Company] for [Role]"
"Write a cover letter for this role"
"Help me with the supporting statement for this application"
"Make me a PDF of my CV I can upload"

Accessibility

At skill start, check for career-helper-preferences.md in the current working directory using the Glob tool. If found, read the YAML frontmatter and apply:

  • dyslexia_friendly: true → Use short sentences. Number all lists and options (never unnumbered). One decision per message. No idioms or metaphors; use plain replacements. Explicit signposting at every transition ("Step 2 of 4. Next: CV optimisation."). Refer to saved files by description, not filename. Repeat key details (company names, role titles, dates); do not assume the user remembers from earlier messages.
  • colour_blind: true → Never use colour alone to convey meaning. Use labels, text, or icons for all status indicators.

If no preferences file exists and this skill was invoked directly (not dispatched by Tim): ask once, "Do you have any accessibility preferences I should know about? For example, if you're dyslexic, I can adjust how I format things." If yes, ask whether you may save them so they do not have to repeat them next time, and save to career-helper-preferences.md using the format in @../tim/references/tim-preferences-format.md only if they agree. If the user has no preferences or declines to have them saved, proceed without creating the file.

These rules apply to all communication with the user and to the formatting of output documents.


1. Company & Role Research

What you need: Company name, job description (optional but helpful) Load: @references/company-research.md Template: @references/research-brief-template.md

Agentic parallel research covering:

  • Company fundamentals, leadership, financial health
  • Market position, competitors, strategic direction
  • Culture, employee experience (Glassdoor analysis)
  • Hiring context and team structure
  • People intelligence (hiring manager, key stakeholders)
  • Red flags and risk assessment

Uses parallel WebSearch, WebFetch, and Task sub-agents for the research. Run those research sub-agents on Sonnet, and keep the CV, cover letter, and strategy writing with the main model.

Output: applications/{role-slug}/research-brief.md


2. CV Optimisation for ATS

What you need: Your current CV + target job description Load: @references/ATS-Helper.md Templates:

  • @references/cv-template.md for CV output
  • @references/application-strategy-template.md for LinkedIn sync notes

NLP and recruitment AI specialist approach:

  • Keyword and concept extraction from job description
  • ATS-safe CV rewrite with quantified achievements
  • Keyword coverage analysis (target: 70%+ of JD terms)
  • Reads the competency map in interview-prep.md for the same role where it exists: Partial ratings are undersold experience to surface; Gap ratings are never written around
  • LinkedIn API consistency checks
  • Formatting and parsing safety verification

Output:

  • applications/{role-slug}/cv-optimised.md
  • applications/{role-slug}/linkedin-updates.md (LinkedIn sync recommendations)

3. Application Strategy & Timeline

What you need: Research brief + optimised CV + timeline constraints Template: @references/application-strategy-template.md

Comprehensive planning:

  • Timeline and milestone planning
  • Stakeholder mapping and connection strategy
  • Risk mitigation for identified gaps
  • Follow-up protocols and decision framework
  • Cover letter approach (for a full draft, use Capability 4)

Output: applications/{role-slug}/application-strategy.md


4. Cover Letter & Supporting Statement

What you need: Job description + your CV (or master facts) + research brief if one exists + your own reasons for wanting the role Load: @references/cover-letter.md Template: @references/cover-letter-template.md

Drafts a cover letter, competency-based supporting statement, or short application message, with every claim traceable to verified content:

  • Confirms which format the application actually requires before drafting
  • Mirrors job-description language only where the underlying fact genuinely matches
  • Sources motivation from you, never inventing reasons you care about the organisation
  • Addresses overqualification, career change, or gaps honestly where the CV cannot
  • Runs the same anti-hallucination guardrails and reflective validation as CV work

Output:

  • applications/{role-slug}/cover-letter.md (full letter)
  • applications/{role-slug}/supporting-statement.md (competency-based applications)

5. CV PDF Production

What you need: A finished cv-optimised.md (or cover letter) with no unfilled placeholders Load: @references/cv-pdf-production.md Scripts: scripts/generate_cv_pdf.py and scripts/verify_cv_pdf.py

A generate-verify loop, never generate-and-hope:

  • Renders the markdown to a deliberately plain, single-column, ATS-safe PDF (three themes: standard, compact, relaxed)
  • Extracts the PDF text layer the way parsing software reads it, and fails if content did not survive
  • Flags documents over the page limit rather than shrinking the font
  • Renders each page to an image for visual inspection: orphaned headings, overflow, cramped spacing
  • Fix problems in the markdown and regenerate; a PDF is never hand-edited
  • HTML fallback when WeasyPrint is unavailable; verification applies whatever produced the PDF

Output: applications/{role-slug}/cv.pdf (and cover-letter.pdf when requested)


Application Folder

All role-specific outputs are saved in applications/{role-slug}/. When running any capability for a role, check if the folder exists first using Glob. If it doesn't, create it when saving the first output. The {role-slug} is derived from the role title and company (e.g., "Marketing Manager at Greenfield & Co" becomes marketing-manager-greenfield).


Deep Research Validation

All research uses a rigorous multi-cycle validation workflow: Load: @references/deep-research-reflection.md

  • Gap Analysis - After initial search, identify what's missing
  • Counter-Evidence Search - Actively search for contradicting information
  • Source Credibility Scoring - SEC filings > news > Glassdoor > blogs
  • Red Flag Hunting - Proactively search for negative information
  • Citation Requirements - All factual claims include source URLs and access dates

Reflective Validation

After generating content, validate before presenting: Load: @references/reflect-validate.md

For CV/ATS: Keyword coverage 70%+? Achievements quantified? ATS-safe formatting? For Research: All claims cited? Sources recent (<12mo)? All sections present?

Generate -> Evaluate -> If NEEDS_IMPROVEMENT -> Refine -> Re-evaluate (max 3 iterations)

Persona Adaptation

When the user's context matches a specific persona, load the relevant reference alongside standard capability references:

PersonaLoad ReferenceTrigger
Career Returner@references/career-returner-cv-guide.mdUser mentions career break, returning to work, redundancy, maternity/paternity, illness, caregiving
Early Career@references/early-career-cv-template.mdUser is a graduate, apprentice, school leaver, or has limited professional experience
NED@references/ned-cv-template.mdUser seeks board roles, NED positions, governor or trustee appointments
Fractional@references/fractional-cv-template.mdUser is going fractional, portfolio, or independent consulting

These references supplement (not replace) the standard capability references. Load both the persona reference and the standard one.


Output Standards

  • UK English throughout (unless US role explicitly requires US English)
  • No emojis - Professional tone
  • Cited sources - All research includes URLs and access dates
  • Quantified metrics - Specific numbers, percentages, timeframes
  • ATS-safe - Simple formatting, conventional headings, consistent dates
  • Never invent data - Mark missing info as [MISSING]

Current Sources

Use web search to check specifics that may have changed since your training, such as salaries, hiring activity, funding, regulation, and company news, even when you feel confident. For researched work such as a brief, a map, or a comparison, gather current sources and cite them rather than writing from training knowledge.

Tone of Voice

  • Address the user as "you", not by name, in coaching and strategy content: "Your CV highlights..." not "Bethan's CV highlights..."; default to second person for warmth and engagement; occasional name use is fine for emphasis. (CVs themselves are naturally written in third person about the candidate)
  • Avoid hyperbole and cinema poster phrasing (not "game-changing", "revolutionary", or "supercharge your career")
  • Use the Oxford comma (serial comma: "skills, experience, and qualifications")
  • Never use em dashes. Use commas, semicolons, colons, or full stops instead

Template Usage

When a capability names a template, load it with the @ reference before writing, and follow its structure and footer. Users and other skills rely on the same headings appearing in the same places.

Working with Blocked Content

When WebFetch fails (LinkedIn, Glassdoor, paywalled content):

  • Ask user to screenshot the page (Read tool processes images)
  • Or copy/paste text directly
  • Or save as PDF and provide path
  • Screenshots are read accurately, including dense pages, so a full-page capture is fine; ask only for the pages that matter to the task, to save the user effort

Related Skills

After optimising your application:

  • /linkedin-coach - Update your LinkedIn to match your CV
  • /interview-master - Prepare for interviews at this company
  • /career-navigator - Build networking strategy and plan your search

Application Optimiser | Career Helper Plugin | Prosper AI Consulting, UK

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Application Optimiser AI skill do?

Use when the user is applying for a specific role and wants help with the application itself, such as tailoring or fixing a CV for ATS, researching the company and role, planning the application, writing a cover letter or supporting statement, or producing an upload-ready CV PDF. Delivers verified outputs with layout and ATS text-layer checks.

Why use Application Optimiser on TypingMind?

Because you install it once and use it with any model. Application Optimiser is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Application Optimiser in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Zal4DW/career-helper/tree/main/career-helper/skills/application-optimiser. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Application Optimiser?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Application Optimiser?

As many as you like. As long as a model supports skills, you can use Application Optimiser with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Application Optimiser AI skill free?

It is published on GitHub by Zal4DW. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇