File binary content into the knowledge base — screenshots, PDFs, diagrams, fonts, assets. Use when a binary artifact is worth keeping alongside knowledge, or when a stored procedure needs a bundled asset. The description is the entire search surface: say what the file shows and when to reach for it.
Installs into .claude/skills of the current project.
Are you the author of Forgetful Files?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/scottrbk-forgetful-files)
---
name: forgetful-files
description: >-
File binary content into the knowledge base — screenshots, PDFs, diagrams, fonts, assets.
Use when a binary artifact is worth keeping alongside knowledge, or when a stored
procedure needs a bundled asset. The description is the entire search surface: say what
the file shows and when to reach for it.
license: MIT
tags: [files, binary, assets, multi-modal]
allowed-tools:
- mcp__forgetful__discover_forgetful_tools
- mcp__forgetful__how_to_use_forgetful_tool
- mcp__forgetful__execute_forgetful_tool
- Bash(forgetful:*)
---
# Filing binary content
Files carry what text cannot: the screenshot that shows the bug, the architecture diagram,
the PDF spec, the font a design system needs. Mechanics are thin; the judgment is in the
description and the attachment.
File operations are feature-flagged — when discovery doesn't list them, the server has
`FILES_ENABLED` off.
## Invoking operations
Operations are named by registry name (`create_file`, `list_files`, ...). Invoke via
whichever surface this agent has:
- **MCP**: `execute_forgetful_tool(tool_name="create_file", arguments={...})`
- **CLI**: `forgetful call create_file --args '{"filename": "..."}' --json`
Get any operation's schema at runtime: `how_to_use_forgetful_tool` (MCP) or
`forgetful tools info <operation>` (CLI) — schemas are deliberately not repeated here.
## Step 1 — Store with a retrieval-grade description
`create_file` takes the content base64-encoded, with `filename`, `mime_type`, tags, and a
description. The description is what future retrieval sees — write what the file shows and
when someone would reach for it ("Auth service architecture diagram — component boundaries
and token flow, current as of the v2 redesign"), never just restating the filename.
Done when: the file is stored and its description answers "what is this and when is it
used" on its own.
## Step 2 — Attach it
A file no path leads to is lost the moment this session ends. Two attachment routes exist:
- `project_id` (at create, or later via `update_file`) puts the file in a project's world.
- `link_skill_to_file` bundles it to a stored procedure as its asset (see
`forgetful-procedures`).
For knowledge that *discusses* the file, save a memory (`forgetful-remember`) that cites
the file ID in its content, so recall surfaces the pointer.
Done when: at least one route reaches the file — its project, a linked procedure, or a
citing memory.