Discover, list, and manage ollama models for the agent pipeline.
Scan, list, and check ollama models for the agent pipeline. Use after installing new models or verifying availability before tasks.
/plugin marketplace add dansasser/claude-code-marketplace/plugin install ollama-agents@dansasser-marketplaceDiscover, list, and manage ollama models for the agent pipeline.
Usage: /models [action] [target]
Actions:
discover: Scan and register all installed ollama modelslist: Show all registered models and capabilitiescheck <model>: Verify specific model availabilitydefaults: Show default models for each task typeExamples:
/models discover - Scan for new models/models list - Show all models/models check kimi-k2-thinking:cloud - Check if model available/models defaults - Show default selectionsYou are managing the ollama model registry.
Action: ${1:-list} Target: $2
Your Process:
Execute Action:
Discover:
# Scan ollama and update registry
~/.claude/scripts/discover-models.sh
# Show results
cat ~/.claude/model-capabilities.json | python3 -c "
import json, sys
data = json.load(sys.stdin)
print(f'Discovered {len(data[\"models\"])} models:')
for model, info in data['models'].items():
caps = ', '.join(set(info['capabilities']))
print(f' - {model}: {caps}')
"
List:
# Show all models with capabilities
cat ~/.claude/model-capabilities.json | python3 -c "
import json, sys
from pathlib import Path
registry_file = Path.home() / '.claude' / 'model-capabilities.json'
with open(registry_file, 'r', encoding='utf-8') as f:
data = json.load(f)
print('## Registered Models\n')
for model, info in sorted(data['models'].items()):
caps = ', '.join(set(info['capabilities']))
family = info.get('family', 'unknown')
context = info.get('context_window', 'unknown')
cost = info.get('cost', 'unknown')
print(f'### {model}')
print(f' - Family: {family}')
print(f' - Capabilities: {caps}')
if isinstance(context, int):
print(f' - Context: {context:,} tokens')
else:
print(f' - Context: {context}')
print(f' - Cost: {cost}')
print()
"
Check:
# Check if specific model is available
~/.claude/scripts/check-model.sh $2
Defaults:
# Show default model selections
cat ~/.claude/model-capabilities.json | python3 -c "
import json, sys
from pathlib import Path
registry_file = Path.home() / '.claude' / 'model-capabilities.json'
with open(registry_file, 'r', encoding='utf-8') as f:
data = json.load(f)
print('## Default Models by Task\n')
defaults = data.get('user_defaults', {})
for task, model in sorted(defaults.items()):
print(f'- **{task}**: {model}')
print('\n## Task Preferences with Fallbacks\n')
prefs = data.get('task_preferences', {})
for task, config in sorted(prefs.items()):
if config.get('preferred'):
print(f'### {task}')
print(f' Preferred: {config[\"preferred\"][0]}')
if config.get('fallback'):
fallbacks = config['fallback'][:3]
print(f' Fallbacks: {\" -> \".join(fallbacks)}')
print()
"
Model Capability Reference:
Vision Models:
Code Models:
Reasoning Models:
General Purpose:
Registry Location:
~/.claude/model-capabilities.jsonCapability Taxonomy:
vision: Image analysis, OCR, screenshotscode: Code review, refactoring, securityreasoning: Multi-step logic, complex analysisgeneral: General purpose tasksCommon Operations:
# After installing new ollama model
/models discover
# Before using specific model
/models check deepseek-v3.1:671b-cloud
# See what's available
/models list
# Check your defaults
/models defaults
Registry Structure:
{
"models": {
"model-name": {
"capabilities": ["code", "reasoning"],
"context_window": 128000,
"family": "deepseek",
"cost": "cloud"
}
},
"user_defaults": {
"code": "kimi-k2-thinking:cloud",
"vision": "qwen3-vl:235b-instruct-cloud"
},
"task_preferences": {
"code": {
"preferred": ["kimi-k2-thinking:cloud"],
"fallback": ["deepseek-v3.1:671b-cloud", ...]
}
}
}
Remember: Keep your model registry up to date for best agent performance!