What Triggers the Job-Application-Assistant Skill Workflow in Claude
The job-application-assistant skill activates automatically when Claude detects specific trigger phrases defined in the skill manifest, including "job posting," "cover letter," "CV," "interview prep," and Danish terms like "ansøgning" or "stilling."
The MadsLorentzen/ai-job-search repository implements a sophisticated job application automation system using Claude's skill framework. Understanding what triggers the job-application-assistant skill workflow is essential for leveraging this multi-step automation that handles research, evaluation, and document generation.
Trigger Keywords Defined in the Skill Manifest
According to the source code in .claude/skills/job-application-assistant/SKILL.md (lines 5-6), Claude monitors user input for a comprehensive list of trigger keywords that span both English and Danish terminology. When any of these terms appear in a user request—whether as part of a free-form question, a URL to a posting, or a direct command—the skill activates automatically.
The trigger keywords include:
- job posting
- job application
- CV / resume
- cover letter
- interview prep
- job fit / career / application / apply
- Danish equivalents ansøgning and stilling
This broad keyword coverage ensures the skill catches intent whether a user asks for a "CV review," requests help with an "ansøgning" (application), or shares a "job posting" URL.
How the Activation Logic Works
Claude's routing logic performs pattern matching against the trigger list before processing any job-related request. When a match occurs, the system loads the skill and initiates the workflow sequence.
# Example: Pattern matching in the routing logic
user_input = "Can you evaluate this job posting for me?"
trigger_keywords = [
"job posting", "job application", "cv", "cover letter",
"resume", "interview prep", "job fit", "career", "apply",
"ansøgning", "stilling"
]
if any(keyword in user_input.lower() for keyword in trigger_keywords):
# Claude loads the job-application-assistant skill
load_skill("job-application-assistant")
run_workflow_step(1) # Research & Evaluate Fit
The matching is case-insensitive and recognizes keywords embedded within larger phrases, allowing natural language inputs like "I need help with my resume for this job application" to trigger the same response as explicit commands.
The Multi-Step Workflow Sequence
Once activated, the job-application-assistant skill executes a structured workflow that progresses through distinct stages:
- Research & Evaluate Fit – Fetches the job posting and scores compatibility
- CV Tailoring – Adjusts the candidate's profile for the specific role
- Cover-Letter Drafting – Generates customized application documents
- Interview Preparation – Provides role-specific interview guidance
The workflow entry point depends on which trigger keyword activated the skill. For example, mentioning "cover letter" may jump directly to Step 3, while "job posting" initiates the full sequence from Step 1.
# CLI invocation triggers the skill automatically
$ claude "Write a cover letter for the Senior Engineer role at Acme Corp"
# The phrase "cover letter" activates the skill, proceeding to Step 3
Key Source Files Controlling Activation
The activation logic and workflow configuration are distributed across several files in the repository:
.claude/skills/job-application-assistant/SKILL.md– Defines the skill name, description, allowed tools, and the trigger keyword list (lines 5-6).claude/skills/job-application-assistant/01-candidate-profile.md– Stores the candidate's static profile used during evaluation.claude/skills/job-application-assistant/04-job-evaluation.md– Contains the scoring framework applied after fetching a postingtools/security_guards.py– Registers the skill in the permissions JSON (line 36), ensuring proper access controls.claude/commands/setup.md– Lists reference files populated during initial skill setup
The README.md at the repository root documents the high-level directory layout, confirming the job-application-assistant/ folder structure that houses these activation rules.
Summary
- The job-application-assistant skill triggers automatically when Claude detects specific keywords in user input
- Trigger phrases are defined in
.claude/skills/job-application-assistant/SKILL.md(lines 5-6) and include both English and Danish terms - Keywords cover the entire application lifecycle: job posting discovery, CV/resume review, cover letter writing, and interview preparation
- Once activated, the skill executes a multi-step workflow (research → evaluation → tailoring → drafting → prep)
- The activation logic is case-insensitive and recognizes keywords within natural language inputs
Frequently Asked Questions
What specific words trigger the job-application-assistant skill?
The skill activates when you mention "job posting," "job application," "CV," "resume," "cover letter," "interview prep," "job fit," "career," "apply," or the Danish terms "ansøgning" and "stilling." These keywords are hardcoded in the skill manifest at .claude/skills/job-application-assistant/SKILL.md (lines 5-6).
Can I trigger specific steps of the workflow directly?
Yes. While general terms like "job posting" initiate the full workflow starting at Step 1 (Research), specific phrases like "cover letter" can activate the skill and jump directly to Step 3 (Cover-Letter Drafting). The routing logic maps trigger keywords to their corresponding workflow stages.
Where is the activation security configured?
The skill registration and permissions are handled in tools/security_guards.py at line 36, where the job-application-assistant is registered in the permissions JSON. This ensures the skill only activates when properly authorized and within the defined security constraints.
Does the skill work with Danish job applications?
Yes. The trigger list specifically includes Danish equivalents "ansøgning" (application) and "stilling" (position/job posting), allowing the skill to activate for users searching or applying to Danish-language job postings.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →