创建与更新技能增加可选 instructions 字符串:普通 Markdown 全文、省略保留、字符串整体替换、空字符串清空。内容归属明确为人格、原则、长期指令与技能方法;既有 AgentFS 直接编辑遵循实际权限与审批。create-agent 2.8.0 / update-agent 3.4.0 的最低客户端为 10.0.179,双语正文与 sidecar 同步。 Add optional plain-Markdown instructions to Agent creation and update guidance, including preserve/replace/clear semantics and clear content ownership. Existing direct AgentFS editing retains its permission and approval rules. Both localized bodies and catalog sidecars require DesireCore 10.0.179. 验证 / Validation:目录与 i18n 校验 0 errors;严格 sidecar 全覆盖检查 0 errors(既有证据警告保留);双语由人工同步并按真实 source body 计算 freshness hash。依据用户明确授权,本次以全树凭据形状扫描、Git/PR 元数据扫描与客户中立性人工审阅代替缺失的私有敏感词表检查;凭据形状扫描 740 文件无命中,不声称执行私有词表匹配。
13 KiB
license, name, description, version, compatibility, type, risk_level, status, disable-model-invocation, tags, metadata, market
| license | name | description | version | compatibility | type | risk_level | status | disable-model-invocation | tags | metadata | market | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIT | create-agent | 通过多轮对话收集需求,调用 ManageAgent 内置工具创建新的 AgentFS v2 智能体,支持自定义 persona、principles 和可选 instructions。Use when 用户要求创建新智能体、培养某领域助手、或快速基于模板生成可治理 Agent。可选头像生成需配置图像服务,适用供应商条款/额度及独立费用。 | 2.8.0 | DesireCore ManageAgent; optional avatar generation requires a configured image provider under its own terms and quota, with separate charges; unavailable generation retains the existing avatar. | meta | low | enabled | true |
|
|
|
create-agent skill
L0: One-Sentence Summary
Collect requirements through natural-language conversation and call the ManageAgent builtin tool to create a specialized digital Agent.
L1: Overview
Meta-skill: gather requirements over multi-turn conversation → generate persona/principles and standing instructions → land via ManageAgent(action='create'). Use it to raise a domain specialist (legal advisor, financial analyst), deploy a customized business Agent quickly, or produce a prototype from a template. The created repo conforms to the AgentFS v2 spec and is version-managed by git (governable, traceable). Its value is what the tool can't give: domain-tailored persona/principles generation + a pre-create preview confirmation.
L2: Detailed Spec
Flow: intent recognition → requirement gathering → content generation → user confirmation → creation → receipt.
Stage 1: Intent Recognition
Trigger (any): user explicitly says "create an Agent / make me an assistant"; describes a domain-specific need the current Agent lacks; asks "can you raise a …". Confirm intent, then move to requirement gathering.
Stage 2: Requirement Gathering
- Required (parenthesized = example prompt question):
name("what to name it?"),role("what does it mainly do?"),target_users("who will use it?"),domain("what expertise does it need?"). - Optional:
style(communication tone),boundaries(red lines),language(default Chinese) — defaults derived from the domain template. - Strategy: prefer inferring from the user's natural description; only ask for missing required fields; you decide how many to ask and the pacing.
Stage 3: Content Generation
Organize persona, principles and optional standing instructions as structured fields (do not emit raw markdown; present field-by-field). Leave uncollected fields empty for the system to fill with defaults:
- persona: L0 one-sentence core identity; L1
role/personality(array of trait tags) /communication_style; L2 specialty, values, decision preferences (free-form). - instructions: optional plain Markdown string for stable responsibilities, default work strategies and delivery requirements; the full text is loaded without L0/L1/L2 parsing or truncation. Detailed procedures and reference material belong to skills. If only the name is known, omit this file.
- principles: L0 one-sentence top principle; L1
must_do/must_not(safety red lines) /priority; L2 governance principles, escalation rules (free-form).
Domain matching reference (recommend personality and red lines by domain):
| Domain | Recommended personality | Default must_not |
|---|---|---|
| Legal / contract | Professional, rigorous, prudent | No litigation representation; not a substitute for formal legal advice |
| Finance / accounting / investment | Precise, analytical, conservative | No investment advice; no real transactions |
| Code / development / architecture | Logical, pragmatic, direct | No direct production access; no credential storage |
| General / other | Friendly, helpful | Standard safety norms |
Stage 4: User Confirmation
Present the preview in natural language / tables (name, description, persona, principles, and optional standing instructions; no raw markdown source), e.g.:
About to create "Legal Advisor Assistant" — focused on contract review and legal risk assessment. Persona: digital legal advisor; professional, rigorous, prudent; uses legal terms accurately with plain-language explanations. Principles: user interest first, not a substitute for formal legal advice; must — cite statutes / mark uncertainty / recommend consulting a lawyer; must not — litigation representation / leaking consultations; priority: user safety > accuracy > efficiency. Confirm creation? (Confirm / Modify / Cancel)
If the user picks "Modify": ask which field → re-collect that field → update the preview → show and confirm again.
Stage 5: Create via ManageAgent
Structured call (persona/principles also accept markdown strings; unprovided fields are auto-filled):
ManageAgent({
"action": "create",
"name": "Legal Advisor Assistant",
"description": "A digital Agent focused on contract review and legal risk assessment",
"persona": { "L0": "…", "L1": { "role": "…", "personality": ["professional","rigorous","prudent"], "communication_style": "…" } },
"principles": { "L0": "…", "L1": { "must_do": ["…"], "must_not": ["…"], "priority": "user safety > accuracy > efficiency" } },
"instructions": "# Responsibilities\nDescribe stable duties here.\n\n## Delivery requirements\nInclude the result location and evidence."
})
- Minimal create needs only
{ "action": "create", "name": "My Assistant" }(everything else auto-generated). - Basic create
{ "action": "create", "name": "Legal Advisor", "description": "contract review" }— with just name + description, the description auto-fills persona's L0. - Optional
id(kebab-case slug;core/desirecoreare reserved core identifiers and cannot be used, including when the slug auto-generated fromnamecollides),config,smartRouting, andavatarImage. See the contracts below. Sensitive fields such asmcp_serversandtool_permissionsare rejected and must be adjusted through the UI after creation. - The Agent is registered and usable immediately; the returned ID works directly with ManageTeam / Delegate. If the tool errors (already exists / reserved identifier / non-whitelisted config field, etc.), explain the reason and retry after adjusting per the hint.
Creation Parameter Guide
Smart routing: new Agents default to the Smart flagship tier. When responsibilities require an explicit tier, pass smartRouting:
{
"tier": "balanced",
"requiredCapabilities": ["vision", "tool_use"],
"reasoning": "high"
}
tieracceptslightweight,balanced, orflagship;reasoningacceptsauto,off,minimal,low,medium,high,xhigh, ormax.- Omitting
tierdefaults toflagship. This expresses workload and capability intent, not a concrete Provider or model. - Fixed model, Provider, and Smart/fixed selection are governed by the human model selector and cannot be changed through ManageAgent.
- Natural-language requests such as "deepest/highest/max it out" normally map to
xhigh; usemaxonly when the user explicitly names it and the model supports it.
Configuration patch: config supports only llm and declarative avatar settings. It is normally unnecessary during creation; use it only when the Agent needs a different default reasoning behavior:
{
"llm": {
"reasoning": "high",
"maxRetryDelayMs": 30000
},
"avatar": {
"char": "L",
"color": "purple"
}
}
config.llm currently exposes only reasoning, thinkingBudgets, and maxRetryDelayMs. Do not pass model, provider, providerId, or routingMode.
Image avatar: use the separate avatarImage parameter; do not place image data in config:
{ "source": "dc-media://<mediaId>" }
source may be a media ID from the current turn or a PNG/JPEG/WebP file inside the working directory. URLs and base64 are rejected. The service crops to 512×512 WebP and removes EXIF automatically. Avatar failure does not roll back an otherwise successful Agent creation; retry only the avatar operation according to the receipt.
Automatic asynchronous avatar
Check readiness through the current governed tool catalog: use ManageCompute(action="list") for enabled/credential status and InspectModels(action="list", serviceType="image_gen") for an eligible image model. Neither listing proves upstream quota or call success; follow provider terms/quota and separate charges. Do not read keys or use local HTTP. If these tools are absent, follow the configuring-compute skill's governed GUI observation. If generation is known unavailable, create with avatarGeneration.enabled:false, preserve the character avatar and report the limitation; this opt-out also covers unavailable service, not only user refusal. Unknown readiness is not success; inspect the background task result and do not fabricate completion.
Generation requires a configured image provider and its own service terms/quota; provider charges are separate from this skill. Without a usable provider, keep the character avatar and report the failed task.
Read the actual ManageAgent schema. On clients exposing avatarGeneration, creation automatically queues a transparent photorealistic portrait without waiting for generation. Do not ask for appearance preferences when the user has none, and do not call GenerateImage a second time for the same creation. Preserve explicit user requirements with avatarGeneration.prompt; use transparentBackground:false only for an explicitly requested background, or enabled:false when the user explicitly wants no generated image. Supplying avatarImage.source takes precedence. Inspect queued/running/completed/failed/interrupted state through ManageAgent(get); failure retains the character avatar and does not require recreating the Agent. On an older client without the field, follow its declared schema and never send unsupported parameters.
Stage 6: Receipt
Present in a user-friendly way (no internal paths / technical details): confirm success and suggest next steps — start chatting, add skills, adjust persona or rules.
Background and Constraints
- AgentFS structure, troubleshooting, and protected paths: see
_agentfs-background.mdand_protected-paths.yaml. - Always create via
ManageAgent; never use curl / HTTP or write AgentFS directories directly. Requires client ≥ 10.0.90.
Keep role/expression in persona, boundaries in principles, stable duties in instructions, and methods in skills. Never place private user or team data in distributable Agent files.