Loading...
Loading...
Interactive model selection workflow with paginated navigation. Use when users want to select a model interactively - guides them through provider selection then model selection using the question tool with pagination support for large lists.
npx skill4agent add family3253/skill gsd-oc-select-modelscripts/select-models.cjsnode <skill-dir>/scripts/select-models.cjs [options]<skill-dir>--providers-onlynode <skill-dir>/scripts/select-models.cjs --providers-only{
"provider_count": N,
"providers": [
{"name": "...", "model_count": N, "sample_models": "...", "has_sub_providers": true|false}
]
}has_sub_providers"→ Next""← Previous"question: "Select a provider (page 1/N, showing 1-10 of M):"
Options:
- "google (28 models)"
- "google-vertex (27 models)"
- ...
- "→ Next"has_sub_providersnode <skill-dir>/scripts/select-models.cjs --provider "provider-name"{
"provider": "openai",
"model_count": 5,
"models": ["gpt-4", "gpt-3.5-turbo", ...]
}models{
"provider": "synthetic",
"has_sub_providers": true,
"sub_provider_count": 3,
"sub_providers": [
{"name": "deepseek-ai", "model_count": 5, "sample_models": "..."},
{"name": "nvidia", "model_count": 4, "sample_models": "..."},
...
]
}has_sub_providers: truesub_providersProvider: {name} > Select a sub-provider (page X/Y, showing A-B of M)question: "Provider: synthetic > Select a sub-provider (page 1/1, showing 1-3 of 3):"
Options:
- "deepseek-ai (5 models)"
- "nvidia (4 models)"
- "perplexity-ai (3 models)"
- "← Back""→ Next""← Previous""← Back"provider_pagenode <skill-dir>/scripts/select-models.cjs --provider "provider-name" --sub-provider "sub-provider-name"{
"provider": "synthetic",
"sub_provider": "deepseek-ai",
"model_count": 5,
"models": ["DeepSeek-R1", "DeepSeek-V3", ...]
}Provider: {name} > Select a model (page X/Y, showing A-B of M)Provider: {p} > Sub-provider: {sp} > Select a model (page X/Y, showing A-B of M)question: "Provider: openai > Select a model (page 1/1, showing 1-5 of 5):"
Options:
- "gpt-4"
- "gpt-3.5-turbo"
- "..."
- "← Back"question: "Provider: synthetic > Sub-provider: deepseek-ai > Select a model (page 1/1, showing 1-5 of 5):"
Options:
- "DeepSeek-R1"
- "DeepSeek-V3"
- "..."
- "← Back""→ Next""← Previous""← Back"provider/model-nameprovider/sub-provider/model-name| Level | Format | Example |
|---|---|---|
| Provider selection | | "Select a provider (page 1/3, showing 1-10 of 25)" |
| Sub-provider selection (3-level) | | "Provider: synthetic > Select a sub-provider (page 1/2, showing 1-10 of 15)" |
| Model selection (2-level) | | "Provider: openai > Select a model (page 1/1, showing 1-5 of 5)" |
| Model selection (3-level) | | "Provider: synthetic > Sub-provider: deepseek-ai > Select a model (page 1/1, showing 1-5 of 5)" |
" > "(page X/Y, showing A-B of M)"← Back"| Current Level | "← Back" Goes To | State Preserved |
|---|---|---|
| Sub-provider selection | Provider selection | |
| Model selection (2-level) | Provider selection | |
| Model selection (3-level) | Sub-provider selection | |
| Variable | Type | Description |
|---|---|---|
| number (0-based) | Current provider page index |
| number (0-based) | Current sub-provider page index (3-level only) |
| number (0-based) | Current model page index |
| string | Name of the selected provider (for breadcrumbs) |
| string | Name of the selected sub-provider (3-level only) |
| boolean | Whether the selected provider is hierarchical |
provider_pagesub_provider_pageprovider_page"← Back""→ Next""← Previous""← Back"(page X/Y, showing A-B of M)"← Back"provider/modelxai/grok-2provider/sub-provider/modelsynthetic/deepseek-ai/DeepSeek-R11. LLM: Run select-models --providers-only
2. LLM: question: "Select a provider (page 1/2, showing 1-10 of 15):"
Options: [google, google-vertex, ..., → Next]
3. User: Selects "→ Next"
4. LLM: question: "Select a provider (page 2/2, showing 11-15 of 15):"
Options: [← Previous, vercel, xai, zai-coding-plan]
5. User: Selects "xai (22 models)"
6. LLM: Run select-models --provider xai
Response: {"provider": "xai", "model_count": 22, "models": [...]}
7. LLM: question: "Provider: xai > Select a model (page 1/2, showing 1-15 of 22):"
Options: [grok-2, grok-2-1212, ..., → Next, ← Back]
8. User: Selects "grok-2"
9. LLM: Returns "Selected model: xai/grok-2"provider_pageselected_providersub_provider_pageselected_sub_providermodel_page1. LLM: Run select-models --providers-only
Response includes: {"name": "synthetic", "model_count": 100, "has_sub_providers": true, ...}
2. LLM: question: "Select a provider (page 1/3, showing 1-10 of 25):"
Options: [google, synthetic (100 models, 12 sub-providers), ..., → Next]
3. User: Selects "synthetic"
State: provider_page = 0, selected_provider = "synthetic", has_sub_providers = true
4. LLM: Run select-models --provider synthetic
Response: {"provider": "synthetic", "has_sub_providers": true, "sub_providers": [...]}
5. LLM: question: "Provider: synthetic > Select a sub-provider (page 1/2, showing 1-10 of 12):"
Options: [deepseek-ai (5 models), nvidia (4 models), ..., → Next, ← Back]
6. User: Selects "deepseek-ai"
State: sub_provider_page = 0, selected_sub_provider = "deepseek-ai"
7. LLM: Run select-models --provider synthetic --sub-provider deepseek-ai
Response: {"provider": "synthetic", "sub_provider": "deepseek-ai", "model_count": 5, "models": [...]}
8. LLM: question: "Provider: synthetic > Sub-provider: deepseek-ai > Select a model (page 1/1, showing 1-5 of 5):"
Options: [DeepSeek-R1, DeepSeek-V3, ..., ← Back]
9. User: Selects "← Back" (wants to choose different sub-provider)
10. LLM: question: "Provider: synthetic > Select a sub-provider (page 1/2, showing 1-10 of 12):"
Options: [deepseek-ai (5 models), nvidia (4 models), ..., → Next, ← Back]
(Note: Returns to same page due to preserved sub_provider_page = 0)
11. User: Selects "nvidia"
State: sub_provider_page = 0 (preserved), selected_sub_provider = "nvidia"
12. LLM: Run select-models --provider synthetic --sub-provider nvidia
13. LLM: question: "Provider: synthetic > Sub-provider: nvidia > Select a model (page 1/1, showing 1-4 of 4):"
Options: [Llama-3.1-8B, ..., ← Back]
14. User: Selects "Llama-3.1-8B"
15. LLM: Returns "Selected model: synthetic/nvidia/Llama-3.1-8B"1. LLM: Run select-models --providers-only
2. LLM: question: "Select a provider (page 1/3, showing 1-10 of 28):"
Options: [google, ..., → Next]
3. User: Selects "→ Next" (twice) to reach page 3
4. LLM: question: "Select a provider (page 3/3, showing 21-28 of 28):"
Options: [← Previous, xai, zai-coding-plan]
State: provider_page = 2
5. User: Selects "xai"
6. LLM: Run select-models --provider xai
7. LLM: question: "Provider: xai > Select a model (page 1/2, showing 1-15 of 22):"
Options: [grok-2, ..., → Next, ← Back]
8. User: Selects "← Back" (wants to choose different provider)
9. LLM: question: "Select a provider (page 3/3, showing 21-28 of 28):"
Options: [← Previous, xai, zai-coding-plan]
(Note: Returns to page 3 due to preserved provider_page = 2)
10. User: Selects "zai-coding-plan"
11. LLM: Run select-models --provider zai-coding-plan
12. LLM: Returns "Selected model: zai-coding-plan/plan-1"