--- name: fanwei-e10-api-doc description: 为泛微 OA E10 OpenAPI 集成生成面向外部开发者的 Markdown API 文档。当用户要求编写 E10 接口文档时使用,尤其适用于以下场景:创建流程实例、发现流程表单字段、提取 E10 OpenAPI 文档、编写 OAuth2 `access_token` 获取流程说明,或基于 E10 系统产出可供开发者直接使用的 API 文档。 --- # Fanwei E10 API Documentation Use this skill to create developer-facing Markdown API documentation for 泛微 OA E10 OpenAPI integrations. Focus on external system developers: how to authenticate, which endpoint to call, what parameters to send, how workflow form fields map to request payloads, and how to handle responses. ## Hard boundary: read-only operation Never modify the E10 system while using this skill. Allowed actions: - Navigate pages, view content, take screenshots, and extract rendered text. - Use authenticated browser-session read calls to retrieve workflow, form, and field metadata. - Inspect E10 OpenAPI documentation pages. - Generate documentation outside the E10 system. Forbidden actions: - Create, update, delete, publish, enable, disable, submit, approve, or reject any workflow, form, system object, or business data. - Call any endpoint or UI action that changes E10 configuration or data. - Save credentials to memory, files, logs, examples, or final documentation. If an endpoint or UI action might write data, stop and ask the user before continuing. ## Required inputs Before accessing E10, collect or confirm: - E10 base URL, expressed as `https://` in final documentation. - Login account and password for the current task only. - Target documentation type: general E10 OpenAPI documentation or workflow-instance API documentation. - Target workflow name when documenting workflow instance creation. - Desired output location and filename if the user cares; otherwise save as `E10__API.md`. Do not reuse cached credentials. Do not expose real IPs, real credentials, real tokens, internal IDs, database names, or internal API paths in the final external-facing document unless the user explicitly requests an internal-only diagnostic note. ## Workflow decision tree 1. Determine whether the request is for a general E10 API or for creating a workflow instance. 2. If the task needs live E10 inspection, read `references/login-and-browser-harness.md` and log in through an isolated browser session. 3. For OpenAPI documentation pages, read `references/openapi-doc-navigation.md` and extract rendered documentation text. 4. For workflow-instance documentation, read `references/workflow-field-discovery.md` and use the internal read-only API chain described in `references/internal-apis.md` to discover workflow, form, and field metadata. 5. If the API involves attachments, read the file-upload section in `references/openapi-doc-navigation.md` and include an upload prerequisite section. 6. Generate the final Markdown using `assets/templates/e10-api-doc-template.md`. 7. Validate the output with `references/output-document-standard.md` and `evals/test-cases.md` before presenting or saving it. 8. If live access fails, provide the missing inputs or evidence needed instead of inventing field definitions, endpoint details, owners, dates, IDs, or examples. ## External documentation rules The final output must be written for external integration developers, not E10 administrators. Always include: - OAuth2 `code` to `access_token` flow. - A clear statement that `access_token` is passed as a request-body parameter, not as an HTTP Bearer header. - Identity mapping guidance: `userType`, `deptType`, and field-level `dataOptions` for employee, department, subcompany, file, and related object fields. - Request URL, method, content type, request parameters, request examples, response parameters, response examples, and error codes. - At least two `curl` examples when documenting workflow creation: a minimal request and a full request. - Workflow field tables grouped by business meaning, not by internal E10 UI group names. Never include in the external-facing document: - Real E10 hostnames or IP addresses; use `https://`. - Credentials, session cookies, real tokens, app secrets, or screenshots. - E10 version numbers, internal document page IDs, internal API paths, database table names, `columnName`, or management UI instructions. - Internal troubleshooting notes, browser-harness commands, XHR interception details, or generation timestamps. - Informal warning labels such as “坑”, “注意”, “陷阱”, or “提示”; convert them into formal parameter notes or constraints. ## Resource guide Use these bundled resources as needed: - `references/login-and-browser-harness.md`: isolated browser startup, login, captcha handling, session safety, cleanup. - `references/openapi-doc-navigation.md`: how to navigate rendered E10 OpenAPI docs and distinguish similar API names. - `references/workflow-field-discovery.md`: workflow lookup, form lookup, field extraction, main/detail table handling. - `references/internal-apis.md`: read-only internal API chain for workflow/form/field metadata. - `references/output-document-standard.md`: final documentation quality rules and field mapping conventions. - `references/troubleshooting.md`: common failures and recovery steps. - `assets/templates/e10-api-doc-template.md`: output skeleton for generated Markdown API documentation. - `examples/`: sanitized examples showing prompt, extracted metadata, and expected output style. - `evals/test-cases.md`: trigger and quality checks for maintaining this skill. ## Completion checklist Before finishing, verify: - The document is usable without access to E10 management pages. - All URLs use `https://`. - Authentication is complete and accurate. - Request examples use external identifiers, such as job number and department code, rather than internal E10 IDs. - No internal API path, database table name, session value, screenshot path, or version number appears in the final document. - Field names, types, required flags, and examples are derived from actual documentation or explicit user-provided metadata. - Missing or uncertain information is marked as “需确认” rather than fabricated.