From 76fde62dbbc2bbc970fc3378225655c68ef10f59 Mon Sep 17 00:00:00 2001 From: arifazfar99 Date: Wed, 5 Aug 2026 12:19:26 +0800 Subject: [PATCH] Add Career Coach System feature for job-search and resume tracking --- Feature/Career-Coach-System/README.md | 91 ++++++++++++++ Feature/Career-Coach-System/SKILL.md | 86 +++++++++++++ .../Career-Coach-System/career-coach-core.md | 68 +++++++++++ .../install-career-coach.md | 114 ++++++++++++++++++ 4 files changed, 359 insertions(+) create mode 100644 Feature/Career-Coach-System/README.md create mode 100644 Feature/Career-Coach-System/SKILL.md create mode 100644 Feature/Career-Coach-System/career-coach-core.md create mode 100644 Feature/Career-Coach-System/install-career-coach.md diff --git a/Feature/Career-Coach-System/README.md b/Feature/Career-Coach-System/README.md new file mode 100644 index 00000000..42cee4b9 --- /dev/null +++ b/Feature/Career-Coach-System/README.md @@ -0,0 +1,91 @@ +# 💼 Career Coach System + +A career-tracking layer for your AI companion — turns the job search, resume +iteration, and a fundamentals/skills rebuild into an ongoing, file-backed +thread instead of something re-explained from scratch every session. + +--- + +## What It Does + +- **Asks about your career goals on first use** — a short onboarding + conversation (current status, target role, timeline, immediate priority) + the very first time the skill activates, so the dashboard starts with real + content instead of an empty template +- **Opens every career conversation with a recap** — current status + active + initiatives, pulled from `career-progress.md`, before diving into the new topic +- **Tracks the resume as a living document** — `resume.md` stays current, + with every revision logged (with reasoning) to `resume-feedback.md` +- **Logs fundamentals/skills practice** — a concept checklist plus a dated + practice log, useful for anyone rebuilding technical fundamentals alongside + a job search +- **Tracks interview outcomes over time** — a simple dated log of applications, + stages reached, and results +- **Never writes silently** — every log update and resume edit is drafted and + shown before it's saved + +--- + +## Example: First Activation + +``` +You: help me improve my resume + +AI: Before we dive in — a few quick questions so I can track this properly: + 1. Where are you at right now — actively searching, employed and open, + a career restart, or entering the workforce for the first time? + 2. What role(s) are you targeting? + 3. Any timeline or deadline? + 4. What do you want help with first? + +You: [answers] + +AI: Got it — logged that to career-progress.md. Now, let's look at your resume... +``` + +## Example: Every Activation After That + +``` +📋 Career status: Actively searching, targeting Backend Engineer roles. +Active: Resume — Round 2 revision in progress. + +What's on your mind today? +``` + +--- + +## Companion Systems + +Works standalone — only needs a `career/` folder. Optionally enhanced by: + +| System | Enhancement | +|--------|-------------| +| **Session Briefing System** | Could surface career status in the session-start brief | +| **Topic Diary System** | Complementary — topic-diary is for reusable general knowledge, `career/` is for this one ongoing life domain | +| **Post-Mortem System** | A failed interview round or a bad resume send could be post-mortem material if the lesson generalizes beyond this one job search | + +--- + +## Commands + +| Input | Action | +|-------|--------| +| First career-related message, ever | Onboarding runs automatically, then the dashboard is created | +| Any career/resume/job-search/interview message after that | Recap delivers, skill engages | +| A resume edit is discussed | Offers to log to `resume-feedback.md` | +| A shipped project comes up | Offers to draft a `resume.md` update | +| A fundamentals practice session happens | Offers to log to `fundamentals-tracker.md` | +| An interview outcome is mentioned | Offers to log to `interview-log.md` | + +--- + +## Requirements + +- A `career/` folder the AI companion can write to — nothing else is required +- No dependency on Skill Plugin System, but works well as one if you have it installed + +--- + +## Installation + +See `install-career-coach.md` for step-by-step setup. diff --git a/Feature/Career-Coach-System/SKILL.md b/Feature/Career-Coach-System/SKILL.md new file mode 100644 index 00000000..85a47fab --- /dev/null +++ b/Feature/Career-Coach-System/SKILL.md @@ -0,0 +1,86 @@ +--- +name: career-coach +description: "MUST use when the conversation is about the user's career progress, + job search, resume, interviews, imposter syndrome, or fundamentals + rebuilding. Loads career/career-progress.md for a recap at the start + of any career conversation. On first activation (no career-progress.md + yet, or it exists but is empty), runs a short onboarding conversation + about career goals before anything else. Also triggers on 'career', + 'resume', 'job hunt', 'interview', 'screening call' — and proactively, + when a resume edit, fundamentals practice session, or interview + outcome emerges during a session, to offer (not silently perform) + logging it to the right file in career/." +--- + +# Career Coach — Career Restart Tracking +*Mentor/coach continuity for the job search and fundamentals rebuild.* + +## Activation + +**First activation** — `career/career-progress.md` doesn't exist yet, or exists +but is still the empty template: before doing anything else, run the Career +Goals Onboarding (see `career-coach-core.md`) — a short conversation about +current status, target role, timeline, and immediate priority — then write the +answers into `career-progress.md` as the initial Status + Active Initiatives. + +**Every subsequent activation**: read `career/career-progress.md` and open with +a brief recap (current status + active initiatives) before diving into the new +topic. Don't re-explain full history the user already knows — just enough to +confirm shared context. + +## Context Guard + +| Context | Status | +|---------|--------| +| **`career-progress.md` missing or still empty (first activation)** | ACTIVE — run onboarding before anything else | +| **Conversation about career, job search, resume, interviews, imposter syndrome** | ACTIVE — load recap, engage | +| **A resume edit/version is discussed or produced** | ACTIVE — offer to log to `resume-feedback.md` | +| **A project ships or reaches a milestone worth resume mention** (deployed, feature shipped, rebuilt) | ACTIVE — offer to draft a `resume.md` update | +| **A fundamentals practice session happens** (concept studied, exercise done) | ACTIVE — offer to log to `fundamentals-tracker.md` | +| **An application/interview outcome is mentioned** | ACTIVE — offer to log to `interview-log.md` | +| **Unrelated technical/coding work, no career context** | DORMANT | + +## Storage Files + +All career tracking lives in `career/`: + +| File | Purpose | +|------|---------| +| `career-progress.md` | Dashboard — status, active initiatives, dated milestone log | +| `resume.md` | The current resume — single source of truth, kept updated as projects ship | +| `resume-feedback.md` | Resume iteration history, one round per revision — the change log for `resume.md` | +| `fundamentals-tracker.md` | Concept checklist + practice log for a skills/fundamentals rebuild | +| `interview-log.md` | Application/interview outcomes over time | + +## Update Protocol + +Never write to any career file silently — the user is asked before things get +saved, not have it happen in the background. + +1. Notice the trigger (resume edit, project shipped, practice session, interview outcome). +2. Suggest briefly, at a natural point: `"Worth logging this to [file]?"` (or, for a shipped project, `"Worth updating your resume for this?"`). +3. If confirmed, draft the change and show it before saving: + - For iteration logs (`resume-feedback.md`, `fundamentals-tracker.md` practice log, `interview-log.md`): draft the entry in that file's existing format and append (never overwrite prior entries). + - For `resume.md`: draft the specific diff, show it, and only apply it once confirmed — this file is edited in place since it represents current state, not a log. Always also add a dated round to `resume-feedback.md` so there's a history of what changed and why. +4. Update `career-progress.md`'s Milestone Log and Active Initiatives status if the update changes overall state (e.g. a resume round completes, a fundamentals concept moves off "not rated"). +5. If declined, drop it — don't re-suggest the same item. + +## Entry Formats + +**resume.md** — the resume itself, plain text in resume-section format (PROFILE SUMMARY, WORK EXPERIENCES, PROJECTS, TECHNICAL SKILLS, etc.). Edited in place, not appended. + +**resume-feedback.md** — one `## Round N — YYYY-MM-DD` block per revision, with Context, Findings, Decided, Next revision target. Append-only. + +**fundamentals-tracker.md** — update the Concept Checklist row (Confidence, Last Practiced, Notes) and append a dated line to Practice Log. + +**interview-log.md** — append a row to the table: Date, Company/Role, Stage Reached, Outcome, Notes. + +## Mandatory Rules +1. **Never write without asking** — every log update and every `resume.md` edit is offered and shown before saving, never silent. +2. **Append-only** for iteration/outcome logs (`resume-feedback.md`, `fundamentals-tracker.md` practice log, `interview-log.md`) — never overwrite past rounds/entries. `resume.md` is the exception — a living current-state document, edited in place, with change history tracked separately in `resume-feedback.md`. +3. **Honest over encouraging** — when giving resume or interview feedback, name real problems directly rather than defaulting to vague reassurance. +4. **Keep `career-progress.md` current** — it's the recap source; stale status there breaks continuity for the next session. +5. **Onboarding runs once** — once `career-progress.md` has real content, don't re-trigger the onboarding conversation. + +## Level History +- **Lv.1** — Base: `career/` folder tracking (career-progress, resume, resume-feedback, fundamentals-tracker, interview-log), recap-on-activation, confirm-before-write logging, first-run career-goals onboarding. diff --git a/Feature/Career-Coach-System/career-coach-core.md b/Feature/Career-Coach-System/career-coach-core.md new file mode 100644 index 00000000..88a14b56 --- /dev/null +++ b/Feature/Career-Coach-System/career-coach-core.md @@ -0,0 +1,68 @@ +# Career Coach — Core Protocol + +## When to Run +Any time the conversation touches career, job search, resume, interviews, or a +fundamentals/skills rebuild — see SKILL.md's Context Guard for the full trigger list. + +--- + +## Step 0: Career Goals Onboarding (First Activation Only) + +Runs exactly once, the first time this skill activates and `career/career-progress.md` +either doesn't exist or is still the empty starter template. + +### Step 0.1: Ask +Ask a short, conversational set of questions — not a form. Cover: +1. **Current status** — actively job searching, employed and open to opportunities, + a career restart, or preparing to enter the workforce for the first time +2. **Target role(s)** — what they're aiming for +3. **Timeline** — any deadline or urgency, if one exists +4. **Immediate priority** — what they want help with first (resume, interview prep, + fundamentals rebuild, something else) + +Keep it to one exchange — four questions asked together, not four separate turns. + +### Step 0.2: Write the Initial Dashboard +From the answers, write `career/career-progress.md`: +- **Status** — one or two lines combining current status + target role +- **Active Initiatives** — the immediate priority, as the first tracked item +- **Milestone Log** — a single dated entry marking the start: "Career tracking started — [status], targeting [role]" + +### Step 0.3: Continue Naturally +Move directly into the conversation the user actually came for — the onboarding +is a quick setup step, not a gate that delays help. + +--- + +## Step 1: Recap on Activation (Every Subsequent Time) + +### Step 1.1: Load Context +Read `career/career-progress.md`. + +### Step 1.2: Open With a Brief Recap +State the current Status and Active Initiatives in one or two lines before +addressing the new topic. Don't re-explain full history the user already knows. + +--- + +## Step 2: Update Protocol (Triggered Mid-Conversation) + +See SKILL.md's "Update Protocol" and "Entry Formats" sections for the full +confirm-before-write flow across `resume.md`, `resume-feedback.md`, +`fundamentals-tracker.md`, and `interview-log.md`. + +Summary: +1. Notice the trigger. +2. Ask: `"Worth logging this to [file]?"` +3. If yes, draft the entry/diff, show it, save only on confirmation. +4. If the update changes overall state, also update `career-progress.md`'s + Milestone Log and Active Initiatives. +5. If declined, drop it — don't re-ask for the same item. + +--- + +## Minimal Version (Standalone — No Companion Systems) + +This feature has no hard dependencies. It only needs a `career/` folder to +write into. If `main/current-session.md` or a Reminders System is present, +career context naturally surfaces there too, but neither is required. diff --git a/Feature/Career-Coach-System/install-career-coach.md b/Feature/Career-Coach-System/install-career-coach.md new file mode 100644 index 00000000..ee01326e --- /dev/null +++ b/Feature/Career-Coach-System/install-career-coach.md @@ -0,0 +1,114 @@ +# 💼 Career Coach System - Installation Protocol +*Career and job-search tracking with a first-use goals onboarding, for AI companions* + +## Quick Install Command +``` +"install career coach" +``` + +## Prerequisites +- Core memory system installed (`main/` directory with essential files) +- `master-memory.md` accessible for integration updates +- Skill Plugin System recommended for auto-triggering (optional) + +## 4-Step Installation Process + +### Step 1: Create Career Folder Structure +- [ ] Create `career/` folder in root directory +- [ ] Create `career/career-progress.md` — **leave empty**. Its emptiness is what triggers the first-use goals onboarding. +- [ ] Create `career/resume.md` with initial template: + ```markdown + PROFILE SUMMARY + + WORK EXPERIENCES + + PROJECTS + + TECHNICAL SKILLS + + EDUCATION + ``` +- [ ] Create `career/resume-feedback.md` with a header only: + ```markdown + # Resume Feedback — Change Log for resume.md + ``` +- [ ] Create `career/fundamentals-tracker.md` with initial template: + ```markdown + # Fundamentals Tracker + + ## Concept Checklist + | Concept | Confidence | Last Practiced | Notes | + |---------|-----------|-----------------|-------| + + ## Practice Log + ``` +- [ ] Create `career/interview-log.md` with initial template: + ```markdown + # Interview Log + + | Date | Company/Role | Stage Reached | Outcome | Notes | + |------|--------------|----------------|---------|-------| + ``` + +### Step 2: Install Skill (If Skill Plugin System Exists) +- [ ] If Skill Plugin System is installed: + - Copy `SKILL.md` to `plugins/[plugin-name]/skills/career-coach/SKILL.md` + - Inform user: "Career coach skill installed -- auto-triggers on 'career', 'resume', 'job hunt', 'interview', 'screening call'" +- [ ] If Skill Plugin System is NOT installed: + - Inform user: "Career Coach integrated into master memory. Install the Skill Plugin System for auto-triggering." + - Add career protocol reference to `master-memory.md` + +### Step 3: Update Memory System +- [ ] Add to `master-memory.md`: + ```markdown + ## Career Coach Commands + - Career conversations auto-trigger on mentions of career, resume, job hunt, interview, screening call + - First activation runs a short goals-onboarding conversation, then tracks status in career/career-progress.md + - "Worth logging this?" is offered before any resume or log update -- nothing saves silently + ``` + +### Step 4: Verify and Cleanup +- [ ] Verify `career/` folder structure exists with all 5 files +- [ ] Verify `career/career-progress.md` is genuinely empty (onboarding readiness check) +- [ ] Remove `Feature/Career-Coach-System/install-career-coach.md` (installation script no longer needed) +- [ ] Keep `Feature/Career-Coach-System/career-coach-core.md` in place -- unlike LRU, this system's onboarding and update protocol live in a separate core file that `SKILL.md` references at runtime, not embedded entirely in `SKILL.md` itself +- [ ] Display completion message + +## Installation Complete Message +``` +Career Coach System Installed Successfully! + +First activation: goals onboarding (status, target role, timeline, priority) +Every activation after: status recap from career-progress.md + +Tracked Files: + career-progress.md - Dashboard: status, active initiatives, milestone log + resume.md - Living resume, single source of truth + resume-feedback.md - Resume revision history + fundamentals-tracker.md - Concept checklist + practice log + interview-log.md - Application/interview outcomes + +Features: + First-use goals onboarding (runs once) + Confirm-before-write on every log/resume update + Recap-on-activation for session continuity + +Your AI companion now has career and job-search memory! +``` + +## What This System Does +1. **Captures Career Goals on First Use** - a short onboarding conversation seeds the dashboard instead of starting blank +2. **Opens Every Career Conversation with a Recap** - status + active initiatives before the new topic +3. **Tracks the Resume as a Living Document** - revisions logged with reasoning +4. **Logs Fundamentals/Skills Practice** - concept checklist + dated practice log +5. **Tracks Interview Outcomes Over Time** - simple dated log of applications and results +6. **Never Writes Silently** - every save is drafted and shown first + +## Notes +- Onboarding runs exactly once -- clearing `career-progress.md` back to empty re-triggers it +- `resume.md` and `career-progress.md` are living documents, edited in place; `resume-feedback.md`, the practice log, and `interview-log.md` are append-only +- No dependency on Skill Plugin System, but auto-triggering works best with it installed + +--- +*Version 1.0* +*Career and job-search tracking for AI companions*