Semantic Translation
This skill should be used when the user uses ambiguous terminology like "make it talk", "we need an api", "make it portable", "check for gaps", asks meta-questions like "am I making sense?", "does this make sense?", mentions being a "non-technical user", uses vague action verbs ("make it work", "do the thing"), mixes domain languages, uses invented terms, or when detecting semantic drift between human natural language and technical precision. Provides semantic translation, disambiguation, and domain knowledge mapping across Autogen, Langroid, MCP (Model Context Protocol), UTCP (Universal Tool Calling Protocol), FastAPI, Git/Gitflow, SRE (Site Reliability Engineering), and Memory Graphs domains. Bridges the gap between user intent and technical specificity through ontological translation.
$ Installieren
git clone https://github.com/jcmrs/jcmrs-plugins /tmp/jcmrs-plugins && cp -r /tmp/jcmrs-plugins/plugins/semantic-linguist/skills/semantic-translation ~/.claude/skills/jcmrs-plugins// tip: Run this command in your terminal to install the skill
name: Semantic Translation description: This skill should be used when the user uses ambiguous terminology like "make it talk", "we need an api", "make it portable", "check for gaps", asks meta-questions like "am I making sense?", "does this make sense?", mentions being a "non-technical user", uses vague action verbs ("make it work", "do the thing"), mixes domain languages, uses invented terms, or when detecting semantic drift between human natural language and technical precision. Provides semantic translation, disambiguation, and domain knowledge mapping across Autogen, Langroid, MCP (Model Context Protocol), UTCP (Universal Tool Calling Protocol), FastAPI, Git/Gitflow, SRE (Site Reliability Engineering), and Memory Graphs domains. Bridges the gap between user intent and technical specificity through ontological translation. version: 1.0.0
Semantic Translation & Ontological Mapping
Purpose
Prevent miscommunication, assumptions, and hallucinations by translating ambiguous user terminology into precise technical concepts across multiple domains. Act as a semantic bridge between human natural language and technical specificity, mapping concepts across Autogen, Langroid, MCP, UTCP, FastAPI, Git/Gitflow, SRE, and Memory Graphs ecosystems.
Supported Domains
This skill provides semantic translation and disambiguation across 8 technical domains:
- Autogen - Multi-agent orchestration (ConversableAgent, AssistantAgent, UserProxyAgent, GroupChat)
- Langroid - Agent framework (ChatAgent, ToolAgent, Task orchestration)
- MCP (Model Context Protocol) - Server types (SSE, stdio, HTTP, WebSocket), tools, resources, prompts, sampling
- UTCP (Universal Tool Calling Protocol) - Framework-agnostic tool schemas, adapters, universal tool definitions
- FastAPI - Python web framework (path operations, dependency injection with Depends(), Pydantic models, APIRouter)
- Git/Gitflow - Version control workflows (feature/release/hotfix branches, merge strategies, collaboration patterns)
- SRE (Site Reliability Engineering) - Observability pillars (logs/metrics/traces), SLO/SLI/SLA, incident management
- Memory Graphs - Knowledge graph structures (entities, relationships, embeddings, episodic/semantic/procedural memory)
The Core Problem
Users frequently encounter the "abyss" between natural language intent and technical precision:
- Vague terminology: "make it talk", "we need an api", "make it work"
- Unclear scope: "check for gaps", "make it portable"
- Meta-questions: "am I making sense?", "does this make sense?"
- Domain confusion: Mixing business and technical terminology
- Invented terms: User-created words not in domain vocabulary
Without intervention, these ambiguities lead to:
- AI assumptions and hallucinations
- Misaligned implementations
- Wasted development time
- Project failures from misunderstood requirements
When to Use This Skill
Trigger semantic validation when detecting:
-
Ambiguous Action Verbs
- "make it [X]" โ Multiple technical interpretations possible
- "do the thing" โ No clear referent
- "fix it" โ Unclear what or how
-
Meta-Questions (User Seeking Validation)
- "am I making sense?" โ User uncertain about their explanation
- "does this make sense?" โ User seeking confirmation
- "is this right?" โ User wants validation
- "non-technical user" โ User self-identifies as potentially ambiguous
-
Domain-Crossing Language
- Mixing business and technical terms
- Unclear which framework/library intended
- Generic terms with multiple technical meanings
-
Unclear References
- "that", "the previous thing", "like before"
- References without clear antecedents
-
Scope Ambiguity
- "portable" โ Docker? Cross-platform? Vendoring? Executable?
- "api" โ HTTP server? API client? API design? Internal interface?
- "gaps" โ Code coverage? Documentation? Features? Security?
Core Workflow
Step 1: Detect Ambiguity
Analyze the user's message for ambiguity signals. Use pattern matching from scripts/detect-ambiguity.py or manual analysis.
High-confidence triggers (always validate):
- Explicit meta-questions: "am I making sense?"
- Vague action verbs with unclear objects: "make it talk"
- Domain confusion: mixing incompatible terminology
- User self-identification: "I'm a non-technical user"
Moderate-confidence triggers (validate if >80% confidence):
- Generic technical terms: "api", "agent", "portable"
- Unclear scope: "check for gaps", "add validation"
- Invented terminology: words not in domain vocabulary
Step 2: Query Knowledge Sources (In Order)
Query knowledge sources in this specific order for efficiency:
1. Static Domain Knowledge (First - Fastest)
- Query
knowledge/ambiguous-terms.jsonfor known ambiguous phrases - Check
knowledge/technical-mappings.jsonfor domain-specific translations - Review
knowledge/ontology-graph.jsonfor conceptual relationships
2. External Documentation (Second - Authoritative)
- Query official documentation (Autogen, Langroid, etc.) via available tools
- Use WebFetch, context7, or deepwiki MCP for current API references
- Validate against authoritative sources when static knowledge insufficient
3. Codebase Validation (Third - Context-Specific)
- Use LSP to query symbol definitions in user's project
- Use Grep to search for actual usage patterns
- Identify project-specific terminology and conventions
Step 3: Translate Ambiguous โ Precise
Map ambiguous terminology to precise technical concepts using domain knowledge.
Translation process:
- Identify all possible technical interpretations
- Rank by confidence score (from knowledge files)
- Consider user's context (recent conversation, project domain)
- Present options if multiple interpretations viable
Example translation:
Ambiguous: "make it talk"
Domain: Autogen
Possible translations:
- ConversableAgent.send() (confidence: 0.8, context: single message)
- register ConversableAgent (confidence: 0.7, context: enable conversation)
- GroupChat setup (confidence: 0.5, context: multi-agent conversation)
Step 4: Engage Conversational Clarification
Never assume. Always verify understanding with the user.
Present options conversationally:
I notice "[ambiguous term]" could mean different things:
1. [Precise interpretation 1] - [Brief context]
2. [Precise interpretation 2] - [Brief context]
3. [Precise interpretation 3] - [Brief context]
[Ask clarifying question based on context]
Tone guidelines:
- Conversational, not clinical
- Helpful, not pedantic
- Transparent about uncertainty
- Frame as collaboration, not correction
Wait for confirmation before proceeding with implementation.
Decision Trees
Primary Decision Tree
User message received
โโโ Contains meta-question? ("am I making sense?")
โ โโโ Yes โ HIGH confidence, validate immediately
โ โโโ No โ Continue analysis
โโโ Contains ambiguous action verb? ("make it talk")
โ โโโ Yes โ Check domain context
โ โ โโโ Clear domain โ Query knowledge, translate
โ โ โโโ Unclear domain โ Ask which framework/library
โ โโโ No โ Continue analysis
โโโ Contains vague scope? ("check for gaps", "make it portable")
โ โโโ Yes โ Query knowledge for common interpretations
โ โ โโโ Multiple viable โ Present options
โ โ โโโ One clear match โ Confirm with user
โ โโโ No โ Continue analysis
โโโ Contains domain-crossing language?
โ โโโ Yes โ Identify conflicting domains, ask clarification
โ โโโ No โ Proceed normally (low ambiguity)
Clarification Decision Tree
Ambiguity detected
โโโ Confidence score > 80%?
โ โโโ Yes โ Trigger validation
โ โโโ No โ Monitor, don't interrupt
โโโ Query knowledge sources (static โ external โ codebase)
โโโ Translation mappings found?
โ โโโ Yes, single mapping โ Confirm with user
โ โโโ Yes, multiple mappings โ Present options
โ โโโ No mappings found โ Ask open-ended clarification
โโโ User confirms โ Proceed with precise terminology
Domain Quick Reference
Key ambiguous terms across all 8 supported domains with precise translations:
Autogen Domain
"make it talk" โ ConversableAgent.send() (single message) vs initiate_chat() (conversation) vs GroupChat setup (multi-agent) "agent" โ ConversableAgent (base) vs AssistantAgent (LLM-powered) vs UserProxyAgent (human proxy)
Langroid Domain
"agent" โ ChatAgent (conversation) vs ToolAgent (function-calling) "task" โ Langroid Task object (orchestration) vs general task concept
MCP Domain
"mcp server" โ SSE server (web-based) vs stdio server (process-based) vs HTTP server vs WebSocket server "resource" โ MCP resource (data/content exposed by server) vs system resource (CPU/memory) "prompt" โ MCP prompt template (structured prompts) vs LLM prompt (text input)
UTCP Domain
"tool calling" โ UTCP universal calling (framework-agnostic) vs framework-specific (OpenAI tools, Anthropic tools) "tool schema" โ UTCP universal schema vs framework-specific schema
FastAPI Domain
"dependency" โ FastAPI Depends() (dependency injection) vs pip dependency (package) vs architectural dependency (service) "endpoint" โ Path operation decorator (@app.get) vs external API endpoint "model" โ Pydantic model (validation) vs database model (ORM) vs ML model
Git/Gitflow Domain
"merge" โ Merge commit (preserves history) vs squash merge (single commit) vs rebase (linear history) "branch" โ Gitflow branch type (feature/release/hotfix/develop/main) vs general branch name
SRE Domain
"observability" โ Logs (events) vs metrics (measurements) vs traces (request paths) - three pillars "sli" โ Availability SLI (uptime %) vs latency SLI (response time) vs error rate SLI (failure %) "incident" โ SEV-1 incident (critical outage) vs alert (automated notification) vs degradation (partial failure)
Memory Graphs Domain
"memory" โ Knowledge graph (structured entities/relationships) vs vector memory (embeddings) vs episodic memory (temporal context) vs system RAM "retrieval" โ Semantic search (embedding similarity) vs graph traversal (relationship following) vs hybrid approach
Meta-Questions (Cross-Domain)
"am I making sense?" โ Trigger explicit semantic validation across all domains
- Summarize recent conversation
- Identify detected ambiguities
- Ask domain-specific clarifying questions
- Confirm shared understanding with precise terminology
Domain-Specific Validation
Autogen Domain
Key concepts to validate:
- Agent types: ConversableAgent, AssistantAgent, UserProxyAgent
- Multi-agent: GroupChat, GroupChatManager
- Communication: send(), register_reply(), initiate_chat()
- Tools: register_for_execution(), register_for_llm()
Common ambiguities:
- "agent" โ Which type? (ConversableAgent vs AssistantAgent vs UserProxyAgent)
- "group chat" โ GroupChat object vs general multi-agent conversation
- "tools" โ Function calling vs external tool integration
Langroid Domain
Key concepts to validate:
- Agent types: ChatAgent, ToolAgent
- Tasks: Task orchestration and delegation
- Tools: ToolMessage, tool decorators
- Multi-agent: Agent collaboration patterns
Common ambiguities:
- "agent" โ ChatAgent vs ToolAgent
- "task" โ Langroid Task object vs general task concept
- "tools" โ Langroid tool system vs general utilities
MCP Domain
Key concepts to validate:
- Server types: SSE (Server-Sent Events), stdio, HTTP, WebSocket
- Components: tools, resources, prompts, sampling
- Integration: local server, remote server, managed server
Common ambiguities:
- "mcp server" โ Which type? (SSE vs stdio vs HTTP vs WebSocket)
- "resource" โ MCP resource (data/content) vs system resource
- "prompt" โ MCP prompt template vs LLM prompt
- "tool" โ MCP tool definition vs general function
UTCP Domain
Key concepts to validate:
- Universal tool schemas: Framework-agnostic tool definitions
- Adapters: UTCP framework adapters for different AI frameworks
- Tool calling patterns: Universal invocation vs framework-specific
Common ambiguities:
- "tool calling" โ UTCP universal calling vs framework-specific calling (OpenAI tools, Anthropic tools)
- "tool schema" โ UTCP universal schema vs framework-specific schema
- "adapter" โ UTCP framework adapter vs general adapter pattern
- "invocation" โ UTCP tool invocation vs direct function call
FastAPI Domain
Key concepts to validate:
- Path operations: Endpoint decorators (@app.get, @app.post)
- Dependency injection: Depends() mechanism
- Pydantic models: Request/response validation
- APIRouter: Endpoint organization and grouping
Common ambiguities:
- "dependency" โ FastAPI Depends() vs pip package dependency vs architectural dependency
- "endpoint" โ Path operation decorator vs external API endpoint
- "model" โ Pydantic model vs database model vs ML model
- "route" โ Path operation vs APIRouter vs URL routing
- "validation" โ Pydantic automatic validation vs business logic validation
Git/Gitflow Domain
Key concepts to validate:
- Branch types: feature/, release/, hotfix/, develop, main
- Merge strategies: merge commit, squash merge, rebase
- Workflows: Gitflow vs GitHub flow vs GitLab flow
- Operations: commit, push, pull, merge, rebase
Common ambiguities:
- "merge" โ Merge commit vs squash merge vs rebase
- "branch" โ Gitflow branch type (feature/release/hotfix) vs general branch
- "rebase" โ Interactive rebase vs standard rebase vs rebase merge
- "commit" โ Commit operation vs commit message vs specific commit SHA
- "workflow" โ Gitflow workflow vs GitHub flow vs custom workflow
SRE Domain
Key concepts to validate:
- Observability pillars: logs, metrics, traces
- SLI/SLO/SLA: Service Level Indicator/Objective/Agreement
- Incident management: SEV levels, on-call, postmortems
- Reliability patterns: error budgets, canary deployments, circuit breakers
Common ambiguities:
- "observability" โ Which pillar? (logs vs metrics vs traces)
- "sli" โ Which metric? (availability vs latency vs throughput vs error rate)
- "incident" โ SEV-1 incident vs alert vs outage vs degradation
- "monitoring" โ Monitoring (passive data collection) vs observability (active understanding)
- "on-call" โ On-call rotation vs on-call engineer vs escalation policy
Memory Graphs Domain
Key concepts to validate:
- Graph types: knowledge graph, memory graph, dependency graph
- Memory types: episodic, semantic, procedural
- Components: entities (nodes), relationships (edges), embeddings
- Operations: retrieval (semantic search, graph traversal), storage
Common ambiguities:
- "memory" โ Knowledge graph vs vector memory vs episodic memory vs system RAM
- "graph" โ Knowledge graph vs visualization graph vs dependency graph
- "embedding" โ Vector embedding for semantic search vs embedding layer in neural networks
- "retrieval" โ Semantic search via embeddings vs graph traversal vs hybrid
- "node" โ Memory node (entity) vs graph node vs system node
Generic/Framework-Agnostic
When domain unclear:
- Don't assume framework
- Ask explicitly: "Which framework/library are you using?"
- Once identified, load domain-specific knowledge
- Translate with domain context
Confidence Scoring
Use confidence scores to determine intervention:
High confidence (>80%): Always validate
- Explicit meta-questions
- Known highly ambiguous terms (from knowledge files)
- Domain confusion detected
- User self-identifies ambiguity
Medium confidence (50-80%): Validate if multiple interpretations
- Generic technical terms with context clues
- Unclear scope with partial context
- Vague references with some antecedents
Low confidence (<50%): Monitor but don't interrupt
- Technical terms with clear context
- Conventional usage patterns
- Recent clarification provided
Integration with Knowledge Files
ambiguous-terms.json
Contains user phrases mapped to ambiguity scores and contexts.
Query pattern:
term = extract_key_phrase(user_message)
entry = load_json("knowledge/ambiguous-terms.json").get(term)
if entry and entry["ambiguity_score"] > 0.8:
trigger_validation(term, entry["contexts"])
technical-mappings.json
Contains precise technical translations organized by domain.
Query pattern:
mappings = load_json("knowledge/technical-mappings.json")
domain_mappings = mappings.get(domain, {})
translations = domain_mappings.get(ambiguous_term, [])
present_options(translations)
ontology-graph.json
Contains conceptual relationships between terms across domains.
Query pattern:
graph = load_json("knowledge/ontology-graph.json")
related_concepts = graph.get(concept, {}).get("related", [])
cross_domain = graph.get(concept, {}).get("cross_domain_equivalents", {})
Working with Scripts
scripts/detect-ambiguity.py
Pattern matching utility for ambiguity detection.
Usage:
python scripts/detect-ambiguity.py --message "user message here"
# Returns: confidence score, detected patterns, suggested validation
When to use:
- Programmatic ambiguity detection in hooks
- Batch analysis of conversation history
- Testing new ambiguity patterns
scripts/domain-mapper.py
Term translation utility using knowledge files.
Usage:
python scripts/domain-mapper.py --term "make it talk" --domain autogen
# Returns: ranked translations with confidence scores
When to use:
- Translate specific terms
- Generate clarification options
- Validate translations against knowledge
scripts/knowledge-query.py
Unified interface to all knowledge sources.
Usage:
python scripts/knowledge-query.py --term "api" --sources static,external,codebase
# Returns: results from each source in order
When to use:
- Query all knowledge sources in one call
- Implement the three-tier query workflow
- Aggregate results from multiple sources
Additional Resources
Reference Files
For detailed domain knowledge and advanced patterns:
references/cognitive-framework.md- Complete AGENTS.md framework adapted for Claude Codereferences/decision-trees.md- Detailed decision trees and flowchartsreferences/domain-ontologies.md- Comprehensive domain knowledge graphs (Autogen, Langroid)references/translation-patterns.md- Extensive ambiguousโprecise mappings
Example Files
Working examples of semantic validation:
examples/autogen-mappings.md- Autogen-specific ambiguity resolutionsexamples/langroid-mappings.md- Langroid-specific examplesexamples/common-ambiguities.md- Cross-domain frequent patterns
Knowledge Files
Domain knowledge JSON files:
knowledge/ambiguous-terms.json- User phrases with ambiguity scoresknowledge/technical-mappings.json- Domain-specific translationsknowledge/ontology-graph.json- Conceptual relationships
Best Practices
Always Verify, Never Assume
"Never ASSUME - it makes an ass out of u and me."
- Present options when ambiguity detected
- Ask clarifying questions before proceeding
- Confirm understanding with user
- Never proceed with interpretation alone
Maintain Conversational Tone
- Avoid clinical language: "Ambiguity detected at 87% confidence"
- Use helpful framing: "I notice [term] could mean a few different things..."
- Frame as collaboration: "Let me make sure I understand..."
- Be transparent about uncertainty
Respect User Triggers
Users have different patterns for expressing uncertainty. Learn from settings:
- Default triggers: "am I making sense?", "does this make sense?"
- Custom triggers from
.claude/semantic-linguist.local.md - Adapt to user's communication style
Progressive Validation
Not every message needs validation:
- Start with high-confidence triggers only
- Expand to moderate-confidence as needed
- Don't interrupt clear, unambiguous requests
- Balance helpfulness with intrusiveness
Configuration
Users can customize via .claude/semantic-linguist.local.md:
- Sensitivity: low, medium (default), high
- Interaction style: explicit (default), guided, silent
- User trigger phrases: Custom patterns to trigger validation
- Custom terminology mappings: Project-specific translations
- Enabled domains: Which domains to validate against
Respect user configuration when determining whether to trigger validation.
Core principle: Bridge the gap between human natural language and AI technical precision through systematic semantic validation and conversational clarification.
Repository
