Create block
fabrement-create-blockCreate an EMPTY block record and get its ids; it renders nothing until submit-version. SEARCH FIRST, THEN DECIDE: list-blocks {search}. A block close to the ask is a question, not an answer — reusing it changes every page already placing it, a new one does not. Ask the person when it is ambiguous. A name already taken is refused and the answer names the block holding it. Say the TITLE when you report back, never the id — "Hero Split Dark", not "block 9321". Title: must start with an ASCII letter; letters, digits, spaces and hyphens. type "header"/"footer" makes a site-template part; "default" a content section. Rules: get-skill-doc {id:"block-contract"} for a content block; a header follows {id:"header-contract"}, a footer {id:"footer-contract"} — read the one for the block's type before the first call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Block kind: "default" (content block, the default), "header" or "footer" (site-template parts). | |
| title | Yes | Human title (e.g. "Hero Split Dark"). It is slugified, and the SLUG is what is checked: it must start with an ASCII letter and hold only lowercase letters, digits and hyphens. So spaces and hyphens are fine, a leading digit is not, and a non-ASCII title has nothing to slugify to. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | WordPress block id — the blockId every other TOOL expects. Plumbing: never name a block by it when writing to a person. | |
| type | Yes | ||
| uuid | Yes | ||
| title | Yes | What this block IS CALLED. Use it whenever you mention the block to a human. | |
| kebabName | Yes | Slug half of the registered name ("fabrement/<kebabName>") — for markup, not for prose. | |
| pascalName | No |