387 lines
13 KiB
Markdown
387 lines
13 KiB
Markdown
---
|
||
description: Audit existing README.md compliance with standards without making changes
|
||
---
|
||
|
||
# Validate README
|
||
|
||
## Activated Agent
|
||
|
||
**Activate**: `readme-author` agent
|
||
|
||
The agent will audit your README.md against Personal minimal standards.
|
||
|
||
## Objective
|
||
|
||
Validate existing README.md structure and content against 8-section minimal requirements, identify missing or incomplete sections, and provide actionable recommendations for improvement.
|
||
|
||
## Command Parameters
|
||
|
||
| Parameter | Options | Default | Description |
|
||
|-----------|---------|---------|-------------|
|
||
| `--tier` | `prototype`, `mvp`, `production` | Auto-detect | Project tier to validate against |
|
||
| `--format` | `console`, `markdown` | `console` | Output format (console display vs. report file) |
|
||
| `--output` | `<path>` | `./reports/readme-validation-report.md` | Custom report path (requires `--format=markdown`) |
|
||
|
||
**Examples:**
|
||
```bash
|
||
/document-generator:validate-readme # Console output, auto-detect tier
|
||
/document-generator:validate-readme --tier=mvp --format=markdown
|
||
/document-generator:validate-readme --format=markdown --output=./docs/readme-validation.md
|
||
```
|
||
|
||
## Activated Skills
|
||
|
||
The agent will activate these skills:
|
||
|
||
1. **`readme-standards`** - minimal README validation criteria
|
||
2. **`readme-authoring`** - Reference templates for comparison
|
||
|
||
## Process
|
||
|
||
The agent will follow this workflow:
|
||
|
||
### 1. Pre-flight Checks
|
||
|
||
**Check if README.md exists**:
|
||
- If `README.md` not found in current directory:
|
||
```
|
||
❌ No README.md found in current directory.
|
||
|
||
Use `/document-generator:generate-readme` to create one.
|
||
|
||
Aborting validation.
|
||
```
|
||
- Stop execution
|
||
|
||
- If `README.md` exists: Proceed with validation
|
||
|
||
### 2. Detect Project Tier
|
||
|
||
Agent will detect project tier (if not specified via `--tier`) and display for user. Validation will use tier-appropriate standards from `readme-standards` skill.
|
||
|
||
### 3. Parse README Structure
|
||
|
||
**Read and analyze README.md**:
|
||
|
||
1. **Extract sections** - Identify which of the 8 sections are present (with flexible section names):
|
||
- Title & One-Liner (check for `# {Title}` and description)
|
||
- Badges Block (check for shield.io badges or similar)
|
||
- Short Description (`## Description` or `## Overview` acceptable)
|
||
- Installation (`## Installation` or `## Quick Start`)
|
||
- Documentation (dedicated `## Documentation` section OR links within `## Guides`/other sections)
|
||
- Supporting Components (`## Supporting Components`)
|
||
- Contributing (dedicated `## Contributing` section OR link within `## Documentation`/`## Guides`)
|
||
- Issue Reporting (dedicated `## Bugs` section OR link within `## Contributing`/`## Documentation`)
|
||
|
||
2. **Check heading hierarchy**:
|
||
- Title uses `#`
|
||
- Sections use `##`
|
||
- No `###` headings (keep it minimal)
|
||
|
||
3. **Count sections** - Track which required vs. optional sections are present
|
||
|
||
### 4. Validate Content Quality
|
||
|
||
For each section, validate content:
|
||
|
||
**Title & One-Liner** (REQUIRED):
|
||
- ✅ Level 1 heading present
|
||
- ✅ One-liner present (1-2 sentences)
|
||
- ✅ Description is specific, not vague
|
||
- ⚠️ If missing or vague: Flag as incomplete
|
||
|
||
**Badges** (OPTIONAL, tier-dependent):
|
||
- ℹ️ Note if missing for MVP/Production projects
|
||
- ✅ If present, check format (shields.io or similar)
|
||
- ⚠️ If placeholder badges: Flag as incomplete
|
||
|
||
**Short Description** (REQUIRED):
|
||
- ✅ `## Description` or `## Overview` heading present
|
||
- ✅ Paragraph length appropriate (3-5 sentences)
|
||
- ✅ **Business problem context** included
|
||
- ✅ **Solution context** included
|
||
- ℹ️ Separate `## Business Problem` or `## Solution` sections acceptable if brief and focused
|
||
- ✅ Preferred approach: Integrate business/solution context into single Description/Overview paragraph
|
||
- ⚠️ If business context missing: Flag as incomplete
|
||
|
||
**Installation** (REQUIRED):
|
||
- ✅ `## Installation` heading present
|
||
- ✅ Installation command in code block
|
||
- ✅ Command is actionable (not "install this project")
|
||
- ✅ Link to setup guide if `docs/setup.md` exists
|
||
- ⚠️ If missing link to existing setup guide: Flag as incomplete
|
||
|
||
**Documentation** (REQUIRED):
|
||
- ✅ Documentation links present (can be in dedicated `## Documentation` section OR within `## Guides` or similar section)
|
||
- ✅ At least one documentation link provided
|
||
- ✅ Links point to existing files (validate)
|
||
- ⚠️ If ADRs exist in `adr/` but not linked anywhere: Recommend linking
|
||
- ⚠️ If architecture docs exist but not linked anywhere: Recommend linking
|
||
- ⚠️ If minimal documentation: Suggest additions
|
||
|
||
**Supporting Components** (OPTIONAL):
|
||
- ℹ️ Note if missing (not an error)
|
||
- ✅ If present, lists actual dependencies with links
|
||
|
||
**Contributing Link** (REQUIRED):
|
||
- ✅ Contributing guidance or link present (can be dedicated `## Contributing` section OR link within `## Documentation`/`## Guides`)
|
||
- ✅ Link to `CONTRIBUTING.md` if file exists (can be in any section)
|
||
- ✅ If no `CONTRIBUTING.md`, basic guidance provided somewhere in README
|
||
- ⚠️ If `CONTRIBUTING.md` exists but not linked anywhere: Recommend linking
|
||
- ⚠️ If MVP/Production without `CONTRIBUTING.md`: Suggest creating one
|
||
|
||
**Issue Reporting** (REQUIRED):
|
||
- ✅ Issue reporting link or guidance present (can be dedicated `## Bugs` section OR link within `## Contributing`/`## Documentation`)
|
||
- ✅ Issue tracker link provided somewhere in README
|
||
- ⚠️ If no clear path to report issues: Flag as missing
|
||
|
||
### 5. Validate Links
|
||
|
||
**Check documentation links** referenced in README:
|
||
|
||
1. **Relative links** - Verify files exist:
|
||
- `docs/setup.md`
|
||
- `docs/architecture.md`
|
||
- `adr/`
|
||
- `CONTRIBUTING.md`
|
||
|
||
2. **External links** - Note but don't verify (assume valid):
|
||
- GitHub Issues URLs
|
||
- API documentation URLs
|
||
- Confluence links
|
||
|
||
3. **Flag broken links**:
|
||
```
|
||
❌ Broken link: docs/quickstart.md (file not found)
|
||
```
|
||
|
||
### 6. Check for Undiscovered Documentation
|
||
|
||
**Scan for documentation not linked in README**:
|
||
|
||
```bash
|
||
# Check for common doc files
|
||
test -f docs/architecture.md && echo "Architecture doc exists"
|
||
test -d adr && echo "ADRs exist"
|
||
test -f CONTRIBUTING.md && echo "Contributing guide exists"
|
||
```
|
||
|
||
**If documentation exists but not linked**:
|
||
```
|
||
⚠️ Found documentation not linked in README:
|
||
- docs/architecture.md exists but not linked in Documentation section
|
||
- adr/ exists (3 ADRs) but not linked
|
||
```
|
||
|
||
### 7. Generate Compliance Report
|
||
|
||
**Tier-appropriate validation** using `readme-standards` skill criteria.
|
||
|
||
**Calculate compliance score**:
|
||
- Count required content present (out of 6 core requirements: Title, Description/Overview, Installation, Documentation links, Contributing link, Issue reporting)
|
||
- Note: Section names can vary - focus on whether essential content/links exist somewhere in README
|
||
- Count optional sections present (out of 2: Badges, Supporting Components)
|
||
- Count content quality issues (missing business context, broken links, etc.)
|
||
|
||
**Assign compliance level**:
|
||
- ✅✅✅ **Excellent** - All required content present, business context clear, comprehensive links, tier-appropriate
|
||
- ✅✅ **Standard** - All required content present, minor content gaps
|
||
- ✅ **Minimal** - Required content mostly present, some significant gaps (missing contributing link or issue reporting)
|
||
- ❌ **Non-compliant** - Missing multiple core requirements
|
||
|
||
### 8. Present Results
|
||
|
||
**Console format** (`--format=console`, default):
|
||
|
||
```
|
||
📋 README Validation Report
|
||
|
||
Project: {Project Name}
|
||
Tier: {Detected Tier}
|
||
Compliance Level: ✅✅ Standard
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
✅ COMPLIANT SECTIONS (5/6 required, 1/2 optional)
|
||
|
||
1. Title & One-Liner - Clear and descriptive
|
||
2. Short Description - Business context included
|
||
3. Installation - Simple command with setup link
|
||
4. Documentation - 3 resources linked
|
||
5. Bugs & Enhancements - Issue tracker linked
|
||
|
||
ℹ️ OPTIONAL SECTIONS
|
||
|
||
6. Badges - Not present (MVP tier - recommended)
|
||
7. Supporting Components - Not applicable
|
||
|
||
⚠️ INCOMPLETE SECTIONS (1)
|
||
|
||
8. Contributing - Section present but CONTRIBUTING.md not linked
|
||
→ CONTRIBUTING.md exists at ./CONTRIBUTING.md
|
||
→ Add link in Contributing section
|
||
|
||
❌ MISSING SECTIONS (1)
|
||
|
||
9. (None)
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
📌 RECOMMENDATIONS
|
||
|
||
Priority 1 (Required):
|
||
- Link to CONTRIBUTING.md in Contributing section
|
||
|
||
Priority 2 (Suggested):
|
||
- Add badges (project is MVP tier - version, lifecycle, docs, code style)
|
||
- Link to ADRs in Documentation section (3 ADRs found in adr/)
|
||
|
||
Priority 3 (Optional):
|
||
- Create quickstart guide (docs/quickstart.md)
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
✨ NEXT STEPS
|
||
|
||
Run `/document-generator:update-readme` to automatically fix issues.
|
||
```
|
||
|
||
**Markdown format** (`--format=markdown`):
|
||
|
||
Generate detailed report using structure from `readme-standards` skill Resources section.
|
||
|
||
Write to output path (default: `./reports/readme-validation-report.md`):
|
||
|
||
```markdown
|
||
# README Validation Report
|
||
|
||
**Project**: {Project Name}
|
||
**Date**: {Date}
|
||
**Tier**: {Detected Tier}
|
||
**Compliance Level**: ✅✅ Standard
|
||
|
||
## Summary
|
||
|
||
- ✅ 5 of 6 required sections compliant
|
||
- ⚠️ 1 section incomplete
|
||
- ❌ 0 sections missing
|
||
- ℹ️ 1 of 2 optional sections present
|
||
|
||
## Detailed Assessment
|
||
|
||
### ✅ Compliant Sections
|
||
|
||
1. **Title & One-Liner** - Clear and descriptive
|
||
- Title: "Customer Segmentation Engine"
|
||
- One-liner present and specific
|
||
|
||
2. **Short Description** - Business context included
|
||
- Business problem: Marketing teams need customer segmentation
|
||
- Solution: Clustering service for targeted campaigns
|
||
- Core functionality described
|
||
|
||
...
|
||
|
||
### ⚠️ Incomplete Sections
|
||
|
||
8. **Contributing** - Section present but incomplete
|
||
- Section exists with basic guidance
|
||
- CONTRIBUTING.md exists at `./CONTRIBUTING.md` but not linked
|
||
- **Recommendation**: Add link to CONTRIBUTING.md
|
||
|
||
### ❌ Missing Sections
|
||
|
||
(None)
|
||
|
||
## Recommendations
|
||
|
||
### Priority 1 (Required)
|
||
- Link to CONTRIBUTING.md in Contributing section
|
||
|
||
### Priority 2 (Suggested)
|
||
- Add badges (MVP tier: version, lifecycle, docs, code style)
|
||
- Link to ADRs in Documentation section
|
||
|
||
### Priority 3 (Optional)
|
||
- Create quickstart guide
|
||
|
||
## Next Steps
|
||
|
||
Run `/document-generator:update-readme` to automatically fix issues.
|
||
```
|
||
|
||
**Create reports directory if needed**:
|
||
```bash
|
||
mkdir -p reports
|
||
```
|
||
|
||
**Confirm report creation**:
|
||
```
|
||
✓ Validation report saved to ./reports/readme-validation-report.md
|
||
```
|
||
|
||
## Output Format
|
||
|
||
**Console output** - Structured, scannable report with emojis for visual clarity
|
||
|
||
**Markdown report** - Detailed, archivable document following structure from `readme-standards` skill
|
||
|
||
## Validation Levels
|
||
|
||
Using progressive validation from `readme-standards` skill:
|
||
|
||
**Level 1: Structure** (must pass for minimal compliance):
|
||
- All 6 required pieces of content present (title, description/overview, installation, docs links, contributing link, issue reporting)
|
||
- Section names can vary - essential content matters more than exact section structure
|
||
- Proper heading hierarchy
|
||
|
||
**Level 2: Content** (standard compliance):
|
||
- Business problem/solution context included (in Description, Overview, or separate sections)
|
||
- Actionable installation command
|
||
- Valid documentation links
|
||
- Contributing guidance accessible (dedicated section or link within docs/guides)
|
||
- Issue reporting path clear (dedicated section or link within contributing/docs)
|
||
|
||
**Level 3: Quality** (excellent compliance):
|
||
- Tier-appropriate badges
|
||
- Comprehensive documentation links (architecture, ADRs, guides)
|
||
- CONTRIBUTING.md exists and linked for mature projects
|
||
- All available documentation linked appropriately
|
||
|
||
## Constraints
|
||
|
||
- **Read-only** - This command does not modify README.md
|
||
- **Link validation** - Only check relative links, not external URLs
|
||
- **Tier-appropriate** - Validation criteria adjust based on project tier
|
||
- **No speculation** - Only flag issues based on actual file checks
|
||
- **Actionable recommendations** - Every issue should have clear fix
|
||
|
||
## Error Handling
|
||
|
||
**README.md not found**:
|
||
- Display clear error message
|
||
- Suggest using `/document-generator:generate-readme`
|
||
- Stop execution
|
||
|
||
**Cannot create reports directory**:
|
||
- Display error with permission issue
|
||
- Suggest alternative output path
|
||
|
||
**README.md unreadable**:
|
||
- Display error (encoding issue, permissions)
|
||
- Suggest checking file permissions
|
||
|
||
## Success Criteria
|
||
|
||
Validation report should:
|
||
- ✅ Accurately identify missing/incomplete sections
|
||
- ✅ Provide tier-appropriate recommendations
|
||
- ✅ Flag broken links and missing doc references
|
||
- ✅ Give clear, actionable next steps
|
||
- ✅ Assign appropriate compliance level
|
||
|
||
## Related Commands
|
||
|
||
- **`/document-generator:generate-readme`** - Create new README
|
||
- **`/document-generator:update-readme`** - Fix identified issues
|