Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Advanced file finder with type detection and filesystem extraction for analyzing firmware and extracting embedded filesystems. Use when you need to analyze firmware files, identify file types, or extract ext2/3/4 or F2FS filesystems.
.claude/skills/aiskillstore-ffind/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | -28% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 465% | 0% |
You are helping the user find and analyze files with advanced type detection and optional filesystem extraction capabilities using the ffind tool.
Ffind analyzes files and directories, identifies file types, and can extract filesystems (ext2/3/4, F2FS) for deeper analysis. It's designed for firmware and IoT device analysis.
When the user asks to analyze files, find specific file types, or extract filesystems:
ffind <path> [<path2> ...]ffind <path> -effind <path> -e -d /path/to/outputffind <path> -affind <path> -v--format text (default): Human-readable colored output with type summaries--format json: Machine-readable JSON--format quiet: Minimal output/tmp/ffind_<timestamp>Analyze a firmware file to see file types:
bashffind /path/to/firmware.bin
Extract all filesystems from a firmware image:
bashsudo ffind /path/to/firmware.bin -e
Analyze multiple files and show all types:
bashffind /path/to/file1.bin /path/to/file2.bin -a
Extract to a custom directory:
bashsudo ffind /path/to/firmware.bin -e -d /tmp/my-extraction
ffind (it finds file names for a given inode and takes a disk image plus an inode number). If which ffind points at /usr/bin/ffind or /usr/local/bin/ffind, the iothackbot flags below (-e, -d <dir>, -a, --format) will be misread by the wrong binary. Confirm with ffind --help (the iothackbot tool shows --extract/--format); if it shows image inode usage, invoke the iothackbot tool by its full path in the repo bin/ directory instead.-a flag to see all file types including common formats| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-11 | fail→pass | 16,245 | 9,109 | -44% | 1 | 1 | 0% | 1,958 | 1,408 | -28% | 0 | 0 | — |
case-12 | fail→pass | 10,266 | 9,198 | -10% | 1 | 1 | 0% | 1,776 | 1,433 | -19% | 0 | 0 | — |
case-01 | fail→pass | 23,649 | 23,950 | +1% | 1 | 1 | 0% | 1,857 | 2,254 | +21% | 0 | 0 | — |
case-02 | fail→pass | 7,797 | 9,610 | +23% | 1 | 1 | 0% | 1,401 | 1,480 | +6% | 0 | 0 | — |
case-03 | fail→pass | 22,231 | 31,842 | +43% | 1 | 1 | 0% | 203 | 1,146 | +465% | 0 | 0 | — |
case-04 | pass→pass | 16,030 | 11,599 | -28% | 1 | 1 | 0% | 1,864 | 1,787 | -4% | 0 | 0 | — |
case-05 | pass→fail | 7,203 | 11,210 | +56% | 1 | 1 | 0% | 1,134 | 1,861 | +64% | 0 | 0 | — |
case-06 | pass→pass | 11,685 | 12,314 | +5% | 1 | 1 | 0% | 1,113 | 1,821 | +64% | 0 | 0 | — |
case-07 | fail→pass | 13,858 | 9,620 | -31% | 1 | 1 | 0% | 1,487 | 1,368 | -8% | 0 | 0 | — |
case-08 | fail→pass | 11,609 | 8,341 | -28% | 1 | 1 | 0% | 1,799 | 1,249 | -31% | 0 | 0 | — |
case-09 | fail→pass | 10,917 | 6,231 | -43% | 1 | 1 | 0% | 1,922 | 1,836 | -4% | 0 | 0 | — |
case-10 | fail→pass | 16,927 | 8,746 | -48% | 1 | 1 | 0% | 2,114 | 1,329 | -37% | 0 | 0 | — |
case-13 | fail→pass | 14,655 | 11,069 | -24% | 1 | 1 | 0% | 1,619 | 1,149 | -29% | 0 | 0 | — |
case-14 | pass→pass | 12,862 | 8,261 | -36% | 1 | 1 | 0% | 2,248 | 1,310 | -42% | 0 | 0 | — |
case-15 | fail→pass | 14,122 | 6,975 | -51% | 1 | 1 | 0% | 1,483 | 967 | -35% | 0 | 0 | — |
case-16 | pass→pass | 17,330 | 10,901 | -37% | 1 | 1 | 0% | 2,175 | 1,875 | -14% | 0 | 0 | — |
case-17 | fail→pass | 68,745 | 7,502 | -89% | 1 | 1 | 0% | 4,378 | 1,085 | -75% | 0 | 0 | — |
case-18 | fail→pass | 11,738 | 4,319 | -63% | 1 | 1 | 0% | 1,153 | 1,433 | +24% | 0 | 0 | — |
case-19 | fail→pass | 13,024 | 4,697 | -64% | 1 | 1 | 0% | 2,118 | 1,554 | -27% | 0 | 0 | — |
case-20 | pass→pass | 19,073 | 9,194 | -52% | 1 | 1 | 0% | 2,274 | 1,413 | -38% | 0 | 0 | — |
case-21 | pass→pass | 19,394 | 16,571 | -15% | 1 | 1 | 0% | 2,287 | 2,600 | +14% | 0 | 0 | — |
case-22 | fail→pass | 7,699 | 16,787 | +118% | 1 | 1 | 0% | 678 | 1,272 | +88% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +64 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.