@unityclaw/skills 1.0.6 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -70
- package/package.json +3 -2
- package/unityclaw-document-convert/SKILL.md +18 -5
- package/unityclaw-document-translation/SKILL.md +11 -2
- package/unityclaw-idp-business-extraction/SKILL.md +63 -0
- package/unityclaw-idp-contract-extraction/SKILL.md +63 -0
- package/unityclaw-idp-invoice-extraction/SKILL.md +65 -0
- package/unityclaw-idp-personal-documents/SKILL.md +69 -0
- package/unityclaw-image-compress/SKILL.md +10 -1
- package/unityclaw-image-generation/SKILL.md +59 -16
- package/unityclaw-media-analysis/SKILL.md +27 -19
- package/unityclaw-media-download-xhs/SKILL.md +49 -0
- package/unityclaw-media-stats/SKILL.md +49 -0
- package/unityclaw-media-user-info/SKILL.md +49 -0
- package/unityclaw-video-frame-extract/SKILL.md +50 -0
- package/unityclaw-video-generation-jimeng-doubao/SKILL.md +79 -0
- package/unityclaw-video-generation-kling/SKILL.md +12 -4
- package/unityclaw-video-generation-wan-minimax/SKILL.md +79 -0
- package/unityclaw-video-generation-other/SKILL.md +0 -324
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @unityclaw/skills
|
|
2
2
|
|
|
3
|
-
UnityClaw Skills
|
|
3
|
+
UnityClaw Skills for Claude Code and OpenClaw.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -14,20 +14,15 @@ npx @unityclaw/skills --help
|
|
|
14
14
|
|
|
15
15
|
## API Key Configuration
|
|
16
16
|
|
|
17
|
-
All skills require an API key
|
|
17
|
+
All skills require an API key:
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
# Install SDK globally
|
|
21
20
|
npm install -g @unityclaw/sdk
|
|
22
|
-
|
|
23
|
-
# Configure API key (stored in ~/.unityclaw/config.json)
|
|
24
21
|
unityclaw-sdk config set apiKey your-api-key
|
|
25
|
-
|
|
26
|
-
# Verify configuration
|
|
27
22
|
unityclaw-sdk config
|
|
28
23
|
```
|
|
29
24
|
|
|
30
|
-
Or
|
|
25
|
+
Or:
|
|
31
26
|
|
|
32
27
|
```bash
|
|
33
28
|
export UNITYCLAW_API_KEY=your-api-key
|
|
@@ -35,102 +30,107 @@ export UNITYCLAW_API_KEY=your-api-key
|
|
|
35
30
|
|
|
36
31
|
## CLI Commands
|
|
37
32
|
|
|
38
|
-
### Install Skills
|
|
39
|
-
|
|
40
|
-
Install skills to Claude Code or OpenClaw:
|
|
41
|
-
|
|
42
33
|
```bash
|
|
43
34
|
# Install all skills to Claude Code
|
|
44
35
|
npx @unityclaw/skills install
|
|
45
36
|
|
|
46
37
|
# Install specific skills
|
|
47
|
-
npx @unityclaw/skills install unityclaw-image-generation unityclaw-video-generation-
|
|
38
|
+
npx @unityclaw/skills install unityclaw-image-generation unityclaw-video-generation-kling
|
|
48
39
|
|
|
49
40
|
# Install to OpenClaw
|
|
50
41
|
npx @unityclaw/skills install --target openclaw
|
|
51
|
-
```
|
|
52
42
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
```bash
|
|
43
|
+
# List available skills
|
|
56
44
|
npx @unityclaw/skills list
|
|
57
|
-
```
|
|
58
45
|
|
|
59
|
-
|
|
46
|
+
# Update sdk + skills
|
|
47
|
+
npx @unityclaw/skills update
|
|
48
|
+
```
|
|
60
49
|
|
|
61
|
-
|
|
50
|
+
## Reorganized Skill List
|
|
62
51
|
|
|
63
|
-
|
|
64
|
-
# Update local packages
|
|
65
|
-
npx @unityclaw/skills update
|
|
52
|
+
This list is aligned with `~/moox/field-feishu` shortcuts and `server` `ParameterModel` definitions.
|
|
66
53
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
54
|
+
- Removed from skill list: `sora/*`, `veo/*`
|
|
55
|
+
- No version-level split for same model family (for example, no separate `jimeng-image-v3` skill)
|
|
56
|
+
- Document conversion is abstracted as one skill/API entry instead of many individual shortcut skills
|
|
70
57
|
|
|
71
|
-
###
|
|
58
|
+
### Image
|
|
72
59
|
|
|
73
|
-
|
|
60
|
+
- [unityclaw-image-generation](./unityclaw-image-generation/SKILL.md)
|
|
61
|
+
: Covers `gemini/image/v2` + `jimeng/image` (unified)
|
|
62
|
+
- [unityclaw-image-compress](./unityclaw-image-compress/SKILL.md)
|
|
63
|
+
: Covers `image/compress`
|
|
74
64
|
|
|
75
|
-
|
|
76
|
-
# Generate an image
|
|
77
|
-
npx @unityclaw/skills /unityclaw-image-generation 我要一张竖屏的桌面背景图
|
|
65
|
+
### Video
|
|
78
66
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
67
|
+
- [unityclaw-video-generation-kling](./unityclaw-video-generation-kling/SKILL.md)
|
|
68
|
+
: Covers `kling/video`
|
|
69
|
+
- [unityclaw-video-generation-jimeng-doubao](./unityclaw-video-generation-jimeng-doubao/SKILL.md)
|
|
70
|
+
: Covers `jimeng/video`, `doubao/video`
|
|
71
|
+
- [unityclaw-video-generation-wan-minimax](./unityclaw-video-generation-wan-minimax/SKILL.md)
|
|
72
|
+
: Covers `wan/video`, `minimax/video`
|
|
82
73
|
|
|
83
|
-
|
|
74
|
+
### Document
|
|
84
75
|
|
|
85
|
-
|
|
76
|
+
- [unityclaw-document-translation](./unityclaw-document-translation/SKILL.md)
|
|
77
|
+
: Covers `doc/translate`
|
|
78
|
+
- [unityclaw-document-convert](./unityclaw-document-convert/SKILL.md)
|
|
79
|
+
: Covers generic `doc_convert/image` + `doc_convert/pdf`
|
|
86
80
|
|
|
87
|
-
|
|
88
|
-
|-------|-------------|-------|
|
|
89
|
-
| [unityclaw-image-generation](./unityclaw-image-generation/SKILL.md) | Generate images using Gemini or JiMeng models | 🎨 |
|
|
90
|
-
| [unityclaw-image-compress](./unityclaw-image-compress/SKILL.md) | Compress images with quality control | 🗜️ |
|
|
81
|
+
### Media
|
|
91
82
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
83
|
+
- [unityclaw-media-analysis](./unityclaw-media-analysis/SKILL.md)
|
|
84
|
+
: Covers `media_analysis`
|
|
85
|
+
- [unityclaw-media-stats](./unityclaw-media-stats/SKILL.md)
|
|
86
|
+
: Covers `media_stats`
|
|
87
|
+
- [unityclaw-media-user-info](./unityclaw-media-user-info/SKILL.md)
|
|
88
|
+
: Covers `media_user_info`
|
|
89
|
+
- [unityclaw-media-download-xhs](./unityclaw-media-download-xhs/SKILL.md)
|
|
90
|
+
: Covers `xiaohongshu/download`
|
|
91
|
+
- [unityclaw-video-frame-extract](./unityclaw-video-frame-extract/SKILL.md)
|
|
92
|
+
: Covers `video/frame`
|
|
97
93
|
|
|
98
|
-
###
|
|
94
|
+
### IDP
|
|
99
95
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
96
|
+
- [unityclaw-idp-personal-documents](./unityclaw-idp-personal-documents/SKILL.md)
|
|
97
|
+
: Covers `idp/id_card`, `idp/vehicle_license`, `idp/bank_card`
|
|
98
|
+
- [unityclaw-idp-invoice-extraction](./unityclaw-idp-invoice-extraction/SKILL.md)
|
|
99
|
+
: Covers `idp/vat_invoice`, `idp/train_invoice`, `idp/taxi_invoice`
|
|
100
|
+
- [unityclaw-idp-business-extraction](./unityclaw-idp-business-extraction/SKILL.md)
|
|
101
|
+
: Covers `idp/business_license`, `idp/business_card`
|
|
102
|
+
- [unityclaw-idp-contract-extraction](./unityclaw-idp-contract-extraction/SKILL.md)
|
|
103
|
+
: Covers `idp/contract`
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
IDP is intentionally split by scenario (personal/invoice/business/contract), instead of one generic skill, to improve skill routing accuracy and parameter selection success.
|
|
106
106
|
|
|
107
|
-
|
|
108
|
-
|-------|-------------|-------|
|
|
109
|
-
| [unityclaw-media-analysis](./unityclaw-media-analysis/SKILL.md) | Analyze video/audio content and extract insights | 📊 |
|
|
107
|
+
## Local File Input Support
|
|
110
108
|
|
|
111
|
-
|
|
109
|
+
With latest SDK, skill examples can use local file paths directly:
|
|
112
110
|
|
|
113
|
-
```
|
|
114
|
-
|
|
111
|
+
```ts
|
|
112
|
+
attachment: [{ path: './files/input.pdf' }]
|
|
113
|
+
```
|
|
115
114
|
|
|
116
|
-
|
|
117
|
-
const skills = await listSkills();
|
|
118
|
-
console.log(skills);
|
|
115
|
+
SDK will auto-upload the local file through `/api/upload` and replace it with a valid `tmp_url`.
|
|
119
116
|
|
|
120
|
-
|
|
121
|
-
await installSkills('claude', ['unityclaw-image-generation']);
|
|
117
|
+
## Parameter Normalization Notes
|
|
122
118
|
|
|
123
|
-
|
|
124
|
-
await installSkills('openclaw');
|
|
119
|
+
Only endpoints that **require** field-feishu structures are normalized.
|
|
125
120
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
121
|
+
- Text array conversion (`string` -> `[{ type: 'text', text: '...' }]`) is applied only for:
|
|
122
|
+
`jimeng/image`, `jimeng/image/v3`, `sora/video`, `sora/video/stable`, `veo/video`, `jimeng/video`, `doubao/video`.
|
|
123
|
+
- Label conversion (`'16:9'` -> `{ value: '16:9', label: '16:9' }`) is applied only for endpoints whose `ParameterModel` expects `LabelFieldItem`.
|
|
124
|
+
- For `doubao/video`, duration should use numeric value in `LabelFieldItem.value` when provided (for example `{ value: 5, label: '5' }`).
|
|
125
|
+
- Endpoints that already support plain strings are kept as-is (no forced conversion).
|
|
126
|
+
- If you pass full field-feishu structures, SDK keeps them unchanged.
|
|
129
127
|
|
|
130
|
-
##
|
|
128
|
+
## Skill Version Rule
|
|
131
129
|
|
|
132
|
-
-
|
|
133
|
-
-
|
|
130
|
+
- Every `unityclaw-*/SKILL.md` frontmatter `version` is auto-synced to `skills/package.json` version during `npm run build`.
|
|
131
|
+
- Every `SKILL.md` also contains an `SDK Version Check Rule` block:
|
|
132
|
+
- If local `@unityclaw/sdk` version is lower than the skill version, agent should stop and prompt SDK upgrade first.
|
|
133
|
+
- Suggested command: `npm i @unityclaw/sdk@latest`.
|
|
134
134
|
|
|
135
135
|
## License
|
|
136
136
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unityclaw/skills",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"description": "UnityClaw Skills - Claude Code and OpenClaw skill definitions for AI-powered image/video generation, media analysis, and more",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"unityclaw-*/SKILL.md"
|
|
20
20
|
],
|
|
21
21
|
"scripts": {
|
|
22
|
-
"
|
|
22
|
+
"sync:skill-metadata": "node scripts/sync-skill-metadata.mjs",
|
|
23
|
+
"build": "npm run sync:skill-metadata && tsup src/index.ts src/cli.ts --format cjs,esm --dts --clean",
|
|
23
24
|
"dev": "tsup src/index.ts src/cli.ts --format cjs,esm --dts --watch",
|
|
24
25
|
"typecheck": "tsc --noEmit",
|
|
25
26
|
"prepublishOnly": "npm run build"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: unityclaw-document-convert
|
|
3
3
|
description: Convert documents between formats (PDF, Word, PPT, Excel, Image)
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.9
|
|
5
5
|
metadata:
|
|
6
6
|
openclaw:
|
|
7
7
|
requires:
|
|
@@ -22,6 +22,7 @@ metadata:
|
|
|
22
22
|
# UnityClaw Document Convert
|
|
23
23
|
|
|
24
24
|
Convert documents between various formats including PDF, Word, PowerPoint, Excel, and images.
|
|
25
|
+
Recommended API is unified `client.document.convertDocument(...)`.
|
|
25
26
|
|
|
26
27
|
## Installation
|
|
27
28
|
|
|
@@ -71,11 +72,13 @@ import { UnityClawClient } from '@unityclaw/sdk';
|
|
|
71
72
|
|
|
72
73
|
const client = new UnityClawClient();
|
|
73
74
|
|
|
74
|
-
// Convert PDF to Word
|
|
75
|
-
const result = await client.document.
|
|
75
|
+
// Convert PDF to Word (unified API)
|
|
76
|
+
const result = await client.document.convertDocument({
|
|
76
77
|
attachment: [
|
|
77
|
-
{
|
|
78
|
-
]
|
|
78
|
+
{ path: './files/document.pdf' }
|
|
79
|
+
],
|
|
80
|
+
input_format: 'pdf',
|
|
81
|
+
output_format: 'docx'
|
|
79
82
|
});
|
|
80
83
|
|
|
81
84
|
// ✅ Correct: Check result.success, access data via result.response.data
|
|
@@ -108,6 +111,7 @@ if (result.success && result.response?.data) {
|
|
|
108
111
|
|
|
109
112
|
| Method | Description |
|
|
110
113
|
|--------|-------------|
|
|
114
|
+
| `convertDocument()` | Recommended unified conversion API |
|
|
111
115
|
| `convert()` | Generic conversion with format specification |
|
|
112
116
|
|
|
113
117
|
## API Reference
|
|
@@ -409,3 +413,12 @@ console.log('Downloaded Files:', result.attachments);
|
|
|
409
413
|
|
|
410
414
|
- [unityclaw-document-translation](../unityclaw-document-translation/SKILL.md) - Translate documents
|
|
411
415
|
- [unityclaw-image-compress](../unityclaw-image-compress/SKILL.md) - Compress images before conversion
|
|
416
|
+
|
|
417
|
+
<!-- SDK_VERSION_RULE_START -->
|
|
418
|
+
## SDK Version Check Rule
|
|
419
|
+
|
|
420
|
+
- Before invoking this skill, check local `@unityclaw/sdk` version.
|
|
421
|
+
- Required minimum SDK version: `1.0.9`
|
|
422
|
+
- If local SDK version is lower than this skill version, stop and prompt user to upgrade SDK first.
|
|
423
|
+
- Suggested command: `npm i @unityclaw/sdk@latest`
|
|
424
|
+
<!-- SDK_VERSION_RULE_END -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: unityclaw-document-translation
|
|
3
3
|
description: Translate documents between multiple languages while preserving formatting
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.9
|
|
5
5
|
metadata:
|
|
6
6
|
openclaw:
|
|
7
7
|
requires:
|
|
@@ -73,7 +73,7 @@ const client = new UnityClawClient();
|
|
|
73
73
|
|
|
74
74
|
const result = await client.document.translate({
|
|
75
75
|
attachment: [
|
|
76
|
-
{
|
|
76
|
+
{ path: './files/document.pdf' }
|
|
77
77
|
],
|
|
78
78
|
source_language: { value: 'en', label: 'English' },
|
|
79
79
|
target_language: { value: 'zh', label: 'Chinese' }
|
|
@@ -307,3 +307,12 @@ console.log('Downloaded Files:', result.attachments);
|
|
|
307
307
|
|
|
308
308
|
- [unityclaw-document-convert](../unityclaw-document-convert/SKILL.md) - Convert document formats
|
|
309
309
|
- [unityclaw-media-analysis](../unityclaw-media-analysis/SKILL.md) - Analyze video/audio content
|
|
310
|
+
|
|
311
|
+
<!-- SDK_VERSION_RULE_START -->
|
|
312
|
+
## SDK Version Check Rule
|
|
313
|
+
|
|
314
|
+
- Before invoking this skill, check local `@unityclaw/sdk` version.
|
|
315
|
+
- Required minimum SDK version: `1.0.9`
|
|
316
|
+
- If local SDK version is lower than this skill version, stop and prompt user to upgrade SDK first.
|
|
317
|
+
- Suggested command: `npm i @unityclaw/sdk@latest`
|
|
318
|
+
<!-- SDK_VERSION_RULE_END -->
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unityclaw-idp-business-extraction
|
|
3
|
+
description: Extract fields from business documents (business license, business card)
|
|
4
|
+
version: 1.0.9
|
|
5
|
+
metadata:
|
|
6
|
+
openclaw:
|
|
7
|
+
requires:
|
|
8
|
+
env:
|
|
9
|
+
- UNITYCLAW_API_KEY
|
|
10
|
+
bins:
|
|
11
|
+
- node
|
|
12
|
+
- npm
|
|
13
|
+
primaryEnv: UNITYCLAW_API_KEY
|
|
14
|
+
emoji: "🏢"
|
|
15
|
+
homepage: https://unityclaw.com
|
|
16
|
+
install:
|
|
17
|
+
- kind: node
|
|
18
|
+
package: "@unityclaw/sdk"
|
|
19
|
+
bins: []
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# UnityClaw IDP - Business Extraction
|
|
23
|
+
|
|
24
|
+
Use this skill for business document extraction:
|
|
25
|
+
- `business_license`
|
|
26
|
+
- `business_card`
|
|
27
|
+
|
|
28
|
+
## SDK APIs
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
await client.idp.businessLicense({ attachments: [{ path: './files/business-license.jpg' }] });
|
|
32
|
+
await client.idp.businessCard({ attachments: [{ path: './files/business-card.jpg' }] });
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Or generic API:
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
await client.idp.extract('business_license', {
|
|
39
|
+
attachments: [{ path: './files/business-license.jpg' }]
|
|
40
|
+
});
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Input
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
{
|
|
47
|
+
attachments: AttachmentInput[]
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Notes
|
|
52
|
+
|
|
53
|
+
- This skill groups enterprise scenarios to avoid over-generic routing.
|
|
54
|
+
- Output fields vary between license and card extraction.
|
|
55
|
+
|
|
56
|
+
<!-- SDK_VERSION_RULE_START -->
|
|
57
|
+
## SDK Version Check Rule
|
|
58
|
+
|
|
59
|
+
- Before invoking this skill, check local `@unityclaw/sdk` version.
|
|
60
|
+
- Required minimum SDK version: `1.0.9`
|
|
61
|
+
- If local SDK version is lower than this skill version, stop and prompt user to upgrade SDK first.
|
|
62
|
+
- Suggested command: `npm i @unityclaw/sdk@latest`
|
|
63
|
+
<!-- SDK_VERSION_RULE_END -->
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unityclaw-idp-contract-extraction
|
|
3
|
+
description: Extract structured fields from contract files
|
|
4
|
+
version: 1.0.9
|
|
5
|
+
metadata:
|
|
6
|
+
openclaw:
|
|
7
|
+
requires:
|
|
8
|
+
env:
|
|
9
|
+
- UNITYCLAW_API_KEY
|
|
10
|
+
bins:
|
|
11
|
+
- node
|
|
12
|
+
- npm
|
|
13
|
+
primaryEnv: UNITYCLAW_API_KEY
|
|
14
|
+
emoji: "📑"
|
|
15
|
+
homepage: https://unityclaw.com
|
|
16
|
+
install:
|
|
17
|
+
- kind: node
|
|
18
|
+
package: "@unityclaw/sdk"
|
|
19
|
+
bins: []
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# UnityClaw IDP - Contract Extraction
|
|
23
|
+
|
|
24
|
+
Use this skill for contract parsing:
|
|
25
|
+
- `contract`
|
|
26
|
+
|
|
27
|
+
## SDK APIs
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
await client.idp.contract({
|
|
31
|
+
attachments: [{ path: './files/contract.pdf' }]
|
|
32
|
+
});
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Or generic API:
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
await client.idp.extract('contract', {
|
|
39
|
+
attachments: [{ path: './files/contract.pdf' }]
|
|
40
|
+
});
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Input
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
{
|
|
47
|
+
attachments: AttachmentInput[]
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Notes
|
|
52
|
+
|
|
53
|
+
- Preferred for long contract OCR + key field extraction scenarios.
|
|
54
|
+
- Read extracted data from `result.response.data`.
|
|
55
|
+
|
|
56
|
+
<!-- SDK_VERSION_RULE_START -->
|
|
57
|
+
## SDK Version Check Rule
|
|
58
|
+
|
|
59
|
+
- Before invoking this skill, check local `@unityclaw/sdk` version.
|
|
60
|
+
- Required minimum SDK version: `1.0.9`
|
|
61
|
+
- If local SDK version is lower than this skill version, stop and prompt user to upgrade SDK first.
|
|
62
|
+
- Suggested command: `npm i @unityclaw/sdk@latest`
|
|
63
|
+
<!-- SDK_VERSION_RULE_END -->
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unityclaw-idp-invoice-extraction
|
|
3
|
+
description: Extract fields from invoice and ticket documents (VAT, train, taxi)
|
|
4
|
+
version: 1.0.9
|
|
5
|
+
metadata:
|
|
6
|
+
openclaw:
|
|
7
|
+
requires:
|
|
8
|
+
env:
|
|
9
|
+
- UNITYCLAW_API_KEY
|
|
10
|
+
bins:
|
|
11
|
+
- node
|
|
12
|
+
- npm
|
|
13
|
+
primaryEnv: UNITYCLAW_API_KEY
|
|
14
|
+
emoji: "🧾"
|
|
15
|
+
homepage: https://unityclaw.com
|
|
16
|
+
install:
|
|
17
|
+
- kind: node
|
|
18
|
+
package: "@unityclaw/sdk"
|
|
19
|
+
bins: []
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# UnityClaw IDP - Invoice Extraction
|
|
23
|
+
|
|
24
|
+
Use this skill for invoice/ticket extraction:
|
|
25
|
+
- `vat_invoice`
|
|
26
|
+
- `train_invoice`
|
|
27
|
+
- `taxi_invoice`
|
|
28
|
+
|
|
29
|
+
## SDK APIs
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
await client.idp.vatInvoice({ attachments: [{ path: './files/vat-invoice.pdf' }] });
|
|
33
|
+
await client.idp.trainInvoice({ attachments: [{ path: './files/train-ticket.jpg' }] });
|
|
34
|
+
await client.idp.taxiInvoice({ attachments: [{ path: './files/taxi-invoice.jpg' }] });
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Or generic API:
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
await client.idp.extract('vat_invoice', {
|
|
41
|
+
attachments: [{ path: './files/vat-invoice.pdf' }]
|
|
42
|
+
});
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Input
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
{
|
|
49
|
+
attachments: AttachmentInput[]
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Notes
|
|
54
|
+
|
|
55
|
+
- Files can be image/PDF according to each underlying IDP type.
|
|
56
|
+
- Output schema differs by type; parse from `result.response.data`.
|
|
57
|
+
|
|
58
|
+
<!-- SDK_VERSION_RULE_START -->
|
|
59
|
+
## SDK Version Check Rule
|
|
60
|
+
|
|
61
|
+
- Before invoking this skill, check local `@unityclaw/sdk` version.
|
|
62
|
+
- Required minimum SDK version: `1.0.9`
|
|
63
|
+
- If local SDK version is lower than this skill version, stop and prompt user to upgrade SDK first.
|
|
64
|
+
- Suggested command: `npm i @unityclaw/sdk@latest`
|
|
65
|
+
<!-- SDK_VERSION_RULE_END -->
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unityclaw-idp-personal-documents
|
|
3
|
+
description: Extract structured fields from personal identity documents (ID card, vehicle license, bank card)
|
|
4
|
+
version: 1.0.9
|
|
5
|
+
metadata:
|
|
6
|
+
openclaw:
|
|
7
|
+
requires:
|
|
8
|
+
env:
|
|
9
|
+
- UNITYCLAW_API_KEY
|
|
10
|
+
bins:
|
|
11
|
+
- node
|
|
12
|
+
- npm
|
|
13
|
+
primaryEnv: UNITYCLAW_API_KEY
|
|
14
|
+
emoji: "🪪"
|
|
15
|
+
homepage: https://unityclaw.com
|
|
16
|
+
install:
|
|
17
|
+
- kind: node
|
|
18
|
+
package: "@unityclaw/sdk"
|
|
19
|
+
bins: []
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# UnityClaw IDP - Personal Documents
|
|
23
|
+
|
|
24
|
+
Use this skill for personal document extraction:
|
|
25
|
+
- `id_card`
|
|
26
|
+
- `vehicle_license`
|
|
27
|
+
- `bank_card`
|
|
28
|
+
|
|
29
|
+
## SDK APIs
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
await client.idp.idCard({ attachments: [{ path: './files/id-card.jpg' }] });
|
|
33
|
+
await client.idp.vehicleLicense({ attachments: [{ path: './files/vehicle-license.jpg' }] });
|
|
34
|
+
await client.idp.bankCard({ attachments: [{ path: './files/bank-card.jpg' }] });
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Or generic API:
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
await client.idp.extract('id_card', {
|
|
41
|
+
attachments: [{ path: './files/id-card.jpg' }]
|
|
42
|
+
});
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Input
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
{
|
|
49
|
+
attachments: AttachmentInput[]
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
`AttachmentInput` supports:
|
|
54
|
+
- `tmp_url`
|
|
55
|
+
- local path (`path` / `localPath` / `filePath`), SDK auto-uploads to `/api/upload`
|
|
56
|
+
|
|
57
|
+
## Notes
|
|
58
|
+
|
|
59
|
+
- This category is split from invoice/business/contract to improve skill routing success.
|
|
60
|
+
- Output fields vary by type; read from `result.response.data`.
|
|
61
|
+
|
|
62
|
+
<!-- SDK_VERSION_RULE_START -->
|
|
63
|
+
## SDK Version Check Rule
|
|
64
|
+
|
|
65
|
+
- Before invoking this skill, check local `@unityclaw/sdk` version.
|
|
66
|
+
- Required minimum SDK version: `1.0.9`
|
|
67
|
+
- If local SDK version is lower than this skill version, stop and prompt user to upgrade SDK first.
|
|
68
|
+
- Suggested command: `npm i @unityclaw/sdk@latest`
|
|
69
|
+
<!-- SDK_VERSION_RULE_END -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: unityclaw-image-compress
|
|
3
3
|
description: Compress images with quality control to reduce file size
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.9
|
|
5
5
|
metadata:
|
|
6
6
|
openclaw:
|
|
7
7
|
requires:
|
|
@@ -263,3 +263,12 @@ console.log('Local Attachments:', result.attachments);
|
|
|
263
263
|
## Related Skills
|
|
264
264
|
|
|
265
265
|
- [unityclaw-image-generation](../unityclaw-image-generation/SKILL.md) - Generate images before compression
|
|
266
|
+
|
|
267
|
+
<!-- SDK_VERSION_RULE_START -->
|
|
268
|
+
## SDK Version Check Rule
|
|
269
|
+
|
|
270
|
+
- Before invoking this skill, check local `@unityclaw/sdk` version.
|
|
271
|
+
- Required minimum SDK version: `1.0.9`
|
|
272
|
+
- If local SDK version is lower than this skill version, stop and prompt user to upgrade SDK first.
|
|
273
|
+
- Suggested command: `npm i @unityclaw/sdk@latest`
|
|
274
|
+
<!-- SDK_VERSION_RULE_END -->
|