Install
openclaw skills install openclaw-skill-diy-pc-ingestIngest pasted PC parts purchase/config text (Discord message receipts, bullet lists) into Notion DIY_PC tables (PCConfig, ストレージ, エンクロージャー, PCInput). Use when the user pastes raw purchase logs/spec notes and wants the AI to classify, enrich via web search, ask follow-up questions for unknowns, and then upsert rows into the correct Notion data sources using the 2025-09-03 data_sources API.
openclaw skills install openclaw-skill-diy-pc-ingestThis skill is intended to be shared. Do not hardcode your Notion IDs or token in the skill.
skills/diy-pc-ingest/references/config.example.json → ~/.config/diy-pc-ingest/config.jsonnotion.targets.*.data_source_id (for schema/query)notion.targets.*.database_id (for creating pages)NOTION_API_KEY (recommended)~/.config/notion/api_key (legacy local path)notion.api_key in config.json (not recommended if you publish/share configs)Notes:
2025-09-03 by default.references/config.example.json.Use data_sources endpoints for schema/query, and pages endpoint for row creation.
(IDs are intentionally not included in this public skill. They live in your local config.)
Read the pasted text and decide target table per item:
Extract fields (best-effort). Prefer Japanese column names as they exist in each table.
Enrich specs using web_search/web_fetch when it reduces user work (e.g., bay count, interface, capacity, form factor). Keep it minimal; don’t overfill.
Ask follow-up questions only for fields needed to avoid ambiguity or bad joins.
Upsert into Notion using scripts/notion_apply_records.js:
overwrite=trueReport results (created/updated/skipped) and link any created rows.
シリアル (exact) is the primary key. If the existing row was created without serial, allow a safe fallback match by title + (optional) 購入日/価格(円) to support post-fill of serial/health/scan-date.取り外し表示名 (exact) else title/name.(Name + Purchase Date) を複合キーとして扱う(exact)。重複ヒット時は書き込まず質問。Each line is a JSON object:
{"target":"enclosure","title":"RATOC RS-EC32-R5G","properties":{"種別":"USBケース","接続":"USB","ベイ数":2,"普段つないでるPC":"RECRYZEN","購入日":"2026-01-18","購入店":"PCワンズ","価格(円)":8977,"取り外し表示名":"RS-EC32-R5G","メモ":"JAN: 4949090752191"}}
Optional control fields (for cleanup / manual fixes):
page_id (or id): update this Notion page directly (bypasses upsert matching)archive: true: archive the page (useful for de-dup)overwrite: true: allow overwriting existing values (including clearing with null)Optional behavior flags:
mirror_to_pcconfig: true (only for target=storage): also create/update a pcconfig row for the installed component.
現在の接続先PC, 購入日, NameTargets: enclosure | storage | pcconfig | pcinput
Property value encoding:
YYYY-MM-DD2025-09-03.POST /v1/data_sources/{id}/query over /databases/{id}/query.relation.data_source_id (not database_id).scripts/notion_apply_records.jsscripts/_deprecated/notion_apply_records.py