Files
daymade 878f947e93 chore: retire the tracked .security-scan-passed markers (#489)
95 tracked `.security-scan-passed` files are deleted, and `.gitignore` gains the
entry that makes them local artifacts like their three siblings.

How they came to be deleted: a sweep on 2026-09-05 01:48 ran
`find . -name ".skill-regression-reviewed" -o -name ".security-scan-passed"
| xargs -r rm -f`, intending only the first name; `-o` made the second a peer of
it. The first is a gitignored local receipt, the second was tracked. 91 of the 95
parent directories still carry that exact minute as their mtime, which is how the
timestamp was pinned. A restore was attempted 93 seconds later and stopped at the
guard, and the files have sat deleted since. The owner has now retried and the
decision was to let them go; this records it.

Why retiring is coherent rather than a loss: the marker is a four-line local
receipt (scan time, tool, content hash) that `security_scan.py` regenerates on
demand, and `packaging_policy.py` already excludes it from every package. Its
three siblings in that same EXCLUDE_FILES set -- `.DS_Store`,
`.skill-regression-reviewed`, `.skill-regression-baseline.json` -- were all
already gitignored; this one was the outlier. Its `Scanned at` timestamp also
means a regenerated copy never byte-matches a committed one, so tracking it
produced churn and no signal.

The cost is one command: packaging a skill whose marker is gone now needs
`security_scan.py` run first, which regenerates it locally.

No skill content changes, so no plugin version is bumped and no CHANGELOG entry is
added: that file's entries are skill releases, and nothing ships differently. The
three documentation statements about this marker (marketplace-health-check's
SKILL.md and its methodology reference) describe what a scan result means, not
where the file is stored, and remain true. CLAUDE.md never mentioned it.

Pre-checked against main's version gate, which now consumes the shipping policy:
the candidate passes with no bumps.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 02:57:53 +08:00
..

Repomix Unmixer Skill

A Claude Code skill for extracting files from repomix-packed repositories and restoring their original directory structure.

Overview

Repomix packs entire repositories into single AI-friendly files (XML, Markdown, or JSON). This skill reverses that process, extracting all files and restoring the original directory structure.

Quick Start

Installation

  1. Download repomix-unmixer.zip
  2. Extract to ~/.claude/skills/repomix-unmixer/
  3. Restart Claude Code

Basic Usage

Extract a repomix file:

python3 ~/.claude/skills/repomix-unmixer/scripts/unmix_repomix.py \
  "<path_to_repomix_file>" \
  "<output_directory>"

Example:

python3 ~/.claude/skills/repomix-unmixer/scripts/unmix_repomix.py \
  "/path/to/skills.xml" \
  "/tmp/extracted-skills"

Features

  • Multi-format support: XML (default), Markdown, and JSON repomix formats
  • Auto-detection: Automatically detects repomix format
  • Structure preservation: Restores original directory structure
  • UTF-8 encoding: Handles international characters correctly
  • Progress reporting: Shows extraction progress and statistics
  • Validation workflows: Includes comprehensive validation guides

Supported Formats

XML Format (default)

<file path="relative/path/to/file.ext">
content here
</file>

Markdown Format

### File: relative/path/to/file.ext

```language
content here
```

JSON Format

{
  "files": [
    {"path": "file.ext", "content": "content here"}
  ]
}

Bundled Resources

scripts/unmix_repomix.py

Main unmixing script with:

  • Format auto-detection
  • Multi-format parsing (XML, Markdown, JSON)
  • Directory structure creation
  • Progress reporting

references/repomix-format.md

Comprehensive format documentation:

  • XML, Markdown, and JSON format specifications
  • Extraction patterns and regex
  • Edge cases and examples
  • Format detection logic

references/validation-workflow.md

Detailed validation procedures:

  • File count verification
  • Directory structure validation
  • Content integrity checks
  • Skill-specific validation for Claude Code skills
  • Quality assurance checklists

Common Use Cases

Unmix Claude Skills

python3 ~/.claude/skills/repomix-unmixer/scripts/unmix_repomix.py \
  "skills.xml" "/tmp/review-skills"

# Review and validate
tree /tmp/review-skills

# Install if valid
cp -r /tmp/review-skills/* ~/.claude/skills/

Extract Repository for Review

python3 ~/.claude/skills/repomix-unmixer/scripts/unmix_repomix.py \
  "repo-output.xml" "/tmp/review-repo"

# Review structure
tree /tmp/review-repo

Restore from Backup

python3 ~/.claude/skills/repomix-unmixer/scripts/unmix_repomix.py \
  "backup.xml" "~/workspace/restored-project"

Validation

After extraction, validate the results:

  1. Check file count: Verify extracted count matches expected
  2. Review structure: Use tree to inspect directory layout
  3. Spot check content: Read a few files to verify integrity
  4. Run validation: For skills, use skill-creator validation

For detailed validation procedures, see references/validation-workflow.md.

Requirements

  • Python 3.6 or higher
  • Standard library only (no external dependencies)

Skill Activation

This skill activates when:

  • Unmixing a repomix output file
  • Extracting files from a packed repository
  • Restoring original directory structure
  • Reviewing repomix-packed content
  • Converting repomix output back to usable files

Best Practices

  1. Extract to temp directories - Always extract to /tmp for initial review
  2. Verify file count - Check extracted count matches expectations
  3. Review structure - Inspect directory layout before use
  4. Check content - Spot-check files for integrity
  5. Use validation tools - For skills, use skill-creator validation
  6. Preserve originals - Keep the repomix file as backup

Troubleshooting

No Files Extracted

  • Verify input file is a valid repomix file
  • Check format (XML/Markdown/JSON)
  • Refer to references/repomix-format.md

Permission Errors

  • Ensure output directory is writable
  • Use mkdir -p to create directory first
  • Check file permissions

Encoding Issues

  • Script uses UTF-8 by default
  • Verify repomix file encoding
  • Check for special characters

Version

  • Version: 1.0.0
  • Created: 2025-10-22
  • Last Updated: 2025-10-22

License

This skill follows the same license as Claude Code.

Support

For issues or questions:

  1. Check references/repomix-format.md for format details
  2. Review references/validation-workflow.md for validation help
  3. Inspect the script source code at scripts/unmix_repomix.py
  4. Report issues to the skill creator

Credits

Created using the skill-creator skill for Claude Code.