From personal-assistant
Claude Code için skill/plugin/agent/hook/MCP/output-style/channel/marketplace yazar.
How this skill is triggered — by the user, by Claude, or both
Slash command
/personal-assistant:extension-builderWhen to use
Trigger — "skill yaz", "plugin oluştur", "hook ekle", "MCP server yap", "agent tanımla", "marketplace oluştur", "channel yaz", "output style ekle", "extension oluştur", "claude code'u genişlet". Resmi dökümanı WebFetch ile çeker, schema uydurmaz.
This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Bu skill kullanıcıya Claude Code için **skill, plugin, agent, hook, MCP server, output style, channel veya marketplace** yazmasında yardım eder.
Bu skill kullanıcıya Claude Code için skill, plugin, agent, hook, MCP server, output style, channel veya marketplace yazmasında yardım eder.
Asla schema/alan isimlerini bellekten uydurma. Her zaman references/INDEX.md'deki URL haritasından ilgili dökümanı WebFetch ile çek.
URL formatı: https://code.claude.com/docs/en/<page>.md
.md uzantısı eklenince Mintlify ham markdown verir — HTML parsing yok, token yarısı kadar.
Kullanıcının net olmadığı durumda AskUserQuestion ile sor:
/komut ile çağrılan playbookTipe göre references/INDEX.md'den ilgili URL'i bul ve WebFetch ile çek:
| Tip | URL'ler |
|---|---|
| Skill | skills.md |
| Plugin | plugins.md + plugins-reference.md |
| Agent | sub-agents.md |
| Hook | hooks-guide.md + hooks.md (reference) |
| MCP Server | mcp.md + (gerekirse channels-reference.md) |
| Output Style | output-styles.md |
| Channel | channels-reference.md |
| Marketplace | plugin-marketplaces.md |
WebFetch prompt örneği:
WebFetch(
url: "https://code.claude.com/docs/en/skills.md",
prompt: "List all SKILL.md frontmatter fields with their types, defaults, and which are required. Include description string substitutions like $ARGUMENTS."
)
AskUserQuestion ile (max 4 soru, gerekirse art arda):
~/Desktop/Git/personal-assistant)" — paylaşılır, version'lı~/.claude/skills/<name>/)" — kişisel, tüm projeler.claude/skills/<name>/)" — sadece bu projeYeni skill yazarken:
description max 75-100 karakter — tek cümle, "ne yapar" anlatırwhen_to_use alanına yazılır (format: Trigger — "...", "...". <ek koşul>)Örnek doğru frontmatter:
---
name: my-skill
description: Webhook gelen payload'ı parse edip Slack'e özetler.
when_to_use: Trigger — "webhook gelirse", "payload özetle", "/my-skill". Sadece Slack entegrasyonu aktifse çalışır.
allowed-tools: Read, Bash
---
Yanlış (eski stil):
description: Webhook gelen payload'ı parse edip Slack'e özetler. Kullanıcı "webhook gelirse", "payload özetle" veya "/my-skill" dediğinde tetiklenir. Sadece Slack entegrasyonu aktifse çalışır...
Dökümandan çıkardığın schema'ya birebir uy. Örnek skill için:
<konum>/<isim>/
├── SKILL.md # Frontmatter + body
├── references/ # (opsiyonel) Detaylı doküman
└── scripts/ # (opsiyonel) Yardımcı script
Plugin için:
<plugin-root>/
├── .claude-plugin/plugin.json # Manifest (KRİTİK: components .claude-plugin/'in DIŞINDA olmalı)
├── skills/<name>/SKILL.md
├── agents/<name>.md
├── hooks/hooks.json
├── .mcp.json
└── scripts/
Eğer kullanıcı personal-assistant plugin'i seçtiyse:
~/Desktop/Git/personal-assistant/.claude-plugin/plugin.json dosyasını Read etversion alanını semver kuralına göre bump et:
Konuma göre:
/plugin marketplace add ~/Desktop/Git/personal-assistant (ilk kez) → /plugin install personal-assistant → /reload-plugins/<skill-name>/hooks ile menüden doğrulaclaude mcp list/agentsEğer projede Vikunja entegrasyonu varsa (CLAUDE.local.md'de proje ID), AskUserQuestion ile:
commands/, agents/, skills/, hooks/ klasörleri .claude-plugin/'in İÇİNE değil, plugin root'una konur. .claude-plugin/ içinde sadece plugin.json olur.
${CLAUDE_PLUGIN_ROOT} — Plugin'in install dizini, update ile değişir, dosya yedek saklamak için uygun değil${CLAUDE_PLUGIN_DATA} — Persistent data dizini, plugin update'lerini sağ kalan dosyalar için (node_modules, cache, vb.)description + when_to_use toplamı 1,536 karakterde kesilir. Anahtar tetikleme cümlelerini başa al.
command — Shell script çalıştır (en yaygın)http — HTTP POST endpoint'e yollaprompt — Tek atış LLM kararı ({ok: true/false})agent — Çok turlu agentic verifier (tool kullanabilir)stdio — Local subprocess (en yaygın, güvenli)http — Cloud servis (önerilen remote için)sse — DEPRECATED, kullanmaİki yönlü chat için: hem claude/channel hem tools capability lazım. Sender gating şart (prompt injection koruması).
Plugin'le gelen agent'lar hooks, mcpServers, permissionMode field'larını destekleMEZ. Bunlar güvenlik nedeniyle ignore edilir.
Bilmediğin bir konu için: https://code.claude.com/docs/llms.txt çek, tüm sayfaların listesi orada.
Detaylı URL haritası: references/INDEX.md
Kullanıcı Claude Code dışı bir library/framework için yardım isterse (React, Next.js, vb.), WebFetch yerine ctx7 CLI kullan:
npx ctx7@latest library <name> "<query>" → /org/project formatında ID alnpx ctx7@latest docs <libraryId> "<query>" → Dokümana sorgu atnpx claudepluginhub omert11/personal-assistant --plugin personal-assistantGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.