---
name: project-cache
description: "Foundation context contract: one cache folder (project_cache\\) plus one generated index (INDEX.md, backed by INDEX.json) that tells any agent which cached file to read and when; flat staging dir with a manifest (Excel via FTR-36 when installed, otherwise markdown), explicit permanent exclusion for admin\\AGENT_INSTRUCTIONS.md and CLAUDE.md, which never belong here regardless of how they turn up in a scan. Use when a person asks to install or apply \"Project Cache\" (FTR-15) in a project, or when working in a project that has it installed."
---

# Project Cache (FTR-15, version 2.0)

> Generated from library record FTR-15 version 2.0, publish 20261102a. Review status: unreviewed. The complete specification is in references/spec.md and is the authority; this file is the operating procedure drawn from it.

## What this does

Foundation context contract: one cache folder (project_cache\) plus one generated index (INDEX.md, backed by INDEX.json) that tells any agent which cached file to read and when; flat staging dir with a manifest (Excel via FTR-36 when installed, otherwise markdown), explicit permanent exclusion for admin\AGENT_INSTRUCTIONS.md and CLAUDE.md, which never belong here regardless of how they turn up in a scan

## When to use this skill

- A person asks to install, apply or update "Project Cache" (FTR-15) in a project.
- A project's agent instructions list project-cache as installed and the task touches what it covers.
- No other feature is required first.
- Works better with, if installed: FTR-12 (skill markdown-sidecars), FTR-13 (skill document-tracker-system), FTR-36 (skill excel-tracker-base-capability).
- Required by: FTR-27 (skill legal-citation-management).

## Install procedure

Steps run in order. Assess comes first, every question in the Ask step is answered by the person before anything is written, and every write merges additively into the existing project files (read the file first, update an existing section in place, never overwrite).

### Assess first
- Check whether `project_cache\` exists at the project root — create it if missing (flat, no subdirectories, unchanged).
- Check which manifest mode applies. If FTR-36 is installed, look for the workbook at `trackers\data\[ProjectCode]_Project_Cache.xlsx`; otherwise look for the markdown manifest at `admin\Project_Cache_Manifest.md`. Create whichever applies if it is missing.
- Locate the auto-registerable files so you can register what exists and mark the rest "Not Yet Found":
  - `[ProjectCode]_Logo.png` in `brand\`
  - `Brand_Standards.md` in `brand\`
  - `[Entity]_Profile_Sanitized.md` in `admin\`
  - `tracker_index.md` in `trackers\`
- Do NOT include `admin\AGENT_INSTRUCTIONS.md` or `CLAUDE.md` in this list, even though they're two of the most important files in the project — see the Write payload's EXCLUDED FROM AUTO-REGISTRATION rule for why (unchanged).
- Check whether FTR-36 is installed. If it is, the manifest workbook is written and edited via its access method; if not, use the markdown manifest (FTR-36 can take it over later).
- Check whether `project_cache\INDEX.json` and `project_cache\INDEX.md` exist; if `INDEX.json` exists, check that it parses and read its `schema` and counts (stale, missing).
- Treat both files as generated: never register them in the manifest, never list them as scan candidates, never hand-edit them.
- For each registered non-text file (.xlsx, .pdf, .docx), check whether a sidecar exists (FTR-12). A non-text file is indexed only through its sidecar; list the ones that lack one.

### Ask, only if needed
- After auto-registering, offer: "I've set up the project cache with [N] auto-registered files. Want to run the first refresh now?" If yes, run it immediately.
- Otherwise nothing to ask — the auto-registration list requires no input.

### Write

The full Write payload is in references/write-payload.md. It is applied exactly as written, with the merge rule above.

### Confirm
Confirm: your Project Cache is set up with [N] auto-registered files, tracked in [an Excel workbook (via FTR-36) | a markdown manifest], and now carries a generated index (INDEX.md for Project Files, INDEX.json for agents). Say "refresh project cache" to stage files, then "build cache index" to keep the index current. Want to build the first index now, install another, or is that everything for now?
## Files in this skill

- references/spec.md: the complete specification, unabridged.
- references/write-payload.md: the Write step on its own.
