picsart/gen-ai-skills

enterprise-pinned-registry

Pin exact model versions for reproducible output.

First seen May 27, 2026

Installation

$ npx skills add picsart/gen-ai-skills --skill enterprise-pinned-registry

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from picsart/gen-ai-skills · top by installs.

npx skills add picsart/gen-ai-skills

Browse all from picsart/gen-ai-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 4
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
LicenseMIT
More metadata
hermes
{"category":"enterprise","tags":["picsart","enterprise","governance","scale"]}

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 9,215 B
  • docs SUMMARY.md 80 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 257 installs

SKILL.md

Enterprise Pinned Registry

A lockfile concept for AI generation. Model versions, prompts, brand tokens, and seeds are pinned to a manifest that regenerates the same campaign identically six months, a year, or three years later. Built for enterprises that need reproducibility for legal holds, brand-campaign continuity, regulatory defense, and year-over-year comparability.


When to Use

  • Multi-team deployment: 20+ designers / PMs / agencies generating on the same brand, need identical output across all of them
  • Year-over-year campaign (annual report, quarterly earnings graphics) must match the prior year's look exactly
  • Regulated industry where "reproducible" is a compliance requirement, not a preference
  • Legal hold — a specific asset may need to be regenerated identically for litigation support
  • Model-provider change management — new versions ship weekly; you want explicit, reviewed upgrades, not drift
  • Audit trail: every shipped asset must trace back to a specific model version + prompt + brand token set

Do not use for: one-off exploration, draft/ideation phases, consumer projects.


Prerequisites

Before authoring the registry:

  1. Scope — which models, prompts, and brand tokens are in scope? Start narrow (heroes only) then expand.
  2. Bump cadence — quarterly? On-demand only? Who approves a bump?
  3. Regression-test corpus — what's the set of prompts that must be re-run before a bump is approved? (Typically 10–20 representative prompts.)
  4. Storage — registry in the campaign repo, a dedicated brand-registry repo, or a central governance repo?
  5. Rollback plan — if a bump produces unacceptable drift, how do we revert? (Git revert is usually enough if the registry is in git.)
  6. Audit retention — how long must the registry + generated outputs be retained? 7 years for SOX-adjacent, 10 for pharma, indefinite for trademark defense.

How to Run

Five steps. The registry is the contract; everything generates against it.

  1. Author registry.json — model aliases, prompt templates, brand tokens, default params. Each alias pins to an explicit model@version.
  2. Fingerprint prompts — every prompt template gets a SHA256 hash stored alongside it. If the prompt string changes, the fingerprint changes, and that's a versioned bump.
  3. Configure the CLIgen-ai config set registry <path> points every call on this machine at the registry. Teams commit the registry to git and sync via clone/pull.
  4. Generate against aliases — designers use flux (alias), never [email protected] (raw). Alias resolution is the registry's job.
  5. Bump quarterly — run the regression corpus against a candidate new version, diff the outputs, get approval, bump the registry, tag the release (brand-registry-v2026.2).

Quick Reference

The registry itself is the manifest. Commit it. Tag it. Diff it on every bump.

{
  "registry_version": "2026.2.0",
  "locked_at": "2026-04-01T00:00:00Z",
  "locked_by": "[email protected]",
  "previous_version": "2026.1.0",
  "regression_run_id": "REG-2026Q2-APPROVED",
  "models": {
    "flux":     { "id": "[email protected]",          "commercial_use": true,  "notes": "Hero, editorial" },
    "kontext":  { "id": "[email protected]",    "commercial_use": true,  "notes": "Product edit-mode" },
    "upscale":  { "id": "[email protected]", "commercial_use": true,  "notes": "Print prep" },
    "kling":    { "id": "[email protected]",       "commercial_use": true,  "notes": "I2V broadcast" },
    "portrait": { "id": "[email protected]",  "commercial_use": true,  "notes": "Portrait, verify license" }
  },
  "prompt_templates": {
    "hero_launch": {
      "text": "Editorial hero, {subject}, {environment}, brand palette, natural light",
      "fingerprint": "sha256:7b4f2a...c8e1"
    }
  },
  "brand_tokens": {
    "palette": { "primary": "#FF006E", "ink": "#0D0A1F", "accent": "#FFBE0B" },
    "aspect_ratios_allowed": ["16:9", "9:16", "1:1", "3:2"],
    "seed_default": 42
  },
  "audit_id": "REGISTRY-2026.2"
}

Every generated asset's results.json entry should carry registry_version so reproduction is one command away.


Quick Reference

The registry pins them; it doesn't choose them. For picking, see the per-workflow skills. Typical enterprise registry contents:

Alias Pins to Role
flux [email protected] Primary photoreal hero
kontext [email protected] Edit-mode, product-accuracy preserve
portrait [email protected] Faces, commercial-safe (verify license)
upscale [email protected] Print / wire prep
remove-bg [email protected] Transparent PNG derivatives
change-bg [email protected] Catalog background replace
kling [email protected] Image-to-video for broadcast

Confirm commercial-use + regional availability at bump time with gen-ai models info <id>. Provider terms change; pin is not a license.


Procedure

  • Aliases everywhere, raw IDs nowhere. Designers should never see [email protected] in a prompt — only flux.
  • The registry lives in git. Commit, tag, diff, review, revert. Full audit trail for free.
  • Regression corpus before every bump. 10–20 canonical prompts, run against old and new, visual diff approved by brand lead.
  • Pin seeds for reproducibility where the model supports it. --seed 42 reruns the same output deterministically.
  • Fingerprint prompt templates. Any string change to a template is a versioned bump, not a silent edit.
  • Tag registry versions semver-like (2026.2.0 = year-quarter-patch). Patch for typo fixes; minor for new aliases; major for model swaps.
  • Deprecate, don't delete. Removing an alias breaks historical reruns. Mark as deprecated, keep the pin, flag in CLI output.
  • Document the bump. Every version bump ships with a changelog: which model, why, regression results, approver.
  • Re-run a prior campaign from its registry version quarterly to verify reproducibility still works. If it breaks, the provider deprecated the version — plan migration.

Pitfalls

  • Aliases + raw IDs mixed in manifests — teams drift off the registry unintentionally. Lint for raw IDs in PRs.
  • No regression corpus — bumps ship, drift is invisible until a comms leader notices a year later.
  • Provider deprecates a pinned version — eventually happens. Run your registry's prior versions quarterly to catch this before a legal reroll is needed.
  • Prompt edits without fingerprint bump — someone "fixes a typo" in a template, now the output differs. Fingerprint + bump.
  • Seed not pinned — reproducibility is partial without it. Set a registry default seed.
  • Registry in a personal repo — loses institutional access. Must live in a governance-owned repo.

Verification

Run gen-ai whoami to confirm authentication, then re-run the failed command with --debug.

Commands

# Point the CLI at the registry
gen-ai config set registry.path ./brand-registry/registry.json

# Pin a model alias
gen-ai config set registry.flux [email protected]
gen-ai config set registry.kontext [email protected]
gen-ai config set registry.kling [email protected]
gen-ai config set registry.upscale [email protected]

# Verify a given alias resolves to the pinned version
gen-ai config get registry.flux
# → [email protected]

# Generate using the alias (reproducible)
gen-ai generate --model flux --prompt-file prompts/hero-launch.txt \
  --seed 42

# Batch resolves all aliases against the registry
gen-ai batch run campaign.json

Every manifest references aliases, never raw model IDs. The registry is the one place that maps alias → version.


Cost & time

Registry operations are cheap. The value is in what they prevent.

Activity Cost Time
Author initial registry 0 1 engineer-day
Quarterly regression corpus (20 prompts) ~200 credits ~1 h generation + ~2 h review
Version bump + tag 0 ~30 min
Reproduce a 1-year-old campaign Same credits as original Same wall time
Provider-deprecation migration ~500 credits 1–2 engineer-days

Cost savings scale with team size: a 20-person design team bumping incidentally costs far more in drift than one quarterly reviewed bump.


See also

  • [enterprise-brand-governor](../enterprise-brand-governor/SKILL.md) — brand.md gating; pairs with the registry for full policy-as-code
  • [product-photo-studio](../product-photo-studio/SKILL.md) — batch catalog runs (reshoot mode); use registry aliases
  • [enterprise-press-batch](../enterprise-press-batch/SKILL.md) — embargo-aware pipeline, pin for year-over-year consistency
  • [gen-ai-use](../gen-ai-use/SKILL.md) — CLI reference