agentCLAWHUBUnverified

calibre-metadata-apply

Edit Calibre metadata through verified dry-run and apply gates.

OpenClaw

Rank

62

Safety

84

Downloads

2.3k

Updated

Oct 9, 2026

Version

1.0.6

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 2.3K downloads reported by the source. Last updated 10/9/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 9, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 9, 2026
Adoption signal
2.3K downloadsadoption · observed Oct 9, 2026
Latest release
1.0.6release · observed Jul 30, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s1769m2r7tj3d8eqerva8kpwkx83nn9e:calibre-metadata-apply
  1. Install using `clawhub skill install s1769m2r7tj3d8eqerva8kpwkx83nn9e:calibre-metadata-apply` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/nextaltair/calibre-metadata-apply before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-nextaltair-calibre-metadata-apply/snapshot"

Documentation

CLAWHUB

105,407 characters of source documentation, loaded on request.

Extracted files

4 files captured from the source.

SKILL.md

---
name: "calibre-metadata-apply"
description: "Edit Calibre metadata through verified dry-run and apply gates."
metadata: {"openclaw":{"requires":{"bins":["node","calibredb"],"env":["CALIBRE_PASSWORD"]},"optionalBins":["pdffonts"],"optionalEnv":["CALIBRE_USERNAME"],"primaryEnv":"CALIBRE_PASSWORD","localWrites":["skills/calibre-metadata-apply/state/runs.json"],"modifiesRemoteData":["calibre:metadata"]}}
---

# calibre-metadata-apply

Use for Calibre metadata writes. This skill can change remote Calibre metadata.

## Routing

Use when user explicitly asks to edit/fix/update/change:
- title, title_sort
- authors, author_sort
- series, series_index
- tags, publisher, pubdate, languages
- comments, analysis, analysis_tags

Do not use for read-only requests such as `ID1021 を確認して`, 詳細, show/view/check. Route those to `calibre-catalog-read`.

ID + edit verb means this skill. ID without edit verb means read-only.

## Supported Fields

Core fields:
- `title`, `title_sort`
- `authors` as string with `&` or array, `author_sort`
- `series`, `series_index`
- `tags` as string or array, `publisher`, `pubdate` as `YYYY-MM-DD`, `languages`
- `comments`

Extended fields:
- `comments_html`: OC marker block upsert.
- `analysis`: auto-generates analysis HTML for comments.
- `analysis_tags`: adds tags.
- `tags_merge`: default true.
- `tags_remove`: remove specific tags after merge.

## Safety Contract

Required flow:
1. Run read-only lookup to narrow candidates.
2. Show `id,title,authors,series,series_index`.
3. Get user confirmation for target IDs.
4. Build JSONL only for confirmed IDs.
5. Dry-run first.
6. Apply only after explicit user approval.
7. Re-read and report final values.

Never:
- Apply ambiguous title matches.
- Include unconfirmed IDs.
- Auto-fill low-confidence candidates.
- Start `calibre-server`.
- Pass Calibre password inline.
- Use direct `calibredb` for chat/agent edit operations; use wrapper scripts.

## Local Facts

Read the workspace `AGENTS.md` `## Tools` section for Content server URL, library id, auth, and reading script.

Connection bootstrap:
- Do not ask the user for `--with-library` first.
- First use saved defaults with no explicit `--with-library`.
- Scripts auto-load `.env`.
- Non-SSL auth is Digest; do not pass auth-mode/auth-scheme flags.
- Ask for URL only after command output shows unresolved connection.
- Prefer env-based password with `--password-env CALIBRE_PASSWORD`; username auto-loads from env, or override with `--username`.

Requirements: `calibredb` and `node`; `pdffonts` optional/recommended for PDF evidence checks.

## Commands

Dry-run:
    cat changes.jsonl | node skills/calibre-metadata-apply/scripts/calibredb_apply.mjs --password-env CALIBRE_PASSWORD --lang ja

Apply:
    cat changes.jsonl | node skills/calibre-metadata-apply/scripts/calibredb_apply.mjs --password-env CALIBRE_PASSWORD --lang ja --apply

Run state:
    node skills/calibre-metadata-apply/scripts/run_state.mjs upsert --run-id <RUN_ID> --session-key <RU

README.md

# calibre-metadata-apply

`calibredb` を使って、既存Calibre書籍のメタデータを更新するスキルです。

## このスキルの目的

このスキルは、Calibreライブラリのメタデータ運用を
**「安全に・継続的に・監査可能に」回す** ための実務スキルです。

### 1) 何を解決するか

- 手作業で崩れやすいメタデータ整備(title/authors/publisher/pubdate/tags/sort)を定型化
- 1冊編集とライブラリ横断編集を同じ運用ルールで実施
- 長時間ジョブでもチャットを止めずに進行(ターン分割)

### 2) 何を自動化するか

- 1冊単位の確定編集(確認→dry-run→apply→検証)
- ライブラリ横断の推定タグ付与(本文ではなく既存メタデータのみを利用)
- 高確信候補の自動適用と、低確信候補の保留

### 3) 何をしないか(境界)

- 曖昧な対象に対する即時apply
- 根拠が弱い候補の無条件上書き
- 本文解析が必要な重処理をmainターンで同期実行

### 4) 想定ユースケース

- 「ID指定で論文書誌を修正したい」
- 「マニュアルらしい本に `マニュアル/Manual` を一括付与したい」
- 「論文らしい本を横断抽出して `論文` タグを付けたい」

### 5) 運用ポリシー(要点)

- 高確信な提案のみ自動適用
- 低確信・衝突ケースは保留/再処理
- 保留は `pending-review` タグを付与して管理
- confidence表現は `high/medium/low` に統一
- 長時間処理はターン分割(開始ACK→完了報告)
- 実行中の状態/一時ファイルは完了時に削除(失敗時のみ最小限保持)

## セットアップ

1. このスキルを実行する環境にCalibreをインストールする
   - 必須: `calibredb`
2. PDF調査用に `pdffonts` を使えるようにする(例: `poppler-utils`)
3. `calibredb` と `pdffonts` が `PATH` で実行できることを確認する
4. Calibre Content server に到達できることを確認する
5. `--with-library` は次の形式で指定する
   - `http://HOST:PORT/#LIBRARY_ID`
   - localhost前提にしない(明示的なHOST:PORTを使う)
   - 省略する場合は以下のどれかを事前設定する
     - env: `CALIBRE_WITH_LIBRARY` / `CALIBRE_LIBRARY_URL` / `CALIBRE_CONTENT_SERVER_URL`
     - config: `~/.config/calibre-metadata-apply/config.json` の `with_library`
     - URLに`#LIBRARY_ID`が無い場合は `CALIBRE_LIBRARY_ID` か config `library_id` で補完可能
   - IP変更対策:
     - `CALIBRE_SERVER_HOSTS=host1,host2,...` を設定すると候補を順に試行
     - WSLでは `/etc/resolv.conf` の `nameserver` も自動候補に追加
   - `LIBRARY_ID` が不明な場合は `#-` で一覧確認できる
     - 例: `calibredb list --with-library "http://HOST:PORT/#-" --username ... --password ...`
6. 認証が有効な場合は次を指定する
   - `--username <user>`
   - `--password-env <ENV_VAR>` または `--password <plain>`
   - 認証方式は非SSL運用前提でDigest固定(自動)とし、`--auth-mode` / `--auth-scheme` は使わない
7. 認証情報を保存して再利用したい場合は `--save-auth` を使う
   - 既定保存先: `~/.config/calibre-metadata-apply/auth.json`
   - 既定では `username` と `password_env` を保存
   - 平文パスワードも保存する場合のみ `--save-plain-password` を追加

### ユーザーが先に実行すること(例: Ubuntu/WSL)

```bash
sudo apt update
sudo apt install -y calibre poppler-utils
```

## 重要

OpenClawが入っているだけでは不十分です。実行環境側に `calibredb` が必要です。
チャット実行時は `calibredb` 直接実行ではなく、必ず `node scripts/calibredb_apply.mjs` を使ってください。
この運用では既存のCalibre Content serverに接続するため、`calibre-server` を起動する手順は不要です。

WindowsではDefender Controlled Folder Access等の影響で書き込みが失敗する場合があります。
`WinError 2/5` などのパス/アクセス系エラーが出る場合は、Calibreライブラリフォルダや実行バイナリを許可リストに追加してください。

## 安全モデル

- 入力はJSONL(1行=1更新)
- `id` 必須
- デフォルトはdry-run(`--apply` 指定時のみ書き込み)

## ライブラリ横断処理(ターン分割)

長時間処理はターン分割で実行し、チャット継続性を優先します。

- 開始ターン:
  - scopeと出力契約を含む自己完結したtaskを作る
  - OpenClaw `sessions_spawn`を直接呼んで解析を委譲
  - `scripts/run_state.mjs` で実行状態を記録
- 完了ターン: 完了通知後、`scripts/handle_completion.mjs` で状態を片付けて結果を提示
- state保存先: `state/runs.json`

### Subagent runtime

model・thinkingのローカル既定値は設定済みの`calibre-reader` agent profileで管理します。

- OpenClaw `sessions_spawn`を直接呼ぶ。
- toolが公開する現在のschemaに従い、別の共通payloadを生成しない。
- mainだけが候補の採否、dry-run、apply、ユーザー応答を担当する。

## 認

_meta.json

{
  "ownerId": "kn747bx1r2jrbbyca61v6k06397zy93t",
  "slug": "calibre-metadata-apply",
  "version": "1.0.6",
  "publishedAt": 1785380649007
}

skill-card.md

## Description:

Edit Calibre metadata through verified dry-run and apply gates.

This skill is ready for commercial/non-commercial use.

## Publisher:

[nextaltair](https://clawhub.ai/user/nextaltair)

### License/Terms of Use:

MIT-0

## Use Case:

Developers and operators use this skill to safely update existing Calibre book metadata, from single-book fixes to library-wide tag operations, using confirmation, dry-run, apply, and verification gates.

### Deployment Geography for Use:

Global

## Known Risks and Mitigations:

Risk: The skill can modify remote Calibre metadata and incorrect targets or values could overwrite useful library records.

Mitigation: Use the documented candidate narrowing, ID confirmation, dry-run, explicit approval, and re-read steps before and after any apply operation.

Risk: Credential handling and automatic Calibre host probing require trust in the workspace and endpoint configuration.

Mitigation: Install only in trusted workspaces, prefer explicit Calibre endpoint settings, pass passwords through environment variables, and use a limited Calibre account where possible.

Risk: Untrusted analysis JSON or raw comments_html could persist unsafe or misleading HTML in Calibre comments.

Mitigation: Do not feed untrusted analysis JSON or raw comments_html into apply mode; review generated comments in dry-run output before approving writes.

## Reference(s):

- [ClawHub skill page](https://clawhub.ai/nextaltair/skills/calibre-metadata-apply)

## Skill Output:

**Output Type(s):** [Guidance, Markdown, Shell commands, Configuration, JSON]

**Output Format:** [Markdown guidance with shell commands and JSONL/JSON apply reports]

**Output Parameters:** [1D]

**Other Properties Related to Output:** [Uses dry-run output before apply mode and reports final metadata changes after verification.]

## Skill Version(s):

1.0.6 (source: server release evidence)

## Ethical Considerations:

Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
Github ReposUpdated 10h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/nextaltair/skills/calibre-metadata-apply",
      "sourceUrl": "https://clawhub.ai/nextaltair/skills/calibre-metadata-apply",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T16:29:20.216Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-nextaltair-calibre-metadata-apply/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-nextaltair-calibre-metadata-apply/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-09T16:29:20.216Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "2.3K downloads",
      "href": "https://clawhub.ai/nextaltair/calibre-metadata-apply",
      "sourceUrl": "https://clawhub.ai/nextaltair/calibre-metadata-apply",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T16:29:20.216Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.0.6",
      "href": "https://clawhub.ai/nextaltair/calibre-metadata-apply",
      "sourceUrl": "https://clawhub.ai/nextaltair/calibre-metadata-apply",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-30T03:04:09.007Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-nextaltair-calibre-metadata-apply/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-nextaltair-calibre-metadata-apply/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.0.6",
      "description": "Update local configuration references from retired TOOLS.md to the AGENTS.md Tools section.",
      "href": "https://clawhub.ai/nextaltair/calibre-metadata-apply",
      "sourceUrl": "https://clawhub.ai/nextaltair/calibre-metadata-apply",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-30T03:04:09.007Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to calibre-metadata-apply and adjacent AI workflows.