规范化后的skill
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# Workflow Field Discovery
|
||||
|
||||
Use this reference when the user asks for documentation for creating a specific E10 workflow instance.
|
||||
|
||||
## Preferred path
|
||||
|
||||
Prefer internal read-only APIs over UI clicking:
|
||||
|
||||
1. Call `getBaseInfoListTree` to locate the workflow and workflowId.
|
||||
2. Call `getFormList` with the core workflow keyword to locate the formId.
|
||||
3. Call `getForm` to read form metadata and detect detail tables.
|
||||
4. Call `getFormFieldPage` to retrieve field definitions.
|
||||
5. Use UI and DOM extraction only as a fallback.
|
||||
|
||||
See `internal-apis.md` for endpoints and response structure.
|
||||
|
||||
## Matching workflow names
|
||||
|
||||
Workflow titles may include category numbers, prefixes, or punctuation. Search using both:
|
||||
|
||||
- Exact user-provided name.
|
||||
- Core keyword after removing numbering, punctuation, and common suffixes such as “流程”.
|
||||
|
||||
If multiple workflows match, show the candidates and ask the user to choose.
|
||||
|
||||
## Matching forms
|
||||
|
||||
`workflowId` and `formId` are different entities. Never substitute one for the other.
|
||||
|
||||
Form names may be shorter than workflow names. For example, a workflow title may include a prefix while the form name may not. Use `getFormList` with a core keyword, then confirm by comparing the form name to the target workflow.
|
||||
|
||||
## Main table and detail table handling
|
||||
|
||||
Use `getForm` to determine whether the form has detail tables.
|
||||
|
||||
- If no detail table exists, omit the detail-table section in the final documentation.
|
||||
- If detail tables exist, retrieve each detail table's fields and document them in separate business sections.
|
||||
- If a detail table exists but field extraction fails, mark the detail table fields as “需确认” rather than inventing field definitions.
|
||||
|
||||
## Field extraction quality
|
||||
|
||||
For each field, capture at least:
|
||||
|
||||
- Display name: `title`.
|
||||
- Payload key: `dataKey`.
|
||||
- Field type: `type`.
|
||||
- Requiredness if available from OpenAPI docs, form rules, or explicit user-provided metadata.
|
||||
- Business meaning if inferable from name and context.
|
||||
|
||||
Do not include internal values such as database table names, `columnName`, management UI group names, or internal API paths in final documentation.
|
||||
|
||||
## UI fallback
|
||||
|
||||
Use UI fallback only if internal read-only APIs fail.
|
||||
|
||||
General fallback path:
|
||||
|
||||
1. Navigate to `/info/engine_wf/pathdef/list/company`.
|
||||
2. Locate the target workflow card.
|
||||
3. Use coordinate click when JS `click()` fails.
|
||||
4. Enter `表单管理` then `字段管理`.
|
||||
5. Extract table rows or intercept XHR requests.
|
||||
|
||||
E10 workflow UI has multiple similarly named navigation items. Distinguish:
|
||||
|
||||
- `表单管理` top tab inside workflow detail page.
|
||||
- `字段管理` sub-tab inside form management.
|
||||
- `字段设置` is not `字段管理`.
|
||||
- `主表` and `明细表` are table-level tabs after entering field management.
|
||||
|
||||
## Fallback XHR interception
|
||||
|
||||
If UI must be used to discover `formTableId`, inject an XHR hook before switching the main/detail table tab, then inspect captured request bodies for `getFormFieldPage`.
|
||||
|
||||
Use this only for internal extraction. Do not mention XHR interception in the final external documentation.
|
||||
Reference in New Issue
Block a user