Markitdown
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
Create a free digital identity, professional resume and CV — from classic PDF and HTML layouts to 3D worlds and playable games.
$ npx skills add LeoYeAI/openclaw-master-skills --skill cv-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills cv-builder --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/id-cv-resume-creator .claude/skills/cv-builder && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cv-builder" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/id-cv-resume-creator into .claude/skills/cv-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cv-builder", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/id-cv-resume-creatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill cv-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills cv-builder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/id-cv-resume-creator .agents/skills/cv-builder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cv-builder" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/id-cv-resume-creator into .agents/skills/cv-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cv-builder", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill cv-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills cv-builder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/id-cv-resume-creator .cursor/skills/cv-builder && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cv-builder" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/id-cv-resume-creator into .cursor/skills/cv-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cv-builder", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/id-cv-resume-creator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill cv-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills cv-builder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/id-cv-resume-creator .gemini/skills/cv-builder && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cv-builder" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/id-cv-resume-creator into .gemini/skills/cv-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cv-builder", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills cv-builderInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill cv-builder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/id-cv-resume-creator .github/skills/cv-builder && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cv-builder" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/id-cv-resume-creator into .github/skills/cv-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cv-builder", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill cv-builder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills cv-builder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/id-cv-resume-creator .opencode/skills/cv-builder && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cv-builder" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/id-cv-resume-creator into .opencode/skills/cv-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cv-builder", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cv-builderCreate a free digital identity, professional resume and CV — from classic PDF and HTML layouts to 3D worlds and playable games.
Cv Builder is an agent skill from LeoYeAI/openclaw-master-skills. Create a free digital identity, professional resume and CV — from classic PDF and HTML layouts to 3D worlds and playable games. Permanent public URL with own slug. Free API for AI agents — basic use without API key, full features with Access-ID. Use when the user wants to build, create, or generate a resume, CV, or set up an online professional profile. ATS-ready.
Its SKILL.md is about 5.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files (for example `_meta.json`, `reference/cv-data.md` and `reference/hitl.md`). Compatibility notes: Requires HTTP client and network access.
It sits in Documents & Office, covering PDF. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are http, json and mermaid).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
talent.deAlso links to:
clawhub.aiFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires HTTP client and network access.
From compatibility in the SKILL.md frontmatter.
Cv Builder loads about 5.4k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 1,841 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,841 words, ~5,410 tokens.
.claude/skills/cv-builder/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Create a resume, digital identity, or CV right now — for free. Choose from templates that span the full range: classic print-ready PDFs, clean HTML online CVs, interactive experiences, animated 3D worlds, and playable games. Every CV gets a permanent public URL with a personal slug — no signup, no payment needed for basic use. ATS-ready and Agent-Ready (HR).
| Feature | Access-ID needed | How |
|---|---|---|
| Create CV (online, permanent URL) | No | prefer_hitl: true or skip_hitl: true |
| PDF Export | No | "include_pdf": true on any request |
| Human slug (URL) selection | No | HITL step 3 |
| Human template selection | No | HITL step 4 |
| Inline submit (no browser) | No | Bearer token on confirm/approval steps |
| Callback webhook | Yes | "hitl_callback_url" |
| Higher rate limits (50/day) | Yes | Register via POST /api/agent/register |
| Custom templates | Yes | Template Create skill |
Templates span: classic PDF · HTML online · interactive · 3D (Three.js) · gamified. Full catalog: reference/templates.md — live previews: talent.de/de/cv-template-ideas
Throughout this skill, these terms are used consistently:
| Term | Meaning |
|---|---|
| requestor | The human who commissioned this CV build — the person providing data, making decisions (slug, template, approval), and receiving the claim token. All agent actions are on their behalf. |
| human | Synonym for requestor in HITL context, used to contrast with automated/AI steps (e.g., "if the human prefers the browser"). |
| agent | You — the AI executing this skill. |
HITL is required. You MUST include either
"prefer_hitl": true(human review) or"skip_hitl": true(direct creation). Omitting both returns a 400 error. If a human is present, ALWAYS use"prefer_hitl": true— this lets the requestor choose their URL slug, pick a template, review the data, and approve before publishing. Use"skip_hitl": trueonly for automated pipelines with no human in the loop.
Data principle: Only use data the requestor has explicitly provided or approved in this conversation. Do not extract personal information from unrelated system contexts or other sessions.
Before sending: Present a brief summary to the requestor — name, title, email — and ask "Send it? Or should I change anything?"
Claim token: Treat like a password. Share only with the requestor — anyone with the token can claim CV ownership. Never share with third parties.
An Access-ID (talent_agent_[a-z0-9]{4}) is optional for CV Builder — basic use (3 CVs/day per IP) works without one. Register for higher limits (50 CVs/day) and callback webhook support:
POST https://www.talent.de/api/agent/register
Content-Type: application/json
{ "agent_name": "my-agent" }The Access-ID is also the HMAC secret for verifying X-HITL-Signature on callback webhooks. Store in TALENT_ACCESS_ID — do not hardcode.
| Step | Say to the requestor |
|---|---|
| Before API call | "Let me set up your CV. I just need a few details." |
| Slug selection (review_url received) | "Choose your personal URL — this is where your CV will live: [link]" |
| Template selection | "Almost done! Pick a design for your CV: [link]" |
| Approval | "Your CV is ready for review. Take a look and approve it: [link]" |
| After final 201 | "Your CV is live! Here's your link: {url}" |
POST /api/agent/cv-simple with "prefer_hitl": true and the data
Optional: add "include_pdf": true to also receive a base64 PDF in the final 201 response. See PDF Export.review_url to the requestor (they pick slug, template, review data)poll_url every 30s until "status": "completed":{ "status": "pending" } or { "status": "opened" } → keep polling{ "status": "completed", "result": { "action": "confirm", "data": {...} } } → advance with hitl_continue_case_idPOST https://www.talent.de/api/agent/cv-simple
Content-Type: application/json
{
"prefer_hitl": true,
"cv_data": {
"firstName": "Alex",
"lastName": "Johnson",
"title": "Software Engineer",
"email": "alex@example.com",
"experience": [{
"jobTitle": "Senior Developer",
"company": "Acme Inc.",
"startDate": "2022-01",
"isCurrent": true
}],
"hardSkills": [{ "name": "React", "level": 4 }],
"softSkills": [{ "name": "Team Leadership" }],
"languages": [{ "name": "English", "level": "NATIVE" }]
}
}Response (202 — human review required):
{
"status": "human_input_required",
"message": "Please confirm: is this CV for you?",
"hitl": {
"case_id": "review_a7f3b2c8d9e1f0g4",
"review_url": "https://www.talent.de/en/hitl/review/review_a7f3b2c8d9e1f0g4?token=abc123...",
"poll_url": "https://www.talent.de/api/hitl/cases/review_a7f3b2c8d9e1f0g4/status",
"type": "confirmation",
"inline_actions": ["confirm", "cancel"],
"timeout": "24h"
}
}Present the review URL to the requestor:
I've prepared your CV. Please review and make your choices here: Review your CV You'll pick your personal URL slug, template design, and approve the final result.
Then poll poll_url until completed, and continue through steps with hitl_continue_case_id. After all steps (confirmation, data review, slug selection, template selection, approval), the final POST returns 201 with the live URL.
Full HITL protocol with all steps, inline submit, edit cycles, and escalation: reference/hitl.md
The requestor goes through up to 5 review steps. The agent loops: present review URL, poll, continue.
Step 1: Confirmation → "For whom is this CV?"
Step 2: Data Review → "Are these details correct?"
Step 3: Slug → Human picks personal URL slug (e.g. pro, dev, 007)
Step 4: Template → Human picks template design
Step 5: Approval → Human reviews final CV draftEach step returns 202. After the requestor decides, continue:
POST https://www.talent.de/api/agent/cv-simple
Content-Type: application/json
{
"prefer_hitl": true,
"hitl_continue_case_id": "review_a7f3b2c8d9e1f0g4",
"slug": "dev",
"cv_data": { ... }
}Important:
slugandtemplate_idgo at the top level of the request, not insidecv_data. When continuing after slug selection, include the human's chosen slug at the top level so the server knows to advance to the template step.
Steps are skipped when you already provide the value:
slug (top-level) → slug selection step is skippedtemplate_id (top-level) → template selection step is skippedFor simple decisions (confirmation, escalation, approval), the 202 response includes submit_url, submit_token, and inline_actions. Agents can submit directly via Bearer token — ideal for Telegram, Slack, WhatsApp where buttons are supported:
POST {submit_url}
Authorization: Bearer {submit_token}
Content-Type: application/json
{ "action": "confirm", "data": {} }Always present
review_urlas a fallback alongside any inline buttons. If the platform does not support buttons (SMS, email, plain text), or the human prefers the browser, they can use the link to complete their decision.
Selection and input types always require the browser (review_url) — they involve complex UI (template grid, data forms). Full inline spec: reference/hitl.md
After the final approval step, submit with hitl_approved_case_id to publish:
POST https://www.talent.de/api/agent/cv-simple
Content-Type: application/json
{
"hitl_approved_case_id": "review_final_case_id"
}Response (201):
{
"success": true,
"url": "https://www.talent.de/dev/alex-johnson",
"cv_id": "cv_abc123",
"claim_token": "claim_xyz789",
"template_id": "007",
"quality_score": 65,
"quality_label": "good",
"improvement_suggestions": []
}⚠️ Immediately after receiving a 201 — always share both with the requestor:
- CV URL:
https://www.talent.de/dev/alex-johnson— their live profile- Claim link:
https://www.talent.de/claim/claim_xyz789— to take ownership and editThe
claim_tokenis permanent and never expires. Treat it like a password — share only with the requestor.
Present the result:
Your CV is live: talent.de/dev/alex-johnson
To claim ownership and edit your CV, visit: talent.de/claim/claim_xyz789 Keep this link safe — it never expires and gives full edit access.
If the response includes improvement_suggestions, share them with the requestor and offer to update the CV:
Your CV score is 35/100. To improve it, I can add: work experience (+25pts), professional summary (+20pts). Want me to ask you a few questions and update it?
Both paths — with and without human review — are shown below. Choose ONE per request.
flowchart TD
START([Agent starts]) --> CHOICE{prefer_hitl\nor skip_hitl?}
%% ── skip_hitl path ──────────────────────────────────────────
CHOICE -->|skip_hitl: true| DIRECT["POST /api/agent/cv-simple\nskip_hitl: true + cv_data"]
DIRECT --> D201["201 — CV live\nurl · claim_token · quality_score\nimprovement_suggestions"]
D201 --> SHARE_NOW["Share url + claim_token\nwith requestor immediately!"]
SHARE_NOW --> QUAL{improvement_suggestions\npresent AND attempt < 2?}
QUAL -->|No / attempt >= 2| DONE_DIRECT([Done])
QUAL -->|Yes| ASK["Ask requestor the questions\nin each agent_action field"]
ASK --> REPOST["POST /api/agent/cv-simple\nskip_hitl: true\nenriched cv_data\n(new cv_id each time)"]
REPOST --> D201
%% ── prefer_hitl path ─────────────────────────────────────────
CHOICE -->|prefer_hitl: true| HITL["POST /api/agent/cv-simple\nprefer_hitl: true + cv_data"]
HITL --> H202["202 human_input_required\nreview_url · poll_url · events_url"]
H202 --> SHOW_URL["Present review_url to requestor\n'Please review here: [link]'"]
SHOW_URL --> POLL["Poll poll_url every 30s\n(or use events_url for SSE)"]
POLL --> STATUS{status?}
STATUS -->|pending / opened\n/ in_progress| POLL
STATUS -->|completed| ACTION{result.action?}
STATUS -->|expired| EXP{default_action?}
STATUS -->|cancelled| CANCELLED([Inform requestor: cancelled])
EXP -->|skip| AUTO_PUB["CV auto-published\nurl from poll status"]
EXP -->|abort| ABORTED([Inform requestor: expired])
ACTION -->|confirm / select| CONTINUE["POST cv-simple\nhitl_continue_case_id\n+ ALWAYS include cv_data"]
ACTION -->|edit| EDIT["Adjust cv_data per note\nthen CONTINUE"]
EDIT --> CONTINUE
ACTION -->|reject| REJECT["Escalation step\nPOST hitl_continue_case_id"]
REJECT --> H202
ACTION -->|approve| PUBLISH["POST cv-simple\nhitl_approved_case_id + cv_data"]
CONTINUE --> H202
PUBLISH --> DONE_HITL(["201 — CV live\nShare url + claim_token"])When a HITL case expires, the server applies the default_action configured for that step:
skip: CV is auto-published with server-selected slug/template. Poll poll_url — it returns status: "completed" with url in the result.abort: Flow terminates. Inform the requestor the session expired. Start a new HITL flow with prefer_hitl: true if needed.After any 201 response the CV is immediately live. Always share url and claim_token with the requestor first.
If improvement_suggestions is non-empty, you may optionally run up to 2 improvement cycles:
agent_actioncv_data + skip_hitl: truecv_id — the previous one is abandonedimprovement_suggestions is empty: stopDo not loop indefinitely. An agent that keeps re-posting creates duplicate CVs and wastes the requestor's time.
For prefer_hitl flows: after approval, the 201 is already quality-assessed (human reviewed the data). If suggestions appear, ask the requestor directly — do not restart the HITL flow.
For fully automated pipelines, batch operations, or when the requestor explicitly says "just create it" — set "skip_hitl": true:
POST https://www.talent.de/api/agent/cv-simple
Content-Type: application/json
{
"skip_hitl": true,
"cv_data": {
"firstName": "Alex",
"lastName": "Johnson",
"title": "Software Engineer",
"email": "alex@example.com"
}
}Response (201):
{
"success": true,
"url": "https://www.talent.de/pro/alex-johnson",
"cv_id": "cv_abc123",
"claim_token": "claim_xyz789",
"template_id": "018",
"hitl_skipped": true,
"quality_score": 20,
"quality_label": "basic",
"improvement_suggestions": [
{
"field": "experience",
"issue": "No work experience — CV has low ATS compatibility",
"agent_action": "Ask: 'What positions have you held? Part-time and internships count.'",
"impact": "+25 quality points",
"priority": "high"
}
],
"next_steps": "Share improvement_suggestions with the requestor and ask the questions in agent_action. Then update the CV via POST /api/agent/cv-simple...",
"auto_fixes": []
}In direct mode, the server auto-assigns slug (pro by default) and template (018 Amber Horizon). The requestor has no choice. Use this only when no human needs to review.
You MUST choose one: "prefer_hitl": true or "skip_hitl": true. Omitting both returns a 400 error.
All fields beyond the 4 required ones are optional. Omit what you don't have — don't send empty arrays.
Get a downloadable PDF alongside the CV. Three visual themes available:
| Theme | Style | Best for |
|---|---|---|
classic | Single-column, red accent (default) | Traditional industries |
modern | Two-column sidebar, blue accent | Tech & creative roles |
minimal | Monochrome, generous whitespace | Executive & senior roles |
Add "include_pdf": true to your request. The response includes a base64-encoded PDF:
POST https://www.talent.de/api/agent/cv-simple
Content-Type: application/json
{
"prefer_hitl": true,
"include_pdf": true,
"pdf_format": "A4",
"pdf_theme": "modern",
"cv_data": {
"firstName": "Alex",
"lastName": "Johnson",
"title": "Software Engineer",
"email": "alex@example.com"
}
}Response includes a pdf object:
{
"success": true,
"url": "https://www.talent.de/pro/alex-johnson",
"cv_id": "cv_abc123",
"claim_token": "claim_xyz789",
"pdf": {
"base64": "JVBERi0xLjQK...",
"size_bytes": 6559,
"generation_ms": 226,
"format": "A4"
}
}POST https://www.talent.de/api/agent/cv/pdf
Content-Type: application/json
{
"cv_id": "cv_abc123",
"format": "A4",
"theme": "minimal"
}Returns the PDF binary directly (Content-Type: application/pdf). Format options: A4 (default), LETTER. Theme options: classic (default), modern, minimal.
PDF generation takes ~200ms (no headless browser needed).
You do not need to check slug availability or validate data — the server handles it:
pro/thomas-mueller and pro/anna-schmidt can coexist. Only the combination of slug + firstName + lastName is reserved. That's why the server needs the name first to check availability.pro. If that slug is already in use for this person's name, it tries the next available slug automatically. In HITL mode, the human can choose their slug interactively. Popular picks (excerpt): 007 · 911 · dev · api · pro · gpt · web · ceo · cto · ops · f40 · gtr · amg · gt3 · zen · art · lol · neo · 404 · 777. Full list: GET /api/public/slugs018 (Amber Horizon) if omitted.2024 becomes 2024-01-01, 2024-03 becomes 2024-03-01.NATIVE, C2, C1, B2, B1, A2, A1).auto_fixes array tells you what the server adjusted (e.g. "Slug 'pro' is already in use for this name, using 'dev' instead").hardSkills — technical skills, optional level 1-5softSkills — name onlytoolSkills — name onlylanguages — with CEFR level: NATIVE, C2, C1, B2, B1, A2, A1Do not use a generic skills array — it will be ignored.
| Wrong | Correct | Why |
|---|---|---|
"role": "Engineer" | "jobTitle": "Engineer" | Experience uses jobTitle, not role or position |
"start": "2022" / "end": "2023" | "startDate": "2022-01" / "endDate": "2023-06" | Wrong field names — start/end are silently ignored in experience and education |
"skills": [...] | "hardSkills": [...] etc. | Generic skills array is ignored — use 4 separate arrays |
"slug": "dev" inside cv_data | "slug": "dev" at top level | slug and template_id are request-level fields, not inside cv_data |
"startDate": "January 2024" | "startDate": "2024-01" | Dates must be YYYY or YYYY-MM format |
Sending empty arrays "hobbies": [] | Omit the field entirely | Don't send empty arrays — omit what you don't have |
| POST /respond without Authorization header | Wait for status=completed via poll_url | Inline submit requires submit_token from the 202 response hitl object |
POST /respond on an approval type step | Poll until completed, then hitl_approved_case_id | Approval steps require browser review — inline submit not permitted |
hitl_continue_case_id without cv_data | Always include the full cv_data object | The server needs cv_data on every POST to build the next review step UI |
skip_hitl: true when a HITL chain is ongoing | Continue the chain with hitl_continue_case_id | Creates a separate CV and bypasses the human's review — share one chain per CV |
cv_data© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files in skills/id-cv-resume-creator of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Cv Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cv Builder this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~5.4k | Automated safety check: Pass | MIT | |
| MarkitdownImCa0/just-laws | 782 | 14 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Gzh Designisjiamu/gzh-design-skill | 3.9k | 1 repos | ~2.2k | Automated safety check: Pass | AGPL-3.0 | |
| GenOffice Document CLIgenspark-ai/genoffice | 9k | — | ~19k | Automated safety check: Pass | Apache-2.0 | |
| Harness Book Best Practicewquguru/harness-books | 3.2k | — | ~4.1k | Automated safety check: Pass | None | |
| Bookforge Korean Ebook PDF Makergongnyang/bookforge | 315 | 1 repos | ~1.7k | Automated safety check: Pass | MIT |
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
isjiamu/gzh-design-skill
微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…
genspark-ai/genoffice
Creates, converts, reads and edits real pptx, xlsx, docx and PDF files locally through the genoffice command line.
wquguru/harness-books
Best practices for working on the Harness books repo. An agent skill from wquguru/harness-books.
gongnyang/bookforge
Produces book-style Korean ebook PDFs from a topic or finished manuscript, with six design styles, real book parts and quality-check gates before output.
aws-samples/amazon-bedrock-agents-healthcare-lifesciences
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Categories
Create a free digital identity, professional resume and CV — from classic PDF and HTML layouts to 3D worlds and playable games. Cv Builder is an agent skill from LeoYeAI/openclaw-master-skills. Create a free digital identity, professional resume and CV — from classic PDF and HTML layouts to 3D worlds and playable games.
Cv Builder fits situations like: the user wants to build; generate a resume; set up an online professional profile.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill cv-builder -a claude-code`. Or copy the skill folder (skills/id-cv-resume-creator in LeoYeAI/openclaw-master-skills) into .claude/skills/cv-builder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill cv-builder -a codex`. Or copy the skill folder (skills/id-cv-resume-creator in LeoYeAI/openclaw-master-skills) into .agents/skills/cv-builder in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill cv-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cv-builder, .gemini/skills/cv-builder, .github/skills/cv-builder and .opencode/skills/cv-builder in your project.
SKILL.md names no scripts, command-line tools or credentials: Cv Builder is instructions for the agent only. Compatibility (from SKILL.md): Requires HTTP client and network access..
SKILL.md names 2 domains. In commands or code: talent.de; the agent is likely to contact it when it follows the instructions. As links in the text: clawhub.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Cv Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.4k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Cv Builder: Markitdown (ImCa0/just-laws, 782 stars), Gzh Design (isjiamu/gzh-design-skill, 3.9k stars), GenOffice Document CLI (genspark-ai/genoffice, 9k stars) and Harness Book Best Practice (wquguru/harness-books, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,160 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.