alicloud-ai-text-document-mind
Use Document Mind (DocMind) via Node.js SDK to submit document parsing jobs and poll results. Designed for Claude Code/Codex document understanding workflows.
How do I install this agent skill?
npx skills add https://github.com/cinience/alicloud-skills --skill alicloud-ai-text-document-mindIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides a standard integration with Alibaba Cloud's Document Mind service for parsing documents. It uses official SDKs and follows secure credential management practices by retrieving keys from environment variables. While it processes external document content, which is a common surface for indirect prompt injection, this is inherent to its primary purpose and no malicious patterns were detected.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
- Runlayerwarn
3/4 files flagged
What does this agent skill do?
Category: provider
Document Mind (DocMind) — Node.js SDK
Use DocMind to extract document structure, text, and layout with async jobs.
Prerequisites
- Install SDKs:
npm install @alicloud/docmind-api20220711 @alicloud/tea-util @alicloud/credentials
- Provide credentials via standard Alibaba Cloud env vars:
ALICLOUD_ACCESS_KEY_IDALICLOUD_ACCESS_KEY_SECRETALICLOUD_REGION_ID(optional default; if unset, choose the most reasonable region for the task or ask the user)
Quickstart (submit + poll)
const Client = require('@alicloud/docmind-api20220711');
const Credential = require('@alicloud/credentials');
const Util = require('@alicloud/tea-util');
const cred = new Credential.default();
const regionId = process.env.ALICLOUD_REGION_ID || 'cn-hangzhou'; // Example default; choose/ask if unset.
const client = new Client.default({
endpoint: `docmind-api.${regionId}.aliyuncs.com`,
accessKeyId: cred.credential.accessKeyId,
accessKeySecret: cred.credential.accessKeySecret,
type: 'access_key',
regionId,
});
async function submitByUrl(fileUrl, fileName) {
const req = new Client.SubmitDocStructureJobRequest();
req.fileUrl = fileUrl;
req.fileName = fileName;
const resp = await client.submitDocStructureJob(req);
return resp.body.data.id;
}
async function pollResult(jobId) {
const req = new Client.GetDocStructureResultRequest();
req.id = jobId;
const resp = await client.getDocStructureResult(req);
return resp.body;
}
(async () => {
const jobId = await submitByUrl('https://example.com/example.pdf', 'example.pdf');
console.log('jobId:', jobId);
// Poll every 10s until completed.
for (;;) {
const result = await pollResult(jobId);
if (result.completed) {
console.log(result.status, result.data || result.message);
break;
}
await new Promise((r) => setTimeout(r, 10000));
}
})();
Script quickstart
DOCMIND_FILE_URL="https://example.com/example.pdf" \\
node skills/ai/text/alicloud-ai-text-document-mind/scripts/quickstart.js
Environment variables:
DOCMIND_FILE_URLDOCMIND_FILE_NAME(optional)DOCMIND_POLL_INTERVAL_MS(optional, default 10000)DOCMIND_MAX_POLLS(optional, default 120)
Local file upload
const fs = require('fs');
const advanceReq = new Client.SubmitDocStructureJobAdvanceRequest();
advanceReq.fileUrlObject = fs.createReadStream('./example.pdf');
advanceReq.fileName = 'example.pdf';
const runtime = new Util.RuntimeOptions({});
const resp = await client.submitDocStructureJobAdvance(advanceReq, runtime);
Notes for Claude Code/Codex
- DocMind is async: submit a job, then poll until
completed=true. - Poll every ~10s; max processing window is 120 minutes.
- Keep files publicly accessible when using URL submission.
Error handling
UrlNotLegal: URL not publicly accessible or malformed.DocProcessing: job still running; keep polling.Fail: checkmessageand error code for root cause.
Validation
mkdir -p output/alicloud-ai-text-document-mind
for f in skills/ai/text/alicloud-ai-text-document-mind/scripts/*.py; do
python3 -m py_compile "$f"
done
echo "py_compile_ok" > output/alicloud-ai-text-document-mind/validate.txt
Pass criteria: command exits 0 and output/alicloud-ai-text-document-mind/validate.txt is generated.
Output And Evidence
- Save artifacts, command outputs, and API response summaries under
output/alicloud-ai-text-document-mind/. - Include key parameters (region/resource id/time range) in evidence files for reproducibility.
Workflow
- Confirm user intent, region, identifiers, and whether the operation is read-only or mutating.
- Run one minimal read-only query first to verify connectivity and permissions.
- Execute the target operation with explicit parameters and bounded scope.
- Verify results and save output/evidence files.
References
-
DocMind Node.js SDK:
@alicloud/docmind-api20220711 -
Source list:
references/sources.md
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/cinience/alicloud-skills/alicloud-ai-text-document-mind">View alicloud-ai-text-document-mind on skillZs</a>