Skip to content
Back to skills

Rawly

ASecurity

Process local photos and videos with Rawly: D image processing, metadata cleanup, optional device profiles, and whole-folder batches. Use when the user asks to use Rawly, remove media metadata or AI provenance tags, apply a shooting profile, or process a media batch. Requires local files and a shell.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
ai-agentspythonshell

Security analysis

A100/100

Pro scans all 14 files and shows the line behind each finding

Scanned September 24, 2026

npx -y skills add exemble404/rawly --skill rawly --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rawly?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rawly
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/exemble404-rawly/badge)](https://www.skillsdirectory.com/skills/exemble404-rawly)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: rawly
description: >-
  Process local photos and videos with Rawly: D image processing, metadata cleanup, optional device profiles, and whole-folder batches. Use when the user asks to use Rawly, remove media metadata or AI provenance tags, apply a shooting profile, or process a media batch. Requires local files and a shell.
---

# Rawly

Use the bundled deterministic tool. Resolve paths relative to this `SKILL.md`,
not the current working directory. The runtime is `scripts/rawly.py`; Python is
`.venv/bin/python` on macOS/Linux or `.venv/Scripts/python.exe` on Windows.

## Run

1. Run `scripts/rawly.py doctor` using that interpreter. If its environment is
   missing, run `python3 scripts/bootstrap.py` (Windows: `py -3`). Install missing
   FFmpeg/ExifTool using [installation.md](references/installation.md). Package
   installation needs network access; processing itself is local.
2. Resolve the input files and a separate output folder from the user's request.
   Process a folder directly for a batch; add `--recursive` only for subfolders.
3. Run the tool once for the batch:

   ```text
   <python> <skill>/scripts/rawly.py process <file-or-folder> --output <folder>
   ```

4. Read the JSON result/report. Return output paths, succeeded/failed counts and
   the reason for any failure. Do not claim success for files marked `error`.

The default photo path is D, with a fixed seed of 8501 and a 24 MP memory limit.
It preserves framing and output dimensions, but changes fine detail and adds grain.
Videos use stream copying: audio/video are not re-encoded. Outputs never overwrite
existing files. A batch is sequential to bound memory. The local JSON report names
inputs and outputs; keep reports with the user's files, not in public issues.

## Optional shooting profile

Do not invent a camera, location or capture date. Apply a profile only when requested
or supplied by the user. Profiles are ordinary JSON files with no account or count limit.

```text
<python> <skill>/scripts/rawly.py presets devices --search iPhone
<python> <skill>/scripts/rawly.py presets cities --search Москва
<python> <skill>/scripts/rawly.py profile <profile.json> --device <id>
<python> <skill>/scripts/rawly.py profile <profile.json> --from-photo <reference.jpg>
<python> <skill>/scripts/rawly.py process <input> --output <folder> --profile <profile.json>
```

Read [profiles.md](references/profiles.md) for city, fixed time and UTC-offset options.
Read metadata without changing the file using `inspect <file>`.

## Interpret results

A removed provenance tag and a detector's pixel-based score are different observations.
The tool does not call a detector or upload media to a platform. Report only measured
results. If a score is requested, explain that an external test is separate and obtain
the user's authorization before uploading their files. Do not claim a file was captured
by the device merely because a profile was written. Do not regenerate, crop, denoise or
recompress results unless asked; these operations change the tested D recipe.

Files in this skill

  • LICENSE1 KB
  • SKILL.md3 KB
  • agents/openai.yaml197 B
  • references/installation.md1.4 KB
  • references/profiles.md1.5 KB
  • requirements.txt144 B
  • scripts/bootstrap.py999 B
  • scripts/rawly.py193 B
  • scripts/rawly_core/__init__.py22 B
  • scripts/rawly_core/cli.py13.4 KB
  • scripts/rawly_core/images.py4.9 KB
  • scripts/rawly_core/media.py4.7 KB
  • scripts/rawly_core/presets/devices.json30.2 KB
  • scripts/rawly_core/profiles.py15.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…