OpenClaw GenPark Agent Skill: genpark-ghostwriter
Single tool with minimal schema, generic description, and no error handling. The tool definition is visible in ghostwriter.py but lacks production-grade quality across all dimensions. No parameter descriptions, no output schema documentation, and no error guidance. This server would not pass code review by a tool engineer.
GenPark Ghostwriter: From intent to legally binding smart-contract draft.
Tool name 'generate_enforceable_contract' is vague about what 'enforceable' means and what happens with the generated contract. Does it validate legality? Return a draft? Submit to a service? The name does not convey the actual behavior clearly.
Tool description is 79 characters but lacks critical details: WHAT does the function return? WHEN should an agent call it vs alternatives? Are there prerequisites? The description 'From intent to legally binding smart-contract draft' is marketing copy, not a clear functional specification.
Input parameters 'parties' and 'value' have descriptions (e.g., 'The parties involved in the agreement') but lack critical format/constraint guidance. How many parties? Must be a string (name) or object? Is value always USD? Minimum/maximum amounts? LLMs will guess and fail.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 28 | 2026-07-28+ | v2 |
Output schema is not documented at all. The function returns a string template (e.g., 'AGREEMENT: GenPark x Vendor. TERMS: 1.5M USD.'), but agents cannot know this without reading source code. No structured schema, no field definitions.
No error handling or recovery guidance. If deal_terms is malformed, missing, or invalid, the function will raise a KeyError or TypeError. No try-catch, no actionable error messages for LLMs.
Function is marked as READ_ONLY but actually generates and returns new content (a contract draft). This is misleading. If the tool can be called safely multiple times, declare it idempotent. If each call creates state (e.g., a new contract record in a system), clarify the side effect.
Implementation is a trivial string concatenation with no actual legal logic, validation, or contract generation. The docstring claims 'legally binding smart-contract draft' but the function produces a placeholder. This gap between promise and reality will confuse agents into expecting more than the tool delivers.