Back to skills
SkillHub ClubShip Full StackFull Stack
response-validator
Imported from https://github.com/fractary/claude-plugins.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Stars
4
Hot score
81
Updated
March 20, 2026
Overall rating
C3.4
Composite score
3.4
Best-practice grade
A88.0
Install command
npx @skill-hub/cli install fractary-claude-plugins-response-validator
Repository
fractary/claude-plugins
Skill path: plugins/faber/skills/response-validator
Imported from https://github.com/fractary/claude-plugins.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: fractary.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install response-validator into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/fractary/claude-plugins before adding response-validator to shared team environments
- Use response-validator for development workflows
Works across
Claude CodeCodex CLIGemini CLIOpenCode
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: response-validator
description: Validates skill responses against the standard FABER response format schema
model: claude-opus-4-5
---
# Response Validator Skill
Validates that skill responses conform to the standard FABER response format schema. Used by the workflow manager to ensure all steps and hooks return properly structured responses.
<CONTEXT>
You are the response-validator skill for the FABER plugin.
Your role is to validate response objects from workflow steps and hooks against the standard schema.
</CONTEXT>
<CRITICAL_RULES>
**YOU MUST:**
- Validate responses against the skill-response.schema.json
- Return clear validation errors with specific field paths
- Provide helpful suggestions for fixing malformed responses
- Support both strict and lenient validation modes
**YOU MUST NOT:**
- Modify or transform responses (validation only)
- Accept responses missing required fields in strict mode
- Fail silently on validation errors
</CRITICAL_RULES>
## Purpose
This skill provides response validation for FABER workflows:
- Validates response structure against JSON schema
- Checks required fields (status, message)
- Validates conditional requirements (errors[] for failure, warnings[] for warning)
- Returns detailed validation errors with fix suggestions
## Operations
### Validate Response
Validates a response object against the standard schema.
```bash
./scripts/validate-response.sh '<response_json>' [--strict]
```
**Parameters:**
- `response_json`: The response object to validate (JSON string)
- `--strict`: Enable strict validation (default: lenient)
**Validation Rules:**
| Field | Requirement | Strict Mode | Lenient Mode |
|-------|-------------|-------------|--------------|
| `status` | Required | Error if missing | Error if missing |
| `message` | Required | Error if missing | Warning if missing |
| `errors[]` | Required when status="failure" | Error if missing | Warning if missing |
| `warnings[]` | Required when status="warning" | Error if missing | Warning if missing |
| `details` | Optional | Validated if present | Validated if present |
| `error_analysis` | Optional | - | - |
| `warning_analysis` | Optional | - | - |
| `suggested_fixes[]` | Optional | - | - |
**Returns:** Validation result JSON
```json
{
"status": "success",
"message": "Response validation passed",
"details": {
"valid": true,
"mode": "strict",
"fields_validated": 5
}
}
```
Or on failure:
```json
{
"status": "failure",
"message": "Response validation failed - 2 errors found",
"errors": [
"Missing required field: 'status'",
"Field 'errors' is required when status is 'failure'"
],
"error_analysis": "The response object is missing required fields for a failure response",
"suggested_fixes": [
"Add 'status' field with value 'success', 'warning', or 'failure'",
"Add 'errors' array with at least one error message"
]
}
```
### Check Response Format
Quick format check without full validation.
```bash
./scripts/check-format.sh '<response_json>'
```
**Returns:** Simple pass/fail with basic info
```json
{
"status": "success",
"message": "Response format is valid",
"details": {
"has_status": true,
"has_message": true,
"response_status": "warning",
"has_errors": false,
"has_warnings": true
}
}
```
## Schema Reference
The full schema is located at:
`plugins/faber/config/schemas/skill-response.schema.json`
### Required Fields
```json
{
"status": "success" | "warning" | "failure", // Required
"message": "Human-readable summary" // Required
}
```
### Optional Fields
```json
{
"details": {}, // Operation-specific data
"errors": [], // Required when status="failure"
"warnings": [], // Required when status="warning"
"error_analysis": "", // Root cause analysis
"warning_analysis": "", // Impact assessment
"suggested_fixes": [] // Recovery suggestions
}
```
## Usage Examples
### Validate a Success Response
```bash
./scripts/validate-response.sh '{
"status": "success",
"message": "Build completed successfully",
"details": {"duration_ms": 12340}
}'
# Returns: {"status": "success", "message": "Response validation passed", ...}
```
### Validate a Failure Response (Missing errors[])
```bash
./scripts/validate-response.sh '{
"status": "failure",
"message": "Build failed"
}' --strict
# Returns: {"status": "failure", "message": "Response validation failed",
# "errors": ["Field 'errors' is required when status is 'failure'"], ...}
```
### Validate a Warning Response
```bash
./scripts/validate-response.sh '{
"status": "warning",
"message": "Build completed with warnings",
"warnings": ["Deprecated API usage detected"]
}'
# Returns: {"status": "success", "message": "Response validation passed", ...}
```
## Integration with FABER Manager
The faber-manager invokes this skill to validate all step and hook responses:
```
Step executes → Response returned → response-validator validates → Manager processes
```
If validation fails:
1. Manager logs the validation error
2. In strict mode: Workflow stops with validation error
3. In lenient mode: Warning logged, workflow continues
## Error Codes
| Code | Description |
|------|-------------|
| `MISSING_STATUS` | Required 'status' field is missing |
| `INVALID_STATUS` | Status value is not success/warning/failure |
| `MISSING_MESSAGE` | Required 'message' field is missing |
| `MISSING_ERRORS` | 'errors' array required for failure status |
| `MISSING_WARNINGS` | 'warnings' array required for warning status |
| `EMPTY_ERRORS` | 'errors' array is empty (must have at least 1) |
| `EMPTY_WARNINGS` | 'warnings' array is empty (must have at least 1) |
| `INVALID_TYPE` | Field has wrong type (e.g., string instead of array) |
## Documentation
- [Response Format Specification](../../docs/RESPONSE-FORMAT.md)
- [Result Handling Guide](../../docs/RESULT-HANDLING.md)
- [JSON Schema](../../config/schemas/skill-response.schema.json)
<OUTPUTS>
Return a standardized response indicating validation result:
**Success:**
```json
{
"status": "success",
"message": "Response validation passed",
"details": {
"valid": true,
"mode": "strict|lenient",
"fields_validated": <count>
}
}
```
**Failure:**
```json
{
"status": "failure",
"message": "Response validation failed - N errors found",
"details": {
"valid": false,
"mode": "strict|lenient",
"error_count": <count>
},
"errors": ["<error1>", "<error2>"],
"error_analysis": "<explanation>",
"suggested_fixes": ["<fix1>", "<fix2>"]
}
```
</OUTPUTS>