| name | run-ubm-knowledge-sync |
| description | 北原さん式ナレッジソースの差分を検知したいとき、6カテゴリへ分類・格納してナレッジを同期したいときに使う。 |
| disable-model-invocation | true |
| user-invocable | true |
| argument-hint | [--all] [--since YYYY-MM-DD] [--dry-run] |
| arguments | ["all","since","dry-run"] |
| allowed-tools | ["Read","Write","Edit","Bash","Glob","Grep","Task"] |
| kind | run |
| prefix | run |
| effect | external-mutation |
| owner | harness-maintainers |
| since | "2026-07-04T00:00:00.000Z" |
| version | 0.1.0 |
| manifest | workflow-manifest.json |
| goal_seek | {"engine":"inline","fork":"subagent","progress":"eval-log/ubm-goal-setting/run-ubm-knowledge-sync/goal-seek-progress.json","intermediate":"eval-log/ubm-goal-setting/run-ubm-knowledge-sync/run-ubm-knowledge-sync-intermediate.jsonl","handoff":"eval-log/ubm-goal-setting/run-ubm-knowledge-sync/handoff-run-ubm-knowledge-sync.json","max_loops":5} |
| responsibility_refs | ["scripts/detect-knowledge-updates.py","../../agents/knowledge-extractor.md","scripts/check-knowledge-split.py"] |
| subagent_refs | ["knowledge-extractor","knowledge-relation-extractor"] |
| schema_refs | ["../../knowledge/schema.json"] |
| knowledge_loop | {"pattern":"router-registry","index":"../../knowledge/router.json","consult_at":["runtime"]} |
| script_refs | ["scripts/detect-knowledge-updates.py","scripts/check-knowledge-split.py","../../scripts/validate-knowledge-graph.py"] |
| reference_refs | ["references/knowledge-sources.md","references/knowledge-design-principles.md"] |
| source | ObsidianMemo vault (.claude/commands/ai/ubm-knowledge-sync) の移植 |
| source-tier | internal |
| last-audited | "2026-07-04T00:00:00.000Z" |
| audit-trigger | quarterly |
| completeness_exempt | ["prompts: 抽出・6カテゴリ分類という唯一の LLM 責務は plugin 直下 SubAgent knowledge-extractor.md (7層プロンプトを本文に内包・43KB) が単独所有し、他 Phase は決定論スクリプト (detect-knowledge-updates.py / check-knowledge-split.py) が担う。skill ローカルの R-id 単位 prompts は SubAgent 本文との二重定義になるため置かない (二重定義禁止 [[project_ssot_dedup_mechanism]])。責務→実行体の対応は本文 End-to-End Flow 表が正本。(prompts/ ディレクトリは配置しない=本 exempt の宣言と実体が一致)"] |
| feedback_contract | {"max_iterations":5,"criteria":[{"id":"IN1","loop_scope":"inner","text":"detect-knowledge-updates.py が registry.json との MD5 照合で NEW/MODIFIED ソースを漏れなく検知することをスクリプトで確認する。","verify_by":"script"},{"id":"OUT1","loop_scope":"outer","text":"既知の更新済みソースを投入し knowledge-extractor が6カテゴリへ正しく分類し router.json/registry.json が同期完了することを受入テストが確認する。","verify_by":"test"}]} |