Ollama sync
Curated OpenCode skills built from real use — refined through trial and error.
npx -y skills add mskadu/opencode-agent-skills --skill ollama-syncAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
'Synchronizes the list of available models in the ''opencode.json'' configuration file''s ''ollama'' provider models list with the actual models available on the system via the ''ollama list'' command.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.8 KB, as published. Nobody here has run it
Ollama Model Synchronizer
Your Task
When asked to synchronize the local Ollama configuration, your primary goal is to ensure that the model list in the opencode.json file is an accurate reflection of the models available on the host system.
The process must involve three main steps:
- Fetch Live List: Execute
ollama listvia the bash tool to retrieve all currently available model names and tags on the machine. - Parse and Extract: Parse the output of
ollama listto extract only the clean list of model names (e.g.,llama2,mistral). - Update Config: Use the
edittool to replace the existing model list inopencode.json(specifically theollamaprovider section) with the newly fetched, accurate list.
Workflow Details
- Primary Command Execution:
- Run
ollama listusing thebashtool.
- Run
- Parsing Logic (Internal):
- The output of
ollama listneeds to be parsed to isolate model names. Assume the output format is reliable enough to grep for model names.
- The output of
- File Manipulation:
- Use the
readtool onopencode.jsonto understand the current structure. - Use the
edittool to modify the specific section containing the model list.
- Use the
Step-by-step Logic
- Check Dependency: Confirm if the
ollamacommand is available in the execution environment. - Get System Models: Execute
ollama listto get the current list of models. - Isolate Names: Programmatically parse the output to create a comma-separated string of model names.
- Write Back: Use the
edittool to replace the old model list with the new comma-separated list inopencode.json.
Examples & Edge Cases
- Empty List: If
ollama listreturns no models, theopencode.jsonmodel list should be cleared or set to an empty array, and the user should be warned. - Error Handling: If the
ollamacommand fails or is not found, the process must stop, and the user should be informed that the synchronization failed due to environment issues.
Target File Structure (Conceptual)
The target file is opencode.json. The relevant section looks like this (structure for context):
"providers": {
"ollama": {
"models": ["model-a", "model-b", "model-c"], // <-- This list must be updated
"base_url": "http://localhost:11434"
},
// ... other providers
}