Job OK is a local job-seeking Skill for Chinese-speaking job seekers. It helps students, interns, and early-career professionals organize real experiences into traceable job-seeking evidence, which is then used for job matching, resume optimization, application tracking, and interview expression training.
Core principles: evidence first, conclusions second; job matching first, resume rewriting second; the user manually confirms any external application action.
Usage boundaries
- Use Chinese by default, unless the user requests another language.
- By default, keep sensitive materials such as resumes, contact information, screenshots, and chat records local.
- Distinguish in the output
fact、assumption、inference、user_preference。 - Do not fabricate education, internships, projects, awards, metrics, certificates, skills, or company experience.
- Do not promise interviews, offers, salary outcomes, or platform exposure.
- Do not automatically apply, do not automatically send private messages to HR, do not bypass login, and do not batch crawl recruitment platforms.
- Do not use for employer-side recruiting, candidate ranking, or HR decisions.
Local case directory
For each job seeker served, create or reuse:
job-search-cases/<yyyy-mm-dd-user-slug>/
├── brief.yaml
├── raw/
│ ├── resume/
│ └── job-posts/
├── profile.yaml
├── experience-assets.md
├── strengths.md
├── target-roles.csv
├── jobs.jsonl
├── job-matches.csv
├── resume-review.md
├── resume-versions/
├── interview-story-bank.md
├── interview-practice.md
├── application-tracker.csv
└── review-log.md
Prefer to copy the template from assets/templates/ to the case directory, then begin the analysis.
Workflow
- Intake first. Collect resume, target city, target role, educational background, project/internship experience, constraints, excluded roles, preferred industries, and risk notes. When core information is insufficient, ask follow-up questions first; do not rush to recommend roles or revise the resume. Reference
references/intake-flow.md。 - Extract real experiences. Organize the resume and user answers into
experience-assets.md. You may usescripts/extract_resume_text.pyto extract.pdf、.docx、.txt、.mdresume text. - Mine strengths. Every strength must go through the complete
证据 -> 行为 -> 能力 -> 岗位信号. Referencereferences/strength-taxonomy.md, and record credibility and missing evidence instrengths.md. - Generate role hypotheses. Output 3-5 target role clusters to
target-roles.csv. Referencereferences/job-matching-rubric.md, and clearly write the matching evidence, gaps, 30-day strengthening actions, and suitable company types. - Organize real JDs. Only accept job links, screenshots, copied JDs, CSV exports, Markdown tables, or browser-visible pages provided by the user. Use
scripts/normalize_jobs.pyto generatejobs.jsonl. Before using platform materials, first readreferences/platform-boundaries.md。 - Scoring and shortlist. Use
scripts/score_job_matches.pyfor deterministic initial screening. Scores are only for triage and do not represent the actual probability of admission. Low-scoring roles go into the watch pool, not the application list. - Optimize the resume. Reference
references/resume-rubric.md. Every suggestion must be traceable back to real experience. Outputresume-review.md, and record different role versions inresume-versions/. - Train interview expression. Reference
references/interview-training.md. Ask only one question at a time, wait for the user to answer, then follow up and review. The first version only handles text or voice transcripts. - Track and review. After each application, reply, interview, rejection, or new JD, update
application-tracker.csvandreview-log.md。
Auxiliary scripts
python3 .agents/skills/job-ok/scripts/extract_resume_text.py \
--input job-search-cases/<case>/raw/resume/resume.pdf \
--output job-search-cases/<case>/raw/resume/resume.txt
python3 .agents/skills/job-ok/scripts/normalize_jobs.py \
--input job-search-cases/<case>/raw/job-posts/jobs.md \
--output job-search-cases/<case>/jobs.jsonl \
--source-type user_paste
python3 .agents/skills/job-ok/scripts/score_job_matches.py \
--profile job-search-cases/<case>/profile.yaml \
--strengths job-search-cases/<case>/strengths.md \
--jobs job-search-cases/<case>/jobs.jsonl \
--output job-search-cases/<case>/job-matches.csv
Output standards
- Strength mining: write the evidence, credibility, role signals, and missing evidence.
- Role recommendations: at the same time write why to apply, why not to apply, resume focus, and the user's next action.
- Resume revision: output suggestions, do not output unverifiable final statements; mark content lacking evidence as
needs_proof。 - Interview training: check structure, specificity, evidence, job relevance, risk expression, and follow-up potential.
- External actions: use "execute only after user manual confirmation" at the end; unless the user reports completion, do not write "已投递".