ワンクリックで
assessjob
Perform expert HR assessment of candidate against job posting with domain knowledge
メニュー
Perform expert HR assessment of candidate against job posting with domain knowledge
| name | assessjob |
| description | Perform expert HR assessment of candidate against job posting with domain knowledge |
| disable-model-invocation | true |
Read .jobops/config.json. If missing, stop with:
JOBOPS NOT CONFIGURED Run /jobops:setup to initialize your workspace.
Use config.directories.<key> for all file paths in this skill.
Use config.preferences.cultural_profile if this skill generates resume-style content.
Use config.preferences.default_jurisdiction if this skill has jurisdiction-sensitive logic (crisis/legal skills accept --jurisdiction=<ISO-3166-2> to override).
For each template used by this skill, resolve the full path as:
{config.templates.base_dir}/{config.templates.active.<template_name>}/
Templates referenced by this skill: assessment_rubric_framework, assessment_report_structure
This skill writes to a per-application folder. Before writing any output:
{Company}_{Role}_{YYYYMMDD} from the job-posting filename, or honor --app=<slug> if supplied. The slug MUST be canonical: a leading PascalCase {Company} token (matching the Company_Intelligence/{Company}/ folder so OSINT links), a PascalCase {Role} (underscores between words allowed), and a trailing compact 8-digit date (20260519 — no hyphens, no time). Reject leading date/time prefixes such as 2026-04-15_214414_...; if the source filename carries one, recompose it into canonical form ({Company}_{Role}_{YYYYMMDD}) before composing the folder path.{config.directories.applications_root}/{app_slug}/.resume/cover-letter/assessment/interview/mkdir -p it, then copy
{config.directories.job_postings}/{filename} → {app_slug}/job_posting.md
so the pinned JD cannot silently change under completed work. Ensure the pinned copy
begins with YAML front matter carrying output_type: job_posting: if the source JD
already has a front-matter block, add the key to it; otherwise wrap a new block
(--- / output_type: job_posting / source_jd: {filename} / ---) above the JD body.--app=<distinct-slug>.assessment/rubric.md, assessment/assessment.md, and assessment/domain_research.md.MAXIMUM ASSESSMENT REPORT LIMIT: 20,000 TOKENS
Your assessment report output MUST NOT EXCEED 20,000 tokens. This is a hard limit.
Important Clarifications:
Strategies to stay within limit for assessment report:
Create a job-specific scoring rubric from the {{ARG1}} job posting, then evaluate the candidate using this customized rubric to provide a detailed assessment report.
Resume Source Location:
{config.directories.resume_source}This workflow uses 5 phases with parallel dispatch where possible.
Phase 1 (Sequential, fast): Load templates + Validate inputs + Load job posting
Phase 2 (PARALLEL subagents): Domain Research ‖ Source Reading
Phase 3 (Sequential): Create Rubric (synthesizes job posting + domain research)
Phase 4 (Sequential, visible): Score Cat 1 → 2 → 3 → 4 → 5
Phase 5 (Sequential): Generate Report → Save Files
Dependency Rules:
Before starting any work, create all tasks for user visibility. Use TaskCreate for each task below, then use TaskUpdate to mark in_progress when starting and completed when done.
Create these tasks immediately at the start:
| # | Task Subject | activeForm | Phase |
|---|---|---|---|
| 1 | Load assessment framework templates | Loading assessment framework templates | 1 |
| 2 | Validate job posting and resume source | Validating job posting and resume source | 1 |
| 3 | Read candidate source materials | Reading candidate source materials | 2 |
| 4 | Research domain context and save findings | Researching domain and industry context | 2 |
| 5 | Create job-specific scoring rubric | Creating job-specific scoring rubric | 3 |
| 6 | Score Skills Inventory (Category 1) | Scoring Skills Inventory against rubric | 4 |
| 7 | Score Experience Relevance (Category 2) | Scoring Experience Relevance against rubric | 4 |
| 8 | Score Demonstrated Impact (Category 3) | Scoring Demonstrated Impact against rubric | 4 |
| 9 | Score Credentials (Category 4) | Scoring Credentials against rubric | 4 |
| 10 | Score Fit & Readiness (Category 5) | Scoring Fit & Readiness against rubric | 4 |
| 11 | Generate assessment report | Generating comprehensive assessment report | 5 |
| 12 | Save rubric and assessment files | Saving rubric and assessment files | 5 |
Task Update Rules:
in_progress BEFORE starting work on itcompleted AFTER finishing itcompleted with a noteEvery markdown artifact you create (domain research, rubric, and assessment report) must start with YAML metadata populated with real values.
{applications_root}/{app_slug}/assessment/domain_research.md):
---
job_file: {config.directories.job_postings}/{{ARG1}}
role: <role title>
company: <company name>
generated_by: /assessjob domain-research
generated_on: <ISO8601 timestamp>
output_type: domain_research
status: final
version: 2.0
---
{applications_root}/{app_slug}/assessment/rubric.md):
---
job_file: {config.directories.job_postings}/{{ARG1}}
role: <role title>
company: <company name>
role_variant: <Technical IC | People Manager | Executive>
total_points: 200
generated_by: /assessjob rubric
generated_on: <ISO8601 timestamp>
output_type: rubric
status: final
version: 2.0
---
{applications_root}/{app_slug}/assessment/assessment.md):
---
job_file: {config.directories.job_postings}/{{ARG1}}
resume_source: {{ARG2}} or {config.directories.resume_source}
rubric_file: {applications_root}/{app_slug}/assessment/rubric.md
role: <role title>
company: <company name>
role_variant: <Technical IC | People Manager | Executive>
candidate: <full candidate name>
generated_by: /assessjob
generated_on: <ISO8601 timestamp>
output_type: assessment
status: draft
version: 2.0
overall_score: <XX/200>
normalized_score: <XX%>
---
Insert the appropriate block before any headings, updating timestamps and scores, and bump version if you rerun the analysis.
Tasks: Mark task 1
in_progress, then task 2in_progressafter templates load.
CRITICAL: Read all three framework templates in a single parallel batch:
{config.templates.base_dir}/{config.templates.active[assessment_rubric_framework]}/assessment_rubric_framework.md - Master 200-point rubric structure with role variants{config.templates.base_dir}/{config.templates.active[evidence_verification_framework]}/evidence_verification_framework.md - Evidence-based scoring protocols{config.templates.base_dir}/{config.templates.active[assessment_report_structure]}/assessment_report_structure.md - Assessment report formatUse three parallel Read tool calls. These templates define the mandatory structure for rubrics and assessments.
Task: Mark task 1
completed.
Task: Mark task 2
in_progress.
Resume Source Path Resolution:
Determine source path:
{config.directories.resume_source}Legacy Candidate Profile Artifact Check:
source_path be the resolved resume source path from step 1.source_path is a single-file source named candidate_profile.json, stop before assessment. Tell the candidate this legacy JSON profile is deprecated and assessments now read source markdown directly. Instruct the candidate to delete the deprecated file and provide a source markdown file or folder instead. Offer to delete the legacy file for them.source_path is a directory, check for these legacy artifacts before reading candidate materials:
{source_path}/.profile/candidate_profile.json{source_path}/candidate_profile.jsoncandidate_profile.json.Validate source path:
Load job posting:
{config.directories.job_postings}/{{ARG1}} (add .md extension if needed)Task: Mark task 2
completed.
CRITICAL: Dispatch the §2.2 subagent BEFORE starting §2.1's reads so both run concurrently. Mark tasks 3 and 4 as
in_progressbefore beginning.
Phase 2 combines direct in-session source reads (§2.1) with a parallel domain-research subagent (§2.2). §2.1 requires no subagent — you perform the reads yourself. §2.2 dispatches a Task subagent. Both need only the job posting content (loaded in Phase 1).
This check was completed in Phase 1 before candidate source reads. Do not skip it if Phase 2 is restarted.
Determine source structure:
{config.directories.resume_source}/): read these files directly for the rubric scoring you are about to do:
Identity/Name.md, Identity/CurrentRole.md (candidate identity)Technology/TechStack.md (skill inventory)Technology/Certifications.md (active credentials)WorkHistory/*.md (roles, achievements, scope)Projects/*.md if present (case studies)Education/*.md if presentPreferences/Vision.md (cultural-fit signals)If a required file is missing, prompt the user to run /jobops:audit-source and stop. Do NOT attempt to generate or load candidate_profile.json — that artifact is removed in v2.2.0.
Token budget: most rubric scoring needs ~30K of source markdown loaded at once for a thorough assessment. Read what you need; do not pre-summarize.
Dispatch a domain research subagent to run concurrently with the in-session source reads (§2.1):
Use Task tool with subagent_type=general-purpose, model=sonnet, and prompt:
"Research the following for the role of [ROLE TITLE] at [COMPANY NAME]:
1. Industry standards and typical role expectations for this specific position
2. Required vs nice-to-have skills based on current market standards
3. Typical responsibilities and seniority indicators for this role level
4. Company context: culture, values, technology stack, recent developments, size, reputation
5. Current market conditions: salary ranges, demand, competitive landscape
6. Industry-specific terminology, certifications, and best practices
7. What differentiates strong vs average candidates for this type of role
Provide a structured research summary organized by these 7 areas.
Focus on actionable intelligence that would help calibrate a scoring rubric.
Be specific - cite sources and data points where possible."
IMPORTANT: §2.1 (source reading) is done in-session via direct Read tool calls — it is NOT a subagent dispatch. §2.2 (domain research) is a Task tool subagent dispatch. Dispatch §2.2 BEFORE starting §2.1's reads so the two run concurrently — do not wait for §2.1's reads to complete before launching the §2.2 subagent.
As soon as the §2.2 subagent returns, save its findings verbatim — do not summarize, paraphrase, or trim. The raw research (including the 7-area structure and any cited sources or data points) is the audit record; the rubric captures only its effect on calibration, not the underlying evidence. Save now, in Phase 2, rather than deferring to Phase 5, so the full text is preserved before the scoring phases crowd it out of context and so the artifact survives a failure in a later phase.
{app_slug} per the Application Path Resolution protocol at the top of this skill. This is the first write of the run, so it triggers folder creation: mkdir -p {applications_root}/{app_slug}/assessment/, then pin the JD — copy {config.directories.job_postings}/{{ARG1}} → {applications_root}/{app_slug}/job_posting.md if not already present.{applications_root}/{app_slug}/assessment/domain_research.md, prepended with the Domain research file YAML front matter block defined above.Task: When the §2.1 reads complete, mark task 3
completed. Mark task 4completedonly after the research file is written in §2.2.1.
Task: Mark task 5
in_progress. Prerequisite: Domain research (task 4) must becompleted. Source reading (task 3) is NOT needed yet.
Combine the job posting requirements with domain research findings to create an informed rubric. The domain research helps you:
Analyze the job posting to select the appropriate weight variant:
Technical Individual Contributor - Select if:
People Manager - Select if:
Executive - Select if:
Document selected variant in rubric header.
Extract and categorize:
MANDATORY DETAILED SCORING REQUIREMENT The dynamic rubric you create MUST include granular point allocation for every single criterion. This is NON-NEGOTIABLE. You cannot create simplified rubrics or skip detailed breakdowns. Every skill, every experience level, every responsibility MUST have the complete scoring framework with specific, measurable criteria.
CRITICAL REQUIREMENT: Follow the structure defined in the assessment rubric framework template exactly. Customize all [bracketed] content with job-specific requirements from the job posting, informed by domain research findings.
200-Point Scoring Categories (Default Weights):
ENFORCEMENT CHECK: After creating the rubric, verify:
FAILURE TO INCLUDE DETAILED BREAKDOWNS VIOLATES THE COMMAND REQUIREMENTS
MANDATORY QUALITY CHECK: Before saving, verify the rubric includes ALL required detailed breakdowns:
IF ANY SECTION LACKS DETAILED BREAKDOWNS, THE RUBRIC IS INCOMPLETE AND MUST BE REGENERATED
Save the generated rubric to: {applications_root}/{app_slug}/assessment/rubric.md
Task: Mark task 5
completed.
Prerequisites: Rubric (task 5) AND source reading (task 3) must both be
completed.
Load candidate materials (depends on source type):
{config.directories.resume_source}/ in Phase 2 — use those directly for scoring.Evidence Verification Protocol (from the evidence verification framework template):
Score each rubric category against the source files you read in Phase 2. For each score, cite the specific source {filepath}:{line_number} you anchored on. Do not invent enums (proficiency_level, company_size, impact_category) — judge from the source prose with citation.
Task: Mark task 6
in_progress.
Map each required/preferred skill from the custom rubric to specific evidence in candidate's history using 0-6 proficiency scale.
Score each criterion with confidence level:
| Criterion | Score | Confidence | Evidence Citation |
|---|---|---|---|
| [Skill 1] | X/6 | HIGH/MED/LOW | "exact quote" or inference note |
Task: Mark task 6
completed.
Task: Mark task 7
in_progress.
Evaluate against the specific years, industry, and domain requirements identified in the rubric (5-level scoring).
Task: Mark task 7
completed.
Task: Mark task 8
in_progress.
Verify quantified achievements against the expected outcomes defined in the rubric. This is the highest-weighted category - be thorough.
Task: Mark task 8
completed.
Task: Mark task 9
in_progress.
Check against the specific education and certification requirements listed in the custom rubric.
Task: Mark task 9
completed.
Task: Mark task 10
in_progress.
Assess based on the company values, work environment, and role-specific readiness factors.
Normalized Score Calculation:
Task: Mark task 10
completed.
Task: Mark task 11
in_progress.
CRITICAL: Follow the report structure defined in the assessment report structure template exactly. Use the detailed 3-level format with rubric criteria attribution for all scores.
Required Report Elements:
Task: Mark task 11
completed.
Task: Mark task 12
in_progress.
File Save Locations (app-centric layout):
Resolve {app_slug} per the Application Path Resolution protocol at the top of this skill, and ensure {applications_root}/{app_slug}/assessment/ exists (mkdir -p).
Save Dynamic Rubric: {applications_root}/{app_slug}/assessment/rubric.md
Save Assessment Report: {applications_root}/{app_slug}/assessment/assessment.md
Verify Domain Research: {applications_root}/{app_slug}/assessment/domain_research.md
No timestamped audit sub-folder is required — the app folder itself is the self-contained audit container. After this skill runs, assessment/ holds three artifacts — domain_research.md, rubric.md, and assessment.md — and the pinned job_posting.md copy guarantees the JD cannot drift after the fact.
Save Steps:
{app_slug} from the job-posting filename (or --app=<slug> override)mkdir -p {applications_root}/{app_slug}/assessment/{config.directories.job_postings}/{{ARG1}} to {applications_root}/{app_slug}/job_posting.md if not already present{applications_root}/{app_slug}/assessment/rubric.md{applications_root}/{app_slug}/assessment/assessment.mdTask: Mark task 12
completed.
Before finalizing assessment:
If issues are encountered:
ABSOLUTE REQUIREMENTS FOR EVERY RUBRIC:
VIOLATION CONSEQUENCES:
VERIFICATION CHECKLIST - BEFORE SAVING ANY RUBRIC:
Build a complete resume through all 3 steps (draft, provenance check, final)
Initialize JobOps workspace - configure output directories, install templates, and optionally migrate legacy files
Assess candidate against job posting using pre-created scoring rubric
Compare assessment files across application folders under applications_root
Interview-driven generation of three market-validated ideal-role archetypes (Anchor, Stretch, Pivot) from career history, elicited preferences, and high-scoring assessment patterns
Generate a strategic cover letter with requirements-matching table from Step 3 resume