Skip to content
Back to skills

Set Jarvis Model

BSecurity

Jarvis ana model seç — cache'den listele, tek model test et, geçerse kalıcı set et. Triggers: set jarvis model, jarvis model, set-jarvis-model, model değiştir, model seç, which model, hangi model

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 27, 2026
data-aipythongobashapi

Works with

  • api

Security analysis

B75/100
  • criticalDownloads and executes remote scripts — classic supply chain attack

Pro shows the line behind each finding and how to fix it

Scanned May 27, 2026

npx -y skills add SkyWalker2506/claude-config --skill set-jarvis-model --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Set Jarvis Model?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Set Jarvis Model
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/skywalker2506-set-jarvis-model/badge)](https://www.skillsdirectory.com/skills/skywalker2506-set-jarvis-model)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: set-jarvis-model
description: "Jarvis ana model seç — cache'den listele, tek model test et, geçerse kalıcı set et. Triggers: set jarvis model, jarvis model, set-jarvis-model, model değiştir, model seç, which model, hangi model"
---

# /set-jarvis-model — Jarvis Ana Model Seçici

Jarvis'in hangi modelle çalışacağını seç, test et, kalıcı olarak ayarla.

## Mekanizma

- `settings.json` → `model` alanı Jarvis'in modeli
- Claude native modeller (sonnet/opus/haiku) doğrudan settings.json'a yazılır
- External modeller (groq, cerebras, hf vb.) `--model` flag'ı ile çalışır → settings.json'a tam model ID yazılır
- Tüm komutlar (`cl`, `claude`, `clhq`) settings.json'dan okur — başka override yok

## Adımlar

### 1. Mevcut durumu göster

```bash
jq -r '.model // "sonnet"' ~/.claude/settings.json
```

`~/Projects/claude-config/config/model-scores.json` oku.

### 2. Model listesini göster

Sadece LLM modelleri (`category` "llm-*" olanlar). skip_reason olanları listenin sonunda göster ama seçilemez yap.

Tablo formatı — **Kaynak** sütunu provider'ı gösterir:

```
#  | Model                                   | Kaynak     | Skor | Son Test   | Durum
---|------------------------------------------|------------|------|------------|------
1  | qwen-3-235b-a22b-instruct-2507          | Cerebras   | 100  | 2026-04-07 | ✅ (AKTİF)
2  | llama-3.3-70b-versatile                  | Groq       | 100  | 2026-04-07 | ✅
3  | google/gemma-4-31B-it                    | HuggingFace| 100  | 2026-04-07 | ✅
4  | qwen3.5:9b                              | Local      | 100  | 2026-04-07 | ✅
5  | qwen2.5-coder:7b                        | Local      | 100  | 2026-04-07 | ✅
6  | deepseek-coder:6.7b                     | Local      | 100  | 2026-04-07 | ✅
7  | gemini-2.0-flash                        | Google     |  90  | 2026-04-07 | ✅
—  | sonnet                                  | Claude API |  —   |     —      | 🔵
—  | opus                                    | Claude API |  —   |     —      | 🔵
—  | haiku                                   | Claude API |  —   |     —      | 🔵
```

**Kaynak mapping** (model-scores.json `provider` alanından):
- `groq` → Groq
- `huggingface` → HuggingFace
- `cerebras` → Cerebras
- `google` → Google
- `ollama` → Local
- Claude native → Claude API

**Sıralama:** Skor yüksekten düşüğe. Aktif model en üstte. Claude native'ler listenin sonunda (her zaman çalışır).

**Durum ikonları:**
- ✅ score >= 80 ve last_status ok
- ⚠️ score 30-79 veya tutarsız
- ❌ score < 30 veya sürekli fail
- 🔵 Claude native (test gerekmez)
- `(AKTİF)` — şu an settings.json'da set olan model

**Model adı gösterimi:** Prefix'leri kaldır, kısa göster:
- `groq/llama-3.3-70b-versatile` → `llama-3.3-70b-versatile`
- `hf/google/gemma-4-31B-it` → `google/gemma-4-31B-it`
- `cerebras/llama3.1-8b` → `llama3.1-8b`
- `local/qwen3.5:9b` → `qwen3.5:9b`

### 3. Kullanıcıdan seçim al

"Hangi modeli seçmek istersin? (numara veya model adı)" diye sor.

### 4. Test et

**Claude native model seçildiyse (sonnet/opus/haiku/claude-*):**
- Test gerekmez → adım 5'e geç

**External model seçildiyse:**

`~/Projects/claude-config/claude-secrets/secrets.env` oku → API key'leri al.

Seçilen modelin provider'ına göre tek curl çağrısı yap:

**Groq** (`provider: groq`):
Model ID: `groq/` prefix'ini kaldır
```bash
curl -s -X POST https://api.groq.com/openai/v1/chat/completions \
  -H "Authorization: Bearer $GROQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"<MODEL_ID>","messages":[{"role":"user","content":"Selam, 1 cümlede kim olduğunu söyle."}],"max_tokens":60}' \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print('ok|'+d['choices'][0]['message']['content'][:80])" 2>/dev/null || echo "fail"
```

**HuggingFace** (`provider: huggingface`):
Model ID: `hf/` prefix'ini kaldır
```bash
curl -s -X POST https://router.huggingface.co/v1/chat/completions \
  -H "Authorization: Bearer $HF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"model":"<MODEL_ID>","messages":[{"role":"user","content":"Selam, 1 cümlede kim olduğunu söyle."}],"max_tokens":60}' \
  | python3 -c "import sys,json; d=json.load(sys.stdin); c=d['choices'][0]['message'].get('content',''); print('ok|'+c[:80]) if c else print('fail|empty')" 2>/dev/null || echo "fail"
```

**Cerebras** (`provider: cerebras`):
Model ID: `cerebras/` prefix'ini kaldır
```bash
curl -s -X POST https://api.cerebras.ai/v1/chat/completions \
  -H "Authorization: Bearer $CEREBRAS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"<MODEL_ID>","messages":[{"role":"user","content":"Selam, 1 cümlede kim olduğunu söyle."}],"max_tokens":60}' \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print('ok|'+d['choices'][0]['message']['content'][:80])" 2>/dev/null || echo "fail"
```

**Google** (`provider: google`):
```bash
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/models/<MODEL_ID>:generateContent?key=$GOOGLE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contents":[{"parts":[{"text":"Selam, 1 cümlede kim olduğunu söyle."}]}],"generationConfig":{"maxOutputTokens":60}}' \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print('ok|'+d['candidates'][0]['content']['parts'][0]['text'][:80])" 2>/dev/null || echo "fail"
```

**Ollama/Local** (`provider: ollama`):
Model ID: `local/` prefix'ini kaldır
```bash
curl -s --max-time 60 -X POST http://127.0.0.1:11434/api/generate \
  -H "Content-Type: application/json" \
  -d '{"model":"<MODEL_ID>","prompt":"Selam, 1 cümlede kim olduğunu söyle.","stream":false}' \
  | python3 -c "import sys,json; d=json.load(sys.stdin); print('ok|'+d['response'][:80])" 2>/dev/null || echo "fail|OFFLINE"
```

#### Test sonucu

**Geçtiyse (ok):**
- model-scores.json güncelle: `last_tested = bugün`, `last_status = "ok"`, `tests_run++`, `tests_passed++`
- Adım 5'e geç

**Başarısızsa (fail):**
- model-scores.json güncelle: `last_tested = bugün`, `last_status = "fail"`, `tests_run++`
- Kullanıcıya bildir: "❌ <MODEL> test başarısız. Sonnet ile devam etmek ister misin?"
- Onaylarsa → `sonnet` ile adım 5
- Reddederse → dur

### 5. Kalıcı olarak set et

settings.json'daki `model` alanını güncelle:

```bash
jq --arg m "<SETTINGS_MODEL_VALUE>" '.model = $m' ~/.claude/settings.json > /tmp/settings_tmp.json && mv /tmp/settings_tmp.json ~/.claude/settings.json
```

**Model → settings.json değeri mapping:**

| Seçilen model türü | settings.json `model` değeri |
|--------------------|------------------------------|
| Claude native: sonnet | `sonnet` |
| Claude native: opus | `opus` |
| Claude native: haiku | `haiku` |
| Groq: `llama-3.3-70b-versatile` | `groq/llama-3.3-70b-versatile` |
| HuggingFace: `google/gemma-4-31B-it` | `hf/google/gemma-4-31B-it` |
| Cerebras: `llama3.1-8b` | `cerebras/llama3.1-8b` |
| Google: `gemini-2.0-flash` | `google/gemini-2.0-flash` |
| Local/Ollama: `qwen3.5:9b` | `local/qwen3.5:9b` |

Yani settings.json'a **model-scores.json'daki key** (tam prefix'li halı) yazılır.

### 6. Sonucu bildir

```
✅ Jarvis modeli ayarlandı: <MODEL_ADI> (<KAYNAK>)
📁 settings.json güncellendi
🔄 Yeni session'da aktif olur
```

Test yapıldıysa:
```
🧪 Test: ✅ geçti | Cevap: "<ilk 80 karakter>"
📊 Güncel skor: <SCORE>/100
```

## When NOT to Use
- Tek satirlik basit soru/cevap ise
- Skill'in scope'u disindaysa
- Riskli/destructive is ise (ayri onay gerekir)

## Red Flags
- Belirsiz hedef/kabul kriteri
- Gerekli dosya/izin/secret eksik
- Ayni adim 2+ kez tekrarlandi

## Error Handling
- Gerekli kaynak yoksa → dur, blocker'i raporla
- Komut/akıs hatasi → en yakin guvenli noktadan devam et
- 3 basarisiz deneme → daha uygun skill/agent'a yonlendir

## Verification
- [ ] Beklenen cikti uretildi
- [ ] Yan etki yok (dosya/ayar)
- [ ] Gerekli log/rapor paylasildi

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.