fpt-publish

fpt-publish is a skill for Claude Code, Codex from abrahamADSK/fpt-mcp. It costs 98 tokens per session (1,273 once invoked), scanned A, original, MIT.

A publishing workflow guide for sending files, renders, or caches to ShotGrid, a production-tracking system, through the Toolkit. It covers publish paths, versions, and the records that describe published files.

In plain words
What is it for?
Use it when publishing renders, image sequences, caches, or work files, creating version records, or resolving ShotGrid Toolkit publish paths.
Why use it?
It helps prevent silent publishing mistakes, such as deriving a path from the wrong pipeline step or checking an outdated template.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it when publishing renders, image sequences, caches, or work files, creating version records, or resolving ShotGrid Toolkit publish paths.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/abrahamadsk/fpt-mcp/fpt-publish
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add abrahamADSK/fpt-mcp --skill fpt-publish
Clone the repo
git clone --depth 1 https://github.com/abrahamADSK/fpt-mcp

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for fpt-publish

README.md
[![agentmods](https://agentmods.dev/badge/skills/abrahamadsk/fpt-mcp/fpt-publish/github.svg)](https://agentmods.dev/skills/abrahamadsk/fpt-mcp/fpt-publish)
Your own site
<a href="https://agentmods.dev/skills/abrahamadsk/fpt-mcp/fpt-publish"><img src="https://agentmods.dev/badge/skills/abrahamadsk/fpt-mcp/fpt-publish/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for fpt-publish

Your own site · 80×15
<a href="https://agentmods.dev/skills/abrahamadsk/fpt-mcp/fpt-publish"><img src="https://agentmods.dev/badge/skills/abrahamadsk/fpt-mcp/fpt-publish.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 98 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,273 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00098 $0.01273
Opus 5.5 $0.00039 $0.00509
Sonnet 5.5 $0.00020 $0.00255
Haiku 4.5 $0.00010 $0.00127

Measured 7d ago against content hash da039d23d39d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

fpt-publish scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

docs/skills/fpt-publish/SKILL.md · 110 lines

How it starts

The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Publishing to ShotGrid Toolkit

Applies to any Toolkit-configured project and publish type, not one spot's comp delivery. Everything here was falsified in-vivo; none of it is inferable from the template definitions.

For template tokens, PublishedFileType lists and the PublishedFile vs Version distinction use search_sg_docs — that is the reference layer. This skill is the order of operations and what fails silently.

The two silent failures

1. {name} derives from the Step — it is never invented

The {name} token in a publish template resolves from the pipeline Step (LGT, ANM, CMP), not from a literal you choose. Writing a plausible word there produces a path that resolves, publishes without error, and lands somewhere no loader looks for it.

When the user says "put light in the name", that is the convention being requested, not a string literal.

Corollary, confirmed in-vivo: {name} rejects underscores. A filter_by on the token silently refuses my_name-shaped values. If templates behave as though your edit never happened, reload them (tk.reload_templates()) before suspecting anything else.

2. Resolve before you publish

Call tk_resolve_path and read the path it returns before tk_publish. It answers from the project's real PipelineConfiguration, so it is the only statement about where the file is going that is not a guess.

Publishing first and inspecting after means the copy has already happened.

Image sequences (%04d / ####)

tk_publish takes a sequence path as ONE publish with the frame token left in place — never one publish per frame. Existence means at least one frame on disk; a pattern that matches nothing is refused, as is mixing a sequence with a single-file path.

  • Register a render in place (it already sits at its final path): pass the %04d path as publish_path and no local_path. Nothing is copied.
  • Copy into the pipeline: pass the %04d render as local_path. With a PipelineConfiguration, a template carrying {SEQ} resolves to a %04d path and every frame is copied keeping its number. When the version lives in a folder (…/v003/…), the next version is read from the version folders.
  • The response carries frames: {count, first, last} — relay it; a count lower than the rendered range means frames are missing on disk.

Read the full file on GitHub · 110 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago Changed · +5 lines da039d23d39d
  2. 8d ago Changed · +7 lines 7b3548bec6bc
  3. 10d ago First seen · 98 lines · 98 tokens per session scan A a0ac6ac1c1ed

Subscribe to this mod's changes

fpt-publish is a skill published in the GitHub repository abrahamADSK/fpt-mcp (1 stars, last pushed 6d ago), licensed MIT. It adds 98 tokens to every session and 1,273 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-29.