Add a model
SkillAI & modelsScaffold and integrate a locally implemented forecasting model after its paper structure and runtime contract are resolved. Use for the flat package, model card, spec, config, manifest, and tests; not for paper discovery or placeholder catalog entries.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Add a model skill
What this skill tells your AI
The instructions your AI receives, as published by diaugeia/moderntsf in .agents/skills/add-model/SKILL.md and read by ahel’s review.
Use the flat src/models/<module>/ layout. Models and methods are peers; do not create family directories.
- Resolve the public name, lowercase module slug, parameters, input needs, output type, paper identity, and official-code facts when available.
- Scaffold an unregistered workspace with paper facts and the component decision,
for example
uv run tsf model scaffold --name MyModel --paper-title "..." --paper-url <url> --venue <venue> --year <year> --components revin --params "enc_in:int,hidden:int=128". Select--task-modeexplicitly when it is not ordinarytime_series; provide code URL, revision, and license together when official code exists. - Before implementing any block, run
uv run tsf component match <requirements> --jsonfor each operation in the paper structure map and inspect promising candidates withcomponent show. Record each operation asreuse-existing,extract-new, ormodel-local. When an existing component is mathematically and contractually equivalent, reuse it instead of creating a local copy. Retrieval is only a shortlist: verify shapes, axes, normalization, masking, residual order, initialization, state, and outputs first. Replace the placeholder inmodel.py; never import another named model package as an implementation dependency. - Complete
spec.pywith only the factory, parameter schema, config path, and runtime contract. Keep the parameter schema strict and expose exactlyforward(self, x_enc, x_mark_enc=None, x_dec=None, x_mark_dec=None); do not accept catch-all arguments. Put descriptive and provenance facts in README front matter. - Complete the model card's method, structure, inputs/outputs, paper and codebase links, local implementation, differences, shared components, and constraints.
- Add focused paper/equation and reference checks to
verification/models.toml. Run those tests directly, remove every scaffold marker, then admit atomically withuv run tsf model add --name MyModel. Admission temporarily registers the model, executes unified verification and all audits, and rolls registration back on failure.
Success requires one indexed model card and runtime spec, a preset, passing
unified verification evidence, truthful source and artifact facts, and a component decision
for every defining operation. Declare every reused component in spec.py and list
it in the model card. Use implement-model for the implementation before accepting
the scaffold; use integrate-foundation-model instead for a released pretrained
foundation runtime. Generated placeholder code is never a catalog entry.
Use curate-components when the task is broader consolidation across existing
models; do not expand a single-model addition into an unsolicited refactor.
Signals
- GitHub stars
- 65
- Forks
- 8
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
add-model- Source
- github.com/diaugeia/moderntsf