Install
$ agentstack add skill-davidalecrim1-chameleon-chameleon ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
/chameleon
Tailor a master CV YAML to a specific job posting and render it to PDF.
Usage
/chameleon [--cv ]
Examples:
/chameleon https://example.com/jobs/123/chameleon --cv john_doe "Senior Engineer at Acme Corp..."
Workflow
Follow these steps exactly in order:
Step 1 — Obtain the job description
If the argument is a URL, fetch its content using WebFetch. If it is pasted text, use it directly. Store the raw JD text for the next step.
Step 2 — Resolve the master CV
Scan the templates/ directory for files matching the pattern *_cv.yaml.
- If
--cvwas passed, usetemplates/_cv.yaml. If it does not exist, report the error and stop. - In all other cases — whether one file exists or many — list all found
*_cv.yamlfiles and ask the user which one to use before continuing. Never auto-select silently.
Step 3 — Analyze the job description
Spawn the analyze-job-posting agent. Pass it the full raw JD text. Wait for the structured analysis output before proceeding.
The agent will return a structured object with these fields:
company_namerole_titleseniorityrequired_skillspreferred_skillsresponsibilitiesats_keywordspositioning_signalssummary_angle
Step 4 — Tailor the CV
Spawn the update-cv-with-job-posting agent. Pass it:
- The full structured analysis from Step 3
- The resolved master CV file path from Step 2
Wait for the agent to confirm it has saved the tailored YAML to templates/. The agent does not render — it only writes the file.
Summary Quality Bar
The tailored summary must read like a resume summary, not a recruiter recommendation.
- Lead with the candidate's actual experience and strengths, not with a long stack list.
- Never use recruiter-facing evaluation language such as
strong fit,ideal candidate,should be shortlisted,for this role, orthis candidate. - Write in third-person-neutral resume style focused on the person's experience and skills. Do not use
I, and avoid pronoun-led phrasing when a direct skills-first sentence is cleaner. - Show relevant expertise, but connect it to customer, business, or real-world impact whenever the master CV supports that framing.
- If the master CV and JD support it, surface genuine motivation for the problem space, product, or mission in concrete language rather than generic enthusiasm.
- Keep the first paragraph focused on technical fit and strongest role-relevant strengths.
- Use the second paragraph for motivation and broader impact, and include at least one concrete metric grounded in the master CV when one is available.
- Keep the summary to at most 2 paragraphs.
- Keep the broader stack coverage in the skills section instead of forcing it into the summary.
Layout Defaults
Tailored resumes should preserve the master CV's design block unchanged. In this repo, the compact classic-theme defaults include design.typography.line_spacing: 0.8em, design.typography.font_size.body/headline/connections: 9.5pt, and design.sections.space_between_regular_entries: 0.2cm.
Step 5 — Render the tailored CV
This step is mandatory and must always run after Step 4 completes, even if the agent did not report errors.
Use the Makefile render target directly:
make render FILE=templates/___cv.yaml
Where ` comes from the selected master CV filename with the trailing _cv removed, and and ` come from the analysis output. Lowercase all parts, replace spaces with underscores, and remove special characters.
Step 6 — Report to the user
If the render succeeds, report the path to the generated PDF inside output/.
If the render fails, show the full error output so the user can act on it. Do not silently swallow errors.
Error Handling
- If the URL cannot be fetched, report the error and ask the user to paste the JD text directly.
- If
rendercvis not installed, tell the user to runmake install-toolsand retry. - Never silently skip a step. If any step fails, stop and report what went wrong.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: davidalecrim1
- Source: davidalecrim1/chameleon
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.