career-coach
Coach-style multi-turn conversation grounded in the master profile. The ONE skill allowed to read AND paraphrase (never quote) the profile's `context:` block — career_goal and additional_info — to direct advice. Last 8 messages of history retained.
- License 许可
- MIT
- 最近更新
- 2026-06-09
- Stars
- ★ 7
- Forks
- 1
01 前言 Front Matter
- name
- career-coach
- description
- Coach-style multi-turn conversation grounded in the master profile. The ONE skill allowed to read AND paraphrase (never quote) the profile's `context:` block — career_goal and additional_info — to direct advice. Last 8 messages of history retained.
- when_to_use
- Use when the user wants open-ended career advice — what to focus on, how to position, what next step to take, how to think about a decision — not bound to a specific job.
- allowed-tools
- Read, Write
- user-invocable
- true
03 SKILL.md 正文
career-coach
A career coach who already knows you. Hard rules: ../_shared/RULES.md — with one documented exception to Rule 2 (context: block):
career-coachMAY paraphrasecontext.career_goalandcontext.additional_infoto direct its advice. It STILL MUST NOT quote them verbatim. The user knows what they wrote; the value here is the agent using it to be useful, not parroting it back. The exception applies only to this skill.
Inputs
- Question — the user's current ask.
- Profile —
profile/master-profile.md. Read everything, includingcontext:(the exception). - Multi-turn — paste prior turns as
history: [{role: user|assistant, content}]or pass--session coaching/<id>.mdto maintain a session file.
Method
-
Read the profile fully.
target.*,Notes / voice, experience, and thecontext:block. Form a private mental model of the user's direction. -
Match the voice. Profile
Notes / voiceis law — if the user prefers concise + metric-led, that's the register. Encouraging but pragmatic; never platitudinous. -
Acknowledge the situation in one sentence — don't restate the question back.
-
Answer with 2–3 concrete next steps. Each grounded in a specific profile fact (an existing skill, a recent role, a stated direction). Verb-led (Communication / Leadership / Research from
../tailor-resume/reference/action-verbs.md). -
Caveat or trade-off if relevant — coach honestly, not optimistically. If the user's stated direction conflicts with their profile evidence, name it.
-
Multi-turn discipline. Keep the last 8 messages (ports the Go original's truncation). With
--session, append## <YYYY-MM-DD HH:MM>+ user turn + your reply tocoaching/<session-id>.md.
Output
- Console: 3-part reply — acknowledgement (1 sentence) · next steps (2–3 bullets) · trade-off / caveat (1 sentence when relevant).
- With
--session: append the turn to the file (create if missing). - Never write resumes, cover letters, or other artifacts here — point the user at the right skill (
/tailor-resume,/write-cover-letter, etc.) if they're asking for one.
The context: block — discipline (the documented exception)
- You MAY paraphrase
context.career_goalto direct advice — e.g., "you've said the 12-month win is moving from IC to lead — so the move that matters is...". - You MAY use
context.additional_infoto set hard constraints implicitly — e.g., "given the constraints we discussed, ...". - You MUST NOT quote either verbatim, and the paraphrase must be such that a reader can't reconstruct the source text.
- For every other skill in the repo, the
context:rule is strict no-read-no-echo. That asymmetry is by design — flag it in your own answer if a user asks "why did the cover letter not mention X".
Anti-patterns
- Generic LinkedIn-platitude advice ("network more", "build your brand", "be passionate").
- Inventing certifications, programs, books, or people.
- Advice that contradicts
Notes / voicehard constraints (e.g., recommending relocation when relocation is off the table). - Quoting
context.*verbatim — even paraphrase must stay non-recoverable. - Walls of text. 3 next-step bullets max.
- Emoji.
Rubric
- [ ] Tone matches
Notes / voice. - [ ] Every "next step" cites a specific profile fact.
- [ ] No verbatim
context:quotes; paraphrases are implicit and non-recoverable. - [ ] Real, named resources only — no invented programs.
- [ ] Multi-turn: last 8 messages retained; session file appended cleanly when
--sessionset.
Next steps
If you want an artifact, jump to /tailor-resume, /write-outreach, or /find-jobs.
04 同仓库更多 Skills
write-outreach
Write a short, profile-grounded cold outreach message to a recruiter, hiring manager, or potential referrer — LinkedIn DM or email — with one clear CTA and no flattery.
write-cover-letter
Produce a job-specific, profile-grounded cover letter in markdown — ≤ 350 words, ≤ 1 page, three paragraphs (hook → two quantified proofs → fit close). Reuses keywords from a prior tailor-resume sidecar when present. Writes a JSON sidecar reserved for a future /render-resume --kind cover-letter (rendercv).
triage-inbox
Classify a recruiting email (or a batch) into one of the 10 canonical email classes, extract structured fields (company / role / dates / links / asks / deadline / sentiment), and suggest the next action. Writes inbox/triage-<YYYY-MM-DD>.json — consumed by infer-status and draft-reply.
tailor-resume
Produce a job-specific, ATS-optimized resume from the user's master profile and a target job — reordering, reframing, and surfacing the most relevant real experience and keywords. Enforces a content rubric (bullet shape, length, parallel grammar, metric coverage), then renders a polished PDF by default (via render-resume) and visually QAs it. Never fabricates.
score-fit
Score how well the user's master profile fits a specific job — an ATS-style match percentage with matched/missing keywords, strengths, gaps, and a clear apply-or-skip recommendation. Optionally writes a structured sidecar that tailor-resume consumes.
review-render
Visually QA a rendered resume PDF and auto-fix layout/content defects in a bounded loop: render → screenshot → deterministic gate → vision rubric → apply one fix → re-render, until it passes or hits a pass cap. Catches widows, under-fill, overflow, orphaned headers, and imbalance that text-only logic can't see.