synth_ip
Run out-of-context synthesis on an IP module to verify standalone RTL and catch issues before integration.
Instructions
Run out-of-context (OOC) synthesis on an IP.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| module_name | Yes |
Run out-of-context synthesis on an IP module to verify standalone RTL and catch issues before integration.
Run out-of-context (OOC) synthesis on an IP.
| Name | Required | Description | Default |
|---|---|---|---|
| module_name | Yes |
Changes observed during successful MCP inspections.
v0.5.0Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and discloses essentially nothing behavioral: not the run mode/directory created, not whether reports are generated, not that it can be long-running, not whether the IP must be generated first. It only restates the operation name in slightly different words.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the core operation front-loaded and no filler. It is efficient, but the brevity reflects under-specification as much as discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an undocumented parameter, the description does too little for a tool that mutates synthesis state. An agent cannot tell what input format to supply, what prerequisites exist, or what to expect back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter, module_name, with 0% schema description coverage, so the description must compensate. It implies the target is 'an IP' but never connects that to the module_name field, nor states whether it takes an IP VLNV, a module name, or a path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run out-of-context (OOC) synthesis on an IP.' The 'OOC' and 'IP' qualifiers implicitly separate it from the sibling run_synthesis (full project synthesis), though the description never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, no prerequisites (e.g. the IP must already exist/be configured via create_ip or configure_ip), and no mention of the obvious alternative run_synthesis. The usage is only vaguely inferable from the phrase 'on an IP'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.