Ingest 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.
This skill is intended to be shared. Do not hardcode your Notion IDs or token in the skill.
Install the required dependency skill via ClawHub before using this skill:
CODEBLOCK0
1) Read the "DIY-PC Notion Targets" table in TOOLS.md for the datasourceid and database_id values for each target. Pass them as explicit CLI arguments:
--pcconfig-dsid, INLINECODE12) Provide Notion auth for notion-api-automation (notionctl):
NOTION_API_KEY (recommended)Notes:
2025-09-03 by default.web_search/web_fetch may send partial product text to external web providers.notion-api-automation/scripts/notionctl.mjs.Security rules:
web_search/web_fetch and proceed with local extraction only.Use data_sources endpoints for schema/query, and pages endpoint for row creation.
IDs are documented in the "DIY-PC Notion Targets" table in TOOLS.md. Pass them as CLI arguments at runtime.
1) Read the pasted text and decide target table per item:
- エンクロージャー: USB/RAID/HDDケース/ドック、ベイ数、JAN/型番、"安全な取り外し"表示名。
- ストレージ: HDD/SSD/NVMe/SATA/容量/シリアル/健康状態。
- PCConfig: CPU/GPU/RAM/PSU/MB/ケース/冷却/NIC/キャプチャ等。
2) Extract fields (best-effort). Prefer Japanese column names as they exist in each table.
3) Enrich specs using websearch/webfetch when it reduces user work (e.g., bay count, interface, capacity, form factor). Keep it minimal; don't overfill.
4) Ask follow-up questions only for fields needed to avoid ambiguity or bad joins.
- ストレージ: Serial missing → ask for serial (or confirm creating as "暫定/シリアル不明").
- エンクロージャー: ベイ数 or USB/Thunderbolt/LAN unclear → ask.
- PCConfig: Identifier/型番 missing but needed to match existing row → ask.
5) Search existing records in Notion using scripts/notion_apply_records.js (auto-discovery mode):
- Provide JSONL records (one per item) on stdin.
- Script will:
- find an existing row by key (see below)
- report what would be created/updated/skipped without making changes
- Do not write anything (no create/update operations)
- Use this to preview results before actual upsert.
6) Review search results and confirm with user:
- Show what would be created/updated/skipped
- Ask for confirmation before proceeding to actual upsert
7) Upsert into Notion using scripts/notion_apply_records.js:
- Provide JSONL records (one per item) on stdin.
- Script will:
- find an existing row by key (see below)
- patch only missing fields unless overwrite=true
- otherwise create a new row
8) Report results (created/updated/skipped) and link any created rows.
3
シリアル (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:
CODEBLOCK1
Optional control fields (for cleanup / manual fixes):
page_id (or id): update this Notion page directly (bypasses upsert matching)Optional behavior flags:
mirror_to_pcconfig: true (only for target=storage): also create/update a pcconfig row for the installed component.現在の接続先PC, 購入日, INLINECODE34
Targets: INLINECODE35
Property value encoding:
2025-09-03.POST /v1/data_sources/{id}/query over /databases/{id}/query.relation.data_source_id (not database_id).notion-api-automation via ClawHub for Notion API debugging: INLINECODE44skills/notionkit/*.scripts/notion_apply_records.js; use skills/notion-api-automation/scripts/notionctl.mjs for diagnostics/manual API operations.该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 diy-pc-ingest-1776420000 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 diy-pc-ingest-1776420000 技能
skillhub install diy-pc-ingest-1776420000
文件大小: 18.8 KB | 发布时间: 2026-4-17 20:20