jbsanchezr

Apply Agent — AI skill for Claude Code

AI community

LLM agent that tracks job applications by reading your inbox read-only.

How to install Apply Agent

This entry records only its repository, not the path inside it, so there is no exact command to give. Open jbsanchezr/apply-agent and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Apply Agent does

LLM agent that tracks job applications by reading your inbox read-only. Built with LangGraph, Claude or a local Ollama model, and FastAPI. Includes an evaluation harness, Prometheus/Grafana/Langfuse observability, and Docker.

Alternatives in AI

  • Cursor Talk To Figma MCP — TalkToFigma: MCP integration between AI Agent (Cursor, Claude Code, Codex) and Figma, allowing Agentic AI to c 7k ★
  • ARIS Agent Guide — For AI agents reading this repo 6.2k ★
  • Paul — Plan-Apply-Unify Loop — Structured AI-assisted development for Claude Code 1.2k ★

README

apply-agent

An LLM agent that keeps track of job applications by reading an email inbox, **read-only**. It classifies replies (rejection, interview invitation, request for information, offer, other), extracts company / role / date / summary, and keeps a table of applications and their current status.

[![CI](https://github.com/jbsanchezr/apply-agent/actions/workflows/ci.yml/badge.svg)](https://github.com/jbsanchezr/apply-agent/actions/workflows/ci.yml) ![Python 3.12](https://img.shields.io/badge/python-3.12-blue) [![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE)

**Stack:** LangGraph · Claude or a local model via Ollama · FastAPI · SQLAlchemy · Prometheus · Grafana · Langfuse · Docker · GitHub Actions

Highlights

  • Runs with zero credentials. Out of the box it reads bundled synthetic emails and uses a keyword baseline, so docker compose up works on any machine. A free local LLM (Ollama) or Claude is one environment variable away.
  • Measured, not assumed. An evaluation harness runs the whole agent over 26 labelled emails and reports per-class precision/recall, confidence intervals and a confusion matrix. The local qwen3:8b model goes from the baseline's 73% accuracy to 100% (with an honest caveat, below).
  • Read-only by design. The Gmail integration asks only for gmail.readonly, rejects broader tokens, and exposes a read-only interface. Email bodies are never stored or logged.
  • Contained against prompt injection. The model gets only two tools, both bound to the email being processed, so a malicious email can at worst get itself misclassified.
  • Observable. Prometheus metrics (tokens, cost, latency, outcomes), a 19-panel Grafana dashboard that is tested against the code, and optional Langfuse traces.
  • Reproducible CI for free. LLM responses are recorded once and replayed, so CI re-runs the LLM evaluation on every push without a GPU or API key.
  • Documented trade-offs. 45 desi