How andrew-shwetzer/career-ops-plugin works
1. What this repo is
- career-ops is a Claude Cowork plugin made almost entirely of prompt assets and reference docs, not a traditional application with runtime code.
- Its architecture is a workflow system for job search: user-facing commands and skills guide Claude to evaluate roles, tailor resumes, scan job boards, track applications, and generate outreach.
2. Top-level integration boundary
- .claude-plugin/plugin.json is the plugin entrypoint and packaging boundary.
- It tells Claude Cowork how to discover the plugin’s commands, skills, and supporting assets.
- This repo is therefore organized around content modules that Claude loads and executes conversationally, rather than services that run independently.
3. User-facing command layer
- commands/ contains the main conversational entry points:
- setup.md for onboarding/profile setup
- quick-eval.md for fast posting review
- These are the “short verbs” users invoke in chat, and they likely route into the deeper skill system.
- This layer is the primary UX boundary: it translates a user’s intent into a structured workflow.
4. Skill modules as the functional core
- skills/ contains one folder per major capability:
- apply, compare, evaluate, help, outreach, research, scan, tailor-resume, track, triage
- Each skill has a SKILL.md, which acts like a domain-specific operating manual for Claude.
- Architecturally, these skills are the core business logic, but expressed as promptable procedures instead of executable code.
5. Workflow decomposition
- The repo’s capabilities form a pipeline:
- setup establishes the user profile and baseline resume data
- evaluate scores a role and maps fit
- tailor-resume converts that evaluation into an ATS-targeted resume
- scan finds openings
- triage ranks discovered roles
- track manages applications over time
- apply helps complete forms
- research, outreach, and compare support decision-making and follow-up
- This is the clearest diagrammatic flow: profile → opportunity discovery → evaluation → tailoring → application tracking/outreach.
6. Shared domain knowledge and schemas
- references/ centralizes reusable domain assets:
- profile-schema.md
- resume-template.html
- scoring-rubric.md
- archetypes.md
- states.md
- ats-rules.md
- ats-endpoints.md
- These files are the shared knowledge layer that keeps evaluation, tailoring, and tracking consistent.
- In architecture terms, this directory acts like a reference data service, but static and local.
7. Industry-specific scoring model
- references/archetypes.md and references/scoring-rubric.md define the job-family model used by evaluation.
- The README says there are 15 archetypes, and scoring adapts by industry or role type.
- This is important because the system does not use one generic resume lens; it adjusts evaluation weights and language by archetype, which affects both scoring and output tone.
8. ATS and job-scan integration boundary
- references/ats-endpoints.md and references/ats-rules.md imply a boundary to external career portals or ATS systems.
- The scan skill likely relies on these definitions to search company openings, while apply likely uses them to help with form-filling.
- This is the main place where the plugin touches external systems, beyond Claude itself and web search.
9. Specialized orchestration via agents
- agents/batch-scanner.md suggests a higher-level agent role for bulk scanning or batch processing.
- Compared with skills, agents usually represent longer-running or multi-step orchestration patterns.
- In a diagram, this would sit above the scan/triage path as a coordinator for processing many openings at once.
10. Help and discoverability
- skills/help/SKILL.md exists as a fallback and navigation layer.
- This is useful in architecture because the system is intended to be menu-like and self-describing: users can ask what is available, then move into a specific workflow.
- It reduces coupling by letting users discover capabilities without knowing internal file names.
11. Privacy and local state
- The README states user data stays local, and a data/ directory is excluded from git, even though it is not shown in the tree.
- That implies a strong boundary between static repository assets and user-specific working state such as profiles, resumes, and applications.
- For an architecture diagram, treat data/ as runtime state outside version control.
12. Technology profile
- This is a documentation-driven plugin for Claude Cowork, implemented with Markdown-based commands, skills, agents, and reference files.
- There is no standalone backend, database, or frontend in the repo; the “runtime” is Claude executing these instructions.
- The system’s behavior emerges from the combination of plugin manifest, prompt files, and reference templates.
13. Overall diagram summary
- Best represented as:
- User chat intents → plugin command entrypoints → skills/agent workflows → shared references/rules/templates → Claude-generated outputs
- Side boundaries:
- local user data for profile/application state
- external web/ATS services for job discovery and compensation/portal lookup
- The repo is less about code execution and more about structured operational knowledge for job search automation.
Main entry points: plugin.json Plugin manifest · evaluate/SKILL.md Evaluate · tailor-resume/SKILL.md Tailor resume · scan/SKILL.md Scan
Components 21
Plugin boundary
Claude Cowork plugin packaging and entrypoints.
- Plugin manifest · Claude Cowork entrypoint and asset discovery boundary.
.claude-plugin/plugin.json
Workflows
User-facing commands and skill modules that drive job-search operations.
- Setup · Onboarding command for profile and baseline resume setup.
commands/setup.md - Quick eval · Fast command for reviewing a posting and judging fit.
commands/quick-eval.md - Help · Navigation and discoverability skill.
skills/help/SKILL.md - Evaluate · Scores roles and maps candidate fit.
skills/evaluate/SKILL.md - Tailor resume · Adapts resume content to a target role.
skills/tailor-resume/SKILL.md - Scan · Finds openings and job-board leads.
skills/scan/SKILL.md - Triage · Ranks discovered roles and prioritizes action.
skills/triage/SKILL.md - Track · Manages application status over time.
skills/track/SKILL.md - Apply · Supports application forms and submission steps.
skills/apply/SKILL.md - Research · Gathers company and role context.
skills/research/SKILL.md - Outreach · Generates follow-up and networking messages.
skills/outreach/SKILL.md - Compare · Compares multiple opportunities or paths.
skills/compare/SKILL.md - Batch scanner · Higher-level orchestration for bulk scanning and processing.
agents/batch-scanner.md
References
Shared schemas, rules, templates, and domain knowledge.
- Profile schema · Shared structure for user profile data.
references/profile-schema.md - Resume template · Shared HTML resume output template.
references/resume-template.html - Scoring rubric · Role-fit scoring model used by evaluation.
references/scoring-rubric.md - Archetypes · Industry and role-family classification used to tune scoring.
references/archetypes.md - States · Application and tracking state definitions.
references/states.md
Integrations
External ATS and job-board touchpoints.
- ATS rules · Constraints and heuristics for ATS-friendly output.
references/ats-rules.md - ATS endpoints · External portal and ATS touchpoints.
references/ats-endpoints.md
Connections 37
- Plugin manifest → Setup: loads · Manifest exposes the onboarding command.
- Plugin manifest → Quick eval: loads · Manifest exposes the quick evaluation command.
- Plugin manifest → Help: loads · Manifest exposes discoverability support.
- Plugin manifest → Evaluate: loads · Manifest exposes core evaluation workflow.
- Plugin manifest → Tailor resume: loads · Manifest exposes resume tailoring workflow.
- Plugin manifest → Scan: loads · Manifest exposes opportunity discovery workflow.
- Plugin manifest → Triage: loads · Manifest exposes prioritization workflow.
- Plugin manifest → Track: loads · Manifest exposes application tracking workflow.
- Plugin manifest → Apply: loads · Manifest exposes application assistance workflow.
- Plugin manifest → Research: loads · Manifest exposes research workflow.
- Plugin manifest → Outreach: loads · Manifest exposes outreach workflow.
- Plugin manifest → Compare: loads · Manifest exposes comparison workflow.
- Plugin manifest → Batch scanner: loads · Manifest exposes specialized orchestration agent.
- Setup → Profile schema: uses · Setup populates and validates user profile structure.
- Quick eval → Evaluate: routes to · Quick evaluation hands off to role-fit analysis.
- Help → Plugin manifest: navigates · Help points users toward available plugin capabilities.
- Evaluate → Scoring rubric: uses · Evaluation applies the shared scoring model.
- Evaluate → Archetypes: uses · Evaluation adapts to job-family archetypes.
- Evaluate → Profile schema: reads · Evaluation compares role fit against stored profile data.
- Tailor resume → Resume template: uses · Tailoring renders output through the resume template.
- Tailor resume → ATS rules: uses · Tailoring follows ATS-friendly constraints.
- Tailor resume → Scoring rubric: uses · Tailoring reflects the evaluation outcome and priorities.
- Scan → ATS endpoints: consults · Scanning relies on job-board and ATS touchpoints.
- Scan → Batch scanner: delegates · Bulk discovery can be orchestrated by the batch agent.
- Triage → Scoring rubric: uses · Triage prioritizes roles using shared scoring criteria.
- Track → States: uses · Tracking uses the application state model.
- Apply → ATS rules: uses · Application help follows ATS constraints and portal behavior.
- Apply → ATS endpoints: touches · Application steps may interact with external portals.
- Research → Archetypes: uses · Research is informed by role-family context.
- Outreach → Profile schema: uses · Outreach draws on candidate profile details.
- Compare → Scoring rubric: uses · Comparison relies on the same fit criteria.
- Batch scanner → Scan: orchestrates · Agent coordinates repeated scanning work.
- Batch scanner → Triage: orchestrates · Agent funnels discovered roles into prioritization.
- Track → Outreach: leads to · Tracked applications can trigger follow-up outreach.
- Evaluate → Tailor resume: feeds · Role evaluation informs resume tailoring.
- Scan → Triage: feeds · Discovered openings move into prioritization.
- Triage → Compare: feeds · Prioritized roles can be compared side by side.