cv-update-review
Skill17 starsChanged 28 days agoMITView on GitHub
Run a confirmation-gated CV update workflow for Word CV documents: set up a reusable profile, scan configured local activity sources plus public evidence such as PubMed through NCBI E-utilities and configured website/RSS feeds, prepare a CV update packet, ask the user to approve completed/public/accepted items, create a dated `.docx` copy, and update or verify the copy while preserving the existing CV's section-specific conventions. Use when asked to update a CV/resume, run a monthly CV review, gather publications/lectures/ professional activities, or create a public reusable CV updater for colleagues.
In this repository11 other files it gives its agents.
- anatomySkill
- anything-to-notebooklmSkill
- cite-them-allSkill
- illustration-productionSkill
- manuscript-productionSkill
- md-to-xhs-cardsSkill
- scientific-schematicsSkill
- scientific-slidesSkill
- scientific-visualizationSkill
- scientific-writingSkill
- xhs-note-creatorSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
48 rules. About 0 are common, 40 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈40
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Run a public, profile-driven CV update workflow.
- Distinctive: line 27
Do not hard-code private file paths, employer details, author identities, or CV section names in this skill.
- Distinctive: line 41
If no config exists, run setup:
- Very specific: line 48
Use profiles/example.json as a public-safe example only.
- Distinctive: line 53
Default eligibility is strict:
- Distinctive: line 73
Use the system-local date for relative dates.
- Very specific: line 75
Use review_schedule.cadence from the config when present.
- Distinctive: line 79
start: first day of the prior completed calendar month
- Distinctive: line 84
start: first day of the prior completed calendar quarter
- Distinctive: line 89
ask the user for the target month or date range before scanning
- Very specific: line 93
follow review_schedule.custom_cadence if it is concrete enough to resolve a date window.
- Distinctive: line 96
If the user names a month or date range, use that exact range.
- Very specific: line 100
Read .cv-update-review/config.json or the user-supplied config path.
- Distinctive: line 114
If required fields are missing, run setup or ask for the missing values before scanning.
- Very specific: line 117
If review_schedule.offer_automation is true and no automation exists yet, offer to configure one.
- Distinctive: line 125
Use the smallest source set that can answer the request.
- Distinctive: line 168
use configured profile/search URLs as a manual or browser verification source
- Distinctive: line 170
do not build a fragile Scholar scraper into the required workflow
- Distinctive: line 171
if a colleague configures a permitted third-party provider, record that as a profile-specific source and cite it in the packet
- Distinctive: line 182
keep mentoring candidates separate from project-output candidates.
- Distinctive: line 188
Before asking for private recall, show the user the actual candidate items found by source.
- Distinctive: line 198
Keep the preview concise enough to scan.
- Distinctive: line 204
Before finalizing the packet, classify each candidate by activity type:
- Distinctive: line 213
Use the activity type to choose the CV section.
- Distinctive: line 214
When two items share a similar title, keep them separate if their activity types differ.
- Distinctive: line 220
If the same publication list appears in more than one CV location, inspect both locations and decide whether both need the new item to …
- Distinctive: line 226
Before the recall prompt, ask whether configured collaboration projects include junior collaborators, trainees, students, residents, …
- Distinctive: line 239
Do not insert mentoring entries until the user confirms the person, role, institution, supervision years, and wording.
- Distinctive: line 244
Before finalizing the packet, ask:
- Distinctive: line 250
If the user provides items, ask for enough evidence to classify them:
- Distinctive: line 259
Do not include private recall items in the confirmed update list until the user supplies sufficient evidence or explicitly accepts a …
- Distinctive: line 264
Create a dated Markdown packet before any Word edit:
- Very specific: line 277
Use the packet shape in references/packet-template.md.
- Distinctive: line 291
Stop after the packet unless the user has already approved specific entries in the current conversation.
- Distinctive: line 301
Do not treat "looks good" as approval if the packet still contains unresolved section or wording questions.
- Distinctive: line 306
Before editing a Word CV, inspect the current document's conventions near the target sections:
- Distinctive: line 326
Do not globally normalize the CV unless the user explicitly asks.
- Distinctive: line 330
Never edit the original CV directly.
- Distinctive: line 332
Create a dated copy:
- Distinctive: line 356
After a discovery run, return:
- Distinctive: line 364
After an approved Word update, return:
- Distinctive: line 373
If config is missing, run setup or ask for setup values.
- Very specific: line 374
If PubMed is unavailable, continue with local/RSS/manual sources and mark PubMed unavailable in the packet.
- Distinctive: line 376
If RSS parsing fails for one feed, continue with other feeds and record the failed feed.
- Distinctive: line 378
If Google Scholar cannot be checked safely, leave it as a manual verification task in the packet.
- Distinctive: line 380
If the CV document is missing, stop before packet application and report the missing path.
- Very specific: line 382
If a dated copy already exists, create a suffix such as _v2 unless the user explicitly authorizes overwrite.
- Distinctive: line 384
If visual verification cannot run, report the next best text extraction check.
≈ “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
CV Update Review
Overview
Run a public, profile-driven CV update workflow. The skill discovers candidate activities, drafts a review packet, requires explicit user approval, then edits only a dated copy of the Word CV.
This skill is intentionally confirm-first. It must never silently decide that an item belongs on the CV.
Public-First Design
Do not hard-code private file paths, employer details, author identities, or CV section names in this skill. Use a local config file instead.
Default config path:
.cv-update-review/config.jsonConfigs may use ${BASECAMP_ROOT} for vault-relative paths, especially when an
iCloud/Obsidian vault lives under different usernames on different machines. The
helper scripts resolve ${BASECAMP_ROOT} from the environment when set, or from
the nearest vault containing START_HERE.md and AGENTS.md.
If no config exists, run setup:
python3 .agents/skills/cv-update-review/scripts/setup_config.py \
--output .cv-update-review/config.jsonUse profiles/example.json as a public-safe example only. Do not edit it with
real personal data.
Eligibility Rule
Default eligibility is strict:
- include only completed, public, or accepted activities
- include PubMed-indexed or accepted publications
- include public/accepted lectures, invited talks, presentations, public media, publicly released digital scholarship, and completed service/leadership items
- exclude planned, drafted, submitted-but-not-accepted, internal-only, or speculative work
- exclude routine recurring items unless the profile marks them as milestones
For podcasts, newsletters, websites, or recurring educational media, default to major milestones rather than every routine release unless the user explicitly changes the rule.
See references/eligibility-rules.md before resolving borderline items.
Monthly Workflow
1) Resolve the Window
Use the system-local date for relative dates.
Use review_schedule.cadence from the config when present.
Default monthly window:
- start: first day of the prior completed calendar month
- end: last day of the prior completed calendar month
Quarterly window:
- start: first day of the prior completed calendar quarter
- end: last day of the prior completed calendar quarter
Ad hoc only:
- ask the user for the target month or date range before scanning
Custom cadence:
- follow
review_schedule.custom_cadenceif it is concrete enough to resolve a date window; otherwise ask the user before scanning
If the user names a month or date range, use that exact range.
2) Load Configuration
Read .cv-update-review/config.json or the user-supplied config path.
Required fields:
cv_documentoutput_dir- at least one evidence source:
pubmed.author_queriesrss_feedswebsite_urlslocal_activity_pathslocal_search_rootsmanual_scholar_sources
If required fields are missing, run setup or ask for the missing values before scanning.
If review_schedule.offer_automation is true and no automation exists yet,
offer to configure one. A CV automation must run in
packet_only_until_user_approval mode: it may scan sources and prepare the
review packet, but it must not create or edit a Word CV copy until the user
approves exact entries, sections, wording, and evidence sufficiency.
3) Gather Evidence
Use the smallest source set that can answer the request.
Local sources:
- configured activity logs
- configured project/status files
- configured journal or worklog paths
- configured folders containing releases, talks, manuscripts, abstracts, or teaching artifacts
Optional helper:
python3 .agents/skills/cv-update-review/scripts/scan_local_activity.py \
--config .cv-update-review/config.json \
--start YYYY-MM-DD \
--end YYYY-MM-DD \
--output .cv-update-review/evidence/local_YYYY-MM.jsonPublic sources:
- PubMed through NCBI E-utilities:
python3 .agents/skills/cv-update-review/scripts/scan_pubmed.py \
--config .cv-update-review/config.json \
--start YYYY-MM-DD \
--end YYYY-MM-DD \
--output .cv-update-review/evidence/pubmed_YYYY-MM.json- configured RSS/Atom feeds:
python3 .agents/skills/cv-update-review/scripts/scan_rss.py \
--config .cv-update-review/config.json \
--start YYYY-MM-DD \
--end YYYY-MM-DD \
--output .cv-update-review/evidence/rss_YYYY-MM.json- Google Scholar/profile checks:
- use configured profile/search URLs as a manual or browser verification source
- do not build a fragile Scholar scraper into the required workflow
- if a colleague configures a permitted third-party provider, record that as a profile-specific source and cite it in the packet
Collaboration and mentoring sources:
- scan configured project/status files for collaborator names, trainee roles, student/fellow/resident labels, observerships, mentoring language, and supervised deliverables
- identify whether a project involved a junior collaborator or mentee who may belong under Mentoring Activities even if the project itself is not yet a completed CV work
- keep mentoring candidates separate from project-output candidates; do not treat an unfinished project as CV-ready just because it reveals a mentoring relationship
4) Show Candidate Preview
Before asking for private recall, show the user the actual candidate items found by source. Do not provide only counts.
For each source, include:
- short candidate label/title
- activity type and proposed or provisional CV section
- evidence pointer: URL, file path and line number, PMID, or feed name
- eligibility status
Keep the preview concise enough to scan. Group clear duplicates or repeated project-status heartbeat lines when needed, but preserve enough evidence detail for the user to decide what is missing or wrongly included.
5) Category And Section Cross-Check
Before finalizing the packet, classify each candidate by activity type:
- manuscript or journal publication
- abstract or poster
- talk, invited lecture, course/session lecture, or conference presentation
- teaching aid, public media, website, software, or educational artifact
- mentoring, supervision, observership, or trainee collaboration
- service, committee, leadership, review, grant, or award
Use the activity type to choose the CV section. Titles alone are not enough. When two items share a similar title, keep them separate if their activity types differ. For example, a conference talk and a journal article with similar titles must be evaluated and placed independently: the talk belongs with talks or conference presentations, while the journal article belongs with manuscripts or published research articles.
If the same publication list appears in more than one CV location, inspect both locations and decide whether both need the new item to preserve the existing CV structure. Record that decision in the packet.
6) Collaboration/Mentee Review
Before the recall prompt, ask whether configured collaboration projects include junior collaborators, trainees, students, residents, fellows, visiting scholars, or observers who should be considered under Mentoring Activities.
Show any names and roles already found from project/status evidence. For each, include:
- name
- inferred role or level
- project or activity source
- proposed mentoring wording
- confidence and what still needs confirmation
Do not insert mentoring entries until the user confirms the person, role, institution, supervision years, and wording.
7) Prompt For Private Recall
Before finalizing the packet, ask:
What completed, public, or accepted professional activities from <window> may be missing from public records or local files? Examples: accepted manuscripts, invited talks, delivered lectures, committee/service work, peer review, mentorship milestones, grants/awards, public media, or completed institutional activities.If the user provides items, ask for enough evidence to classify them:
- date
- activity type
- title/name
- role
- venue/institution/platform
- public URL, acceptance notice, program, email, certificate, or local file path
Do not include private recall items in the confirmed update list until the user supplies sufficient evidence or explicitly accepts a low-evidence packet note.
8) Build The Review Packet
Create a dated Markdown packet before any Word edit:
python3 .agents/skills/cv-update-review/scripts/build_update_packet.py \
--config .cv-update-review/config.json \
--start YYYY-MM-DD \
--end YYYY-MM-DD \
--evidence .cv-update-review/evidence/local_YYYY-MM.json \
--evidence .cv-update-review/evidence/pubmed_YYYY-MM.json \
--evidence .cv-update-review/evidence/rss_YYYY-MM.json \
--output <output-dir>/cv-update-packet_YYYY-MM-DD.mdUse the packet shape in references/packet-template.md.
Each candidate must show:
- activity type
- proposed CV section
- draft wording
- evidence
- confidence
- eligibility status
- unresolved questions
9) Stop For Approval
Stop after the packet unless the user has already approved specific entries in the current conversation.
Require approval at entry level:
- include/exclude
- final CV section
- final wording
- whether evidence is sufficient
Do not treat "looks good" as approval if the packet still contains unresolved section or wording questions.
10) Extract CV Style Before Editing
Before editing a Word CV, inspect the current document's conventions near the target sections:
python3 .agents/skills/cv-update-review/scripts/extract_cv_style.py \
--docx "/path/to/cv.docx" \
--section "Published and Accepted Research Articles" \
--section "Formal Teaching"Match the existing CV, including:
- author order and punctuation
- journal abbreviations, years, volume/issue/pages, DOI style
- abstract database wording
- lecture title quotation style
- venue/date/location order
- mentorship table or list format
- capitalization quirks already present in that section
Do not globally normalize the CV unless the user explicitly asks.
11) Create A Dated Word Copy
Never edit the original CV directly.
Create a dated copy:
python3 .agents/skills/cv-update-review/scripts/copy_dated_cv.py \
--config .cv-update-review/config.json \
--date YYYY-MM-DDThen edit the dated copy only. Prefer the dedicated document-editing tools when
available. If editing the .docx package directly, follow
references/docx-editing-rules.md.
12) Verify The Updated Copy
After editing:
- extract text from the dated copy and confirm approved entries appear exactly
- confirm excluded entries do not appear
- confirm original CV remains unchanged
- render or visually inspect the Word/PDF output when possible
- return a concise changelog with the dated copy path
Output Contract
After a discovery run, return:
- packet path
- source window
- number of candidates by eligibility status
- items requiring user confirmation
- whether no Word document was edited
After an approved Word update, return:
- dated CV copy path
- entries inserted, grouped by section
- verification performed
- any residual uncertainty
Failure Handling
- If config is missing, run setup or ask for setup values.
- If PubMed is unavailable, continue with local/RSS/manual sources and mark PubMed unavailable in the packet.
- If RSS parsing fails for one feed, continue with other feeds and record the failed feed.
- If Google Scholar cannot be checked safely, leave it as a manual verification task in the packet.
- If the CV document is missing, stop before packet application and report the missing path.
- If a dated copy already exists, create a suffix such as
_v2unless the user explicitly authorizes overwrite. - If visual verification cannot run, report the next best text extraction check.
References
references/public-setup-guide.md: setup flow for colleaguesreferences/eligibility-rules.md: include/exclude decisionsreferences/packet-template.md: review packet structurereferences/docx-editing-rules.md: Word copy and edit safety rules
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.

