# AI Job Search Framework Entry-Point Slash Commands: The Complete Reference

> Explore the complete reference of AI Job Search Framework entry-point slash commands. Discover commands for candidate onboarding, opportunity ranking, application management, and data syncing.

- Repository: [Mads Lorentzen/ai-job-search](https://github.com/MadsLorentzen/ai-job-search)
- Tags: api-reference
- Published: 2026-08-31

---

**The AI Job Search Framework exposes twelve entry-point slash commands—defined as Markdown files in `.claude/commands/`—that serve as the canonical public API for onboarding candidates, ranking opportunities, managing applications, and syncing external data.**

The MadsLorentzen/ai-job-search repository implements a conversational job-search automation system driven by these slash commands. Each command acts as a primary entry point for specific workflows, parsed by the framework's dispatcher to orchestrate underlying skills located in `.claude/skills/`.

## Core Workflow Commands

The framework organizes job searching into a logical lifecycle, from initial onboarding through application submission.

### /setup – Candidate Onboarding

The **`/setup`** command initiates the candidate profile creation process. Located in [`.claude/commands/setup.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/setup.md), this entry point collects personal data, parses uploaded documents, and generates the core skill files required for personalized job matching.

When executed, the command populates the candidate profile stored in `.claude/skills/job-application-assistant/` and establishes the initial state files.

### /reset – Profile Management

Use **`/reset`** to clear candidate-profile data and optionally remove the `documents/` folder. According to the source code in [`.claude/commands/reset.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/reset.md), this command supports targeted resets (e.g., `/reset profile`) that preserve uploaded documents while clearing derived data, allowing users to start fresh without re-uploading source files.

### /rank – Job Evaluation

The **`/rank`** command consumes scraped job postings and produces a ranked shortlist based on the personalized evaluation model defined in the candidate's skill files. Implemented in [`.claude/commands/rank.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/rank.md), this command compares job requirements against the competency matrix stored in the framework's state.

### /apply – Application Execution

**`/apply`** executes the full application workflow. As specified in [`.claude/commands/apply.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/apply.md), this command drafts cover letters, tailors the CV using registered templates, and prepares the final submission packet. This represents the primary action command in the application phase.

### /outcome – Result Tracking

Record application results using **`/outcome`**. The handler in [`.claude/commands/outcome.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/outcome.md) accepts statuses such as `hired`, `rejected`, or `interview-only`, feeding this data back into the evaluation loop to refine future ranking algorithms.

## Data Integration and Reporting Commands

These entry points manage external synchronization and reporting functions.

### /expand – Competency Extraction

The **`/expand`** command extracts additional competency data from uploaded documents or online profiles. Defined in [`.claude/commands/expand.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/expand.md), it augments the candidate profile by parsing new information sources without requiring a full reset.

### /notion-sync – External Database Integration

**`/notion-sync`** pushes ranked jobs and application updates to a Notion database for external tracking. The implementation in [`.claude/commands/notion-sync.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/notion-sync.md) handles API authentication and schema mapping between the framework's internal state and Notion pages.

### /gmail-sync – Email Status Integration

Synchronize application status changes from a Gmail mailbox using **`/gmail-sync`**. According to [`.claude/commands/gmail-sync.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/gmail-sync.md), this command scans designated mailboxes for recruiter responses and updates the internal tracker automatically.

### /html-report – Dashboard Generation

Generate visual summaries with **`/html-report`**. The command defined in [`.claude/commands/html-report.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/html-report.md) builds an HTML dashboard summarizing the application tracker, search results, and pipeline status for quick overview.

### /interview – Preparation Material

The **`/interview`** command produces interview preparation content. As implemented in [`.claude/commands/interview.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/interview.md), it generates STAR-method candidate examples and question banks based on the specific job requirements of tracked applications.

## Extensibility Commands

These entry points allow customization of the framework's capabilities.

### /add-template – Template Registration

Register custom CV or cover-letter templates using **`/add-template`**. The handler in [`.claude/commands/add-template.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/add-template.md) validates template files (e.g., `/add-template tech-lead.tex`) and registers them for reuse in future `/apply` workflows.

### /add-portal – Portal Skill Generation

**`/add-portal`** creates new search skills for job markets not supported out-of-the-box. According to [`.claude/commands/add-portal.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/commands/add-portal.md), accepting a URL argument (e.g., `/add-portal https://www.seek.com.au`), this command generates portal-specific CLI tools in `.agents/skills/`.

## Command Invocation Syntax

All slash commands are invoked from the repository root directory. The framework parses the `$ARGUMENTS` variable to handle parameters.

Initialize a fresh profile:

```text
/setup

```

Reset only profile data while preserving documents:

```text
/reset profile

```

Rank recently scraped jobs:

```text
/rank

```

Record an interview outcome:

```text
/outcome interview

```

Sync Gmail and generate reports:

```text
/gmail-sync
/html-report

```

Add new resources:

```text
/add-template tech-lead.tex
/add-portal https://www.seek.com.au

```

## File Architecture

The command system relies on a specific directory structure that separates entry points from implementation:

- **Command definitions**: `.claude/commands/*.md` — Contains all 12 entry-point files, each beginning with `# /<command>` and documenting workflow steps.

- **Core skills**: `.claude/skills/job-application-assistant/*.md` — Stores candidate profiles, behavioral data, evaluation models, and templates.
- **Search configuration**: [`.claude/skills/job-scraper/search-queries.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/.claude/skills/job-scraper/search-queries.md) — Holds personalized query snippets consumed by scraping workflows.
- **Portal implementations**: `.agents/skills/*/cli/` — Houses portal-specific CLIs (e.g., `linkedin-search`, `jobindex-search`) implementing `search` and `detail` sub-commands.
- **Documentation**: [`README.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/README.md), [`SETUP.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/SETUP.md), [`AGENTS.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/AGENTS.md) — Provide project overview and agent catalogues.

These components form the complete **public API**: the Markdown-defined commands provide the interface, while the skills and agents provide the implementation.

## Summary

- The AI Job Search Framework provides **twelve entry-point slash commands** defined as Markdown files in `.claude/commands/`.
- Commands follow a lifecycle pattern: **setup** (`/setup`, `/reset`), **execution** (`/rank`, `/apply`), **tracking** (`/outcome`), and **integration** (`/notion-sync`, `/gmail-sync`).
- **Extensibility** is built-in via `/add-template` and `/add-portal`, allowing customization without code modification.
- All commands parse `$ARGUMENTS` for parameters and update shared state files including [`CLAUDE.md`](https://github.com/MadsLorentzen/ai-job-search/blob/main/CLAUDE.md) and the `documents/` directory.

## Frequently Asked Questions

### How do I invoke entry-point slash commands in the AI Job Search Framework?

Enter the command directly in the conversational interface or terminal, prefixed with a forward slash. The dispatcher recognizes the pattern `/<command>` and routes execution to the corresponding `.claude/commands/<command>.md` file.

### What is the difference between `/reset` and `/setup`?

The `/setup` command performs initial candidate onboarding and creates profile files from scratch. The `/reset` command selectively clears existing data—optionally preserving uploaded documents in the `documents/` folder—allowing you to reconfigure the profile without losing source materials.

### Where are slash command definitions stored?

All command definitions reside in `.claude/commands/` as Markdown files. Each file begins with a title of the form `# /<name> – <description>` and contains the step-by-step procedure the dispatcher executes.

### Can I create custom slash commands for new job portals?

Yes. Use the **`/add-portal`** command followed by the portal URL. This generates a new portal-specific search skill in `.agents/skills/`, enabling the framework to scrape and rank jobs from that source without manual code changes.