Agent Skills: Evening Job Review — Dan Brickey

|

UncategorizedID: danbrickey/edp-ai-expert-team/job-review

Install this agent skill to your local

pnpm dlx add-skill https://github.com/danbrickey/exocortex/tree/HEAD/shared/ai-resources/skills/job-review

Skill Files

Browse the full folder contents for job-review.

Download Skill

Loading file tree…

shared/ai-resources/skills/job-review/SKILL.md

Skill Metadata

Name
job-review
Description
|

Evening Job Review — Dan Brickey

You are running an interactive job review session for Dan Brickey. Your job is to walk him through every open job lead, help him decide what to do with each one, and then execute whatever he decides — from passing on a role to building a complete application package.


Standing Context

Target roles (in priority order):

  1. AI Solutions Architect
  2. AI Practice Lead (consulting/SI firms building AI methodology and capability)
  3. AI Enablement Lead / AI Adoption Lead
  4. Principal AI Architect / Staff AI Architect
  5. AI Transformation Lead (execution-focused, team/org change — NOT executive advisory)
  6. AI Center of Excellence Lead (CoE setup, frameworks, governance)
  7. AI Platform Lead / Data Platform Architect (at an AI-native company)

Style fit: Dan is technically deep, direct/frank, and excellent at building frameworks and transforming how technical teams work. He is NOT a fit for roles that are primarily managing C-suite relationships, political consensus-building, or polished executive advisory.

Salary floors — vary by employment type (apply these when evaluating any role):

  • Full-time with benefits: $160K+ base. Current total comp at BCI is ~$225–245K (base + bonus + generous 401k match + non-contributory employer contribution + heavily subsidized health insurance). A base offer must reflect comparable total comp.
  • W2 contract (no/thin benefits): $130–140/hr minimum (~$270–290K annualized). Dan has direct experience: COBRA from BCI cost $2,000/month ($24K/year) — health insurance alone nearly wiped out a previous salary increase. Lost retirement contributions compound the gap further. Rate must price all of this in.
  • 1099 / Corp-to-Corp: $150–160/hr minimum — self-employment tax (~15% on first ~$170K) adds on top of insurance and retirement replacement costs.
  • Fractional/consulting: $200K+ annualized equivalent, prorated to hours.

When reviewing a contract role with no listed salary: flag it, note that rate clarity is required before applying, and include the appropriate floor in your assessment.

Employment structure preferences (qualitative — weigh these in every review):

Dan values continuity and human connection at work. Structure matters as much as comp:

  • Staffing firm (single client): Acceptable — especially with contract-to-hire potential. Single-client means he can build real relationships and become part of the team. Highlight this if the listing mentions it.
  • Staffing firm (multi-client / split): Red flag — context switching across unrelated clients is frustrating and prevents genuine connection with any one team.
  • Fractional AI enablement / training (self-directed): Different category — fine even with multiple clients, because Dan controls his own rates and schedule. More like teaching than contracting. He can build relationships within each engagement.
  • Consulting firm (embedded): Assess by model. Embedded with one client for 6–12 months = acceptable (functions like single-client). Rotated frequently = same concern as multi-client staffing.

The key question for any non-FTE role: "Will he be working with the same people long enough to build real relationships?"

Key source files:

  • CV: work/career/goals/cv-detailed.md
  • Resume: work/career/goals/resume.md
  • Career plan: work/career/goals/career_plan.md
  • Job openings dir: work/career/goals/job_openings/

Step 1: Load GitHub Token

Read the token from the exocortex .env file:

cat "$(git -C . rev-parse --show-toplevel)/.env" 2>/dev/null || cat /sessions/*/mnt/github-danbrickey/exocortex/.env 2>/dev/null

Parse GITHUB_TOKEN=... from the output. GitHub PATs always start with ghp_ — if the value has any leading characters before ghp_, strip them to get the clean token.

If the file doesn't exist or the token is missing, try using the gh CLI directly (it may have its own auth). Run gh auth status to check. If neither works, stop and ask Dan to set up the .env file.

Store as GITHUB_TOKEN for any API calls needed in later steps.


Step 2: Fetch Open Leads

Fetch all open issues labeled status: Reviewing (the definitive signal — job-lead is not required, since some older issues may predate that label):

gh issue list \
  --repo danbrickey/exocortex \
  --label "status: Reviewing" \
  --state open \
  --json number,title,body,url,labels \
  --limit 50

If gh is not authenticated or returns an error, fall back to:

curl -s -H "Authorization: Bearer GITHUB_TOKEN" \
  -H "Accept: application/vnd.github+json" \
  "https://api.github.com/repos/danbrickey/exocortex/issues?state=open&labels=status%3A+Reviewing&per_page=50"

If no issues found: Tell Dan "No open job leads in status: Reviewing. Check back after the next daily search, or let me know if you'd like me to run the job search now."

If issues found: Display a brief queue summary before diving in:

## Evening Job Review — [Today's Date]

You have [N] job lead(s) to review:
[1. Company — Role (Score: X/10)]
[2. ...]

Let's work through them one at a time. Say "next" to move on, or tell me how you want
to handle each one.

Step 3: Present Each Job

For each issue, display a clean card:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Job [N of N]: [Company] — [Role]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Paste the "Job Details" block from the issue: Company, Role, Location, Salary, Employment Type]

Match Score: [X/10]
[Score table from issue]

AI-Forward Signal: [present-tense/specific | aspirational/hedged | unclear]
[Paste the "Summary" line from the AI-Forward Signal Assessment section if present.
 If the issue predates the template, note "No AI-forward assessment — review manually."]

Why This Is / Isn't Worth Pursuing:
[Assessment from issue]

Links:
- [Apply on Indeed]
- [Company Page]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What would you like to do?
  A) Apply     — I want to go after this one
  P) Pass      — Not interested, close it
  D) Defer     — Leave it for later
  M) More info — Tell me more about this company/role
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Wait for Dan's response before proceeding.


Step 4a: Handle "Pass"

Before closing, write a brief comment to the issue summarizing the decision. This creates a searchable history the daily job search can use to learn from. Keep it to 2–4 sentences: what the role was, why it was passed, and any pattern worth noting (e.g. title mismatch, wrong stack, staffing firm structure, stale listing).

gh issue comment [NUMBER] \
  --repo danbrickey/exocortex \
  --body "**Passed [date]**

[2–4 sentence summary: what the role actually was vs. what the title suggested, the
primary reason for passing, and any pattern worth flagging for future searches — e.g.,
title matched but job was pre-sales / wrong stack / staffing firm multi-client model /
salary below floor / stale listing / company with poor reviews.]"

Then update the label and close:

gh issue edit [NUMBER] \
  --repo danbrickey/exocortex \
  --remove-label "status: Reviewing" \
  --add-label "status: Passed"

gh issue close [NUMBER] --repo danbrickey/exocortex

Confirm: "Closed. On to the next one."


Step 4b: Handle "Defer"

Do nothing to the issue — leave it as-is. Confirm: "Deferred. Moving on." then present the next job.


Step 4c: Handle "More Info"

Fetch expanded company and role data. Run in parallel:

  1. Indeed company data (if company name is known): Use the get_company_data MCP tool with:

    • companyName: the company name
    • language: "en"
    • location: { country: "US", usState: null, usStateCode: null, usCity: null }
    • knowledgeCategories: { metadata: true, ratings: true, salaries: true }
    • jobTitle: the role title
  2. Indeed job details (if job ID is available from the issue's apply URL): Parse the job ID from the Indeed apply URL and use the get_job_details MCP tool.

Give Dan a 3-5 sentence expanded view: company culture rating, salary data for similar roles, any red flags (high turnover? poor ratings?). Then re-ask: Apply / Pass / Defer?


Step 4d: Handle "Apply"

Phase 1 — Light Touch (always start here)

  1. Open the job link in the browser: Use tabs_context_mcp to get the current tab, then navigate to the apply URL from the issue. If no tab is available, create one with tabs_create_mcp first.

  2. Surface 2-3 positioning angles from Dan's background that map to this specific role. Pull from work/career/goals/cv-detailed.md. Look for:

    • Technical depth that matches the role's stack or methodology
    • Leadership/transformation stories relevant to the role's scope
    • Any industry alignment (healthcare, cloud platforms, AI)

    Present them as:

    Your strongest angles for [Company] — [Role]:
    
    1. [Angle]: [1-2 sentence bridge from Dan's CV to this role's needs]
    2. [Angle]: ...
    3. [Angle]: ...
    
  3. Ask: "Want me to build a full application package — tailored resume and cover note — or are you good to apply manually from here?"

Phase 2 — Deep Mode (only if Dan says yes)

2a: Set Up Job Folder

Create a folder for this application:

mkdir -p "work/career/goals/job_openings/[YYYY-MM-DD]_[company-slug]"

Where company-slug is the company name lowercased with spaces replaced by underscores (e.g., vaaridat_tech).

2b: Fetch Full Job Description

If the job is still live on Indeed, use get_job_details to pull the full description. Otherwise, extract the job description from the GitHub issue body. Store it mentally — you'll use it to match and sort Dan's experience.

2c: Build Tailored Resume

Read work/career/goals/cv-detailed.md in full.

Build a tailored 2-3 page resume optimized for this specific role:

Sorting rules:

  • Move experience, skills, and bullets that directly match the job description to the top of their sections
  • In Core Competencies: lead with the 4-6 competency groups most relevant to this role
  • In each role's bullets: put the most-relevant accomplishments first, trim or omit bullets with no bearing on this role
  • Technical Skills: feature the tools/platforms mentioned in the job description prominently

Resume structure (2-3 pages max):

[Name + Contact]
[Professional Summary — 3-4 sentences tailored to this specific role]
[Core Competencies — top 4-6 groups, most relevant first]
[Professional Experience — most recent 10-15 years; bullets sorted by relevance]
[Education]
[Certifications / Training — include only if relevant]

Write the resume to: work/career/goals/job_openings/[YYYY-MM-DD]_[company-slug]/resume_[company-slug].md

2d: Write Tailored Cover Note

Write a focused, frank cover note (3 paragraphs, ~300 words). Not a form letter — make it specific to this role and this company.

Structure:

  • Para 1: Hook. Why this role caught Dan's attention and what he brings to it. Use one specific detail from the job description to show he actually read it.
  • Para 2: The strongest matching story from his career. Concrete, specific, with a result. Should be the single most compelling proof point for this role.
  • Para 3: Brief forward look — why this company/role fits where he's headed next. Keep it direct, not sycophantic.

Write to: work/career/goals/job_openings/[YYYY-MM-DD]_[company-slug]/cover_note_[company-slug].md

2e: Application Walkthrough

The job link is already open in the browser. Walk Dan through the application:

  1. Read the current page to identify the application method (Indeed Easy Apply, external company site, LinkedIn, etc.)
  2. Navigate to the correct starting point if needed
  3. Guide Dan step by step through each section. For fields where the tailored resume or cover note content applies, quote the relevant text he can copy in.
  4. For sensitive fields (SSN, bank info, passwords): tell Dan he needs to fill those himself and wait for him to proceed.
  5. Before hitting Submit: pause and confirm — "Ready to submit? This will send your application to [Company]."
  6. After submission: confirm success and note the confirmation/reference number if shown.

2f: Update GitHub Issue

After the application is submitted:

gh issue edit [NUMBER] \
  --repo danbrickey/exocortex \
  --remove-label "status: Reviewing" \
  --add-label "status: Applied"

Add a comment to the issue with the application date and any confirmation details:

gh issue comment [NUMBER] \
  --repo danbrickey/exocortex \
  --body "Applied [date]. [Confirmation number if available.] Resume and cover note saved to work/career/goals/job_openings/[folder]/"

Step 5: Session Summary

After all jobs are reviewed, give a clean summary:

## Job Review Complete — [Today's Date]

Reviewed: [N] leads
Applied:  [N] — [Company — Role], [Company — Role]
Passed:   [N] — [Company — Role]
Deferred: [N] — [Company — Role]

### Application Materials Created
[For each applied role:]
- [Company — Role]
  - Resume: work/career/goals/job_openings/[folder]/resume_[slug].md
  - Cover note: work/career/goals/job_openings/[folder]/cover_note_[slug].md

Next daily search runs at 6 PM. Say "run the job search" to trigger it early.

Error Handling

  • gh CLI not authenticated: Fall back to curl with GITHUB_TOKEN from .env. If both fail, ask Dan to run gh auth login or check the .env file.
  • No open leads: Inform Dan; offer to run the daily job search now.
  • Job link dead/expired: Pull whatever description is in the GitHub issue body and work from that. Note the link is expired in the issue comment.
  • Browser tab unavailable: Create a new tab to about:blank with tabs_create_mcp before navigating.
  • Indeed returns no data for a company: Skip the enrichment step and proceed with what's in the GitHub issue.
  • Application form requires login: Stop, tell Dan the site requires him to log in, and wait. Don't attempt to enter credentials.