| name | create-technical-terms |
| description | Create or regenerate technical terms — descriptions of tables and columns — in Stratio Governance for an entire technical domain, and seed the collection description when missing. Use when the user wants to document tables and columns, bulk-generate descriptions for a new domain, refresh them after schema changes, or recover missing technical terms. |
| argument-hint | [technical domain (optional)] |
Skill: Create Technical Terms
Creates technical descriptions for tables and columns of a domain in Stratio Governance. Phase 1 of the semantic layer pipeline.
MCP Tools Used
| Tool | Server | Purpose |
|---|
search_domains(search_text, domain_type='technical') | sql | Prefer. Search technical domains by free text. Results by relevance |
list_domains(domain_type='technical', refresh?) | sql | List all technical domains (includes description if exists). refresh=true for cache bypass |
list_domain_tables(domain) | sql | List tables with their descriptions (indicates if they already have technical terms) |
create_technical_terms(domain, table_names?, user_instructions?, regenerate?) | gov | Create technical terms. Skips existing. With regenerate=true: DESTRUCTIVE, deletes and recreates |
Key rules: domain_name immutable (exact value from list_domains or search_domains). Mandatory confirmation for regenerate=true. Build user_instructions through the Glossary Instruction Enrichment Workflow (guides/stratio-semantic-layer-tools.md §11) before invoking.
Workflow
1. Determine domain
If $ARGUMENTS contains a domain name, search with search_domains($ARGUMENTS, domain_type='technical'). If it matches a result, continue. If it does not match, retry with search_domains($ARGUMENTS, domain_type='technical', refresh=true) in case it is a recently created collection. If it now matches, continue. If it still does not match or there is no argument, list domains with list_domains(domain_type='technical') and ask the user following the user question convention.
2. Evaluate state
Execute list_domain_tables(domain) to evaluate the current state:
- Tables with description → already have generated technical terms
- Tables without description → pending generation
- If the domain has a description (visible in
list_domains(domain_type='technical')) → the general description already exists
Present summary to the user:
## State — [domain_name]
- Total tables: N
- With technical terms: X
- Pending: Y
- Domain description: Yes/No
3. Scope selection
Ask the user with options:
- Create for all tables — idempotent:
create_technical_terms skips tables that already have a description
- Create for specific tables — multiple selection from pending tables
- Regenerate all — DESTRUCTIVE: deletes and recreates. Requires explicit confirmation
- Regenerate specific tables — DESTRUCTIVE for the selected ones. Requires explicit confirmation
4. Glossary instruction enrichment
Before invoking the MCP tool, apply the Glossary Instruction Enrichment Workflow described in guides/stratio-semantic-layer-tools.md §11, scoped to technical terms (i.e., when calling get_glossary_instructions, request only the technical terms phase).
If the orchestrator already pre-loaded enriched instructions for this phase during the build-semantic-layer flow, reuse them instead of asking again — optionally ask the user whether they want to add anything specific to this phase on top of what was pre-loaded.
The enriched text becomes the user_instructions argument of the MCP call in the next step. If the user chose option 4 (skip), user_instructions is omitted.
5. Execution
Invoke create_technical_terms. To regenerate: pass regenerate=true (DESTRUCTIVE). The tool returns a summary of what was processed — present that summary to the user directly. Do not call additional tools post-creation to avoid filling up context.
Note on domain description: create_technical_terms automatically generates the domain/collection description if it does not have one. It is not necessary to call create_collection_description as a separate step.
6. Summary
Based on the tool's response, present:
- Tables processed
- Errors if any: for ordinary failures, retry the failed entity with improved
user_instructions (max 2 retries). Exception — data-precondition errors are NOT retryable (guides/stratio-semantic-layer-tools.md §7.3): if the message means the collection has no tables, or its tables have no columns in the governance catalog (the technical view was not refreshed) — recognise this by the meaning of the message, not a literal string — do not retry. Present the message's guidance (refresh/verify the collection's technical view in Stratio Governance; the agent has no tool to do it) and stop. If only some tables came back without columns, report which tables were skipped and why (the rest were processed)
- Suggested next steps:
- "You can create an ontology with
/create-ontology"
- "If you need to fix, add or remove individual virtual foreign keys without regenerating the technical terms, use
/refine-foreign-keys"