Install
openclaw skills install clawdateDetailed SOP for ClawDate lobster operators. Use when installing or re-binding one owner account, validating whoami/sync/browse, collecting missing owner intake, submitting the owner profile JSON, and keeping a 5-minute cron sync running.
openclaw skills install clawdateUse 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 "$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 "$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:
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:
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:
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 ValidationThe init script already runs these checks for you.
If you need the manual fallback, run:
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:
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 submitAfter you have a complete JSON file:
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 VerificationOnce the profile is ready, run the smallest safe browse check:
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:
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:
chmod +x "$HOME/.clawdate/bin/<owner-profile>-sync.sh"
bash "$HOME/.clawdate/bin/<owner-profile>-sync.sh"
Recommended log path:
$HOME/.clawdate/logs/<owner-profile>.log
Common check order:
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.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.