en un clic
careerbot
careerbot contient 9 skills collectées depuis thoughtfulllc, avec une couverture métier par dépôt et des pages de détail sur le site.
Skills dans ce dépôt
Find matching open roles at the user's interested companies and draft an application markdown file for each match under applications/in-review/. Use whenever the user wants to look for new jobs, scan their interested companies, or fill their applications pipeline. Reads companies from companies/interested/, fetches each careers page, filters open roles against context/preferences.md, dedupes against every existing application under applications/**/*.md (any status), and writes one markdown file per match — pre-filling form questions by reusing entries from answer-bank/ where they exist. Never submits applications.
First-run setup wizard for careerbot. Detects what's missing in a fresh repo (context/preferences.md, context/index.md, context/resume.pdf, companies/ideas.md, plus folder scaffolding), copies the index and ideas example templates into place, then walks the user through every preference section one question at a time, writing answers into preferences.md as YAML frontmatter (typed source of truth for the dashboard form) plus a markdown body (human-readable, what consumer skills read). Resumable — re-running only asks about sections whose frontmatter fields still equal defaults. Hands off to /find-companies, /find-roles, and /seed-answer-bank at the end without auto-invoking them. Use whenever the user says "onboard me", "start over", "first-time setup", "I just cloned the repo", or otherwise needs to bootstrap careerbot from an empty state.
Add a single application by URL. The user pastes one job posting link; the skill fetches the JD, drafts answers from the Answer Bank, and writes one markdown file at applications/in-review/<company>/<ats-id>-<title-slug>.md so it surfaces immediately on the dashboard's Applications page. Auto-adds the company at companies/interested/<slug>.md if it isn't tracked yet. Refuses to duplicate an existing application. Single-target counterpart to /find-roles. Use whenever the user pastes a job URL, says "add this application", "track this job", "draft an application for this", or otherwise names one specific posting they want drafted.
Change an application's status by moving its markdown file between status folders under applications/. Use whenever the user says they've applied, gotten an interview, been rejected, received an offer, or wants to archive an application (withdrew, decided not to apply, etc.) — or any phrasing that maps to one of the six lifecycle states. Accepts a job URL, a company+title pair, a filename, or a natural-language description; resolves to the unique matching application file before moving it.
Commit and push all pending changes as one or more atomic, conventional-commit-style commits, then push to the remote. Before committing, classify each file as public (agent skills, examples, AGENTS.md / README.md / docs) or private (user content under context/, companies/, applications/). If any file looks private but is not already excluded by a .gitignore, stop and ask the user whether to update .gitignore before continuing.
Walk every application markdown file under applications/in-review/, find Q&A sections that are empty, TODO placeholders, or `[partial - pending: ...]` essays whose pending stubs have since been filled, and re-synthesize them using the same gap-analysis + synthesis logic as /find-roles (identity verbatim, essay synthesis from satisfied inputs in the SCHEMA.md checklist). Skip any section with substantive user-revised content, all demographic sections, and any section whose required answer-bank inputs are still stubs. Use after /seed-answer-bank fills stubs that /find-roles generated, to bulk-rewrite the affected applications without touching the user's manual edits.
Search for companies that match the user's background, skills, and preferences. For each viable match, spawn a research subagent in parallel to produce a deep profile (products, news, stock/financials, engineering culture, work-life balance, Glassdoor signal, controversies, offices) and write a markdown file to companies/in-review/<slug>.md. Candidates that don't meet the bar also get a one-paragraph markdown file at companies/not-interested/<slug>.md so they never get re-surfaced. Reads seeds from companies/ideas.md.
Add a single company to the local Companies tree by name (and optional URL), auto-filling HQ, Industry tags, and Remote Policy from research. Writes a new markdown file at companies/interested/<slug>.md. Use whenever the user says "add company X", "track company Y", or otherwise wants to log one specific company they already have in mind. Status defaults to `interested`. This is the lightweight, single-target counterpart to `/find-companies` (which does deep N-company research) — use this when the user names ONE company; use `/find-companies` when they want suggestions / batch research.
Interactively fill the Answer Bank one stub at a time. Walks every empty-body file under answer-bank/<theme>/*.md — the gap-driven stubs `/find-roles` generated when it hit a context gap mid-essay. Inserts the user's answer into the body of each stub, never rewriting the existing frontmatter. Resumable — re-running only asks about stubs the user hasn't answered yet. If there are no stubs, it means `/find-roles` hasn't run yet (or has nothing it needed to ask about); tell the user to run `/find-roles` first. Use whenever the user says "seed my answer bank", "fill out my answer bank", "fill the stubs find-roles left me", or wants to add fresh raw material the AI can draw on for future applications.