Auto-generate security policies from a short questionnaire. Exposes scan() as an MCP tool for Cognis.Studio.
Single tool 'policyforge_scan' has a basic description (67 chars) but critical gaps in schema completeness and parameter documentation. Input schema exists but lacks proper type annotations and descriptions for the 'target' parameter. No output schema documented. No error handling guidance. Tool name lacks action verb clarity ('scan' is weak; 'analyze_security_policies' or 'generate_policies' would be stronger). No parameter constraints, validation rules, or format guidance provided.
Auto-generate security policies from a short questionnaire. Returns JSON findings.
Parameter 'target' lacks description and type clarity. Schema shows type='string' but no guidance on valid formats (file path? questionnaire ID? URL?), constraints, or examples. LLM cannot infer whether to pass '/path/to/dir', 'questionnaire-123', or a URL.
No output schema documented. Tool description says 'Returns JSON findings' but does not specify the structure, field names, or types. LLM cannot plan downstream operations or extract specific fields from the response.
Tool name 'policyforge_scan' lacks action verb clarity. 'scan' is generic and does not convey that this generates security policies. Stronger names: 'generate_security_policies', 'analyze_security_posture', or 'create_policies_from_questionnaire'.
No error handling or recovery guidance. Tool description does not explain what happens on invalid input (e.g., non-existent path, malformed questionnaire ID), what errors are retryable, or how the LLM should respond to failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
No parameter constraints or validation rules. 'target' parameter has no min/max length, regex pattern, or enum of valid values. LLM may pass arbitrary strings, causing silent failures or unexpected behavior.