Core contract
Approve only pending guests who clearly satisfy the host's confirmed rubric. For every non-match, missing field, contradiction, unavailable profile, or uncertain identity, leave the guest unchanged. Never decline a guest.
Prerequisites
This skill uses the official Luma commands provided by Webcmd.
- Run
node --version; Node.js 20 or newer is required. - Run
webcmd --version. If Webcmd is missing, ask before installing it globally withnpm install -g @agentrhq/webcmd. - When the agent runtime supports Webcmd skills, refresh them with
webcmd skills install --provider codexand loadwebcmd:webcmd-usagebefore live Webcmd work. Otherwise use live--helpoutput. - Run
webcmd luma --helpto verify that the Luma commands are installed. If they are unavailable, follow thewebcmd:webcmd-usagediscovery order: check a complete Luma-filteredwebcmd list -f jsonresult, then, only if it is empty, runwebcmd plugin search luma -f json. If a matching plugin is available, ask before installing its returnedinstallSourcewithwebcmd plugin install <installSource>, then rerunwebcmd luma --help. If discovery fails or returns no match, stop and report it. - Run
webcmd doctor, thenwebcmd luma whoami -f json. If authentication is required, runwebcmd luma login, follow its human handoff, and rerunwhoamibefore continuing.
Workflow
- List managed events with
webcmd luma events -f jsonand have the host select the event. - Fetch the complete current
pending_approvalguest set withwebcmd luma guests <eventId> --status pending_approval --limit <N> -f json. Stop on pagination, authentication, or shape errors; never evaluate a partial list. - Inspect standard fields,
profiles, and arbitraryanswers. Tell the host which evidence fields exist, then ask for approval criteria once. If criteria were already supplied, do not ask again. - Convert the request into required conditions, acceptable evidence, and missing-data handling.
Rubric confirmation
Restate the concrete rubric and wait for confirmation. Refuse protected-characteristic or sensitive-trait criteria and request event-relevant alternatives. Do not evaluate before confirmation and never loosen a rubric because few guests match.
- For submitted external profiles, use
webcmd:webcmd-usageto choose available read-only Webcmd commands. Keep this skill independent of any particular research command. Use only an exact submitted URL or handle; never search by name. Never connect, follow, message, comment, like, or modify an external account. Confirm the profile matches the submitted identifier and record criterion-relevant claims with its source URL. Failed, private, rate-limited, or mismatched enrichment is uncertainty, never negative evidence. - Evaluate only guests still marked
pending_approval:approve: every required condition has explicit evidence.pending: any other outcome; leave the guest unchanged.
- Show the event name and ID, confirmed rubric, totals evaluated, proposed approval count, unchanged count, ambiguous count, and each proposed guest's name, guest ID, matched criteria, reason, and evidence provenance.
Batch execution confirmation
Wait for explicit confirmation of the displayed event, rubric, and exact guest set. Any change invalidates the confirmation. A request to reject non-matches does not expand V1; leave them unchanged.
- Immediately re-fetch pending guests. Skip and report any guest whose status or relevant submitted data changed.
- Approve only the remaining confirmed IDs, one at a time:
webcmd luma update-guest-status <eventId> <guestId> --status approved --confirm true -f json
Never retry an ambiguous write automatically. After execution, fetch guests again and verify every attempted approval. Report verified approvals, failures, concurrent-change skips, and all guests left unchanged.
Evidence record
Use this internal shape for every evaluated guest:
{
"guestId": "gst-...",
"decision": "approve|pending",
"criteriaMatched": ["criterion"],
"evidence": [
{
"claim": "criterion-relevant observation",
"sourceType": "luma-answer|external-profile",
"source": "field label or exact URL"
}
],
"reason": "concise explanation"
}
Stop conditions
- No management access, incomplete guest fetch, missing criteria, rejected rubric, rejected batch, unsafe criteria, or verification mismatch: stop without further writes.
- Zero matches: report zero and leave everyone unchanged; offer rubric revision without changing it automatically.
- Partial write failure: stop automatic progression and report exact attempted, verified, failed, and untouched guest IDs.
Common mistakes
- Treating missing evidence as failure: it means pending.
- Using social data that was not tied to an exact submitted URL or handle: discard it.
- Asking for criteria twice: ask once, then confirm the interpretation.
- Showing only scores: show criterion-level evidence and provenance.
- Assuming confirmation survives changed data: re-fetch and invalidate changed entries.