# Send Openclaw Nextcloud to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-nextcloud",
    "name": "Openclaw Nextcloud",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/keithvassallomt/openclaw-nextcloud",
    "canonicalUrl": "https://clawhub.ai/keithvassallomt/openclaw-nextcloud",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/openclaw-nextcloud",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-nextcloud",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/nextcloud.js"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "openclaw-nextcloud",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T17:11:45.712Z",
      "expiresAt": "2026-05-07T17:11:45.712Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-nextcloud",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-nextcloud",
        "contentDisposition": "attachment; filename=\"openclaw-nextcloud-0.1.3.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "openclaw-nextcloud"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openclaw-nextcloud"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "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/openclaw-nextcloud",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-nextcloud",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-nextcloud/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-nextcloud/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-nextcloud/agent.md"
  }
}
```
## Documentation

### OpenClaw Nextcloud Skill

This skill provides integration with a Nextcloud instance. It supports access to Notes, Tasks (Todos), Calendars, Files, and Contacts.

### Configuration

The skill requires the following environment variables:

NEXTCLOUD_URL: The base URL of your Nextcloud instance (e.g., https://cloud.example.com).
NEXTCLOUD_USER: Your Nextcloud username.
NEXTCLOUD_TOKEN: An App Password (recommended) or your login password.

### 1. Notes (Read/Write)

List, get, create, update, and delete notes.
API: index.php/apps/notes/api/v1/notes

### 2. Tasks / Todos (Read/Write)

List, create, update, delete, and complete tasks.
API: CalDAV (VTODO).

### 3. Calendar (Read/Write)

List, create, update, and delete events.
API: CalDAV (VEVENT).

### 4. Files (Read/Write)

List, search, upload, download, and delete files.
API: WebDAV.

### 5. Contacts (Read/Write)

List, get, create, update, delete, and search contacts.
API: CardDAV.

### Usage

Run the skill via the bundled script.

node scripts/nextcloud.js <command> <subcommand> [options]

### Notes

notes list
notes get --id <id>
notes create --title <t> --content <c> [--category <cat>]
notes edit --id <id> [--title <t>] [--content <c>] [--category <cat>]
notes delete --id <id>

### Tasks

tasks list [--calendar <c>]
tasks create --title <t> [--calendar <c>] [--due <d>] [--priority <p>] [--description <d>]
tasks edit --uid <u> [--calendar <c>] [--title <t>] [--due <d>] [--priority <p>] [--description <d>]
tasks delete --uid <u> [--calendar <c>]
tasks complete --uid <u> [--calendar <c>]

### Calendar Events

calendar list [--from <iso>] [--to <iso>] (Defaults to next 7 days)
calendar create --summary <s> --start <iso> --end <iso> [--calendar <c>] [--description <d>]
calendar edit --uid <u> [--calendar <c>] [--summary <s>] [--start <iso>] [--end <iso>] [--description <d>]
calendar delete --uid <u> [--calendar <c>]

### Calendars (list available calendars)

calendars list [--type <tasks|events>]

### Files

files list [--path <path>]
files search --query <q>
files get --path <path> (download file content)
files upload --path <path> --content <content>
files delete --path <path>

### Contacts

contacts list [--addressbook <ab>]
contacts get --uid <u> [--addressbook <ab>]
contacts search --query <q> [--addressbook <ab>]
contacts create --name <n> [--addressbook <ab>] [--email <e>] [--phone <p>] [--organization <o>] [--title <t>] [--note <n>]
contacts edit --uid <u> [--addressbook <ab>] [--name <n>] [--email <e>] [--phone <p>] [--organization <o>] [--title <t>] [--note <n>]
contacts delete --uid <u> [--addressbook <ab>]

### Address Books (list available address books)

addressbooks list

### Output Format

All outputs are JSON formatted.

### Tasks List Output

{
  "status": "success",
  "data": [
    {
      "uid": "unique-task-id",
      "calendar": "Calendar Name",
      "summary": "Task title",
      "status": "NEEDS-ACTION",
      "due": "20260201T153000Z",
      "priority": 0
    }
  ]
}

due: CalDAV format date (YYYYMMDDTHHmmssZ) or null
priority: 0-9 (0 = undefined, 1 = highest, 9 = lowest) or null

### Calendar Events List Output

{
  "status": "success",
  "data": [
    {
      "uid": "unique-event-id",
      "calendar": "Calendar Name",
      "summary": "Event title",
      "start": "20260205T100000Z",
      "end": "20260205T110000Z"
    }
  ]
}

### Contacts List Output

{
  "status": "success",
  "data": [
    {
      "uid": "unique-contact-id",
      "addressBook": "Address Book Name",
      "fullName": "John Doe",
      "name": "Doe;John;;;",
      "phones": ["+1234567890"],
      "emails": ["john@example.com"],
      "organization": "ACME Inc",
      "title": "Developer",
      "note": "Met at conference"
    }
  ]
}

phones: Array of phone numbers or null
emails: Array of email addresses or null
name: Structured name in vCard format (Last;First;Middle;Prefix;Suffix)

### General Format

{
  "status": "success",
  "data": [ ... ]
}

or

{
  "status": "error",
  "message": "Error description"
}

### Agent Behavior: Default Calendar Selection

When creating tasks or calendar events, if the user does not specify a calendar:

First time (no default set):

Run calendars list --type tasks (for tasks) or calendars list --type events (for events)
Ask the user which calendar to use from the list
Ask if they want to set it as the default for future operations
Remember their choice in memory



If user sets a default:

Remember default_task_calendar and/or default_event_calendar
Use automatically for subsequent operations without asking



If user declines to set a default:

Ask again next time they create a task/event without specifying a calendar



User can always override:

Explicitly specifying --calendar always takes precedence over the default

### Memory Keys

default_task_calendar: Default calendar name for tasks (VTODO)
default_event_calendar: Default calendar name for events (VEVENT)

### Agent Behavior: Default Address Book Selection

When creating contacts, if the user does not specify an address book:

First time (no default set):

Run addressbooks list
Ask the user which address book to use from the list
Ask if they want to set it as the default for future operations
Remember their choice in memory



If user sets a default:

Remember default_addressbook
Use automatically for subsequent operations without asking



If user declines to set a default:

Ask again next time they create a contact without specifying an address book



User can always override:

Explicitly specifying --addressbook always takes precedence over the default

### Memory Keys

default_addressbook: Default address book name for contacts

### Agent Behavior: Presenting Information

When displaying data to the user, format it in a readable way. Output may be sent to messaging platforms (Telegram, WhatsApp, etc.) where markdown does not render, so avoid markdown formatting.

### General Guidelines

Use emojis to make output scannable and friendly
Do NOT use markdown formatting (no bold, italic, code, tables, or lists with - or *)
Use plain text with line breaks for structure
Convert technical formats (like CalDAV dates) to human-readable formats
Group related items logically

### Emoji Reference

Tasks: ✅ (completed), ⬜ (pending), 🔴 (high priority), 🟡 (medium), 🟢 (low)
Calendar: 📅 (event), ⏰ (time), 📍 (location)
Notes: 📝 (note), 📁 (category)
Files: 📄 (file), 📂 (folder), 💾 (size)
Contacts: 👤 (person), 📧 (email), 📱 (phone), 🏢 (organization)
Status: ✨ (created), ✏️ (updated), 🗑️ (deleted), ❌ (error)

### Example Presentations

Tasks:

📋 Your Tasks

⬜ 🔴 Buy groceries — Due: Tomorrow 3:30 PM
⬜ 🟡 Review PR #42 — Due: Feb 5
✅ Send email to client

Calendar Events:

📅 Upcoming Events

🗓️ Team Standup
   ⏰ Mon, Feb 3 • 10:00 AM - 10:30 AM
   📍 Zoom

🗓️ Project Review
   ⏰ Wed, Feb 5 • 2:00 PM - 3:00 PM

Contacts:

👤 John Doe
   📧 john@example.com
   📱 +1 234 567 890
   🏢 ACME Inc — Developer

Files:

📂 Documents/
   📄 report.pdf (2.3 MB)
   📄 notes.txt (4 KB)
   📂 Archive/

### Date/Time Formatting

Convert CalDAV format 20260205T100000Z to readable format like Wed, Feb 5 • 10:00 AM
Show relative dates when helpful: "Tomorrow", "Next Monday", "In 3 days"
Use the user's local timezone when possible
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: keithvassallomt
- Version: 0.1.3
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-04-30T17:11:45.712Z
- Expires at: 2026-05-07T17:11:45.712Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/openclaw-nextcloud)
- [Send to Agent page](https://openagent3.xyz/skills/openclaw-nextcloud/agent)
- [JSON manifest](https://openagent3.xyz/skills/openclaw-nextcloud/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/openclaw-nextcloud/agent.md)
- [Download page](https://openagent3.xyz/downloads/openclaw-nextcloud)