← 返回 Skills 市场
jcromero

CardDAV Contacts

作者 jcromero · GitHub ↗ · v1.0.2
linux ✓ 安全检测通过
1200
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install carddav-contacts
功能描述
Sync and manage CardDAV contacts (Google, iCloud, Nextcloud, etc.) using vdirsyncer + khard.
使用说明 (SKILL.md)

CardDAV Contacts (vdirsyncer + khard)

vdirsyncer syncs CardDAV contacts to local .vcf files. khard reads and manages them via CLI.

Sync First

Always sync before querying to ensure you have the latest contacts:

vdirsyncer sync

Quick Search (Smart)

If configured with default_action = list (standard), you can search directly without subcommands:

khard "john"                     # Search for "john" in all fields
khard "pilar"                    # Search for "pilar"

List & Search (Explicit)

Use list if you need specific flags or if the implicit search doesn't match your config.

khard list                       # List all contacts
khard list "john"                # Search explicitly
khard list -a work               # List only from 'work' address book
khard list -p                    # Parsable output (tab-separated)

View Contact Details

khard show "john doe"            # Show details (pretty print)
khard show --format yaml "john"  # Show as YAML (good for editing)

Quick Field Lookup

Extract specific info (great for piping):

khard email "john"               # List emails only
khard phone "john"               # List phone numbers only
khard postaddress "john"         # List postal addresses

Management

khard new                        # Create new contact (interactive editor)
khard edit "john"                # Edit contact (interactive editor)
khard remove "john"              # Delete contact
khard move "john" -a work        # Move to another address book

Configuration Setup

1. Configure vdirsyncer (~/.config/vdirsyncer/config)

[pair google_contacts]
a = "google_contacts_remote"
b = "google_contacts_local"
collections = ["from a", "from b"]
conflict_resolution = "a wins"

[storage google_contacts_remote]
type = "carddav"
url = "https://www.googleapis.com/.well-known/carddav"
username = "[email protected]"
password.fetch = ["command", "cat", "~/.config/vdirsyncer/google_app_password"]

[storage google_contacts_local]
type = "filesystem"
path = "~/.local/share/vdirsyncer/contacts/"
fileext = ".vcf"

2. Configure khard (~/.config/khard/khard.conf)

Critically, set default_action = list to enable quick search.

[addressbooks]
[[google]]
path = ~/.local/share/vdirsyncer/contacts/default/

[general]
default_action = list
editor = vim
merge_editor = vimdiff

[contact table]
display = formatted_name
sort = last_name

3. Initialize

mkdir -p ~/.local/share/vdirsyncer/contacts
vdirsyncer discover google_contacts
vdirsyncer sync
安全使用建议
This skill looks coherent for managing CardDAV contacts. Before installing: (1) verify you trust the CardDAV server you configure (Google/iCloud/Nextcloud); (2) install vdirsyncer and khard from your distribution packages and confirm their provenance; (3) if you follow the example password.fetch, store credentials in a file with strict permissions (chmod 600) or use a safer keyring method; (4) review any command used in password.fetch (don't run untrusted commands); and (5) remember the agent will run vdirsyncer/khard commands on your system when invoked, so only enable the skill if you trust those tools and the skill's instructions.
功能分析
Type: OpenClaw Skill Name: carddav-contacts Version: 1.0.2 The skill bundle provides instructions for syncing and managing CardDAV contacts using `vdirsyncer` and `khard`. All commands and configuration examples in `SKILL.md` are standard usage for these tools and align with the stated purpose. There is no evidence of data exfiltration, malicious execution, persistence mechanisms, prompt injection attempts against the agent, or obfuscation. The `vdirsyncer` configuration example uses `password.fetch = ["command", "cat", "~/.config/vdirsyncer/google_app_password"]`, which leverages a powerful feature of `vdirsyncer` allowing command execution for password retrieval. While this mechanism could be a vulnerability if abused with untrusted input, its use here is a standard, documented configuration example for `vdirsyncer` and does not indicate malicious intent from the skill author.
能力评估
Purpose & Capability
Name/description request vdirsyncer + khard and the skill requires exactly those binaries. The suggested CardDAV endpoints and local paths are appropriate for a contacts sync tool.
Instruction Scope
Instructions stay within the contact-syncing domain (create vdirsyncer/khard configs, run vdirsyncer sync, use khard to search/manage). They reference writing/reading files in the user's home (~/.config, ~/.local/share) and show a password.fetch that runs ['command','cat','~/.config/vdirsyncer/google_app_password'] — expected for storing credentials, but you should ensure those files are protected and that any command used in password.fetch is safe.
Install Mechanism
This is instruction-only (no code files). The SKILL.md includes an apt install suggestion for vdirsyncer and khard — a standard, low-risk package install path on Linux; there are no remote downloads or archive extracts.
Credentials
The skill declares no required environment variables or external credentials. It does instruct the user to store CardDAV credentials locally (e.g., an app password file), which is proportional to the task. Be aware that the password.fetch mechanism executes a command to read the password file, so ensure only trusted commands are used and files have restrictive permissions.
Persistence & Privilege
The skill is not always-enabled and does not request elevated or persistent system privileges. It does not modify other skills or system-wide settings; it operates on user-level config paths only.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install carddav-contacts
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /carddav-contacts 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.2
Actualización desde CLI
v1.0.0
- Initial release of carddav-contacts skill. - Sync and manage CardDAV contacts (Google, iCloud, Nextcloud, etc.) via CLI using vdirsyncer and khard. - Quick search, list, and detailed contact management with simple command examples. - Step-by-step configuration for vdirsyncer and khard provided. - Requires Linux with vdirsyncer and khard installed.
元数据
Slug carddav-contacts
版本 1.0.2
许可证
累计安装 0
当前安装数 0
历史版本数 2
常见问题

CardDAV Contacts 是什么?

Sync and manage CardDAV contacts (Google, iCloud, Nextcloud, etc.) using vdirsyncer + khard. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1200 次。

如何安装 CardDAV Contacts?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install carddav-contacts」即可一键安装,无需额外配置。

CardDAV Contacts 是免费的吗?

是的,CardDAV Contacts 完全免费(开源免费),可自由下载、安装和使用。

CardDAV Contacts 支持哪些平台?

CardDAV Contacts 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(linux)。

谁开发了 CardDAV Contacts?

由 jcromero(@jcromero)开发并维护,当前版本 v1.0.2。

💬 留言讨论