Skip to main content

Documentation Index

Fetch the complete documentation index at: https://www.truefoundry.com/llms.txt

Use this file to discover all available pages before exploring further.

The TrueFoundry CLI gives you two paths for managing skills outside the UI:
  • tfy upload skill — one-shot command to publish a local skill folder as a new version. Simplest path; matches what the Playground does behind the scenes.
  • tfy apply with an agent-skill manifest — declarative path that integrates with your repository’s CI/CD pipeline (GitOps).
Both paths require the TrueFoundry CLI to be installed and authenticated — see CLI Setup.

tfy upload skill

Publish a new version of an agent skill from a local directory.
tfy upload skill \
  --repository <ml-repo-name> \
  --dir <path-to-skill-root>
FlagRequiredDefaultDescription
--repositoryyesName of the Repository where the skill version will be published. The repository must already exist.
--dir / -dno.Path to the local skill root directory. Must contain SKILL.md at the root.

Example

Given this layout:
~/code/skills/
└── analytics-helper/
    ├── SKILL.md
    ├── references/
    │   └── sales-tables.md
    └── scripts/
        └── query.py
Run from ~/code/skills:
tfy upload skill \
  --repository my-skills \
  --dir ./analytics-helper
Output:
Uploaded skill version successfully.
The new version appears in the Skills Registry table with the FQN displayed in the version detail drawer (e.g. agent-skill:my-tenant/my-skills/analytics-helper:1).

tfy download skill

Download a committed skill version’s files to disk — useful for editing an existing skill, mirroring it into another repository, or auditing what your agent is mounting.
tfy download skill \
  --fqn <skill-version-fqn> \
  --dir <local-destination> \
  [--overwrite] \
  [--progress | --no-progress]
FlagRequiredDefaultDescription
--fqnyesSkill version FQN, e.g. agent-skill:my-tenant/my-skills/analytics-helper:1. The version must be a positive integer; :latest is not supported.
--dir / -dno.Local destination directory. Created if missing. The skill files land inside a sub-directory named after the skill.
--overwritenofalseWhen set, existing files in the destination are overwritten.
--progress / --no-progressnoautoShow a progress bar while downloading.

Example

mkdir -p ./skills
tfy download skill \
  --fqn agent-skill:my-tenant/my-skills/analytics-helper:1 \
  --dir ./skills
After download:
./skills/
└── analytics-helper/
    ├── SKILL.md
    ├── references/
    │   └── sales-tables.md
    └── scripts/
        └── query.py
You can edit the files and re-publish a new version with tfy upload skill.

tfy apply — Declarative Manifests

For GitOps workflows, define skills as YAML manifests and apply them with tfy apply. This is the same mechanism used for deployments, prompts, models, and other TrueFoundry resources — see Using tfy apply for the general overview.

Skill Manifest — Local source

The local-source manifest is the GitOps equivalent of tfy upload skill. Point source.skill_dir at your skill folder; tfy apply packages and uploads it.
manifests/analytics-helper.yaml
type: agent-skill
name: analytics-helper
ml_repo: my-skills
metadata: {}
source:
  type: local
  skill_dir: ./skills/analytics-helper
FieldRequiredDescription
typeyesMust be agent-skill.
nameyesSkill name. Must match the name in SKILL.md frontmatter.
ml_repoyesTarget Repository.
metadatayesFree-form key/value metadata. Use {} if you don’t need any.
source.typeyeslocal for GitOps. Other source types exist but are server-managed; see below.
source.skill_diryesPath to the local skill folder, relative to your tfy apply working directory — typically the root of your Git repo. The folder must contain SKILL.md.
Apply:
tfy apply -f manifests/analytics-helper.yaml
Or apply an entire directory of manifests (one per skill):
tfy apply --dir ./manifests

GitOps Layout

A common repository structure for managing skills via Git:
my-repo/
├── .github/
│   └── workflows/
│       └── tfy-apply.yaml          # CI: tfy apply on merge to main
├── skills/
│   ├── analytics-helper/
│   │   ├── SKILL.md
│   │   ├── references/
│   │   └── scripts/
│   └── customer-triage/
│       └── SKILL.md
├── manifests/
│   ├── analytics-helper.yaml         # points to ./skills/analytics-helper
│   └── customer-triage.yaml        # points to ./skills/customer-triage
└── .tfyignore                      # optional: skip files when packaging
A minimal GitHub Actions workflow:
.github/workflows/tfy-apply.yaml
name: Apply TrueFoundry manifests
on:
  push:
    branches: [main]

jobs:
  apply:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: "3.11"
      - run: pip install -U truefoundry
      - run: tfy login --host ${{ secrets.TFY_HOST }} --api-key ${{ secrets.TFY_API_KEY }}
      - run: tfy apply --dir ./manifests