experience-bank
Skill0 starsChanged 5 months agoUnlicenseView on GitHub
Periodically interview the candidate ("grill me") about new achievements, projects, and experiences, and fold them into a structured, tagged store in .mercury/experience/. Run occasionally (e.g. quarterly) — NOT per application. resume-tailor reads this bank to surface role-relevant experience that doesn't fit on the short base resume. Use when the user says "grill me", "update my experience bank", or wants to capture recent work. Part of the Mercury toolkit.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- thesun4sky/jobstacktheir own version, first seen Sep 5, 2026
- FlavioZanoni/mercuryword for word, first seen Jun 26, 2026
Other versions2 projects use a version of this.
Word for word · 1
- FlavioZanoni/mercury★ 8100% same
Edited · 0
None found.
Wrote their own version · 1
- thesun4sky/jobstack★ 50same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- job-scoutSkill
- outreach-trackerSkill
- portal-fillerSkill
- profile-optimizerSkill
- recruiter-outreachSkill
- resume-tailorSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 6 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 66
Read every entry in .mercury/experience/ (if any) → know what's already captured
- Very specific: line 67
Read the base resume (.mercury/base/resume.*) if present
- Distinctive: line 71
If the directory doesn't exist, create it — this is the seeding run.
- Distinctive: line 85
Ask one focused question at a time.
- Distinctive: line 87
Only spend questions on new or thin material — skip anything already well-captured.
- Distinctive: line 88
Stop when the user is out of new material or says they're done.
- Very specific: line 96
Write .mercury/experience/{slug}.md with the frontmatter schema + a tight STAR body
- Distinctive: line 97
Dedupe: if it matches an existing entry, update it rather than create a duplicate
- Distinctive: line 116
If the user can't quantify something, store it qualitatively rather than fabricating a number.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Experience Bank
Build and maintain a deep, reusable pool of the candidate's achievements so
resume-tailor can surface role-relevant experience that doesn't fit on the
(necessarily short) base resume.
This is a periodic maintenance skill — run it once to seed, then refresh every quarter/semester or after shipping something notable. It is not part of the per-application flow.
experience-bank ──writes──▶ .mercury/experience/ (deep, tagged pool)
│ read-only
▼
profile-optimizer → job-scout → resume-tailor → recruiter-outreach
└─ selects role-relevant entriesPrerequisites
- LinkedIn MCP —
get_person_profile(seed material, gap detection) - The user's base resume (if present) and the existing bank in
.mercury/experience/
Data Directory
.mercury/
└── experience/
├── {slug}.md # one achievement/project per entry (frontmatter + STAR body)
└── index.md # rollup table for quick scanningEntry frontmatter schema (tags drive cheap per-role retrieval):
---
title: Cut checkout p99 latency 40%
slug: checkout-latency-40pct
skills: [performance, distributed-systems, observability]
tech: [java, aws, sqs, dynamodb]
domain: [payments, e-commerce]
role_type: [backend, platform]
metrics: ["p99 -40%", "2M events/day"]
scope: "team of 6, 2M daily orders"
dates: "2024-Q3"
on_resume: false # is this already on the base resume?
source: interview # interview | freeform | linkedin | resume
---Workflow
1. Load What Already Exists (never start from scratch)
- Read every entry in
.mercury/experience/(if any) → know what's already captured - Read the base resume (
.mercury/base/resume.*) if present - Pull
get_person_profile(...)for experience/projects already on LinkedIn - Build a mental set of "covered" achievements so you only ask about gaps and new material
If the directory doesn't exist, create it — this is the seeding run.
2. Grill the Candidate (interactive elicitation)
Conversational interview loop using a STAR frame. Probe for the things people leave off resumes:
- Situation/Task — what was the context and the problem?
- Action — what did you specifically do? (separate your work from the team's)
- Result — quantified impact: metrics, %, scale, revenue, latency, users
- Scope — team size, budget, scale (req/s, data volume, $)
- Tech — the stack actually used (not aspirational)
Rules:
- Ask one focused question at a time; follow the thread before moving on.
- Push for numbers when answers are vague ("how much faster?", "how many users?").
- Only spend questions on new or thin material — skip anything already well-captured.
- Stop when the user is out of new material or says they're done.
Also accept freeform dumps: if the user pastes a raw story, structure and tag it without re-interviewing.
3. Structure & Store (incremental, idempotent)
For each new/updated achievement:
- Write
.mercury/experience/{slug}.mdwith the frontmatter schema + a tight STAR body - Dedupe: if it matches an existing entry, update it rather than create a duplicate
- Set
on_resume: truefor things already on the base resume (so tailor knows what's "extra") - Regenerate
index.md— a table of all entries (title, skills, tech, domain, metrics)
4. Persist to Mercury
Log the maintenance run so the dashboard reflects it:
mercury activity log --skill experience-bank --summary "Captured {N} new entries; bank now {total}"If
mercuryisn't installed, just write the files — the bank still works standalone; only the dashboard activity log is skipped.
Truthfulness (non-negotiable)
- Capture real stories and real numbers — the skill structures and reprioritizes, it never invents achievements, metrics, or scope.
- If the user can't quantify something, store it qualitatively rather than fabricating a number.
Integration with resume-tailor
At application time (no interview), resume-tailor:
- Matches the job's requirements/stack against entry tags (
skills,tech,domain,role_type) - Selects the best-fitting entries — even if they aren't on the base resume
- Keeps the gap report honest: distinguishes "you have this, it's in your bank (not your resume)" from a genuine miss
Example
User: "grill me — I shipped a few things this quarter"
Agent:
1. Loads existing bank + base resume + LinkedIn profile
2. "You don't have anything tagged 'observability' yet. Did you do any
monitoring/alerting work recently?"
3. … STAR follow-ups, pushing for metrics …
4. Writes .mercury/experience/checkout-latency-40pct.md + updates index.md
5. mercury activity log --skill experience-bank --summary "Captured 3 new entries; bank now 14"Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

