agentleFS
spironanspironan/Skills/export-project/SKILL.md

export-project

Skill1 starsChanged 5 months agoMITView on GitHub

Export all project knowledge — instructions, uploaded files, and chat history — into a downloadable package optimized for a target LLM platform (Claude.ai, Claude Code, ChatGPT, or Cursor). Use this skill whenever the user wants to back up a project, migrate, share context, or hand off to another LLM. Triggers include: "export project", "backup project", "zip project", "migrate project", "share project context", "export everything", "export for ChatGPT", "export for Cursor", "export for Claude Code", "package project for another account".

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If the user hasn't already specified a platform, ask:

    line 32
  2. Distinctive:

    Use their answer to determine output structure in Step 2.

    line 35
  3. Distinctive:

    Wait for output. Note what was found (uploads count, transcripts count).

    line 46
  4. Very specific:

    No IMPORT.md needed — just drop CLAUDE.md in the project root and place uploads/ alongside it or reference them as needed.

    line 121
  5. Very specific:

    Check /tmp/project-export-stage/transcripts_raw/ for transcript files.

    line 233

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Export Project

Produces a structured export package containing all project knowledge, formatted for the target platform. No skills are included in exports.

Supported platforms

PlatformPrimary artifactHow to use
claudeFolder of filesUpload each file to Claude.ai project → Files
claude-codeCLAUDE.mdDrop in project root
chatgptsystem_prompt.md + knowledge/Paste prompt; upload knowledge files
cursor.cursorrules + context/Drop in project root

Step 0 — Select platform

If the user hasn't already specified a platform, ask:

"Which platform are you exporting for — Claude.ai, Claude Code, ChatGPT, or Cursor?"

Use their answer to determine output structure in Step 2.


Step 1 — Collect static assets

python /mnt/skills/user/export-project/scripts/bundle.py \
  --staging-dir /tmp/project-export-stage

Wait for output. Note what was found (uploads count, transcripts count).


Step 2 — Write platform content

Platform: claude

Output structure:

project-export/
├── IMPORT.md
├── instructions.md
├── chat_history.md
└── uploads/           ← already staged by bundle.py

Write instructions.md from your system prompt / project instructions context:

# Project Instructions

> Exported from: <project name if known, otherwise "Claude.ai project">
> Exported at: <timestamp from meta.json>

<verbatim instructions text>

Write chat_history.md — see Chat History section below.

Write IMPORT.md:

# Project Export — Claude.ai Import Guide

Exported: <timestamp>

## Steps
1. Create a new project in Claude.ai
2. Paste `instructions.md` content into Settings → Project Instructions
3. Upload all files from `uploads/` to the project Files section
4. Upload `chat_history.md` to the project Files section
5. Start a conversation and ask Claude to summarise what it knows

## Notes
- Sensitive values (API keys, secrets) may be present — review before sharing.
- Chat history is a lossy compaction; verbatim exchanges are not preserved.

Platform: claude-code

Output structure:

project-export/
├── CLAUDE.md          ← single consolidated context file; drop in project root
└── uploads/           ← reference files, if any

Write CLAUDE.md — merge instructions + chat summary into one file:

# Project Context

> Platform: Claude Code
> Exported at: <timestamp>

## Instructions
<verbatim project instructions>

## Chat History (Compacted)
<compact summary — same format as chat_history.md below>

## Reference Files
<list any files in uploads/ with one-line description each>

No IMPORT.md needed — just drop CLAUDE.md in the project root and place uploads/ alongside it or reference them as needed.


Platform: chatgpt

Output structure:

project-export/
├── IMPORT.md
├── system_prompt.md
└── knowledge/
    ├── project_context.md
    └── chat_history.md

Write system_prompt.md — distill instructions into a ChatGPT-style system prompt:

# System Prompt

<Rewrite project instructions as a direct, second-person system prompt.
 E.g. "You are an assistant working on X. Your conventions are Y. Always do Z.">

Write knowledge/project_context.md — key project context as a knowledge document:

# Project Context

> Exported at: <timestamp>

## Overview
<1–3 paragraph summary of what this project is and its current state>

## Key Decisions
<bullet list of architectural/design decisions>

## Conventions
<bullet list of naming, style, structural conventions>

Write knowledge/chat_history.md — see Chat History section below.

Write IMPORT.md:

# Project Export — ChatGPT Import Guide

Exported: <timestamp>

## Steps
1. Open ChatGPT → Your Projects (or GPT Builder for a custom GPT)
2. Paste `system_prompt.md` content into the Instructions field
3. Upload both files from `knowledge/` as knowledge files
4. Start a conversation and ask it to summarise the project

## Notes
- ChatGPT knowledge files are searched, not always fully loaded — keep them concise.
- Sensitive values may be present — review before sharing.

Platform: cursor

Output structure:

project-export/
├── IMPORT.md
├── .cursorrules
└── context/
    └── chat_history.md

Write .cursorrules — combine instructions + key conventions into Cursor rules format:

# Project Rules

## Overview
<2–3 sentence summary of what this project is>

## Instructions
<project instructions, rewritten as imperative rules>

## Conventions
<bullet list of coding, naming, structural conventions>

## Key Decisions
<bullet list of important prior decisions the AI should respect>

Write context/chat_history.md — see Chat History section below.

Write IMPORT.md:

# Project Export — Cursor Import Guide

Exported: <timestamp>

## Steps
1. Drop `.cursorrules` into your project root
2. Optionally add `context/chat_history.md` to your project for additional background
3. Open Cursor — it will automatically pick up `.cursorrules`

## Notes
- `.cursorrules` is loaded on every request; keep it focused and avoid bloat.
- Sensitive values may be present — review before sharing.

Chat History format (all platforms)

Check /tmp/project-export-stage/transcripts_raw/ for transcript files.

If transcripts exist, produce a compact information-dense summary:

# Chat History (Compacted)

> Sessions: N  |  Compacted at: <timestamp>

## Session <date>

### Decisions
- <bullet per architectural/design decision>

### Work Done
- <bullet per completed task with key outcome>

### Key Artifacts
- <file/path created or modified — one-liner>

### Open Items
- <anything left explicitly unresolved>

Rules:

  • Omit pleasantries, clarifications, tool output verbatim dumps
  • Preserve: decisions, rationale, file paths, error resolutions, open questions
  • Each session ≤ 50 lines unless unusually dense

If no transcripts exist, write:

# Chat History (Compacted)

No prior chat history found at export time.

Step 3 — Zip and present

python /mnt/skills/user/export-project/scripts/zip_stage.py \
  --staging-dir /tmp/project-export-stage \
  --output /mnt/user-data/outputs/project-export-<platform>.zip

Then call present_files with the zip path.


Edge cases

SituationHandling
No uploadsuploads/ absent from zip; note in IMPORT.md
No transcriptschat_history.md / relevant file contains placeholder
No project instructionsWrite placeholder noting none were set
Very large uploadsCopy as-is; warn user zip may be large
Platform not specifiedAsk before proceeding

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.