advanced-oscal-validator
Skill8 starsChanged 10 months agoMITView on GitHub
Perform comprehensive OSCAL validation using community-inspired patterns including JSON schema validation, business rule validation, cross-reference checking, and best practices from IBM Trestle, oscal-pydantic, and Lula. Use for thorough document quality assurance.
In this repository15 other files it gives its agents.
- compliance-report-generatorSkill
- component-definition-builderSkill
- control-implementation-generatorSkill
- control-mapperSkill
- controls-extractorSkill
- evidence-collectorSkill
- oscal-catalog-providerSkill
- oscal-control-mapperSkill
- oscal-parserSkill
- oscal-ssp-validatorSkill
- oscal-text-converterSkill
- oscal-validatorSkill
- oscal-visualizerSkill
- risk-assessorSkill
- workflow-orchestratorSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 10 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Use this skill when you need to:
- Distinctive: line 15
Check business rules and best practices
- Distinctive: line 17
Ensure FedRAMP-specific requirements are met
- Distinctive: line 91
All required control families present
- Distinctive: line 183
Verify profile import exists
- Distinctive: line 184
Check all baseline controls addressed
- Distinctive: line 189
Verify component has title
- Distinctive: line 190
Check control implementations reference valid controls
- Distinctive: line 229
When asked "Thoroughly validate this SSP":
- Distinctive: line 233
Check all UUIDs for format and uniqueness
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Advanced OSCAL Validator Skill
Perform comprehensive OSCAL document validation using advanced patterns inspired by community tools including IBM Trestle, oscal-pydantic, and Defense Unicorns' Lula.
When to Use This Skill
Use this skill when you need to:
- Perform thorough validation beyond basic structure
- Validate against NIST OSCAL JSON schemas
- Check business rules and best practices
- Validate cross-references and links
- Ensure FedRAMP-specific requirements are met
⛔ Authoritative Data Requirement
Validation checks user-provided documents against structural rules.
What This Skill Does (Safe)
- Validates OSCAL structure and syntax
- Checks UUID formats and references
- Verifies required fields are present
- Confirms cross-references resolve
- Applies business rule logic to YOUR document
What Requires Authoritative Sources
| Validation Type | Requires |
| Baseline completeness | The baseline profile being validated against |
| Control reference validation | The catalog that controls reference |
| FedRAMP-specific rules | FedRAMP baseline |
For Baseline Validation
To validate SSP completeness against a baseline, I need both:
1. Your SSP document (provided)
2. The baseline profile it should meet (e.g., FedRAMP Moderate)
I cannot determine if controls are missing without the authoritative baseline.Validation Levels
| Level | Description | Checks |
| Schema | JSON schema compliance | Structure, types, required fields |
| Semantic | Business logic | UUIDs, references, dates |
| Quality | Best practices | Completeness, clarity |
| Framework | FedRAMP/NIST specific | Baseline compliance |
Advanced Validation Categories
Schema Validation
Validate against official NIST OSCAL JSON schemas:
- Catalog schema
- Profile schema
- SSP schema
- Component definition schema
- Assessment schemas
UUID Validation
- Format: RFC 4122 compliant
- Uniqueness: No duplicates within document
- References: All UUID refs resolve
Cross-Reference Validation
- Control references exist in imported catalogs
- Party references resolve within document
- Component references are valid
- Resource links are accessible
Business Rule Validation
| Rule | Description |
| BIZ-001 | SSP must import a profile |
| BIZ-002 | All baseline controls must be addressed |
| BIZ-003 | Implementation status required for each control |
| BIZ-004 | Responsible parties must be defined |
| BIZ-005 | System characteristics must be complete |
FedRAMP-Specific Validation
- All required control families present
- POA&M references valid
- Required attachments present
- Naming conventions followed
Validation Report Structure
ADVANCED VALIDATION REPORT
==========================
Document: ssp.json
Type: System Security Plan
Schema Version: 1.2.0
Validation Date: 2024-01-15
SUMMARY
-------
Schema Valid: ✅ Yes
Semantically Valid: ⚠️ Warnings
Quality Score: 85/100
SCHEMA VALIDATION
-----------------
Status: PASS
- Structure: Valid
- Required Fields: All present
- Data Types: Correct
UUID VALIDATION
---------------
Total UUIDs: 245
Unique: 245 ✅
Invalid Format: 0 ✅
Orphaned References: 2 ⚠️
- #uuid-abc123 not found
- #uuid-def456 not found
CROSS-REFERENCE VALIDATION
--------------------------
Control References: 320/325 valid
Missing: AC-1(1), CM-7(1), SI-4(2), ...
Party References: 12/12 valid ✅
Component References: 45/45 valid ✅
BUSINESS RULES
--------------
✅ BIZ-001: Profile imported
⚠️ BIZ-002: 5 controls not addressed
✅ BIZ-003: All have implementation status
✅ BIZ-004: Responsible parties defined
⚠️ BIZ-005: System boundary incomplete
QUALITY CHECKS
--------------
- Implementation narratives: 95% complete
- Evidence references: 80% complete
- Parameter values: 100% set
- Remarks clarity: Good
RECOMMENDATIONS
---------------
1. Add missing control implementations
2. Resolve orphaned UUID references
3. Complete system boundary descriptionHow to Perform Advanced Validation
Step 1: Schema Validation
- Identify document type from root element
- Fetch appropriate NIST schema
- Validate document against schema
- Collect all schema violations
Step 2: UUID Analysis
- Extract all UUIDs from document
- Validate format (8-4-4-4-12 hex)
- Check for duplicates
- Build reference graph
- Find orphaned references
Step 3: Cross-Reference Check
- Extract all internal references (#uuid-...)
- Extract all control-id references
- Resolve each reference
- Report unresolved references
Step 4: Business Rule Evaluation
Apply business rules based on document type:
For SSP:
- Verify profile import exists
- Check all baseline controls addressed
- Validate implementation statements present
- Confirm responsible parties assigned
For Component Definition:
- Verify component has title
- Check control implementations reference valid controls
- Validate capability descriptions
Step 5: Quality Assessment
Score based on:
- Completeness of narratives
- Presence of evidence references
- Parameter value coverage
- Clarity and specificity
Validation Patterns from Community
From IBM Trestle
- Workspace-based validation
- Model assembly validation
- Profile resolution checking
From oscal-pydantic
- Type-safe validation
- Field-level constraints
- Nested object validation
From Lula
- Control validation automation
- Policy-as-code patterns
- Continuous validation
Common Validation Issues
| Issue | Severity | Fix |
| Missing metadata.title | ERROR | Add title |
| Invalid UUID format | ERROR | Regenerate UUID |
| Orphaned reference | WARNING | Update or remove |
| Missing implementation | WARNING | Add narrative |
| Empty remarks | INFO | Add context |
Example Usage
When asked "Thoroughly validate this SSP":
- Parse the SSP document
- Validate against OSCAL SSP schema
- Check all UUIDs for format and uniqueness
- Resolve all cross-references
- Apply SSP business rules
- Score quality metrics
- Generate comprehensive validation report
- Provide prioritized fix recommendations
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

