# Ordito Update Block

> ordito-update-block

- Skill: `karuhi/ordito-update-block` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add karuhi/ordito-update-block`
- Raw SKILL.md: https://api.skillmd.com/api/skills/karuhi/ordito-update-block/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: karuhi (https://skillmd.com/u/karuhi)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/karuhi/ordito-update-block

---


# ordito-update-block

Ordito の **書き込みスキル**（更新スキル, 仕様 §7.1）。IR ストアの1ブロックを差分更新する（§3.4）。

## いつ使うか / 使わないか

- 使う: ユーザーが「この知見を記載する」ことに同意した後、該当ブロックの内容を IR に反映するとき。
- 使わない: HTML を作り直したいとき（それは `ordito-generate`）。未反映の検出（`ordito-detect-stale`）。
- このスキルは **確認しない**。「記載しますか？」の y/n は呼び出すAIエージェントがユーザーに尋ね、yes のときだけ本スキルを呼ぶ。
- このスキルは **生成しない**（§5.4: 書き込みは生成を引き起こさない）。

## 入力（JSON; stdin か `--input <file>`）

```json
{ "doc": "guides/quickstart", "block_id": "b2", "patch": { "text": "新しい本文…" }, "ir_dir": "samples/ir" }
```

- `doc`(必須): ドキュメント id。 `block_id`(必須): 更新するブロック id（tabs 内も可）。
- `patch`(必須): ブロックにマージする**内容フィールド**（トップレベルを上書き。配列は丸ごと置換）。
  **`id`・`type` は変更不可**（ブロックの同一性・種別は不変条件。指定するとエラー）。patch 適用後に語彙スキーマ検証を行い、
  不適合なら書き込まずエラーにする（不正な IR をストアに残さない）。
- `ir_dir`(任意): IR ストアの場所。省略時は `ordito.config.json` の `irDir`（無ければ `samples/ir`）で解決。
- `dry_run`(任意, bool): true なら**書き込まず** before/after プレビューだけ返す。二段確認の一段目で「こう変わります」を
  提示するのに使える（確定するには dry_run なしで再実行）。

## 出力（JSON）

`{ ok, doc, block_id, changed, updated_at, before, after, generated:false, note }`
`changed:false` のときは内容に変化が無く、書き込みも `updated_at` 更新もしていない（冪等）。

## 実行

```bash
echo '{"doc":"guides/quickstart","block_id":"b2","patch":{"text":"…"}}' \
  | node "${CLAUDE_SKILL_DIR}/update-block.js"
```

更新後は `meta.updated_at` が進むので、`ordito-detect-stale` が当該ページを「未反映」として拾えるようになる。

