Forgetful Files
Documentsforgetful-filesForgetful Files is an Agent Skill for documents published in the ScottRBK/forgetful repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
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.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/ScottRBK/forgetful/blob/HEAD/skills/forgetful-files/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/forgetful-files, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
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 viaupdate_file) puts the file in a project's world.link_skill_to_filebundles it to a stored procedure as its asset (seeforgetful-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.