ShipToday Forge plugin for Cursor/Claude Code that manages active workflow tracking, passive session observation, and engineering-time measurement through hook-based state management
Critical gaps across all dimensions. Descriptions exist but are vague and lack actionable context. No parameter descriptions, no output schemas, no error handling guidance. Tools appear to be inferred from hook code rather than explicitly registered with proper MCP definitions. This server would not pass code review.
Terminates an active workflow with a provided reason
Initiates a Forge workflow execution with specified input parameters
Updates workflow state and handles checkpoint responses, skill invocations, and engineering-time deltas
Passive session observation tool that evaluates session context and invokes observe_session workflow for tracking
All tools have empty input schemas (type:object with no properties).
No parameter descriptions. forge__update_state has properties (duration_ms, skill_invocations, conversation_id) with descriptions in the schema, but forge__start_workflow and session_observer have empty property objects. LLMs cannot infer parameter meaning without descriptions.
Tool descriptions are under 50 characters and lack context. 'Initiates a Forge workflow execution with specified input parameters' (forge__start_workflow) does not explain WHEN to use it, what it returns, or what side effects occur. Descriptions should be 50 - 200 chars with actionable context.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., conversation_id, workflow_id) without knowing what each tool returns.
No error handling guidance. Tools are marked WRITE (destructive) but provide no recovery hints, retryability classification, or actionable error messages. Agents cannot self-correct on failure.