applications
Manage and query job applications. Use when the user wants to add, view, update, or analyze their job applications.
Best use case
applications is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Manage and query job applications. Use when the user wants to add, view, update, or analyze their job applications.
Teams using applications should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/applications/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How applications Compares
| Feature / Agent | applications | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Manage and query job applications. Use when the user wants to add, view, update, or analyze their job applications.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Applications Skill
You help users manage their job application tracker. This skill provides conversational access to the application tracker stored in `applications.jsonl`.
## Storage Location
Applications are stored in `applications.jsonl` in the project root. Each line is a JSON object representing one application.
## Data Model
```json
{
"id": "app-xyz",
"company": "Company Name",
"role": "Job Title",
"status": "applied|interviewing|rejected|offer",
"date_applied": "2025-01-15",
"jd_url": "https://...",
"jd_content": "Full job description...",
"resume_path": "outputs/company_role/resume.html",
"company_url": "https://company.com",
"notes": "Free-form notes",
"created_at": "...",
"updated_at": "..."
}
```
## Capabilities
### 1. List Applications
Read `applications.jsonl` and present applications in a clear format.
**User requests:**
- "Show me my applications"
- "List all applications"
- "What applications do I have?"
**Response format:**
```
| ID | Company | Role | Status | Date Applied |
|----|---------|------|--------|--------------|
| app-xxx | Company A | Engineer | applied | 2025-01-15 |
```
### 2. Show Application Details
Show full details of a specific application.
**User requests:**
- "Show me app-xxx"
- "Details for the Google application"
- "What's the JD for app-xxx?"
### 3. Add Application
Create a new application entry. Collect required information interactively.
**Required fields:**
- Company name
- Role/position
**Optional fields:**
- JD URL
- JD content (full text)
- Company URL
- Resume path
- Notes
**User requests:**
- "Add a new application"
- "I applied to Google for a Senior Engineer role"
- "Track my application to [Company]"
**Process:**
1. If company/role provided, use them
2. Ask for any missing required info
3. Ask for optional info or offer to skip
4. Generate ID (app-XXXXXXXX)
5. Set status to "applied"
6. Set date_applied to today
7. Append to applications.jsonl
### 4. Update Application
Update status or other fields of an existing application.
**Status values:**
- `applied` - Initial state
- `interviewing` - In interview process
- `rejected` - Application rejected
- `offer` - Received offer
**User requests:**
- "Update app-xxx to interviewing"
- "I got rejected from Google"
- "Mark the Amazon application as offer"
- "Add notes to app-xxx"
### 5. Remove Application
Remove an application from tracking.
**User requests:**
- "Remove app-xxx"
- "Delete the Google application"
**Always confirm before removing.**
### 6. Natural Language Queries
Answer questions about applications.
**User requests:**
- "How many applications do I have?"
- "Show pending applications" (status = applied)
- "Which applications are in interview stage?"
- "Applications from last week"
- "Did I apply to Google?"
## CLI Commands
Use the `bragger` CLI for quick operations:
```bash
# Interactive mode
bragger add
# Flag mode (quick add)
bragger add --company "Company" --role "Job Title"
bragger add --company "Company" --role "Title" --jd-url "https://..." --notes "Referral"
# Other commands
bragger list # List all
bragger show <id> # Show details
bragger update <id> # Interactive update
bragger update <id> --status "interviewing" # Flag mode (quick)
bragger remove <id> # Remove with confirmation
```
### Available flags for `add` and `update`:
| Flag | Required | Description |
|------|----------|-------------|
| `--company` | Yes (with flags) | Company name |
| `--role` | Yes (with flags) | Job title |
| `--status` | No | Status: applied, interviewing, rejected, offer (default: applied) |
| `--date` | No | Date applied in YYYY-MM-DD format (default: today) |
| `--jd-url` | No | Job description URL |
| `--jd-content` | No | Job description text (inline) |
| `--jd-file` | No | Path to file containing job description |
| `--company-url` | No | Company website |
| `--resume-path` | No | Path to resume file |
| `--notes` | No | Notes about application |
**For `add`:** `--company` and `--role` are required when using flags. Without any flags, runs interactively.
**For `update`:** All flags are optional. Only provided flags will be updated. Without flags, runs interactively.
**Note:** `--jd-content` and `--jd-file` cannot be used together.
### Updating Applications
Update any field using flags:
```bash
# Update status
bragger update app-xxx --status "interviewing"
# Update multiple fields
bragger update app-xxx --status "offer" --notes "Accepted the offer!"
# Add JD content later
bragger update app-xxx --jd-file ./jd.txt
```
### Backfilling Old Applications
Use `--status` and `--date` to add applications retroactively:
```bash
bragger add --company "OldCorp" --role "Engineer" --date "2025-01-15" --status "interviewing"
```
### Adding JD Content
There are three ways to add job description content:
1. **From file** (recommended for long JDs):
```bash
bragger add --company "Acme" --role "Engineer" --jd-file ./jd.txt
```
2. **Inline** (for short descriptions):
```bash
bragger add --company "Acme" --role "Engineer" --jd-content "Looking for..."
```
3. **Via Claude skill** (for fetching from URL):
If you only have a URL and want clean extracted content, use the `/applications` skill:
> "Fetch and store the JD content for the [company] application"
This leverages Claude's ability to intelligently extract relevant content from job posting pages, filtering out navigation, ads, and other noise.
## Implementation Notes
### Reading applications.jsonl
Use the Read tool to read the file, then parse each line as JSON.
### Writing applications.jsonl
When adding or updating, read all entries, modify as needed, then write back the entire file using the Write tool.
### ID Generation
Generate IDs in format: `app-` + 8 random hex characters (e.g., `app-a1b2c3d4`)
## Example Interactions
**User:** "I just applied to Stripe for a Senior Backend Engineer role"
**Response:**
1. Create new application with company="Stripe", role="Senior Backend Engineer"
2. Set status="applied", date_applied=today
3. Ask: "Would you like to add the job description or any notes?"
4. Save to applications.jsonl
5. Confirm: "Added application app-xxx for Senior Backend Engineer at Stripe"
---
**User:** "Show me my pending applications"
**Response:**
1. Read applications.jsonl
2. Filter where status="applied"
3. Display in table format
4. Include count: "You have X pending applications"
---
**User:** "I got an interview with Stripe!"
**Response:**
1. Find Stripe application
2. Update status to "interviewing"
3. Confirm: "Updated Stripe application to interviewing status"Related Skills
deploying-applications
Deployment patterns from Kubernetes to serverless and edge functions. Use when deploying applications, setting up CI/CD, or managing infrastructure. Covers Kubernetes (Helm, ArgoCD), serverless (Vercel, Lambda), edge (Cloudflare Workers, Deno), IaC (Pulumi, OpenTofu, SST), and GitOps patterns.
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
jtbd
Jobs to Be Done analysis to understand what customers really want. Use for product discovery, competitive analysis, or understanding why customers hire/fire solutions.
issue-creation-orchestration
Orchestrates issue creation with automatic review. Use when asked to "create and review issues", "create verified issues", or when you want issues automatically validated against requirements.
interviewing-stakeholders
Conducts comprehensive stakeholder interviews to gather detailed requirements and generate Gherkin (Given/When/Then) acceptance criteria for test-driven development. Use this skill when you need to: (1) Clarify ambiguities or gaps identified in the synthesizing-requirements output, (2) Interview users to understand functional requirements and system behaviors, (3) Explore non-functional requirements like performance, security, scalability, and reliability constraints, (4) Understand user personas, use cases, and user journeys in detail, (5) Identify technical constraints, integration requirements, and technology preferences, (6) Define data requirements including structures, relationships, and validation rules, (7) Generate comprehensive Gherkin scenarios for each feature ready for test implementation, or (8) Start from scratch when no prior synthesis exists and you need to gather requirements through conversation. This skill typically follows synthesizing-requirements in the Pact workflow but can be used independently.
Implementing Features
Execute specification-driven implementation with automatic quality gates, multi-agent orchestration, and progress tracking. Use when building features from specs, fixing bugs with test coverage, or refactoring with validation.
iikit-03-plan
Create technical implementation plan from feature specification
gspec-epic
Break down a large epic into multiple focused feature PRDs with dependency mapping
genomic-feature-annotation
This skill is used to perform genomic feature annotation and visualization for any file containing genomic region information using Homer (Hypergeometric Optimization of Motif EnRichment). It annotates regions such as promoters, exons, introns, intergenic regions, and TSS proximity, and generates visual summaries of feature distributions. ChIPseeker mode is also supported according to requirements.
Genetic Algorithm for Rastrigin Function (Beginner Python)
Implement a beginner-friendly Genetic Algorithm in Python to optimize the Rastrigin function, structured for Jupyter Notebooks with specific configuration, algorithmic constraints (roulette wheel selection, no elitism), and output requirements.
full-stack-orchestration-full-stack-feature
Use when working with full stack orchestration full stack feature
fresh-eyes
Re-reads code you just wrote with fresh perspective to catch bugs, errors, and issues. Use after completing a feature, fixing a bug, or any code changes. Triggers on "review my code", "fresh eyes", "check for bugs", "did I miss anything", or "sanity check".