SuperAPI AI Directory

dws-shared

General & other

View repository

Updated 10-15 21:10

About this skill

DWS Shared Execution Contract

Treat this file as a lightweight common prerequisite for all DWS operations. For clear single-product requests, directly use the corresponding dingtalk-* skill; only when DWS is referred to generically, for cross-product flows, URL pre-checks, or unclear intent, use this skill as the entry point for second-level routing.

All DWS operations must comply with the following

  • Operate DingTalk products only through the dws CLI; do not bypass with curl, private HTTP APIs, or a browser.
  • All structured machine-readable commands use --format json, and results are judged by the actual returned fields.
  • Second/millisecond timestamps in responses must be converted to human-readable date-times with time zone before being presented to the user; by default use the current session time zone (in this environment, Asia/Shanghai), and retain the original value when necessary; it is forbidden to hand only a bare timestamp to the Agent or user for determining the specific date.
  • Do not guess commands, flags, field names, UUIDs, nodeIds, userIds, email addresses, phone numbers, or URLs.
  • When the user has clearly stated the product content intent, the intent takes precedence over the URL form..md and other local-format files are treated as ordinary files and go through drive: first dws drive download download locally for processing, then use dws drive upload to upload back.
  • When unsure about a command or parameter, first run the closest-level dws <path> --help; it is forbidden to directly assemble natural-language synonyms into commands.
  • IDs used in subsequent steps must come from the actual returns of the previous step; when multiple people share a name, there are multiple targets, or the type is unclear, disambiguate first.
  • In multi-account scenarios, when only an organization is passed, use the default account of that organization's unique isOrgCurrent=true ; if a multi-account organization has no default account, first ask the user to specify an account; it is forbidden to choose the first item, the most recently logged-in, or the most recently used account. For account selection and cross-organization rules, see ../dingtalk-profile/SKILL.md。
  • Do not output, relay, or record credentials such as tokens, refresh tokens, or appSecret. When the host has already injected authentication, do not require the user to provide credentials again.
  • Write operations must conform to the user's explicit intent. For deletions, approval decisions, and other irreversible/high-impact operations, first present the object, action, and impact, and only append after obtaining explicit consent --yes; silent confirmation is not allowed.
  • After write operations such as create, update, or send, read back or query the status as required by the product skill; do not claim success based solely on the exit code.

Progressive Loading

Only read the files needed for the current task; do not load all shared references at once:

Current situation Required reading
A single product is already clear The corresponding ../dingtalk-*/SKILL.md; do not read the routing reference
DWS is referred to generically and a product needs to be selected routing.md
Cross-product, multi-step, summary, or report workflow-routing.md
The input contains DingTalk URLs such as alidocs or shanji and the type is unclear url-patterns.md
Product boundaries are still difficult to determine intent-guide.md The relevant section of
Authentication, global flags, or output format issues global-reference.md
The command has already returned an error error-codes.md; look up only the section corresponding to the error
Suspect the capability is not supported capability-limits.md
Batch/multi-source collection conventions.md
Fixed short workflow lite-recipes.md Corresponding section

Product commands, scripts, and field details are in the corresponding product skill, not in dws-shared for duplicate maintenance.

Routing order when this skill serves as the entry point

  1. First identify a clear product content intent; a clear intent goes directly to the corresponding product. Only when the input contains a DingTalk URL and the type is unclear or the intent may conflict with the link type, read url-patterns.md to identify the node type.
  2. The request contains multiple sequential steps, cross-product data passing, or a summary report: even if the URL has been identified, also read workflow-routing.md, and combine the required product skills according to the action guide; the current release package does not include an independent scenario skill.
  3. The request is a single-product operation but the product is unclear: read routing.md, then explicitly read the target product SKILL.md。
  4. doc/drive/wiki、aitable/sheet、calendar/conference/minutes and other boundaries are still unclear: only read intent-guide.md the corresponding section.
  5. If it still cannot be determined, ask the user, and do not guess the product or command.

Cross-skill execution

  • Relative in the body Read links are runtime dependencies;metadata.requires.skills is not loaded automatically.
  • After selecting the target product, the target skill's commands, parameters, and risk rules take precedence.
  • Multi-step processes pass real return values in order; read-only collection that can be parallelized is executed according to the corresponding workflow/reference, while write operations are serial by default and verified step by step.
  • Clear operations already inlined in the product skill are executed directly; only when encountering parameters or boundaries not covered by that skill, read the deeper reference.

Shortest error path

  1. unknown command / unknown flag: run the corresponding level --help, and after correction retry at most once.
  2. Authentication or permission error: read global-reference.md and error-codes.md the corresponding section.
  3. Other errors: add --verbose retry once; if it still fails, stop and report the real error, and do not continuously try alternative commands.
  4. Clearly unsupported capabilities: explain the boundary, and do not bypass it through other interfaces.