Files
daymade 94b40e0833 Initial release: Professional Claude Code Skills Marketplace
8 production-ready skills for enhanced Claude Code workflows:

1. github-ops - Comprehensive GitHub operations via gh CLI and API
   - PR/issue management, workflow automation, API interactions

2. markdown-tools - Document conversion to markdown
   - PDF/Word/PowerPoint/Confluence → Markdown with WSL support

3. mermaid-tools - Mermaid diagram generation
   - Extract and render diagrams from markdown to PNG/SVG

4. statusline-generator - Claude Code statusline customization
   - Multi-line layouts, cost tracking, git status, colors

5. teams-channel-post-writer - Microsoft Teams communication
   - Adaptive Cards, formatted announcements, corporate standards

6. repomix-unmixer - Repomix file extraction
   - Extract from XML/Markdown/JSON formats with auto-detection

7. skill-creator - Skill development toolkit
   - Init, validation, packaging scripts with privacy best practices

8. llm-icon-finder - AI/LLM brand icon finder
   - 100+ AI model icons in SVG/PNG/WEBP formats

Features:
- Individual skill installation (install only what you need)
- Progressive disclosure design (optimized context usage)
- Privacy-safe examples (no personal/company information)
- Comprehensive documentation with references
- Production-tested workflows

Installation:
/plugin marketplace add daymade/claude-code-skills
/plugin marketplace install daymade/claude-code-skills#<skill-name>

Version: 1.2.0
License: See individual skill licenses

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 23:42:29 +08:00

445 lines
11 KiB
Markdown

# Validation Workflow for Unmixed Content
This guide provides detailed validation procedures for verifying the quality and correctness of unmixed repomix content, with special focus on Claude Code skills.
## Overview
After unmixing a repomix file, validation ensures:
- All files were extracted correctly
- Directory structure is intact
- Content integrity is preserved
- Skills (if applicable) meet Claude Code requirements
## General Validation Workflow
### Step 1: File Count Verification
Compare the extracted file count with the expected count.
**Check extraction output:**
```
✅ Successfully extracted 20 files!
```
**Verify against directory structure:**
```bash
# Count files in the repomix directory structure section
grep -c "^ " repomix-file.xml
# Count extracted files
find /tmp/extracted -type f | wc -l
```
**Expected result:** Counts should match (accounting for any excluded binary files).
### Step 2: Directory Structure Validation
Compare the extracted structure with the repomix directory structure section.
**Extract directory structure from repomix file:**
```bash
# For XML format
sed -n '/<directory_structure>/,/<\/directory_structure>/p' repomix-file.xml
```
**Compare with extracted structure:**
```bash
tree /tmp/extracted
# or
ls -R /tmp/extracted
```
**Validation checks:**
- [ ] All directories present
- [ ] Nesting levels match
- [ ] No unexpected directories
### Step 3: Content Integrity Spot Checks
Randomly select 3-5 files to verify content integrity.
**Check file size:**
```bash
# Compare sizes (should be reasonable)
ls -lh /tmp/extracted/path/to/file.txt
```
**Check content:**
```bash
# Read the file and verify it looks correct
cat /tmp/extracted/path/to/file.txt
```
**Validation checks:**
- [ ] Content is readable (UTF-8 encoded)
- [ ] No obvious truncation
- [ ] Code/markup is properly formatted
- [ ] No XML/JSON escape artifacts (e.g., `&lt;` instead of `<`)
### Step 4: File Type Distribution
Verify that expected file types are present.
**Check file types:**
```bash
# List all file extensions
find /tmp/extracted -type f | sed 's/.*\.//' | sort | uniq -c
```
**Expected distributions:**
- Skills: `.md`, `.py`, `.sh`, `.json`, etc.
- Projects: Language-specific extensions
- Documentation: `.md`, `.txt`, `.pdf`, etc.
## Skill-Specific Validation
For Claude Code skills extracted from repomix files, perform additional validation.
### Step 1: Verify Skill Structure
Check that each skill has the required `SKILL.md` file.
**Find all SKILL.md files:**
```bash
find /tmp/extracted -name "SKILL.md"
```
**Expected result:** One `SKILL.md` per skill directory.
### Step 2: Validate YAML Frontmatter
Each `SKILL.md` must have valid YAML frontmatter with `name` and `description`.
**Check frontmatter:**
```bash
head -n 5 /tmp/extracted/skill-name/SKILL.md
```
**Expected format:**
```yaml
---
name: skill-name
description: Clear description with activation triggers
---
```
**Validation checks:**
- [ ] Opening `---` on line 1
- [ ] `name:` field present
- [ ] `description:` field present
- [ ] Closing `---` present
- [ ] Description mentions when to activate
### Step 3: Verify Resource Organization
Check that bundled resources follow the proper structure.
**Check directory structure:**
```bash
tree /tmp/extracted/skill-name
```
**Expected structure:**
```
skill-name/
├── SKILL.md (required)
├── scripts/ (optional)
│ └── *.py, *.sh
├── references/ (optional)
│ └── *.md
└── assets/ (optional)
└── templates, images, etc.
```
**Validation checks:**
- [ ] `SKILL.md` exists at root
- [ ] Resources organized in proper directories
- [ ] No unexpected directories (e.g., `__pycache__`, `.git`)
### Step 4: Validate with skill-creator
Use the skill-creator validation tools for comprehensive validation.
**Run quick validation:**
```bash
~/.claude/plugins/marketplaces/anthropics-skills/skill-creator/scripts/quick_validate.py \
/tmp/extracted/skill-name
```
**Expected output:**
```
✅ Skill structure is valid
✅ YAML frontmatter is valid
✅ Description is informative
✅ All resource references are valid
```
**Common validation errors:**
- Missing or malformed YAML frontmatter
- Description too short or missing activation criteria
- References to non-existent files
- Improper directory structure
### Step 5: Content Quality Checks
Verify the content quality of each skill.
**Check SKILL.md length:**
```bash
wc -l /tmp/extracted/skill-name/SKILL.md
```
**Recommended:** 100-500 lines for most skills (lean, with details in references).
**Check for TODOs:**
```bash
grep -i "TODO" /tmp/extracted/skill-name/SKILL.md
```
**Expected result:** No TODOs (unless intentional).
**Check writing style:**
```bash
# Should use imperative/infinitive form
head -n 50 /tmp/extracted/skill-name/SKILL.md
```
**Validation checks:**
- [ ] Uses imperative form ("Extract files from..." not "You extract files...")
- [ ] Clear section headings
- [ ] Code examples properly formatted
- [ ] Resources properly referenced
### Step 6: Bundled Resource Validation
Verify bundled scripts, references, and assets are intact.
**Check scripts are executable:**
```bash
ls -l /tmp/extracted/skill-name/scripts/
```
**Check for shebang in Python/Bash scripts:**
```bash
head -n 1 /tmp/extracted/skill-name/scripts/*.py
head -n 1 /tmp/extracted/skill-name/scripts/*.sh
```
**Expected:** `#!/usr/bin/env python3` or `#!/bin/bash`
**Verify references are markdown:**
```bash
file /tmp/extracted/skill-name/references/*.md
```
**Expected:** All files are text/UTF-8
**Validation checks:**
- [ ] Scripts have proper shebangs
- [ ] Scripts are executable (or will be made executable)
- [ ] References are readable markdown
- [ ] Assets are in expected formats
## Automated Validation Script
For batch validation of multiple skills:
```bash
#!/bin/bash
# validate_all_skills.sh
EXTRACTED_DIR="/tmp/extracted"
SKILL_CREATOR_VALIDATOR="$HOME/.claude/plugins/marketplaces/anthropics-skills/skill-creator/scripts/quick_validate.py"
echo "Validating all skills in $EXTRACTED_DIR..."
for skill_dir in "$EXTRACTED_DIR"/*; do
if [ -d "$skill_dir" ] && [ -f "$skill_dir/SKILL.md" ]; then
skill_name=$(basename "$skill_dir")
echo ""
echo "=== Validating: $skill_name ==="
# Run quick validation
if [ -f "$SKILL_CREATOR_VALIDATOR" ]; then
python3 "$SKILL_CREATOR_VALIDATOR" "$skill_dir"
else
echo "⚠️ Skill creator validator not found, skipping automated validation"
fi
# Check for TODOs
if grep -q "TODO" "$skill_dir/SKILL.md"; then
echo "⚠️ Warning: Found TODOs in SKILL.md"
fi
# Count files
file_count=$(find "$skill_dir" -type f | wc -l)
echo "📁 Files: $file_count"
fi
done
echo ""
echo "✅ Validation complete!"
```
**Usage:**
```bash
bash validate_all_skills.sh
```
## Quality Assurance Checklist
Use this checklist after unmixing:
### General Extraction Quality
- [ ] File count matches expected count
- [ ] Directory structure matches repomix directory listing
- [ ] No extraction errors in console output
- [ ] All files are UTF-8 encoded and readable
- [ ] No binary files incorrectly extracted as text
### Skill Quality (if applicable)
- [ ] Each skill has a valid `SKILL.md`
- [ ] YAML frontmatter is well-formed
- [ ] Description includes activation triggers
- [ ] Writing style is imperative/infinitive
- [ ] Resources are properly organized (scripts/, references/, assets/)
- [ ] No TODOs or placeholder text
- [ ] Scripts have proper shebangs and permissions
- [ ] References are informative markdown
- [ ] skill-creator validation passes
### Content Integrity
- [ ] Random spot-checks show correct content
- [ ] Code examples are properly formatted
- [ ] No XML/JSON escape artifacts
- [ ] File sizes are reasonable
- [ ] No truncated files
### Ready for Use
- [ ] Extracted to appropriate location
- [ ] Scripts made executable (if needed)
- [ ] Skills ready for installation to `~/.claude/skills/`
- [ ] Documentation reviewed and understood
## Common Issues and Solutions
### Issue: File Count Mismatch
**Symptom:** Fewer files extracted than expected.
**Possible causes:**
- Binary files excluded (expected)
- Malformed file blocks in repomix file
- Wrong format detection
**Solution:**
1. Check repomix `<file_summary>` section for exclusion notes
2. Manually inspect repomix file for file blocks
3. Verify format detection was correct
### Issue: Malformed YAML Frontmatter
**Symptom:** skill-creator validation fails on YAML.
**Possible causes:**
- Extraction didn't preserve line breaks correctly
- Content had literal `---` that broke frontmatter
**Solution:**
1. Manually inspect `SKILL.md` frontmatter
2. Ensure opening `---` is on line 1
3. Ensure closing `---` is on its own line
4. Check for stray `---` in description
### Issue: Missing Resource Files
**Symptom:** References to scripts/references not found.
**Possible causes:**
- Resource files excluded from repomix
- Extraction path mismatch
**Solution:**
1. Check repomix file for resource file blocks
2. Verify resource was in original packed content
3. Check extraction console output for errors
### Issue: Permission Errors on Scripts
**Symptom:** Scripts not executable.
**Possible causes:**
- Permissions not preserved during extraction
- Scripts need to be marked executable
**Solution:**
```bash
# Make all scripts executable
find /tmp/extracted -name "*.py" -exec chmod +x {} \;
find /tmp/extracted -name "*.sh" -exec chmod +x {} \;
```
### Issue: Encoding Problems
**Symptom:** Special characters appear garbled.
**Possible causes:**
- Repomix file not UTF-8
- Extraction script encoding mismatch
**Solution:**
1. Verify repomix file encoding: `file -i repomix-file.xml`
2. Re-extract with explicit UTF-8 encoding
3. Check original files for encoding issues
## Post-Validation Actions
### For Valid Skills
**Install to Claude Code:**
```bash
# Copy to skills directory
cp -r /tmp/extracted/skill-name ~/.claude/skills/
# Restart Claude Code to load the skill
```
**Package for distribution:**
```bash
~/.claude/plugins/marketplaces/anthropics-skills/skill-creator/scripts/package_skill.py \
/tmp/extracted/skill-name
```
### For Invalid Skills
**Document issues:**
- Create an issues list
- Note specific validation failures
- Identify required fixes
**Fix issues:**
- Manually edit extracted files
- Re-validate after fixes
- Document changes made
**Re-package if needed:**
- Once fixed, re-validate
- Package for distribution
- Test in Claude Code
## Best Practices
1. **Always validate before use** - Don't skip validation steps
2. **Extract to temp first** - Review before installing
3. **Use automated tools** - skill-creator validation for skills
4. **Document findings** - Keep notes on any issues
5. **Preserve originals** - Keep the repomix file as backup
6. **Spot-check content** - Don't rely solely on automated checks
7. **Test in isolation** - Install one skill at a time for testing
## References
- Skill creator documentation: `~/.claude/plugins/marketplaces/anthropics-skills/skill-creator/SKILL.md`
- Skill authoring best practices: https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices.md
- Claude Code skills directory: `~/.claude/skills/`