diff --git a/.claude/skills/meta-compile/SKILL.md b/.claude/skills/meta-compile/SKILL.md
index e6d60e5d..e0a6bcc5 100644
--- a/.claude/skills/meta-compile/SKILL.md
+++ b/.claude/skills/meta-compile/SKILL.md
@@ -29,17 +29,17 @@ powershell.exe -NoProfile -File .claude/skills/meta-compile/scripts/meta-compile
### Общая структура
```json
-{ "type": "Catalog", "name": "Номенклатура", "synonym": "авто", ...свойства типа... }
+{ "type": "Catalog", "name": "Номенклатура", ...свойства типа... }
```
-`type` и `name` — обязательные. `synonym` генерируется из `name` автоматически.
+`type` и `name` — обязательные. `synonym` генерируется из `name` автоматически (CamelCase → слова через пробел). Можно задать явно: `"synonym": "Мой синоним"`.
### Shorthand реквизитов
Используется в `attributes`, `dimensions`, `resources`, `tabularSections`:
```
-"ИмяРеквизита" → String без квалификаторов
+"ИмяРеквизита" → String(10) по умолчанию
"ИмяРеквизита: Тип" → с типом
"ИмяРеквизита: Тип | req, index" → с флагами
```
diff --git a/.claude/skills/meta-compile/scripts/meta-compile.ps1 b/.claude/skills/meta-compile/scripts/meta-compile.ps1
index 0efa10fe..ed8cc6f4 100644
--- a/.claude/skills/meta-compile/scripts/meta-compile.ps1
+++ b/.claude/skills/meta-compile/scripts/meta-compile.ps1
@@ -239,7 +239,7 @@ function Emit-TypeContent {
# String or String(N)
if ($typeStr -match '^String(\((\d+)\))?$') {
- $len = if ($Matches[2]) { $Matches[2] } else { "0" }
+ $len = if ($Matches[2]) { $Matches[2] } else { "10" }
X "$indentxs:string"
X "$indent"
X "$indent`t$len"
diff --git a/.claude/skills/meta-compile/scripts/meta-compile.py b/.claude/skills/meta-compile/scripts/meta-compile.py
index f2528cc1..f1e9db8b 100644
--- a/.claude/skills/meta-compile/scripts/meta-compile.py
+++ b/.claude/skills/meta-compile/scripts/meta-compile.py
@@ -244,7 +244,7 @@ def emit_type_content(indent, type_str):
# String or String(N)
m = re.match(r'^String(\((\d+)\))?$', type_str)
if m:
- length = m.group(2) if m.group(2) else '0'
+ length = m.group(2) if m.group(2) else '10'
X(f'{indent}xs:string')
X(f'{indent}')
X(f'{indent}\t{length}')
diff --git a/docs/meta-dsl-spec.md b/docs/meta-dsl-spec.md
index 3f986e8d..dee4aba0 100644
--- a/docs/meta-dsl-spec.md
+++ b/docs/meta-dsl-spec.md
@@ -112,7 +112,7 @@ JSON DSL для описания объектов метаданных конф
### 4.1 Строковая форма
```
-"ИмяРеквизита" → String (без квалификаторов)
+"ИмяРеквизита" → String(10) по умолчанию
"ИмяРеквизита: Тип" → с типом
"ИмяРеквизита: Тип | req, index" → с флагами
```