Parent
Epic: #43
Problem
The publishing derivation pipeline requires running 8+ scripts in sequence (derive-all.sh). This should be packaged as a TinyClaw skill (v1.7.0) for one-command execution with progress tracking.
Proposed Skill
File: skills/publishing-validate.json
{
"name": "publishing-validate",
"description": "Run full domain model derivation and validation for a book title",
"version": "1.0",
"inputs": {
"title_slug": {
"description": "Title slug (e.g., context-graphs-for-engineers)",
"required": true
},
"avoid_mode": {
"description": "How to handle avoid terms: replace or warn",
"required": false,
"default": "replace"
},
"coverage_threshold": {
"description": "Minimum coverage ratio per chapter (0.0-1.0)",
"required": false,
"default": "0.7"
}
},
"steps": [
{
"name": "validate-model",
"command": "python3 {scripts_dir}/validate-model.py {model_path} {schema_path}",
"description": "Validate domain model structure and semantics"
},
{
"name": "derive-vocabulary",
"command": "python3 {scripts_dir}/derive-vocabulary.py {model_path} {artefacts_dir}/derived-vocabulary.md",
"description": "Extract controlled vocabulary"
},
{
"name": "derive-kg",
"command": "python3 {scripts_dir}/derive-kg-entries.py {model_path} {kg_dir} --avoid-mode {avoid_mode}",
"description": "Generate terraphim KG entries"
},
{
"name": "derive-mermaid",
"command": "python3 {scripts_dir}/derive-mermaid.py {model_path} {artefacts_dir}/derived-concept-map.md",
"description": "Generate concept relationship diagram"
},
{
"name": "derive-glossary",
"command": "python3 {scripts_dir}/derive-glossary.py {model_path} {manuscript_dir}/appendix-glossary.md",
"description": "Generate book appendix glossary"
},
{
"name": "validate-manuscript",
"command": "python3 {scripts_dir}/validate-manuscript.py {model_path} {manuscript_dir} --json",
"description": "Check manuscript against domain model",
"allow_failure": true
},
{
"name": "coverage-report",
"command": "python3 {scripts_dir}/compute-coverage.py {model_path} {manuscript_dir} --threshold {coverage_threshold} --json",
"description": "Compute per-chapter coverage governance signals",
"allow_failure": true
}
]
}
Usage
terraphim-tinyclaw skill save skills/publishing-validate.json
terraphim-tinyclaw skill run publishing-validate --title_slug context-graphs-for-engineers
Dependencies
- terraphim-ai v1.7.0+ (TinyClaw SkillExecutor)
- terraphim-ai #546 (coverage command) for the coverage-report step
- Publishing scripts in
cto-executive-system/publishing/scripts/
Parent
Epic: #43
Problem
The publishing derivation pipeline requires running 8+ scripts in sequence (
derive-all.sh). This should be packaged as a TinyClaw skill (v1.7.0) for one-command execution with progress tracking.Proposed Skill
File:
skills/publishing-validate.json{ "name": "publishing-validate", "description": "Run full domain model derivation and validation for a book title", "version": "1.0", "inputs": { "title_slug": { "description": "Title slug (e.g., context-graphs-for-engineers)", "required": true }, "avoid_mode": { "description": "How to handle avoid terms: replace or warn", "required": false, "default": "replace" }, "coverage_threshold": { "description": "Minimum coverage ratio per chapter (0.0-1.0)", "required": false, "default": "0.7" } }, "steps": [ { "name": "validate-model", "command": "python3 {scripts_dir}/validate-model.py {model_path} {schema_path}", "description": "Validate domain model structure and semantics" }, { "name": "derive-vocabulary", "command": "python3 {scripts_dir}/derive-vocabulary.py {model_path} {artefacts_dir}/derived-vocabulary.md", "description": "Extract controlled vocabulary" }, { "name": "derive-kg", "command": "python3 {scripts_dir}/derive-kg-entries.py {model_path} {kg_dir} --avoid-mode {avoid_mode}", "description": "Generate terraphim KG entries" }, { "name": "derive-mermaid", "command": "python3 {scripts_dir}/derive-mermaid.py {model_path} {artefacts_dir}/derived-concept-map.md", "description": "Generate concept relationship diagram" }, { "name": "derive-glossary", "command": "python3 {scripts_dir}/derive-glossary.py {model_path} {manuscript_dir}/appendix-glossary.md", "description": "Generate book appendix glossary" }, { "name": "validate-manuscript", "command": "python3 {scripts_dir}/validate-manuscript.py {model_path} {manuscript_dir} --json", "description": "Check manuscript against domain model", "allow_failure": true }, { "name": "coverage-report", "command": "python3 {scripts_dir}/compute-coverage.py {model_path} {manuscript_dir} --threshold {coverage_threshold} --json", "description": "Compute per-chapter coverage governance signals", "allow_failure": true } ] }Usage
Dependencies
cto-executive-system/publishing/scripts/