[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70PW74NKSWN0HJYB9FRW5GS":3,"skill-same:01M70PW74NKSWN0HJYB9FRW5GS":199},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":16,"sourceHtmlUrl":17,"categories":18,"keywords":29,"publishedAt":50,"linkOnly":51,"markdownContent":52,"markdownBody":53,"frontMatter":54,"refName":56,"commitSha":57,"skillDirectory":5,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":61,"ownerDescription":62,"updatedAt":63,"install":64,"resources":77},"01M70PW74NKSWN0HJYB9FRW5GS","resume-optimizer",null,"Tailor a resume to a specific job opening so it passes applicant tracking systems (ATS) and reads well to recruiters. Use when a user uploads a resume (PDF, DOCX, TXT or pasted text) and provides a job posting link or job description, and asks to polish, tailor, optimise or make the resume \"AI ready\" \u002F \"ATS ready\" for that role or for online submission.","lionelsimai\u002Fclaude-skills-collection","lionelsimai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F260158848?v=4","01M6CHZPS8G9TSB113TT0BBM6E","Lionel ","01M6CHZPXGW2SPE3BHQTGJ0S8J",38,"MIT","https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002FSKILL.md",[19,24],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":25,"categoryName":26,"taxonomyType":27,"taxonomyTypeDesc":28},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],"resume","resume optimizer","optimizer","job posting","docx","when","submission","for","role","link","systems","posting","uploads","ready","use","tracking","text","polish","ai ready","PDF","2026-11-10 10:12:30",false,"---\nname: resume-optimizer\ndescription: Tailor a resume to a specific job opening so it passes applicant tracking systems (ATS) and reads well to recruiters. Use when a user uploads a resume (PDF, DOCX, TXT or pasted text) and provides a job posting link or job description, and asks to polish, tailor, optimise or make the resume \"AI ready\" \u002F \"ATS ready\" for that role or for online submission.\nlicense: MIT\nversion: 1.3.1\n---\n\n# Lionel Resume Optimizer\n\nTailor one person's real resume to one real job opening. The output is an\nhonest, ATS-safe resume that surfaces what the candidate already has and\nmatches how the job posting actually describes the work.\n\nNever fabricate. No invented employers, titles, dates, degrees, tools,\ncertifications or metrics. A polished lie fails the interview and can get\nthe candidate blacklisted. Every change must trace back to the original\nresume or to something the user confirms in the session.\n\n## Inputs\n\nCollect both before you start. Ask for whichever is missing; do not guess.\n\n1. **The resume** — a file (PDF, DOCX, TXT, MD) or pasted text.\n2. **The job opening** — a posting URL, or the job description pasted as\n   text. Pasted text is always acceptable; many job boards block fetching.\n\n## Workflow\n\n### 1. Extract the resume text\n\n- TXT \u002F MD: read directly.\n- PDF \u002F DOCX: use whatever document reader is available in your\n  environment and confirm the extracted text with the user if names,\n  dates or bullet structure look garbled. Extraction errors become\n  resume errors, so check headings and dates line by line.\n- Keep the original file untouched. Work on a copy.\n\n### 2. Get the job description\n\n- If given a URL, fetch the page and extract the posting text: title,\n  company, location, responsibilities, requirements, skills and tools.\n- Job boards (LinkedIn, Indeed, Glassdoor and similar) often block\n  automated fetching or hide the posting behind a login. If the fetch\n  fails or returns a login wall, say so plainly and ask the user to\n  paste the job description text. Never reconstruct a posting from the\n  URL, the company name or your training data.\n- Save the posting text to a file so every later step cites the same\n  source.\n\n### 3. Parse the job description\n\nWrite down, from the posting text only:\n\n- Role title and seniority level\n- **Must-haves vs nice-to-haves, split explicitly** — must-haves come\n  from the Requirements\u002FQualifications section; treat them as the\n  screening gate and track their coverage separately\n- The 10–20 hard skills, tools and methods the posting names\n- The responsibilities, in the posting's own verbs\n- Required qualifications (degree, years, certifications, languages)\n- Repeated phrases — repetition signals what the screener weights most\n\nRead `references\u002Fkeyword-method.md` before this step.\n\n### 4. Score the resume before touching it\n\nRun the bundled scorer for a deterministic baseline:\n\n```bash\npython3 scripts\u002Fresume_optimizer.py score --resume resume.txt --job job.txt\n```\n\nIt reports keyword coverage, missing keywords, section checks (summary,\nexperience, education, skills, contact) and format red flags. Show the\nuser this \"before\" picture. Read `references\u002Fats-playbook.md` for what\nthe checks mean.\n\n### 5. Build the gap list — three buckets, kept separate\n\n1. **Present but buried** — the candidate has it, the resume hides it\n   (wrong words, deep in a bullet, in a paragraph). Fix: surface it.\n2. **Rephraseable** — same work, different vocabulary. The posting says\n   \"stakeholder management\", the resume says \"worked with clients\".\n   Fix: use the posting's term where it is truthfully the same work.\n3. **Genuinely missing** — the candidate does not have it. Fix: none.\n   List it as a gap for the user to see. Never write it into the resume.\n\nShow the user the three buckets before rewriting. This list is the\naudit trail that keeps the rewrite honest.\n\n### 6. Rewrite\n\nFollow `references\u002Frewrite-rules.md`. In short:\n\n- **Summary**: 3–4 lines, tailored to this role — title language from\n  the posting, the candidate's strongest matching proof, one quantified\n  result if the original resume has one.\n- **Bullets**: action verb + what was done + measurable result. Use\n  numbers only from the original resume. Where a bullet has no number\n  and one plausibly exists, mark it `[add metric: …]` for the user to\n  fill in — never invent the number.\n- **Skills section**: reorder so the posting's matching skills come\n  first; group as the posting groups them; drop nothing true.\n- **Headings**: standard ATS headings only — Summary, Experience,\n  Education, Skills, Certifications. No creative heading names.\n- Mirror the posting's exact terms for tools and skills the candidate\n  genuinely has (\"Power BI\", not \"data dashboards tool\"). Do not stuff:\n  a keyword appears where the work is described, not repeated in lists.\n\n### 7. Format for machines first, humans second\n\nApply the formatting rules in `references\u002Fats-playbook.md`:\n\n- Single column. No tables, text boxes, graphics, icons, photos,\n  headers or footers — parsers drop or scramble them.\n- Standard fonts (Calibri, Arial, Georgia, Helvetica), 10–12pt body.\n- Dates as `Jan 2023 – Present` or `2023 – Present`, consistent.\n- File name: `Firstname-Lastname-Role.pdf` (and a DOCX twin; some\n  portals parse DOCX more reliably).\n- Contact block as plain text lines: name, city, email, phone,\n  LinkedIn URL spelled out.\n\n### 8. Score again and deliver\n\nRe-run the scorer on the tailored resume. Build the outputs from\n`templates\u002F` (tailored-resume.md for the resume, delivery-report.md\n   for the report, cover-note.md when Bucket 3 gaps are worth addressing\nfor the report). Deliver:\n\n1. The tailored resume (Markdown, plus PDF\u002FDOCX if your environment\n   can produce them).\n2. Before \u002F after: ATS keyword score, must-have coverage, and what\n   changed.\n3. The three-bucket gap list, with bucket 3 (genuine gaps) stated\n   plainly so the user can decide — apply anyway, address in a cover\n   note, or upskill first.\n4. A submission checklist: right file name, right format for the\n   portal, keywords in the online form fields matching the resume.\n5. A LinkedIn headline aligned with the target role, using only\n   claims the resume supports — recruiters cross-check the two.\n6. A 3-line recruiter note the user can paste with the application,\n   built only from facts already in the resume.\n\n## Guardrails\n\n- **No fabrication, ever.** Not a metric, not a tool, not a date.\n- **No keyword stuffing.** Hidden text, white-on-white keywords and\n  repeated skill lists are detectable and disqualifying.\n- **The user approves the final text.** Show the tailored resume and\n  the gap list; the user submits. Never submit an application on the\n  user's behalf without their explicit go on the exact final version.\n- **Privacy.** A resume is personal data. Process it in the session,\n  share it nowhere the user did not ask for, and do not retain copies\n  beyond the deliverables the user asked for.\n- **One job, one tailoring.** A resume tailored to one posting is not\n  generic. Say so, and re-run from step 3 for a different opening.\n\n## Bundled tools\n\n- `scripts\u002Fresume_optimizer.py` — stdlib-only Python 3.\n  - `keywords --job job.txt` — extract ranked candidate keywords and\n    skills from a job description.\n  - `score --resume resume.txt --job job.txt` — keyword coverage,\n    section checks and format red flags, as text or `--json`.\n- `references\u002Fats-playbook.md` — how ATS parsing works and the\n  formatting rules that survive it.\n- `references\u002Fkeyword-method.md` — extracting and placing keywords\n  honestly.\n- `references\u002Frewrite-rules.md` — summary and bullet rewrite formulas,\n  action-verb bank, quantification rules.\n- `templates\u002F` — the tailored-resume skeleton, the delivery-report\n  format, and a cover-note template for addressing genuine gaps honestly\n  format every run produces.\n- `PROMPT.md` — the no-install version: one paste-ready prompt that\n  runs this same workflow in any AI chat.\n- `examples\u002F` — a sample resume, a sample job description, the scorer's\n  report on them, and a before\u002Fafter bullet excerpt.\n","# Lionel Resume Optimizer\n\nTailor one person's real resume to one real job opening. The output is an\nhonest, ATS-safe resume that surfaces what the candidate already has and\nmatches how the job posting actually describes the work.\n\nNever fabricate. No invented employers, titles, dates, degrees, tools,\ncertifications or metrics. A polished lie fails the interview and can get\nthe candidate blacklisted. Every change must trace back to the original\nresume or to something the user confirms in the session.\n\n## Inputs\n\nCollect both before you start. Ask for whichever is missing; do not guess.\n\n1. **The resume** — a file (PDF, DOCX, TXT, MD) or pasted text.\n2. **The job opening** — a posting URL, or the job description pasted as\n   text. Pasted text is always acceptable; many job boards block fetching.\n\n## Workflow\n\n### 1. Extract the resume text\n\n- TXT \u002F MD: read directly.\n- PDF \u002F DOCX: use whatever document reader is available in your\n  environment and confirm the extracted text with the user if names,\n  dates or bullet structure look garbled. Extraction errors become\n  resume errors, so check headings and dates line by line.\n- Keep the original file untouched. Work on a copy.\n\n### 2. Get the job description\n\n- If given a URL, fetch the page and extract the posting text: title,\n  company, location, responsibilities, requirements, skills and tools.\n- Job boards (LinkedIn, Indeed, Glassdoor and similar) often block\n  automated fetching or hide the posting behind a login. If the fetch\n  fails or returns a login wall, say so plainly and ask the user to\n  paste the job description text. Never reconstruct a posting from the\n  URL, the company name or your training data.\n- Save the posting text to a file so every later step cites the same\n  source.\n\n### 3. Parse the job description\n\nWrite down, from the posting text only:\n\n- Role title and seniority level\n- **Must-haves vs nice-to-haves, split explicitly** — must-haves come\n  from the Requirements\u002FQualifications section; treat them as the\n  screening gate and track their coverage separately\n- The 10–20 hard skills, tools and methods the posting names\n- The responsibilities, in the posting's own verbs\n- Required qualifications (degree, years, certifications, languages)\n- Repeated phrases — repetition signals what the screener weights most\n\nRead `references\u002Fkeyword-method.md` before this step.\n\n### 4. Score the resume before touching it\n\nRun the bundled scorer for a deterministic baseline:\n\n```bash\npython3 scripts\u002Fresume_optimizer.py score --resume resume.txt --job job.txt\n```\n\nIt reports keyword coverage, missing keywords, section checks (summary,\nexperience, education, skills, contact) and format red flags. Show the\nuser this \"before\" picture. Read `references\u002Fats-playbook.md` for what\nthe checks mean.\n\n### 5. Build the gap list — three buckets, kept separate\n\n1. **Present but buried** — the candidate has it, the resume hides it\n   (wrong words, deep in a bullet, in a paragraph). Fix: surface it.\n2. **Rephraseable** — same work, different vocabulary. The posting says\n   \"stakeholder management\", the resume says \"worked with clients\".\n   Fix: use the posting's term where it is truthfully the same work.\n3. **Genuinely missing** — the candidate does not have it. Fix: none.\n   List it as a gap for the user to see. Never write it into the resume.\n\nShow the user the three buckets before rewriting. This list is the\naudit trail that keeps the rewrite honest.\n\n### 6. Rewrite\n\nFollow `references\u002Frewrite-rules.md`. In short:\n\n- **Summary**: 3–4 lines, tailored to this role — title language from\n  the posting, the candidate's strongest matching proof, one quantified\n  result if the original resume has one.\n- **Bullets**: action verb + what was done + measurable result. Use\n  numbers only from the original resume. Where a bullet has no number\n  and one plausibly exists, mark it `[add metric: …]` for the user to\n  fill in — never invent the number.\n- **Skills section**: reorder so the posting's matching skills come\n  first; group as the posting groups them; drop nothing true.\n- **Headings**: standard ATS headings only — Summary, Experience,\n  Education, Skills, Certifications. No creative heading names.\n- Mirror the posting's exact terms for tools and skills the candidate\n  genuinely has (\"Power BI\", not \"data dashboards tool\"). Do not stuff:\n  a keyword appears where the work is described, not repeated in lists.\n\n### 7. Format for machines first, humans second\n\nApply the formatting rules in `references\u002Fats-playbook.md`:\n\n- Single column. No tables, text boxes, graphics, icons, photos,\n  headers or footers — parsers drop or scramble them.\n- Standard fonts (Calibri, Arial, Georgia, Helvetica), 10–12pt body.\n- Dates as `Jan 2023 – Present` or `2023 – Present`, consistent.\n- File name: `Firstname-Lastname-Role.pdf` (and a DOCX twin; some\n  portals parse DOCX more reliably).\n- Contact block as plain text lines: name, city, email, phone,\n  LinkedIn URL spelled out.\n\n### 8. Score again and deliver\n\nRe-run the scorer on the tailored resume. Build the outputs from\n`templates\u002F` (tailored-resume.md for the resume, delivery-report.md\n   for the report, cover-note.md when Bucket 3 gaps are worth addressing\nfor the report). Deliver:\n\n1. The tailored resume (Markdown, plus PDF\u002FDOCX if your environment\n   can produce them).\n2. Before \u002F after: ATS keyword score, must-have coverage, and what\n   changed.\n3. The three-bucket gap list, with bucket 3 (genuine gaps) stated\n   plainly so the user can decide — apply anyway, address in a cover\n   note, or upskill first.\n4. A submission checklist: right file name, right format for the\n   portal, keywords in the online form fields matching the resume.\n5. A LinkedIn headline aligned with the target role, using only\n   claims the resume supports — recruiters cross-check the two.\n6. A 3-line recruiter note the user can paste with the application,\n   built only from facts already in the resume.\n\n## Guardrails\n\n- **No fabrication, ever.** Not a metric, not a tool, not a date.\n- **No keyword stuffing.** Hidden text, white-on-white keywords and\n  repeated skill lists are detectable and disqualifying.\n- **The user approves the final text.** Show the tailored resume and\n  the gap list; the user submits. Never submit an application on the\n  user's behalf without their explicit go on the exact final version.\n- **Privacy.** A resume is personal data. Process it in the session,\n  share it nowhere the user did not ask for, and do not retain copies\n  beyond the deliverables the user asked for.\n- **One job, one tailoring.** A resume tailored to one posting is not\n  generic. Say so, and re-run from step 3 for a different opening.\n\n## Bundled tools\n\n- `scripts\u002Fresume_optimizer.py` — stdlib-only Python 3.\n  - `keywords --job job.txt` — extract ranked candidate keywords and\n    skills from a job description.\n  - `score --resume resume.txt --job job.txt` — keyword coverage,\n    section checks and format red flags, as text or `--json`.\n- `references\u002Fats-playbook.md` — how ATS parsing works and the\n  formatting rules that survive it.\n- `references\u002Fkeyword-method.md` — extracting and placing keywords\n  honestly.\n- `references\u002Frewrite-rules.md` — summary and bullet rewrite formulas,\n  action-verb bank, quantification rules.\n- `templates\u002F` — the tailored-resume skeleton, the delivery-report\n  format, and a cover-note template for addressing genuine gaps honestly\n  format every run produces.\n- `PROMPT.md` — the no-install version: one paste-ready prompt that\n  runs this same workflow in any AI chat.\n- `examples\u002F` — a sample resume, a sample job description, the scorer's\n  report on them, and a before\u002Fafter bullet excerpt.\n",{"name":5,"license":15,"version":55,"description":7},"1.3.1","main","c605eae5729892d78c0b76dfdd58d3533bb26a91",5,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection","https:\u002F\u002Fgithub.com\u002Flionelsimai","www.theaicapitol.com","Founder at The AI Capitol | I help founders turn AI into 10X revenue through systems, not tools. Ex-Apple • Ex-TikTok 👉 http:\u002F\u002Flionelsim.substack.com","2026-11-09 07:48:48",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add lionelsimai\u002Fclaude-skills-collection --skill resume-optimizer",{"tool":70,"command":71},"bunx","bunx skills add lionelsimai\u002Fclaude-skills-collection --skill resume-optimizer",{"tool":73,"command":74},"pnpm","pnpm dlx skills add lionelsimai\u002Fclaude-skills-collection --skill resume-optimizer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002FSKILL.md",true,[78,84,88,94,98,102,106,110,114,118,122,126,130,134,140,144,148,152,156,160,164,168,172,176,180,183,187,191,195],{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},".claude-plugin\u002Fmarketplace.json","REFERENCE","参考文档",885,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002F.claude-plugin\u002Fmarketplace.json",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},".claude-plugin\u002Fplugin.json",817,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002F.claude-plugin\u002Fplugin.json",{"path":89,"resourceType":90,"resourceTypeDesc":91,"sizeBytes":92,"sourceHtmlUrl":93},".gitignore","OTHER","其他",29,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002F.gitignore",{"path":95,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":96,"sourceHtmlUrl":97},"CHANGELOG.md",3034,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002FCHANGELOG.md",{"path":99,"resourceType":90,"resourceTypeDesc":91,"sizeBytes":100,"sourceHtmlUrl":101},"CITATION.cff",714,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002FCITATION.cff",{"path":103,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":104,"sourceHtmlUrl":105},"CONTRIBUTING.md",932,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002FCONTRIBUTING.md",{"path":107,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":108,"sourceHtmlUrl":109},"examples\u002Fbefore-after.md",1085,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fexamples\u002Fbefore-after.md",{"path":111,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":112,"sourceHtmlUrl":113},"examples\u002Fsample-job.txt",1120,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fexamples\u002Fsample-job.txt",{"path":115,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":116,"sourceHtmlUrl":117},"examples\u002Fsample-report.md",1561,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fexamples\u002Fsample-report.md",{"path":119,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":120,"sourceHtmlUrl":121},"examples\u002Fsample-resume.txt",693,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fexamples\u002Fsample-resume.txt",{"path":123,"resourceType":123,"resourceTypeDesc":124,"sizeBytes":125,"sourceHtmlUrl":16},"LICENSE","许可证",1083,{"path":127,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":128,"sourceHtmlUrl":129},"plugin\u002F.mcp.json",89,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fplugin\u002F.mcp.json",{"path":131,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":132,"sourceHtmlUrl":133},"plugin\u002Fai-plugin.json",1062,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fplugin\u002Fai-plugin.json",{"path":135,"resourceType":136,"resourceTypeDesc":137,"sizeBytes":138,"sourceHtmlUrl":139},"plugin\u002Fmcp_server.py","SCRIPT","脚本",8993,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fplugin\u002Fmcp_server.py",{"path":141,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":142,"sourceHtmlUrl":143},"plugin\u002Fopenapi.json",2565,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fplugin\u002Fopenapi.json",{"path":145,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":146,"sourceHtmlUrl":147},"plugin\u002FREADME.md",3081,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fplugin\u002FREADME.md",{"path":149,"resourceType":136,"resourceTypeDesc":137,"sizeBytes":150,"sourceHtmlUrl":151},"plugin\u002Frest_server.py",3100,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fplugin\u002Frest_server.py",{"path":153,"resourceType":136,"resourceTypeDesc":137,"sizeBytes":154,"sourceHtmlUrl":155},"plugin\u002Fresume_optimizer_core.py",13005,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fplugin\u002Fresume_optimizer_core.py",{"path":157,"resourceType":136,"resourceTypeDesc":137,"sizeBytes":158,"sourceHtmlUrl":159},"plugin\u002Ftests\u002Ftest_plugin.py",3967,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fplugin\u002Ftests\u002Ftest_plugin.py",{"path":161,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":162,"sourceHtmlUrl":163},"PROMPT.md",3813,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002FPROMPT.md",{"path":165,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":166,"sourceHtmlUrl":167},"README.md",5826,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002FREADME.md",{"path":169,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":170,"sourceHtmlUrl":171},"references\u002Fats-playbook.md",2416,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Freferences\u002Fats-playbook.md",{"path":173,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":174,"sourceHtmlUrl":175},"references\u002Fkeyword-method.md",1591,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Freferences\u002Fkeyword-method.md",{"path":177,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":178,"sourceHtmlUrl":179},"references\u002Frewrite-rules.md",2075,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Freferences\u002Frewrite-rules.md",{"path":181,"resourceType":136,"resourceTypeDesc":137,"sizeBytes":154,"sourceHtmlUrl":182},"scripts\u002Fresume_optimizer.py","https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Fscripts\u002Fresume_optimizer.py",{"path":184,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":185,"sourceHtmlUrl":186},"templates\u002Fcover-note.md",1073,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Ftemplates\u002Fcover-note.md",{"path":188,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":189,"sourceHtmlUrl":190},"templates\u002Fdelivery-report.md",1049,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Ftemplates\u002Fdelivery-report.md",{"path":192,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":193,"sourceHtmlUrl":194},"templates\u002Ftailored-resume.md",902,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Ftemplates\u002Ftailored-resume.md",{"path":196,"resourceType":136,"resourceTypeDesc":137,"sizeBytes":197,"sourceHtmlUrl":198},"tests\u002Ftest_resume_optimizer.py",5218,"https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fresume-optimizer\u002Ftests\u002Ftest_resume_optimizer.py",[200,222,235,248,263,277],{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":204,"categories":205,"keywords":206,"publishedAt":50},"01M71E7TB5HAR0K6EXB80YXBT7","youth-work-troubleshooting-guide","Diagnose and resolve common problems a youth worker meets in youth centres, schools and outreach settings.\nTRIGGERS - Use when a youth worker needs a troubleshooting & problem solving for young people and their communities in youth centres, schools and outreach settings.","https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fskills\u002Fyouth-work-troubleshooting-guide\u002FSKILL.md",[],[207,208,209,210,211,212,37,213,214,215,35,216,44,217,218,219,220,221],"youth work troubleshooting guide","work","troubleshooting","troubleshooting guide","guide","problem solving","outreach","settings","common","people","worker","triggers","diagnose","problem","communities",{"skillNo":223,"name":224,"nameZh":6,"description":225,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":226,"categories":227,"keywords":228,"publishedAt":50},"01M71E7R3YHK4RAQVCRPB4CTXN","youth-work-tools-equipment-checklist","Select, check and maintain the tools and equipment a youth worker relies on.\nTRIGGERS - Use when a youth worker needs a tools & equipment checklist for young people and their communities in youth centres, schools and outreach settings.","https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fskills\u002Fyouth-work-tools-equipment-checklist\u002FSKILL.md",[],[229,208,230,231,35,216,44,232,217,218,233,37,221,234,213,214],"youth work tools equipment checklist","checklist","Tools","maintain","select","check",{"skillNo":236,"name":237,"nameZh":6,"description":238,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":239,"categories":240,"keywords":241,"publishedAt":50},"01M71E7NX1BMFEFBH01KCRJDEP","youth-work-supplies-procurement","Specify, source and manage the supplies and materials used in youth centres, schools and outreach settings.\nTRIGGERS - Use when a youth worker needs a supplies & procurement for young people and their communities in youth centres, schools and outreach settings.","https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fskills\u002Fyouth-work-supplies-procurement\u002FSKILL.md",[],[242,243,208,244,245,213,214,216,44,217,218,246,247,37,221,35],"procurement","youth work supplies procurement","materials","source","specify","manage",{"skillNo":249,"name":250,"nameZh":6,"description":251,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":252,"categories":253,"keywords":257,"publishedAt":50},"01M71E7JVFP6P96GAT2VT9JY0D","youth-work-stakeholder-presentation","Present youth worker findings and proposals to decision-makers and stakeholders.\nTRIGGERS - Use when a youth worker needs a stakeholder presentation for young people and their communities in youth centres, schools and outreach settings.","https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fskills\u002Fyouth-work-stakeholder-presentation\u002FSKILL.md",[254],{"categoryNo":255,"categoryName":256,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000003","演示文稿",[258,208,259,260,37,261,221,218,262,213,214,35,216,44,217],"youth work stakeholder presentation","presentation","decision","proposals","present",{"skillNo":264,"name":265,"nameZh":6,"description":266,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":267,"categories":268,"keywords":269,"publishedAt":50},"01M71E7GE5VA1RG4XEM2GAZRFY","youth-work-session-delivery","Prepare for and deliver a professional session or appointment for young people and their communities in youth centres, schools and outreach settings.\nTRIGGERS - Use when a youth worker needs a session delivery guide for young people and their communities in youth centres, schools and outreach settings.","https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fskills\u002Fyouth-work-session-delivery\u002FSKILL.md",[],[270,271,272,208,273,214,211,274,213,35,216,44,217,218,37,275,276,221],"delivery","work session","session","youth work session delivery","prepare","professional","deliver",{"skillNo":278,"name":279,"nameZh":6,"description":280,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":281,"categories":282,"keywords":286,"publishedAt":50},"01M71E7DQSMY2ZW1BF3A1Z0VJM","youth-work-service-plan","Design a realistic, measurable service plan for young people and their communities as a youth worker.\nTRIGGERS - Use when a youth worker needs a service plan design for young people and their communities in youth centres, schools and outreach settings.","https:\u002F\u002Fgithub.com\u002Flionelsimai\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fskills\u002Fyouth-work-service-plan\u002FSKILL.md",[283],{"categoryNo":284,"categoryName":285,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000015","视觉设计",[208,287,288,289,37,218,217,290,291,221,214,213,216,44,35],"service","plan","youth work service plan","design","as"]