# Device File Search

> Device File Search is an Agent Skill for documents published in the pockebot/openpocket repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Locate and verify files on Android storage before upload/share, especially latest edited photos or videos.

- Skill name: `device-file-search`
- Category: [Documents](https://www.openparable.com/skill/documents/1)
- Source: https://github.com/pockebot/openpocket/blob/HEAD/skills/device-file-search/SKILL.md
- Repository: pockebot/openpocket (834 GitHub stars when collected)

## SKILL.md

# Device File Search

Use this skill when you need to find a saved file on the Agent Phone, then upload/share it in an app.

## Goal

- Return a real, existing absolute file path.
- Prefer the newest matching file.
- Avoid repeated blind searches.

## Default Search Order

1. Check likely output folders first:
- `/storage/emulated/0/DCIM/Camera`
- `/storage/emulated/0/Pictures`
- `/storage/emulated/0/Download`
- `/storage/emulated/0/Movies`

2. For editor-specific outputs, try app-named subfolders:
- `/storage/emulated/0/Pictures/CapCut`
- `/storage/emulated/0/Movies/CapCut`
- `/storage/emulated/0/DCIM/Camera`

3. Only if still missing, run a wider `find` under `/storage/emulated/0`.

## Command Patterns

Use `shell` (device-side), not workspace `exec`.

- Quick latest list:
`shell("sh -lc 'ls -1t /storage/emulated/0/DCIM/Camera | head -n 20'")`

- Wider image search:
`shell("sh -lc 'find /storage/emulated/0 -type f \\( -iname \"*.jpg\" -o -iname \"*.jpeg\" -o -iname \"*.png\" -o -iname \"*.webp\" \\) | head -n 400'")`

- Wider video search:
`shell("sh -lc 'find /storage/emulated/0 -type f \\( -iname \"*.mp4\" -o -iname \"*.mov\" -o -iname \"*.mkv\" \\) | head -n 400'")`

- Verify one candidate path:
`shell("ls -l /storage/emulated/0/DCIM/Camera/<filename>")`

## Reliability Rules

- Prefer `/storage/emulated/0/...` over `/sdcard/...` (symlink issues can hide `find` results).
- If `/sdcard` must be used, use `find -L /sdcard ...`.
- After editing/saving, prioritize files modified in the last few minutes.
- Before telling the user "not found", verify at least 2 directories + 1 wide search.

## After Found

- Keep the exact absolute path in memory for the rest of the task.
- Reuse the same path for upload/share actions.
- If upload fails, retry with the same verified path before starting a new search.

---

Source: https://www.openparable.com/skill/documents/device-file-search (OpenParable). Cite the canonical URL above.
