Read a completed DearCC intake file or pasted answers, derive a short search brief internally, then return a structured job search request as JSON.
Resources
16Install
npx skillscat add skyspeak/jobclaw-clone Install via the SkillsCat registry.
SKILL.md
DearCC JobClaw
Use this skill for the full DearCC flow in one step:
- read a completed intake file or pasted intake text
- derive a short search brief from the intake
- return a structured JSON job search request for use with any OpenClaw-compatible browser agent
Examples:
- "run dearcc jobclaw on ./my-intake.md"
- "search from this DearCC intake file"
- "run DearCC job search from these five questionnaire answers"
Accepted Input
Accept either:
- a local file path such as
./intake.mdor/tmp/dearcc-jobclaw.txt - pasted intake text
If the input looks like a readable local file path, read the file before doing anything else.
Intake Contract
Expect these five core questions in order, with non-empty answers:
It's 5 years from now and you love your work. Describe what you're actually doing on a typical day - not the job title, the actual activities.What are you genuinely good at that you never put on your resume or LinkedIn?What kind of problem makes you excited to come in on a Monday? Any of these? Hands-on/physical, Research/ideas, Helping people, Data/systems, Something creative, Building a businessWhat would make you dread going to work, even if the pay was great?A year from now, what would make you feel like you actually moved forward?
Optional metadata fields may also be present near the top of the file:
provider: the job platform to search (e.g.linkedin)locationworkMode:Any,Remote,Hybrid,On-siteseniority:Any,Internship,Entry level,Associate,Mid-Senior level,Director,ExecutiveminSalaryrequireVisaSponsorship:trueorfalsepreferVolunteerRoles:trueorfalsemaxResultsriasecOverridenotes
Runtime Workflow
- Read the intake text.
- If required answers are missing, return:
summary: a short blocker such asMissing answers for Q2 and Q4 in the intake file.searchRequest:null
- Derive an internal two-sentence search brief from the intake. Do not print that brief unless the user explicitly asks for it.
- Sentence 1 should begin with
Search for. - Sentence 2 should be
Return 5 matches as JSON.unless the intake explicitly asks for a different result count.
- Sentence 1 should begin with
- Infer the search request conservatively from the intake and the internal brief:
- infer a practical
jobTitlefrom the strongest role direction in the intake - default
providertolinkedin - extract explicit
location,workMode,seniority,minSalary, andrequireVisaSponsorshiponly when present - extract 3 to 5 high-signal search terms into the search query
- extract explicit avoid terms, industries, or work environments into exclusions
- cap results at
5by default unless the intake explicitly specifies anothermaxResults
- infer a practical
- Return the structured search request as JSON (see Output Contract below).
Output Contract
Return JSON with this exact top-level shape:
{
"summary": "Short description of the candidate's direction and what was inferred from the intake.",
"searchRequest": {
"provider": "linkedin",
"jobTitle": "Inferred role title",
"keywords": ["keyword1", "keyword2"],
"exclusions": ["term1", "term2"],
"location": "City, State or empty string",
"workMode": "Any",
"seniority": "Entry level",
"minSalary": "",
"requireVisaSponsorship": false,
"maxResults": 5
}
}If required answers are missing, return:
{
"summary": "Missing answers for Q2 and Q4 in the intake file.",
"searchRequest": null
}Templates
Starter and example intake files are available under {baseDir}/templates/.