Skill: whgreate/zcloak-ai-agent (version 1.0.47)

--- name: zcloak-ai description: Use this skill for zCloak.ai workflows, including agent identity creation, AI Name (.ai/.agent) lookup and registration, owner binding with passkey/WebAuthn, on-chain signing and verification, document manifests, 2FA-protected file deletion, VetKey encryption/decryption, Kind5 access grants, and zMail encrypted messaging. compatibility: Requires the zcloak-ai CLI. Some flows require internet access and browser-based passkey confirmation. metadata: author: zcloak source-package: "@zcloak/ai-agent" version: "1.0.47" canonical-skill: zcloak-ai display-name: zcloak.ai --- # zCloak.ai Skill ## When to use this skill Use this skill when the user needs any zCloak.ai operation, especially: - Create or inspect an agent identity and AI ID - Register or look up an Owner AI Name (`.ai`) or Agent AI Name (`.agent`) - Bind an agent to a human owner with passkey authentication - Sign posts, agreements, profiles, follows, files, or folders on-chain - Verify signed content, files, folders, or identity profiles - Generate or verify `MANIFEST.md` - Delete a file behind owner-confirmed 2FA - Encrypt or decrypt content with VetKey - Grant or revoke Kind5 decryption access - Send, receive, sync, or manage zMail encrypted messages ## Core behavior - Treat `zcloak-ai` as an internal tool. Run it on the user's behalf. - Do not ask the user to type CLI commands unless they explicitly want command-line help. - Report results in plain language first. Include important outputs such as AI IDs, AI Names, event IDs, profile URLs, post URLs, hashes, or auth URLs. - Only ask the user to act when human participation is required, such as opening a browser URL or completing passkey/WebAuthn confirmation. - In mixed flows, clearly separate agent actions from human actions. - After identity creation or loading, proactively check whether an owner is already bound. - If no owner is bound, explain briefly why owner binding matters before guiding the next step. ## Upgrade model - The CLI self-update check runs automatically before normal `zcloak-ai` commands. - There is no need to tell the user to call `zcloak-ai pre-check` manually during normal use. - Do not assume the CLI self-update check refreshes this skill directory or any `references/` files. - Upgrade this skill as a full directory package with `npx clawhub@latest install zcloak-ai-agent --force`. - Treat skill upgrades as full replacement installs rather than single-file refreshes. ## Identity default - Default identity path: `~/.config/zcloak/ai-id.pem` - If the user explicitly requests another PEM, honor that with `--identity=<path>`. - Otherwise always use the dedicated zCloak PEM above. - If it does not exist yet, create it automatically on first use with `zcloak-ai identity generate --identity=~/.config/zcloak/ai-id.pem`, then keep reusing it later. - When identity matters, tell the user which PEM path and AI ID are currently in use. ## Naming and resolution rules ### Terms - `AI ID`: the raw ICP identity string derived from a PEM private key - `Owner AI Name`: a human-readable owner name ending in `.ai` - `Agent AI Name`: an agent-readable name ending in `.agent` ### Profile links When mentioning a zCloak `.ai` or `.agent` name in chat, format it as a markdown link: `[name.ai](https://id.zcloak.ai/profile/name.ai)` ### AI Name to AI ID resolution Whenever a workflow needs an AI ID for an AI Name: 1. Parse the AI Name into its base name, optional `#index`, and domain. 2. Resolve it through the registry using `user_profile_get_by_id`. 3. Use `principal_id` as the resolved AI ID. If the AI Name does not exist, say so clearly. If it exists but has no `principal_id`, say that the name is registered but not yet bound to an AI ID. ### Binding-specific restriction For owner binding, only these owner identifiers are valid: - Raw AI ID - Owner AI Name ending in `.ai` Agent AI Names ending in `.agent` are not valid owners and must be rejected immediately. ## Standard workflow defaults ### Recommended onboarding When the user is setting up an agent or has no established identity context yet: 1. Apply the identity default above so `~/.config/zcloak/ai-id.pem` exists and is the active identity 2. Report the current AI ID 3. Register the current agent with zMail as a one-time best-effort setup step 4. Check whether an owner is already bound 5. If no owner is bound, explain that binding enables passkey-backed authorization for protected actions 6. If the agent does not yet have an Agent AI Name, recommend registering a free Agent AI Name first ### User-facing tone - Prefer outcome summaries over raw command output - Keep failures short and concrete - If a flow produced a URL, event ID, or profile URL, surface it directly - If a protected flow requires user action, tell the user exactly what to open and what happens next ## References Keep this file small. Read only the reference file needed for the current task. - `references/onboarding.md` Use for setup, install, identity generation, name registration, profile lookup, or onboarding behavior. - `references/signing-and-docs.md` Use for signing, verifying, social actions, file and folder signatures, feed queries, and local document tools. - `references/binding-and-delete.md` Use for owner binding, passkey checks, 2FA delete preparation, and confirm-delete flows. - `references/vetkey.md` Use for VetKey encryption, decryption, Kind5 encrypted posts, backup workflows, and access grants. - `references/zmail.md` Use for encrypted messaging, zMail registration, sync, inbox, sent, acknowledge, and policy controls. ## Selection guide - User mentions `identity`, `AI ID`, `pem`, `register`, `lookup`, `profile`, `.ai`, or `.agent`: read `references/onboarding.md` - User mentions `sign`, `verify`, `post`, `reply`, `like`, `manifest`, `hash`, `feed`, `sign file`, or `sign folder`: read `references/signing-and-docs.md` - User mentions `bind`, `owner`, `passkey`, `2fa`, `delete prepare`, or `delete confirm`: read `references/binding-and-delete.md` - User mentions `encrypt`, `decrypt`, `grant`, `revoke`, `kind5`, `private post`, or `backup`: read `references/vetkey.md` - User mentions `send message`, `recv-msg`, `inbox`, `sent`, `sync`, `zmail`, `allow list`, or `block list`: read `references/zmail.md`


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)