$npx -y skills add vouchdev/vouch --skill vouch-recordPropose a typed record (contact, org, project) into the vouch KB
| 1 | # /vouch-record |
| 2 | |
| 3 | File "$ARGUMENTS" as a typed record: an entity plus a kind-validated page, |
| 4 | both as pending proposals. Requires the company-brain page kinds |
| 5 | (`vouch init --template company-brain`; check with `vouch schema list`). |
| 6 | |
| 7 | Steps: |
| 8 | |
| 9 | 1. Decide the record shape: person -> entity type `person` + `contact` page |
| 10 | (frontmatter: `role`, optional `org`, `email`); organisation -> `company` |
| 11 | entity + `org` page; project -> `project` entity + `project-record` page |
| 12 | (frontmatter: `record_status`, optional `owner`). |
| 13 | 2. Call `kb_search` first — if the entity already exists, propose only the |
| 14 | page update (pass the existing page id as `slug_hint`) instead of a |
| 15 | duplicate. |
| 16 | 3. Call `kb_propose_entity`, then `kb_propose_page` with `page_type` set to |
| 17 | the record kind and the frontmatter in `metadata`. Cite a registered |
| 18 | source when the record distills one (register the conversation via |
| 19 | `kb_register_source` if the user is dictating facts). |
| 20 | 4. Link ownership or membership with `kb_propose_relation` where it's clear. |
| 21 | 5. Report every proposal id filed. |
| 22 | |
| 23 | Never call `kb_approve`. One record per invocation; ask before batching. |