一键导入
profile-onboarding
Use when: viewing Monaiq reseller profile status, retrieving reseller ApiKey and IssuerClientId, or reviewing terms and privacy documents.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when: viewing Monaiq reseller profile status, retrieving reseller ApiKey and IssuerClientId, or reviewing terms and privacy documents.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when: analyzing an existing codebase to identify licensable capabilities, premium features, API quotas, exports, integrations, or monetization candidates; classifies findings as access gates or rate limits.
Use when: designing pricing strategy, tiers, subscriptions, trials, perpetual licenses, usage-based billing, or catalog-ready offering plans; does not create catalog entities.
Use when: explaining Monaiq domain concepts, entity relationships, FeatureKey semantics, namespace locations, products, features, offerings, licenses, credentials, or checkout terminology.
Use when: onboarding a new or returning Monaiq user, establishing a session, checking profile/catalog state, choosing the next licensing workflow, or asking where to start.
Use when: adding Monaiq feature gates, access checks, premium feature enforcement, rate-limit assertions, consumption recording, or license feature checks to an SDK-integrated app.
Use when: integrating the Monaiq licensing SDK into a .NET or React app, installing packages, configuring credentials/endpoints, registering services/providers, or verifying runtime license validation.
| name | profile-onboarding |
| description | Use when: viewing Monaiq reseller profile status, retrieving reseller ApiKey and IssuerClientId, or reviewing terms and privacy documents. |
| agent | monaiq |
| auto-invoke | ["User wants to view their reseller profile or retrieve SDK credentials","User wants to review terms of service before accepting","User asks about their onboarding status or account details"] |
| tags | ["profile","onboarding","credentials","terms"] |
| category | onboarding |
| allowed-tools | ["register_or_login","profile","monaiq_journal","fetch_step_resources","mcp__plugin_monaiq_monaiq__register_or_login","mcp__plugin_monaiq_monaiq__profile","mcp__plugin_monaiq_monaiq__monaiq_journal","mcp__plugin_monaiq_monaiq__fetch_step_resources"] |
| tier | 3 |
| invoked-by | ["getting-started"] |
If invoked without upstream context, checks profile state directly.
Provides to downstream skills: - profileData: { issuerClientId, profileStatus, resellerStatus, apiKeyAvailable }Used by implement-purchase-flow for checkout configuration. Purchased EncodedCredential values come from checkout results, not the reseller profile.
<execution_context>
Follows the skill layout and shared workflows in _shared/protocols.md. This skill contributes only session/profile status, terms review, credential availability summaries, and checkpointed terms acceptance guidance.
</execution_context>
Call the profile tool with startStep=1 to view the reseller profile.
Key fields:
| Field | Description |
|---|---|
IssuerClientId | Unique reseller identifier — used in SDK configuration and checkout requests |
ContactEmail | Primary contact email for the account |
LegalName | Legal business name on file |
ProfileStatus | Account completeness: NotStarted → Incomplete → Completed |
ResellerStatus | Onboarding state: Disabled → Pending → Enabled |
Status meanings:
The IssuerClientId is the primary identifier for the reseller account. It is used as the IssuerClientId parameter in checkout requests and appears in license metadata.
Call the profile tool with startStep=2 to retrieve reseller credentials used for catalog and checkout operations.
Credential fields:
| Credential | Purpose | Where Used |
|---|---|---|
ApiKey | Authenticates checkout API calls | CreateCheckoutSession and GetCheckoutResult API key parameter |
IssuerClientId | Reseller identity for checkout requests | CheckoutRequest.IssuerClientId |
EncodedCredential is not a reseller profile credential. It is produced after an offering is purchased and returned by checkout-result retrieval.
Security: Do not persist the ApiKey to disk or commit it to source control. Use environment variables or a secrets manager for production deployments.
Do not write raw ApiKey, IssuerClientId plus secret context, EncodedCredential, .env, or user-secret values into prompts, .monaiq, summaries, or generated plugin output.
How credentials connect to checkout setup:
ApiKey → Used when calling ICheckoutService methods (see the implement-purchase-flow skill)IssuerClientId → Used in CheckoutRequest for embedded purchasesCall the profile tool with startStep=3 to read the Terms of Service and Privacy Policy.
Both documents must be presented to the user before acceptance. The terms cover:
Review both documents carefully before proceeding to accept terms.
Important: Accepting terms is NOT part of this skill workflow. It is a tool action that modifies state.
To accept terms, call the profile tool directly with startStep=4 and data={"customerTerms": true, "resellerTerms": true}. Both customerTerms and resellerTerms must be set to true to complete terms acceptance. This action records the user's agreement and updates the profile status.
register_or_login — Establish a session (prerequisite for all profile operations)profile — The tool that executes each step of this workflowimplement_base — SDK integration (configures where purchased credentials are supplied at runtime)implement_purchase_flow — Checkout integration (uses ApiKey and IssuerClientId from step 2)EncodedCredential values.<success_criteria>
IssuerClientId, ProfileStatus, and ResellerStatusApiKey, IssuerClientId) are retrieved successfullystartStep=4ApiKey, EncodedCredential, .env, or user-secret values are written into prompts, .monaiq, summaries, or generated plugin output
</success_criteria>