Not in the top 1,000 by GitHub stars

IceWhaleTech/filens

📄 Office / PDF / iWork / CAD / 3D / RAW / 360° 🔒 Browser-local preview & conversion 🤖 Agent CLI with OCR, structured text & layout extraction ⚡ Rust + WebAssembly 🧩 Vue 3 integration. Open-source, local-first. Your files, your device.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/filens/SKILL.md

Week of Nov 2, 2026 · +7 / −7 lines

Before Instructions only → After Instructions only

2f130f2ab623 → 66e01abbd368

- 20 Check `capacity.operations` before using source additions such as `search` or `similar`. Check `capacity.formats`, `capacity.conversionPairs`, and `capacity.ocr.available` for document operations; reading support does not imply conversion support, and an advertised OCR route does not prove that OCR is installed. Reading, directory scans and conversion are local; initial npm installation and explicit OCR setup may download dependencies.
+ 20 Check `capacity.operations` before using operations such as `search` or `similar`. Check `capacity.formats`, `capacity.conversionPairs`, and `capacity.ocr.available` for document operations; reading support does not imply conversion support, and an advertised OCR route does not prove that OCR is installed. Reading, directory scans and conversion are local; initial npm installation and explicit OCR setup may download dependencies.
- 33 {"operation":"understand","input":"/path/report.pdf","format":"json","layout":false,"maxBytes":8388608}
+ 33 {"op":"understand","input":"/path/report.pdf","format":"json","layout":false,"maxBytes":8388608}
- 65 Check `capacity.operations` for `summarize`; older published builds do not provide it. Use `filens summarize report.pdf --query 'budget risk' --summary-chars 1000 --json`, or pipe `{"operation":"summarize","input":"report.pdf","query":"budget risk","summaryChars":1000,"summaryRatio":0.3}`. `prune` is an alias. Query is optional. Defaults retain at most 30% and 2000 Unicode characters, including separators; this is a budget, not a promise to retain all important facts.
+ 65 Check `capacity.operations` for `summarize`; older published builds do not provide it. Use `filens summarize report.pdf --query 'budget risk' --summary-chars 1000 --json`, or pipe `{"op":"summarize","input":"report.pdf","query":"budget risk","summaryChars":1000,"summaryRatio":0.3}`. `prune` is an alias. Query is optional. Defaults retain at most 30% and 2000 Unicode characters, including separators; this is a budget, not a promise to retain all important facts.
- 71 Check `capacity.operations` for `search`. Use `filens search '/path/documents' --query 'budget risk' --json`, or pipe `{"operation":"search","input":"/path/documents","query":"预算 风险","format":"json"}`. Chinese and English quoted directory/query intents are supported. This is lexical BM25 with exact matching boosts, not embedding-based semantic retrieval. `--search-mode exact` matches case-sensitive literal text; `files` searches filenames without reading contents.
+ 71 Check `capacity.operations` for `search`. Use `filens search '/path/documents' --query 'budget risk' --json`, or pipe `{"op":"search","input":"/path/documents","query":"预算 风险","format":"json"}`. Chinese and English quoted directory/query intents are supported. This is lexical BM25 with exact matching boosts, not embedding-based semantic retrieval. `--search-mode exact` matches case-sensitive literal text; `files` searches filenames without reading contents.
- 81 Check `capacity.operations` for `similar`; published npm `0.2.0` lacks it. Source builds include it in Lite without OCR or model setup.
+ 81 Check `capacity.operations` for `similar`; older builds may lack it. Current Full and Lite bundles include it without OCR or model setup.
- 88 The aliases return `operation: "similar"`. JSON requests use `{"operation":"similar","input":"/path/photos","similarityMode":"images","threshold":8}`; mode is `images` (default) or `duplicates`. Full SHA-256 identifies duplicate files after size/prefix filtering. Perceptual image hashes identify possible variants, including different dimensions and compression, for JPEG, PNG, WebP, GIF, BMP and TIFF. This does not compare near-duplicate document text or retrieve different photos by semantic subject.
+ 88 The aliases return `op: "similar"`. JSON requests use `{"op":"similar","input":"/path/photos","similarityMode":"images","threshold":8}`; mode is `images` (default) or `duplicates`. Full SHA-256 identifies duplicate files after size/prefix filtering. Perceptual image hashes identify possible variants, including different dimensions and compression, for JPEG, PNG, WebP, GIF, BMP and TIFF. This does not compare near-duplicate document text or retrieve different photos by semantic subject.
- 111 {"operation":"convert","input":"/path/report.doc","output":"/path/report.docx","format":"json","options":{"locale":"zh-CN"}}
+ 111 {"op":"convert","input":"/path/report.doc","output":"/path/report.docx","format":"json","options":{"locale":"zh-CN"}}

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 2f130f2ab623

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 66e01abbd36834ca20defc576ceb64d79efbd5b0

git clone --filter=blob:none --no-checkout https://github.com/IceWhaleTech/filens.git .hotskills/icewhaletech-filens && git -C .hotskills/icewhaletech-filens checkout --detach 66e01abbd36834ca20defc576ceb64d79efbd5b0 # Copy each selected skill directory from .hotskills/icewhaletech-filens into .agents/skills/<skill-name>/
200GitHub stars
-45stars in 7 days
1skill in this repository
55commits in 30 days

Heat

3.4
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 30, 2026Nov 6, 2026393

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

filens

When your agent uses it

Read, search and compare local files with the FiLens CLI, or convert supported formats. Use for document evidence, OCR, layout, duplicate files and resized or recompressed image variants through the shared WASM engines.

What it loads into context

Frontmatter

50 tokens

Always available to the agent

SKILL.md

2,832 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Run the CLI
  2. Interpret results and cite evidence
  3. OCR and layout
  4. Extract key excerpts without a model
  5. Find files and original evidence
  6. Find duplicate files and similar image variants
  7. Convert files

Files

  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • SKILL.mdcore13,004 bytes
  • agents/openai.yamlasset218 bytes
Read SKILL.md

# FiLens

Use FiLens to obtain local file contents and source evidence, then perform the user's requested reasoning yourself. `understand` prepares evidence; builds advertising `summarize` can select original key excerpts without a language model. Translation, paraphrasing and question answering belong to the caller.

## Run the CLI

Prefer an installed `filens`. Otherwise use `npx --yes filens-cli` (includes Chinese/English OCR) or `npx --yes filens-cli-lite` (OCR optional). In a source checkout, build with `npm run build:agent` or `npm run build:agent:lite` and invoke `./dist/filens` or `./dist/agent-lite/filens`.

Inspect the running build when supported formats or OCR availability matter:

```sh
filens capacity --json
```
View the complete source on GitHub

Skills included

  • filens

Repository facts

License
MIT
Created
Sep 18, 2026
Last pushed
Nov 5, 2026
Forks
8
Open issues
0
Project activity
Active

Before you install

Instructions only

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 17 notes
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/filens/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • No broad tool permissions
  • No dangerous shell commands
  • No network access
  • No hidden or obfuscated text
  • No instruction overrides
  • No executable scripts
  • No access to secrets
  • No requests to vote in Hot

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

No combined signals at this commit.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md skills/filens/SKILL.md.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/filens/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/filens/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/filens/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/filens/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.