تخطَّ إلى المحتوى
kazma.
EN نجمة 6 ابدأ الآن

بيان المهارة

يُعرّف ملف skill_manifest.yaml البيانات الوصفية للمهارة وقدراتها وإعدادها.

# Required fields
name: my-skill # kebab-case, lowercase
version: 1.0.0 # semver format
author: your-name # kebab-case, lowercase
description: Short description # 1-2 sentences
# Optional fields
license: MIT
repository: https://github.com/you/my-skill
keywords:
- analysis
- data
capabilities:
- custom-analysis
- data-processing
permissions:
- file_read
- network_outbound
tags:
- utility
- beginner-friendly
entry_point: main:MySkill # module:ClassName format
# Dependencies
dependencies:
- name: kazma-core
version: ">=0.1.0"
- name: httpx
version: ">=0.27.0"
optional: true
# MCP server configuration
mcp_servers:
- name: my-mcp-server
type: stdio
command: ["python", "-m", "my_mcp_server"]
env:
API_KEY: "${MY_API_KEY}"
# Skill-specific config
config:
default_model: openai/gpt-4o-mini
max_retries: 3
timeout_seconds: 30
الحقلمطلوبالنوعالوصف
nameنعمstringاسم المهارة بصيغة kebab-case
versionنعمstringإصدار بصيغة semver
authorنعمstringمعرّف المؤلف
descriptionنعمstringوصف قصير
licenseلاstringمعرّف ترخيص SPDX
capabilitiesلاlistالقدرات التي توفرها هذه المهارة
permissionsلاlistالأذونات المطلوبة
tagsلاlistوسوم الاكتشاف
entry_pointلاstringنقطة دخول بصيغة Module:ClassName
dependenciesلاlistالحزم المطلوبة
mcp_serversلاlistإعدادات خوادم MCP

يُتحقَّق من البيان عبر SkillManifest.validate():

from kazma_core.hub.manifest_schema import SkillManifest
manifest = SkillManifest.from_dict(data)
result = manifest.validate()
if result.passed:
print("Manifest is valid")
else:
for error in result.errors:
print(f"Error: {error}")

فحوص التحقق:

  • أن يكون الاسم بصيغة kebab-case وبأحرف صغيرة
  • أن يكون الإصدار semver صالحًا
  • وجود جميع الحقول المطلوبة
  • أن تكون الأذونات ضمن قائمة المسموح
  • وجود وحدة نقطة الدخول (إن حُدِّدت)