React capabilities for AI assistants, UI agents, and tool calling—with live context, validation, policy, and confirmation.
RCIP is a React-based capability framework for browser/UI agents, not an MCP server. Tools are defined in TypeScript with basic JSON Schema, but lack depth in descriptions, parameter documentation, and output schema definition. The 9 tools span todo/profile/counter operations with descriptions averaging ~30 chars (below the 194-char baseline for production tools). Only 3 of 9 tools have more than minimal descriptions. No visible error handling, no output schemas documented, no parameter constraints (enums, ranges), and no composition guidance. This is an application-specific capability registry, not a production-grade tool interface designed for LLM interactions.
Mark a todo as completed
Create a new todo
Delete a todo
Increment the count by a specified amount
List all todos
Read the current count value
Search todos by query
Update user profile information
View user profile information
No output schemas documented for any tool. LLMs cannot know what fields to expect or plan downstream calls. Production tools must declare return types (pattern:tool).
Descriptions are consistently under 50 characters (avg ~28 chars vs baseline 194 chars). Insufficient for LLM tool selection and context. EVERY tool should have WHAT, WHEN, and output summary (10-200 char range).
No parameter constraints (enums, min/max, regex patterns, length limits). Numeric parameters like 'increment.by' accept any number without bounds; string parameters lack length or format validation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2025-06-18+ | v2 |
Destructive tool (deleteTodoCapability) lacks confirmation/dry-run alternative and does not warn about irreversibility. Violates pattern:confirmation-request.
Parameter descriptions lack guidance on expected format and valid ranges. E.g., 'id' parameters do not specify UUID vs integer vs slug format, and 'displayName' has no length limits.
Naming conventions inconsistent. Tools use camelCase (readCount, increment) instead of verb_noun snake_case (read_count, increment_count). Generic names like 'increment' lack clarity about what they operate on.
No visible error handling or recovery guidance. No guidance on what happens on invalid input (e.g., todo ID not found, title too long, count overflow).
No idempotency guidance for write operations (createTodoCapability, updateProfileCapability, increment). Agents retry on ambiguity, non-idempotent tools risk duplicate records or corrupted state.