# Send Nextcloud to your agent
Use the source page and any available docs to guide the install because the item currently does not return a direct package file.
## Fast path
- Open the source page via Open source listing.
- If you can obtain the package, extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the source page and extracted files.
## Suggested prompts
### New install

```text
I tried to install a skill package from Yavira, but the item currently does not return a direct package file. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required. Then review README.md for any prerequisites, environment setup, or post-install checks.
```
### Upgrade existing

```text
I tried to upgrade a skill package from Yavira, but the item currently does not return a direct package file. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need. Then review README.md for any prerequisites, environment setup, or post-install checks.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "nextcloud-files",
    "name": "Nextcloud",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Romain-Grosos/nextcloud-files",
    "canonicalUrl": "https://clawhub.ai/Romain-Grosos/nextcloud-files",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/nextcloud-files",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nextcloud-files",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "config.example.json",
      "references/api.md",
      "references/troubleshooting.md",
      "scripts/_retry.py"
    ],
    "downloadMode": "manual_only",
    "sourceHealth": {
      "source": "tencent",
      "slug": "nextcloud-files",
      "status": "source_issue",
      "reason": "not_found",
      "recommendedAction": "review_source",
      "checkedAt": "2026-05-06T04:24:55.275Z",
      "expiresAt": "2026-05-07T04:24:55.275Z",
      "httpStatus": 404,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nextcloud-files",
      "contentType": "text/plain",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nextcloud-files",
        "contentDisposition": null,
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "nextcloud-files"
      },
      "scope": "item",
      "summary": "Known item issue.",
      "detail": "This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.",
      "primaryActionLabel": "Open source listing",
      "primaryActionHref": "https://clawhub.ai/Romain-Grosos/nextcloud-files"
    },
    "validation": {
      "installChecklist": [
        "Open the source listing and confirm there is a real package or setup artifact available.",
        "Review SKILL.md before asking your agent to continue.",
        "Treat this source as manual setup until the upstream download flow is fixed."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/nextcloud-files",
    "downloadUrl": "https://openagent3.xyz/downloads/nextcloud-files",
    "agentUrl": "https://openagent3.xyz/skills/nextcloud-files/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nextcloud-files/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nextcloud-files/agent.md"
  }
}
```
## Documentation

### Nextcloud Skill

Full Nextcloud client: WebDAV (files/folders) + OCS (tags, user info). Zero external dependencies - stdlib only (urllib).
Credentials: ~/.openclaw/secrets/nextcloud_creds · Config: ~/.openclaw/config/nextcloud/config.json

### Trigger phrases

Load this skill immediately when the user says anything like:

"upload / save / write this file on Nextcloud / NC / cloud"
"create a folder on Nextcloud", "mkdir in NC"
"list / browse / show what's in [folder] on Nextcloud"
"search for [file] in NC", "find [file] on Nextcloud"
"read / get / download [file] from Nextcloud"
"rename / move / copy [file] on Nextcloud"
"check my storage quota", "how much space on NC"
"tag this file", "mark as favorite on Nextcloud"

### Quick Start

python3 scripts/nextcloud.py config    # verify credentials + active config
python3 scripts/nextcloud.py quota     # test connection + show storage
python3 scripts/nextcloud.py ls /      # list root directory

### Setup

python3 scripts/setup.py       # interactive: credentials + permissions + connection test
python3 scripts/init.py        # validate all configured permissions against live instance

init.py only runs write/delete tests when both allow_write=true and allow_delete=true. When allow_delete=false, write tests are skipped - no test artifacts are created or left behind.

Manual - ~/.openclaw/secrets/nextcloud_creds (chmod 600):

NC_URL=https://cloud.example.com
NC_USER=username
NC_APP_KEY=app-password

App password: Nextcloud → Settings → Security → App passwords.

config.json - behavior restrictions:

KeyDefaultEffectbase_path"/"Restrict agent to subtree (e.g. "/Jarvis")allow_writefalsemkdir, write, rename, copy (enable explicitly)allow_deletefalsedelete files and folders (enable explicitly)readonly_modefalseoverride: block all writes regardless of above

Safe defaults: both allow_write and allow_delete are false by default. Enable each explicitly only when needed. Combine with a restricted base_path (e.g. "/Jarvis") to limit the agent's scope.
Share capability is not included by default. See README for instructions on how to restore it if needed.

### Storage & credentials

The skill reads and writes the following paths. All usage is intentional and documented:

PathWritten byPurpose~/.openclaw/secrets/nextcloud_credssetup.pyNextcloud credentials (NC_URL, NC_USER, NC_APP_KEY). chmod 600. Never committed.~/.openclaw/config/nextcloud/config.jsonsetup.pyBehavior restrictions (base_path, allow_write, allow_delete, readonly_mode). No secrets. Not in skill dir - survives clawhub updates.

Credentials can also be provided via environment variables (NC_URL, NC_USER, NC_APP_KEY) instead of the creds file. The skill checks env vars first.

Cleanup on uninstall: clawhub uninstall nextcloud-files removes the skill directory. To also remove credentials and config:

python3 scripts/setup.py --cleanup

On reinstall, any existing config at ~/.openclaw/config/nextcloud/config.json is picked up automatically.

### Module usage

from scripts.nextcloud import NextcloudClient
nc = NextcloudClient()
nc.write_file("/Jarvis/notes.md", "# Notes\\n...")
nc.mkdir("/Jarvis/Articles")
items = nc.list_dir("/Jarvis")

### CLI reference

# Files & folders
python3 scripts/nextcloud.py mkdir /path/folder
python3 scripts/nextcloud.py write /path/file.md --content "# Title"
python3 scripts/nextcloud.py write /path/file.md --file local.md
python3 scripts/nextcloud.py write /path/file.md --content "new entry" --append
python3 scripts/nextcloud.py read  /path/file.md
python3 scripts/nextcloud.py rename /old /new
python3 scripts/nextcloud.py copy   /src /dst
python3 scripts/nextcloud.py delete /path
python3 scripts/nextcloud.py exists /path          # exit 0/1

# Listing & search
python3 scripts/nextcloud.py ls /path --depth 2 --json
python3 scripts/nextcloud.py search "keyword" --path /folder --limit 20

# Favorites & tags
python3 scripts/nextcloud.py favorite /path/file.md
python3 scripts/nextcloud.py tags
python3 scripts/nextcloud.py tag-create "research"
python3 scripts/nextcloud.py tag-assign <file_id> <tag_id>

# Account
python3 scripts/nextcloud.py quota
python3 scripts/nextcloud.py config

### Structured workspace setup

python3 scripts/nc_setup.py --root Jarvis --folders Articles,LinkedIn,Recherche,Veille

### Append to a running log

nc.append_to_file("/Jarvis/log.md", f"\\n## {today}\\n{entry}\\n")

### Read and update a JSON list

items = nc.read_json("/Jarvis/Veille/articles.json")
items["articles"].append(new_article)
nc.write_json("/Jarvis/Veille/articles.json", items)

### Tag a file after creation

ls = nc.list_dir("/Jarvis/Articles", depth=1)
file_id = next(f["file_id"] for f in ls if f["name"] == "article.md")
tags = nc.get_tags()
tag_id = next(t["id"] for t in tags if t["name"] == "published")
nc.assign_tag(file_id, tag_id)

### Ideas

Sandbox the agent with base_path: "/Jarvis" - it can't touch anything else
Store agent-produced Markdown files and auto-share a read-only link in the reply
Use append_to_file for rolling logs or changelogs
Use write_json + read_json for persistent state between sessions
Auto-tag files by category (research / draft / published)

### Combine with

SkillWorkflowghostWrite a post → save Markdown draft to NC → publish to GhostsummarizeSummarize a URL → save summary as .md to NCgmailReceive an attachment → save to NC for archivingobsidianSync Obsidian vault notes to NC for remote backupself-improving-agentLog agent learnings to NC for persistent, searchable history

### API reference

See references/api.md for WebDAV/OCS endpoint details, PROPFIND properties, and error codes.

### Troubleshooting

See references/troubleshooting.md for common errors and fixes.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Romain-Grosos
- Version: 1.2.3
## Source health
- Status: source_issue
- Known item issue.
- This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.
- Health scope: item
- Reason: not_found
- Checked at: 2026-05-06T04:24:55.275Z
- Expires at: 2026-05-07T04:24:55.275Z
- Recommended action: Open source listing
## Links
- [Detail page](https://openagent3.xyz/skills/nextcloud-files)
- [Send to Agent page](https://openagent3.xyz/skills/nextcloud-files/agent)
- [JSON manifest](https://openagent3.xyz/skills/nextcloud-files/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/nextcloud-files/agent.md)
- [Download page](https://openagent3.xyz/downloads/nextcloud-files)