6 phase, 56 task workflow for Claude consisting of Operational Direction, Intelligence Collection, Collation & Entity Resolution, Chronological & Relational Processing, Hypothesis & Reasoning, and Final Report. Includes templates for every step and reference files for each task.
26 tools with complete JSON schemas and descriptions. Naming follows verb_noun convention well (create_investigation, add_entity, search_relationships). Descriptions average ~80 chars, meeting baseline minimums but lacking LLM-optimized context (target 50-200 chars per pattern:tool-description). Most parameters have types and descriptions, but many lack constraints (enums, ranges, format hints). Output schemas not documented. Error handling absent, no recovery guidance, retryability classification, or actionable error messages. Security concerns: no mention of permission gates, audit trails, or input sanitization despite destructive operations (delete_investigation, delete_entity, delete_relationship). Composition is sound, tools are single-responsibility and chainable via IDs.
Add a POLE entity.
Add geo-location.
Link two entities.
Add timeline event.
Close an investigation.
Start a new investigation case.
Delete an entity and cascade-remove all its relationships.
Permanently delete an investigation and all its data.
No output schemas documented. Tools return data but LLMs cannot plan downstream calls or extract fields reliably. Violates pattern:tool and pattern:response-shaper.
Destructive operations (delete_investigation, delete_entity, delete_relationship) lack confirmation/dry-run support and no error recovery guidance. Agents cannot safely retry or undo. Violates pattern:confirmation-request and pattern:recovery-guide.
No permission gates or audit trail declarations. Tools like delete_investigation and register_evidence lack scope declarations (read:investigation, write:investigation, delete:investigation). Violates pattern:permission-gate and pattern:scope-declaration.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Delete a relationship by ID.
Get entities within N hops of a starting entity.
Get relationships for an entity.
Get investigation statistics.
Get chronological matrix with optional date range filtering.
List all investigations.
Load full investigation state.
Load investigation notebook.
Load task runner state.
Record Admiralty 6x6 grade.
Register evidence metadata.
Save investigation notebook.
Save task runner state.
Search entities.
Search relationships by type, entity, or date range.
Update entity fields.
Update investigation name, description, or status.
Update relationship fields.
Parameter descriptions lack constraints. 'updates' object in update_investigation, update_entity, update_relationship has no schema or validation rules. 'type' enum in add_entity is good, but most string params lack format/length/pattern hints. Violates pattern:constrained-input.
Descriptions are generic and under-optimized for LLM selection. 'List all investigations' (24 chars) and 'Search entities' (15 chars) lack context on when to use vs similar tools, what structure is returned, or prerequisites. Target 50-200 chars per pattern:tool-description.