This file explains how to install or use Folio across agent platforms, coding assistants, and general-purpose LLM tools.
For Folio to work, the host should have access to this folder and at least these files:
SKILL.md— full instructionsSKILL.min.md— minimal fallback instructionsREADME.md— human-facing guideINSTALL.md— install and troubleshooting guidemanifest.json— machine-readable release metadataVERSION— local version numberCHANGELOG.md— release historyindex.html— starter templatedesign/,engines/,scripts/,templates/— support files
If the host cannot load directory-based skills, you can still use Folio by pasting SKILL.min.md or selected sections of SKILL.md into system/project instructions.
| Platform | Recommended location |
|---|---|
| Claude Code | ~/.claude/skills/folio/ |
| OpenCode / compatible | ~/.config/opencode/skills/folio/ |
| Codex / Codex-like agent | Tool-specific skill or prompt workspace |
| Generic LLM tool | Any local repo path the model can read |
Use:
SKILL.mdas the primary entry fileREADME.mdas optional human docs
Requirements:
- Folder-level access
- Frontmatter-aware loaders preferred
- Ability to reference local support files
Use:
SKILL.min.mdfirstSKILL.mdonly when the tool can handle larger context safely
Good fit for:
- Custom GPT instructions
- System prompt fields
- Project instructions
- Tools that do not scan skill directories automatically
If the host can inspect local files but has no skill format:
- Attach or mount the full repo
- Tell the model to treat
SKILL.mdas the operating manual - Tell the model to use
index.htmlas the base template
Some tools will not resolve <SKILL_ROOT> automatically.
In those tools, replace:
<SKILL_ROOT>with the absolute path to this folder, for example:
/Users/aj/.claude/skills/folioIf you just want the tool to start working with Folio, use:
Use the attached Folio skill instructions and repo as a presentation engine. Create an 8-slide deck about [topic], keep it clean and modern, and export HTML first.
Folio ships with a cross-platform update core, but hosts trigger it differently.
manifest.json— canonical release metadataVERSION— local version numberCHANGELOG.md— release notesscripts/check-update.mjs— checks for newer release metadata safelyscripts/self-update.mjs— performs a user-confirmed upgrade when possible
| Host capability | Recommended behavior |
|---|---|
| Startup hook + script execution + network | Run check-update.mjs when Folio loads |
| Script execution + network, but no startup hook | Run check-update.mjs on first use in the session |
| No script execution or no network | Skip auto-check and fall back to manual update |
- Never silently overwrite the local skill
- Always ask the user before running
self-update.mjs - Show concrete release highlights from remote metadata before asking the user to upgrade
- If the install is not a git clone, manual replacement may be required
- If the working tree is dirty, refuse auto-upgrade until the user resolves local changes
- Restart the client
- Start a new session
- Confirm the folder name is
folio - Confirm
SKILL.mdexists at the folder root - Confirm the loader can parse YAML frontmatter
Check these first:
SKILL.mdexistsSKILL.mdcontains frontmatter metadata- The tool can access the repo contents, not just the repo URL
- The tool is reading the local clone, not guessing from the repository name
Replace <SKILL_ROOT> with the absolute folder path.
Use SKILL.min.md instead of the full SKILL.md.
Possible reasons:
- The host has no startup hook support
- The host can read the skill but cannot execute scripts
- Network access is blocked
- The host only uses Folio as prompt context, not as an executable skill
In those cases, run manually:
node scripts/check-update.mjsIf you distribute Folio to another platform, keep these files together:
SKILL.mdSKILL.min.mdREADME.mdINSTALL.mdmanifest.jsonVERSIONCHANGELOG.mdindex.htmldesign/engines/scripts/templates/
That bundle gives the best chance of working across native skill loaders, prompt-only systems, and repo-aware coding agents.