| name | podcast-feed-validator |
| description | Validate podcast RSS feed against specification standards. Checks channel metadata, episode elements, XML structure, and file metadata accuracy. Use after updating feed.xml with a new episode to ensure compliance with RSS spec. References docs/RSS-specification.md for requirements. |
Podcast Feed Validator
You are validating a podcast RSS feed against the Yudame RSS specification standards defined in docs/RSS-specification.md.
Input Parameters
You should receive:
- Feed path:
podcast/feed.xml
- Specification path:
docs/RSS-specification.md
- Optional: Episode to validate - If specified, validate only the most recent episode. If not specified, validate the entire feed.
Validation Process
1. Read the Specification
Read docs/RSS-specification.md to understand:
- Section 1: Required Channel Elements
- Section 2: Required Episode Elements
- Section 3: Recommended Elements
- Section 8: Quality Checklist
2. Read the Feed
Read podcast/feed.xml to analyze:
- Channel-level metadata
- Episode entries (focus on most recent if specified)
- XML structure and namespaces
3. Validate Channel-Level Elements
Check against Section 1 requirements:
✓ Core Metadata:
✓ Contact & Rights:
✓ iTunes Metadata:
✓ Namespaces:
4. Validate Episode Elements
For each episode (or most recent if specified), check against Section 2 & 3:
✓ Core Episode Data:
✓ iTunes Episode Data:
✓ Series Metadata (if episode is part of a series):
5. Validate File Metadata Accuracy
If validating a specific episode:
6. Validate XML Structure
7. Content Quality Checks
For the episode description and content:encoded:
Output Format
Provide a validation report in this format:
# RSS Feed Validation Report
## Feed: podcast/feed.xml
**Validation Date:** YYYY-MM-DD HH:MM:SS
## Channel-Level Validation
### ✅ Passed
- [List elements that passed validation]
### ❌ Failed
- [List elements that failed with specific issues]
### ⚠️ Warnings
- [List recommendations or optional elements missing]
## Episode Validation: [Episode Title]
### ✅ Passed
- [List episode elements that passed]
### ❌ Failed
- [List episode elements that failed with specific issues]
### ⚠️ Warnings
- [List recommendations]
## File Metadata Verification
- **Expected file size:** [bytes from feed]
- **Actual file size:** [bytes from file system]
- **Match:** ✅ Yes / ❌ No
- **Expected duration:** [duration from feed]
- **Actual duration:** [duration from audio file]
- **Match:** ✅ Yes / ❌ No
## XML Structure
- **XML validation:** ✅ Valid / ❌ Invalid
- **Issues found:** [List any XML parsing errors]
## Overall Status
**Feed Status:** ✅ VALID / ⚠️ VALID WITH WARNINGS / ❌ INVALID
**Issues to address:** [Count]
**Warnings:** [Count]
## Action Items
- [ ] [List specific fixes needed]
- [ ] [List recommendations]
Error Handling
If validation fails:
- Provide specific line numbers or element paths where possible
- Suggest corrections based on RSS-specification.md
- Reference the specific section of the specification that defines the requirement
Success Criteria
A feed is considered VALID when:
- All required channel elements are present and correct
- All required episode elements are present and correct
- XML structure is well-formed
- File metadata matches actual files (if checked)
A feed gets WARNINGS when:
- Optional recommended elements are missing
- File metadata couldn't be verified
- Minor formatting inconsistencies exist
A feed is INVALID when:
- Required elements are missing
- XML is malformed
- File sizes or durations are significantly wrong
- Contact information is incorrect