Manusで任意のスキルを実行
ワンクリックで
ワンクリックで
ワンクリックでManusで任意のスキルを実行
始める$pwd:
droploft-doc
// Manage Droploft documents (drops): upload, list, get, content, share, publish, delete.
$ git log --oneline --stat
stars:1
forks:0
updated:2026年4月27日 07:02
SKILL.md
// Manage Droploft documents (drops): upload, list, get, content, share, publish, delete.
Layer 3 raw HTTP: any endpoint not yet covered by a flow or resource verb.
Lofts: types, switching, listing, member operations.
Droploft v2 CLI: authentication, configuration, profiles, and patterns shared across all domains.
Background task runs — list, inspect, retry. Use this to debug async failures from doc +upload, publish, etc.
Workspaces: switching, listing, members, navigation tree.
| name | droploft-doc |
| version | 0.2.0 |
| description | Manage Droploft documents (drops): upload, list, get, content, share, publish, delete. |
| metadata | {"requires":{"bins":["droploft"],"skills":["droploft-shared"]},"cliHelp":"droploft doc --help"} |
A drop is a single document. It belongs to exactly one loft. This skill covers everything that happens to drops after they are created.
loft_id — required for write ops; defaults to profile.loft_id set by loft +switch.kind — markdown or html. The CLI auto-detects from extension and content prefix.status — processing (just uploaded) → published (worker finished optimization).share_token and share_url (default share is enabled at creation).GET /v1/tasks/:id until status ∈ {success, failed, cancelled}.droploft doc +upload ./report.md
droploft doc +upload report.html --title "Q4 Plan" --loft <loft-id>
droploft doc +upload README.md --no-wait # return as soon as publish enqueues
Sequence:
--title).POST /v1/documents → {document_id, upload_url, share_token, share_url}.content-type: text/html|text/markdown.POST /v1/documents/:id/publish → {task_id}.GET /v1/tasks/:task_id (default deadline 120 s).droploft doc +list # uses profile.loft_id
droploft doc +list --loft <id> --limit 20
droploft documents list # current loft, scriptable
droploft documents get <doc-id> # detail incl. workspace/owner/share
droploft documents content <doc-id> # latest published content
droploft documents share-link <doc-id> # current share-link settings
droploft documents update-share <doc-id> --data '{"share_enabled":false}'
droploft documents publish <doc-id> # enqueue publish/optimize
droploft documents delete <doc-id> # move to trash
droploft documents trash # list trashed drops
droploft documents restore <doc-id> # restore from trash
droploft documents purge <doc-id> # permanent delete
droploft documents shared-with-me
Combine with --format json --jq '.[].id' to feed pipelines.
ID=$(droploft doc +upload ./build/index.html --no-wait --format json | jq -r .data.document_id)
# … later, after build settles
droploft documents publish "$ID"
droploft documents update-share <doc-id> --data '{"share_enabled":false}'
droploft tasks list --format table # find the failing task_id
droploft tasks get <task-id> # full row incl. error_message
droploft tasks retry <task-id> # re-enqueue
| Type | Meaning | Recovery |
|---|---|---|
auth_required (exit 3) | token missing/revoked | droploft auth login |
not_found (exit 4) | drop doesn't exist or no read access | check documents list / loft membership |
conflict (exit 5) | save race | retry with the latest base revision |
validation (exit 2) | bad body — check droploft schema get documents.create |
error.message includes the upgrade hint.update-share body shape is {share_enabled, password?, expires_at?, max_views?}.delete, the doc is hidden from documents list but remains in documents trash until purged.