CRITICAL — Before starting, MUST first use the Read tool to read ../arkcli-shared/SKILL.md, which contains the authentication gate, configuration troubleshooting, and command selection order
CRITICAL — When the user has already seen Endpoint NotFound and also wants to verify the current full ID / historical usage, you must first switch to reading ../arkcli-infer-endpoint/SKILL.md, which is led by the infer endpoint list → usage stats --endpoint evidence chain. Do not just run resources resolve/list and then guess the ID suffix or claim it has been deleted.
Usage principles
arkcli resourcesdomain is always read-only. Even if the user expresses a creation intent in the context of a resource list, you must first switch to reading../arkcli-deploy/SKILL.md, and this Skill must not create, modify, or delete resources- The ordinary product intent of "deploy a model and obtain an Endpoint" continues to go through
arkcli +deploy. This online workflow does not support Client Preview,must not executearkcli +deploy --dry-run, and must not silently downgrade to low-level CRUD in order to obtain Preview - After switching to the Deploy Skill, first read-only verify the model, name, Region, configuration, and billing impact and restate them to the user; before receiving a new explicit confirmation for this round,must not execute the real
arkcli +deployin the same round. The Agent is strictly forbidden from adding--yes、echo Yor settingARKCLI_ALLOW_HEADLESS_ACTIVATION - Only when the user explicitly requests raw CRUD, an exact CreateEndpoint request, or a CI/script preview, switch to
../arkcli-infer-endpoint/SKILL.md, using the leaf commandarkcli infer endpoint create ... --dry-run; after Preview is complete, a new confirmation is still required before real execution arkcli resources listis a read-only real-time control plane query,hits upstream every time, with no local cache- The list is a resource discovery result and may be filtered by project, creator, and modality; an empty list or the current default not appearing in items does not mean the specified Endpoint does not exist or cannot be invoked.
- When only read-only verifying identity or default resources, no exact resource ID is specified, and the list is empty, report the confirmed facts and information gaps, and end the verification; do not switch to
profile show/list/keys listto fill in fields. An empty list is not authorization for configuration repair or Key synchronization. arkcli resources resolve <ep-id>First determine the real binding according toendpoint_model_type. For a Custom Model Endpoint, themodel_id/custom_model_idmust maintain thecm-...identity, and the base model expresses lineage and capability source only throughbase_model_*; do not guess the purpose from ID/model name substrings- Dispatch logic follows profile.Type: platform →
ListEndpoints, agent-plan / coding-plan → the corresponding plan API agent-plan-teamThe three modalities use the team seat Key + package model;coding-plan-teamonly text uses the team seat Key, while image/video can see the platform Endpoint but invocation still requires a pay-as-you-go API Keyresources listDistinguish "visible to the account" from "invocable by the current profile": readinvocableandrequired_overrides, and do not assert that the current credential is usable just because an ID is visibleinvocable=trueonly indicates Profile/resource type compatibility, and does not prove that the API Key is still valid, has permissions, or has quota. Credential ownership and real data plane invocation results must be verified separately; metadata cannot replace request success.- This skill is not responsible for changing the default — if the user wants to change the default, go to
../arkcli-profile/SKILL.mdofprofile set-default --profile XTrue identity (P0-A correction): use X's token / UserID to hit the control plane, not the identity with active=A hitting it and then displaying it as B's resources
Applicable scenarios
- The user asks "which endpoints / models are available under the current profile"
- The user runs
profile set-defaultand gets<id> 不在可用列表, come back here to see the real available IDs - The user runs
+chat / +gen --modeland getsInvalidEndpointOrModel.NotFound, come back here to confirm the ID is visible under the active profile - The user switched profiles and wants to know how the available resources under the new profile differ from the old one
- The user only provides an Endpoint and does not know whether to go through
+chat、+understandor+gen - The user passes an Endpoint + API Key but does not provide a Base URL, which needs to be derived from the Endpoint's authoritative region
Anti-trigger signals
- The user wants to find a model / pick a model / "which model is the strongest / most cost-effective" → switch to
../arkcli-models/SKILL.md(with enrich + weighted ranking) - The user wants to create an endpoint → switch to
../arkcli-deploy/SKILL.md(arkcli +deploy); this round only does read-only verification, restatement, and confirmation, and does not execute directly - The user explicitly wants raw CreateEndpoint / CI / exact request preview → switch to
../arkcli-infer-endpoint/SKILL.md, usinginfer endpoint create --dry-run - The user wants to manage an endpoint(start / stop / get / update / list details) → switch to
../arkcli-infer-endpoint/SKILL.md - The user has already gotten Endpoint NotFound and wants to determine whether the ID is missing a suffix or whether it ever existed historically → switch to
../arkcli-infer-endpoint/SKILL.md; do not stop at single-point resolution of resources
Difference between resources and models
| Dimension | arkcli resources list |
arkcli models ... |
|---|---|---|
| Scope | Discoverable resources and compatibility under the current profile | Platform-wide foundation model catalog |
| Output | endpoint ID(ep-xxx) or plan model name |
All foundation_model fields + ArkModels enrich |
| Dispatch | Switch endpoint / plan / coding API by profile.type | Generic ListFoundationModel |
| Cache | None | Has cache scope (profile/region/project) |
| Primary use | Discover candidates, check Profile/resource type compatibility | Find models, compare models, confirm capability |
In short:resources list provides resource discovery and compatibility under the current Profile,models provides the platform model catalog; neither guarantees that a real data-plane call will succeed.
Agent quick execution order
- The user provided
ep-...→arkcli resources resolve <ep-id> --format json, first readendpoint_model_typeandmodel_id, then readsupported_workflows/generation_modality/requires_user_intent - Unsure of the current profile →
arkcli auth whoami --format json, read the current identity and the availableprofile.name/profile.type; when fields are missing, diagnose according to the currently compiled product, do not guess the type.profile show/listmay synchronize and write back the local Key inventory, and is not used as read-only admission before ordinary generation. During read-only verification,auth status/auth whoami/resources listexecute only one complete ArkCLI command at a time and read the raw JSON and exit status; do not concatenate; echo、heador redirect and then only check the exit code. When a command is rejected by the host, explain the gap, and do not treat the rejection as a fact about the account or resources. - text resource →
arkcli resources list --modality text --format json - image / video resource →
arkcli resources list --modality image --format json/--modality video - Multi-profile comparison → run separately
--profile A --modality textand--profile B --modality text - Read each item's
invocable/required_overrides;is_default: trueonly indicates the default preference, and does not guarantee that the current credential can invoke it - When the already-specified current default / user-specified EP is not in the list, resolve the same EP under the same identity; verify region, Running status, target API/workflow/modality, and warnings, then verify Profile/Key data-plane compatibility. Do not bypass explicitly non-invokable items or required_overrides; do not create an EP merely because the list is empty, or silently switch models, Profile, or default.
Command overview
| Command | Description |
|---|---|
arkcli resources list |
List the visible resources, data plane, and invocation compatibility for the specified modality under the current/specified profile |
arkcli resources resolve <endpoint-id> |
Authoritatively resolve the Endpoint-bound model, modality, candidate workflows, and region |
Output form
{
"profile": "platform_cn-beijing_default",
"type": "platform",
"modality": "text",
"items": [
{
"id": "ep-20260424-aaaaa",
"resource_kind": "endpoint",
"data_plane": "platform",
"credential_kind": "paygo",
"invocable": true
}
],
"current_default": "ep-20260424-bbbbb",
"item_count": 1
}
is_default appears only when items[].id == current_default ;invocable=false view when
required_overrides(for example ["api_key"]). Visible resources do not mean the current credential can invoke them.
resources resolve binding identity contract:
endpoint_model_type=CustomModel:model_id == custom_model_id == cm-...;base_model_*only describes the training lineage and capability metadata source; do not usebase_model_idas a substitute for the real binding.endpoint_model_type=FoundationModel:model_idis still the base model ID, and its existing semantics remain unchanged.resolution_warningsremains fail-soft when non-empty; do not guess the binding on your own based on Custom/Foundation references that appear at the same time.
Common errors
- coding-plan's image/video uses the platform Endpoint pool; verify the postpaid Key before invoking. When the list is empty, check the query scope/permissions; if there is already a precise target, resolve it first; creating a resource is a different user intent, so hand it off to the Deploy Skill and do not trigger it automatically from an empty list.
coding-plan resources list: 缺 AccountID (请先 arkcli auth login)→ only the text path requires AccountID; if SSO is not logged in or claims.Sub is empty during token parsing, go througharkcli auth login volc-ssoListEndpoints: NotLogin / Unauthorized→ login state/STS expired /--profile X's X has no token in the identity store; firstauth loginunsupported profile type "X" for resources list→ verify the current effective context according to the shared rules, then hand off to the Config/Profile Skill for troubleshooting; do not rebuild or modify the Profile without user intent.
Reference
../arkcli-profile/SKILL.md— when you want to change the default after viewing resources, go to../arkcli-models/SKILL.md— when looking for models / comparing capabilities, go to../arkcli-deploy/SKILL.md— when you do not see the desired endpoint, go to the creation flow../arkcli-shared/references/execution-context.md— Profile/credential/resource matrix and temporary overrides