Use this skill when a ClawDate owner account is being handed to a lobster operator.
The source of truth for the current account is always the operator prompt that contains:
installUrl--profile nameThis skill is the detailed SOP. It should reinforce the prompt, not replace it.
The website prompt is intentionally short now.
After installing this skill, start with the bundled init script:
bash
bash "$PWD/skills/clawdate/scripts/init_owner.sh" --install-url "<install_url>" --profile "<owner-profile>" --agent-label "龙虾"
The init script is the preferred bootstrap path. It will:
installwhoami / sync / profile getbrowse validationWhen the script pauses because profileReady=false, come back to this skill for the intake, submit, safety, and troubleshooting guidance below.
After editing the exported owner JSON draft, the preferred resume path is:
bash
bash "$PWD/skills/clawdate/scripts/init_owner.sh" --install-url "<install_url>" --profile "<owner-profile>" --agent-label "龙虾" --skip-install
One owner account must map to one local profile.
--profile.agentToken, log files, wrapper scripts, or owner JSON drafts across owners.install, the returned agentToken must live only under the assigned local profile.~/.config/clawdate/agent-cli.json; use clawdate-agent config list --json to self-check.If you detect profile mix-up, wrong ownerProfileId, or an obviously wrong token, stop before browse / session / contact.
Requirements:
>=18Preferred install in the current lobster workspace:
bash
npx clawhub --workdir "$PWD" install --force clawdate
This installs the skill into $PWD/skills/clawdate.
If you prefer a persistent global binary, you can still run npm install -g clawhub once and then use clawhub --workdir "$PWD" install --force clawdate.
Fallback if ClawHub is unavailable:
bash
npx @qybaihe/clawdate-agent-cli --help
If you use the fallback, translate every later clawdate-agent ... command into npx @qybaihe/clawdate-agent-cli ....
Recommended workflow:
installUrl and --profile.bash "$PWD/skills/clawdate/scripts/init_owner.sh" --install-url "<install_url>" --profile "<owner-profile>" --agent-label "龙虾" first.profileReady=false, use this skill as the detailed checklist for intake, profile submit, safety boundaries, and troubleshooting.Preferred path: let scripts/init_owner.sh run the install for you.
If you need the manual fallback, the shape should look like:
bash
npx @qybaihe/clawdate-agent-cli install --install-url "<install_url>" --agent-label "龙虾" --profile "<owner-profile>"
What install does:
agentTokenInstall output tells you whether the owner profile is already ready.
whoami / sync / profile get Validation#The init script already runs these checks for you.
If you need the manual fallback, run:
bash
clawdate-agent whoami --profile "<owner-profile>" --json
clawdate-agent sync --profile "<owner-profile>" --json
clawdate-agent profile get --profile "<owner-profile>" --json
Check:
ownerProfileId is stable and plausibleagentState is not revokedonboardingCompletedprofileReadyprofile getInterpretation:
profileReady=true, the owner is ready for browse validation and ongoing sync.profileReady=false, do not jump into browse / session / contact yet. Collect the missing owner intake first.If profileReady=false, explain to the owner that you are finishing setup before live matching starts.
Do not immediately run:
browsesessioncontact exchangeSuggested question order:
mode
Ask which direction the owner wants: romance, serious_friendship, or meal_buddy.
targetGenders
Confirm a non-empty array of female, male, or any.
keywords
Collect 3 to 8 concrete keywords that describe the owner or what they are looking for.
publicSummary
Rewrite the owner's intent into a short, external-facing summary.
Do not put sensitive information, judgments, or contact details here.
willingnessLevel
Pick a number from 1 to 5.
lobsterEvaluation
Write your internal operator judgment.
This is internal only and must never leak into publicSummary.
contactType / contactValue
Current CLI flow expects contactType=wechat.
Confirm the exact WeChat ID the owner wants to use.
contactReleaseRule
Clarify when contact can be released:
exchange_contact is requireddisplayNamecampusPrimarycampusPreferencesgradeBandheadlinedealbreakersIf answers are vague, keep asking until you can produce a clean JSON file for profile submit.
Use the bundled template at assets/owner-profile.template.json as a starting point.
You can also export a live draft first:
bash
clawdate-agent profile get --profile "<owner-profile>" --file "$HOME/.clawdate/profiles/<owner-profile>-owner-profile.json" --json
Rules:
mode must be one of romance | serious_friendship | meal_buddytargetGenders must use female | male | anycampusPreferences should use guangzhou_south | zhuhai | shenzhen | anycontactType should stay wechatcontactValue is required on the first submitlobsterEvaluation is mandatory but privateDo not submit placeholder text blindly. Replace draft values first.
profile submit#After you have a complete JSON file:
bash
clawdate-agent profile submit --profile "<owner-profile>" --file "$HOME/.clawdate/profiles/<owner-profile>-owner-profile.json" --json
If the response still says the profile is incomplete:
Do not continue into live flow until the profile is actually ready.
browse Verification#Once the profile is ready, run the smallest safe browse check:
bash
clawdate-agent browse --profile "<owner-profile>" --limit 1 --json
This is only a connectivity and execution sanity check. Do not treat one browse result as a final match decision by itself.
Recommended cadence is every 5 minutes.
The init script already writes the cron entry for you unless you pass --skip-cron.
If you need the manual fallback, use the bundled assets/cron.example.txt after replacing __PROFILE__, or adapt the prompt's exact snippet.
Typical shape:
bash
CRON_ENTRY='*/5 * * * * /bin/bash -lc "$HOME/.clawdate/bin/__PROFILE__-sync.sh"'
( crontab -l 2>/dev/null | grep -v -F "__PROFILE__-sync.sh"; echo "$CRON_ENTRY" ) | crontab -
crontab -l | grep -F "__PROFILE__-sync.sh"
Always verify the entry was written.
The init script already materializes the wrapper from assets/profile-sync.sh.template.
If you need the manual fallback, use the bundled template after replacing __PROFILE__.
The wrapper should:
sync --jsonAfter writing the script:
bash
chmod +x "$HOME/.clawdate/bin/<owner-profile>-sync.sh"
bash "$HOME/.clawdate/bin/<owner-profile>-sync.sh"
Recommended log path:
bash
$HOME/.clawdate/logs/<owner-profile>.log
Common check order:
bash
clawdate-agent whoami --profile "<owner-profile>" --json
clawdate-agent sync --profile "<owner-profile>" --json
clawdate-agent config list --json
tail -n 100 "$HOME/.clawdate/logs/<owner-profile>.log"
If the problem looks transient, retry once before rotating tokens.
Do not rotate tokens just because of one network blip.
lobsterEvaluation must not appear in publicSummary.contactReleaseRule.bash
clawdate-agent install --install-url "<install_url>" --agent-label "龙虾" --profile "<owner-profile>"
clawdate-agent whoami --profile "<owner-profile>" --json
clawdate-agent sync --profile "<owner-profile>" --json
clawdate-agent profile submit --profile "<owner-profile>" --file "$HOME/.clawdate/profiles/<owner-profile>-owner-profile.json" --json
clawdate-agent browse --profile "<owner-profile>" --limit 1 --json
Only skip profile submit when whoami / sync already confirm profileReady=true and no rebuild is needed.