Agent skill · Data & Analytics

agentsop-per-model-artifacts

Lifecycle SOP for **per-model prompt artifacts** — the compiled prompts, instructions, few-shot demos, edit-format pins, and embedding-bound indices that change behavior when the underlying LM, dataset, or framework version changes. Activate when adopting compiled prompts (DSPy, GEPA, BootstrapFewShot output), when supporting multiple LMs in production, when a provider deprecates a model snapshot, or when a framework deprecates a config surface (LlamaIndex `ServiceContext` → `Settings`, Aider edit-format defaults). Do NOT activate for one-off raw prompt edits or for truly model-agnostic system

agentsopegithub.com/agentsopeGitHub ↗
claude-codeMIT
Install
npx skills add agentsope/SkillAlchemy --skill agentsop-per-model-artifacts --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 5
SKILL.md size: 31 KB
Bundled scripts: none
Version: 0.1.0
Path: skills/agentsop-per-model-artifacts/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 255
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Operates as a lifecycle SOP for per-model prompt artifacts: it defines when to activate, the core mental model of a three-axis artifact (program × LM snapshot × dataset), and a five-stage workflow to create, register, test, and recompile artifacts when model snapshots or configurations change. It emphasizes that a compiled prompt is not portable and that the identity is tied to the specific LM snapshot and dataset hash. It also prescribes storage, swap-test, gate, and lineage operations to manage artifacts and their registry entries across production deployments. The SOP includes explicit triggers (e.g., adopting compiled prompts, multi-LM production, provider deprecation, framework deprecation) and concrete actions (pin dated LM snapshots, compute dataset sha8, run optimizer, save compiled.json, update REGISTRY, perform regression gates, and emit swap reports). It covers how to handle swaps, recompile decisions, and quarterly maintenance.

How it works

The workflow consists of five stages:

  1. Initial compile: define program graph, pin dated LM snapshot, pin dataset hash, run optimizer (MIPROv2 auto="light"), and evaluate on a held-out test set. Exit when held-out test score is recorded but artifact not yet saved.
  2. Version: compute artifact path artifacts/<program>/<provider>/<model-snapshot>/<dataset-sha8>/v<n>.json, run compiled.save(path) (or compiled.save(path_dir, save_program=True)), append a REGISTRY entry, and commit both artifacts.
  3. Register: CI loads the artifact, identifies parent_artifact, re-runs held-out test, and gates PR if test difference exceeds a threshold; may require artifact-override label.
  4. Swap-test: upon new LM snapshot or family swap, run swap-test in both directions, compute Δ-scores, and decide whether to recompile or transfer. Emit a swap-report artifact.
  5. Recompile or accept: re-run optimizer under new LM if required, increment v, or keep old/new artifacts and rely on git tags for production deploy. There is a quarterly deprecation scan and canary re-eval workflow. Additionally, it defines storage, swap-test, gate, and lineage operations to track artifact paths, registry entries, and provenance.

When to use it

Activate this SOP when adopting compiled prompts, when supporting multiple LMs in production, when a provider deprecates a model snapshot, or when a framework deprecates a config surface. It should not activate for raw one-off prompt edits or truly model-agnostic system prompts that have been swap-tested. It also specifies triggers for cross-skill bridges and helps manage per-model artifacts across model swaps.

What it can touch

Artifacts are stored under paths like artifacts/<program>/<provider>/<model-snapshot>/<dataset-sha8>/v<n>.json. It uses compiled.save and may use compiled.save(dir, save_program=True). It appends lines to artifacts/REGISTRY.jsonl. It uses a git tag like prompt/<program>/<snapshot>/v<n> for production deployment. It supports swap-test outputs like Δ-score and recompile_required flags, and writes swap-report-<old>-to-<new>.md artifacts.

Caveats

The SOP emphasizes dated LM snapshots, not aliases, to avoid silent behavior drift. It requires staged commits and registry updates, with gating on regression tests. It mandates that artifacts are not deployed if the regression gate fails and supports keeping both old and new artifacts during transitions. It notes that a compiled prompt is LM-conditioned and not portable across LM changes without recompilation. License: MIT.

From the SKILL.md

# Per-Model Prompt Artifacts — SOP > *"Prompts are effectively the weights of an LLM application."* > — DSPy core philosophy [arxiv.org/abs/2310.03714] > > *"Treat the compiled program as a (program × LM) pair. Changing the LM invalidates the artifact — recompile."* > — dspy-sop SKILL, Dilemma Case B --- ## 1. 何时激活 (When to activate) Activate this skill when **any** of the following appears in the user's intent, codebase, or workflow: | Trigger | Signal | |---|---| | Adopting compiled prompts | `compiled.save("v1.json")`, `dspy.load_program()`, `BootstrapFewShot`, `MIPROv2`, `GEPA`, LangChain Hub `hub.push/pull`, prompt files checked into `prompts/` or `artifacts/` | | Multi-LM production | The same program runs against ≥2 of: `gpt-4o-*`, `gpt-4o-mini-*`, `gpt-4.1-*`, `claude-3-5-sonnet-*`, `claude-3-7-sonnet-*`, `claude-3-opus-*`, `Llama-3-*`, `Llama-3.1-*`, `DeepSeek-V3`, `gemini-2.5-pro` | | Provider deprecation | OpenAI/Anthropic deprecation notice mentioning a pinned snapshot; alias rollover (`gpt-4o` → new dated snapshot); silent model behavior drift reports | | Framework deprecation | LlamaIndex `ServiceContext` → `Settings`; LangChain `LLMChain` → LCEL; DSPy major version b

What's inside
Steps it walks through
  1. 1. 何时激活 (When to activate)
  2. 2. 核心心智模型 (Core mental model)
  3. The artifact is a triple, not a string
  4. The PyTorch checkpoint analogy
  5. Why "alone is not enough"
  6. 3. SOP 工作流 (SOP workflow)
  7. Stage 1 — Initial compile
  8. Stage 2 — Version (write artifact + registry)
  9. Stage 3 — Register (regression gate)
  10. Stage 4 — Swap-test (on model swap or new snapshot)
  11. Stage 5 — Recompile or accept
  12. Quarterly maintenance loop
  13. 4. 操作模型 (Trigger / Action / Output / Evidence)
  14. 4.1 Storage operations
Ships with 4 files
  • README.md
  • intermediate/operation_candidates.json
  • references/R1-source-evidence.md
  • references/R2-versioning-recipes.md
More from SkillAlchemy
All skills →
About this skill
What does the agentsop-per-model-artifacts skill do?

Lifecycle SOP for **per-model prompt artifacts** — the compiled prompts, instructions, few-shot demos, edit-format pins, and embedding-bound indices that change behavior when the underlying LM, dataset, or framework version changes. Activate when adopting compiled prompts (DSPy, GEPA, BootstrapFewShot output), when supporting multiple LMs in production, when a provider deprecates a model snapshot, or when a framework deprecates a config surface (LlamaIndex `ServiceContext` → `Settings`, Aider edit-format defaults). Do NOT activate for one-off raw prompt edits or for truly model-agnostic system

How do I install it?

Run `npx skills add agentsope/SkillAlchemy --skill agentsop-per-model-artifacts --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From agentsope/SkillAlchemy, a repository with 255 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going