Read the shared execution contract once per task before choosing tools or resolving context, including when this skill is invoked directly. Apply the service-specific workflow below after that shared contract.
MCP does not expose account mutations or credentials.
Auth owns user identity, Organizations, memberships, CLI sessions, and short-lived service grants. It does not own Projects or service resources.
Use only the unified CLI auth command group and safe structured output. Never call Auth endpoints directly, inspect private CLI state, read credential-bearing files, expose tokens or grants, or create product resources from this skill.
Session
- Run
npx @siteoshq/cli auth status --json. - When signed out and no email was supplied, ask one explicit question containing the word
emailand stop. - With an email, run
npx @siteoshq/cli auth start --email <email> --jsonand stop for the one-time token. - Pass the token only to
npx @siteoshq/cli auth complete --token <token> --json. Never echo, retain, report, or write it. - Run
npx @siteoshq/cli auth status --jsonagain before continuing.
Use npx @siteoshq/cli auth logout --json only when the user asks to end the local CLI session.
Organization selection
-
Run
npx @siteoshq/cli auth organizations --json. -
A personal Organization is provisioned automatically on first verified sign-in. With zero Organizations, ask the user to sign in again or accept a team invitation; do not suggest manual creation. Only verified
@pixelpoint.ioteam accounts may explicitly create additional Organizations with a supplied display name:npx @siteoshq/cli auth organizations create --display-name <display-name> --jsonThe server decides eligibility. Never retry a denied creation through another endpoint or identity.
-
Resolve the intended Organization using the shared execution contract and this safe discovery output.
-
When the task needs the global Auth default, select by immutable ID. Project binding follows the orchestrator's Project workflow:
npx @siteoshq/cli auth select --organization <organization-id> --json
Never guess an Organization, select by slug, or edit Auth state.
Return to the product skill
After authentication and Organization selection succeed, return to $siteos for common Project selection or to the requesting service skill. Do not pre-create service resources or infer common identity from names. Product commands obtain audience-bound service grants internally; never inspect or forward those grants.
Safe reporting
Report only session readiness plus safe Organization IDs and display names. Never report one-time tokens, durable sessions, identity assertions, service grants, authorization headers, private Auth files, product credentials, or raw API responses.
Stop before guessing an identity choice, creating an Organization without its explicit name, logging out without a request, running a product Project command, or inventing an unsupported Auth mutation.