Skill Builder
GitHub用于通过 fs.* 桥接器创建、修改或分叉 Palvia 技能。提供脚手架生成、工具与脚本添加、验证及安装流程,支持读取现有配置和权限管理。
Trigger Scenarios
Install
npx skills add samhjn/Palvia --skill Skill Builder -g -y
SKILL.md
Frontmatter
{
"name": "Skill Builder",
"palvia": {
"tags": [
"meta",
"authoring",
"scaffolding"
],
"version": "1.0"
},
"description": "Author and edit Palvia skills directly via the fs.* bridge. Includes scaffolding, tool\/script generators, validation, and reference examples."
}
Skill Builder
Use this skill when the user asks you to create, modify, or fork an Palvia
skill. Palvia skills are directories under /skills/<slug>/ that you author
through the fs.* bridge — there are no create_skill/edit_skill LLM tools.
The canonical structure is documented in references/example-tooled.md.
Authoring flow (the happy path)
- Pick a slug. Lowercase, hyphenated, unique. Check existing slugs with
fs.list('skills')andlist_skills. Slugs are stable identifiers — renaming a slug breaks any agent that has the skill installed. - Scaffold the package. Call
skill_skill_builder_scaffold(slug, name, description, tags?)— writes a minimal validSKILL.mdplus emptytools/andscripts/directories in one shot. - Add tools. For each function-call tool, call
skill_skill_builder_add_tool(slug, tool_name, description, parameters?). It writestools/<tool_name>.jswith the META declaration prefilled and aTODObody. Replace the body withfs.writeFile. - Add scripts (optional). For each
run_snippet-callable helper, callskill_skill_builder_add_script(slug, script_name, description). Same pattern: writes a skeleton you replace viafs.writeFile. - Validate.
validate_skill(slug=...)runs the same Swift-side parser the auto-reload path uses. Fix every error before installing; warnings are advisory. - Install.
install_skill(name=<frontmatter name>). Palvia materializes aSkillrow from the on-disk package and binds it to the current agent. Custom tools immediately become available asskill_<slug>_<tool>.
Editing an existing skill
- Read first —
fs.readFile('skills/<slug>/SKILL.md')to avoid destructively rewriting unrelated content. - Write —
fs.writeFile('skills/<slug>/...'). Auto-reload runs against the modified package on success; if the rewrite breaks parsing, the last good version of the skill keeps running until you fix the package. - Re-validate —
validate_skill(slug=...)after every batch of edits. - No re-install needed — the cached Skill row updates automatically. Only slug renames require uninstall + reinstall.
Forking a built-in
Built-in skills (under slugs in BuiltInSkills.shippedSlugs) are read-only.
Fork before editing:
fs.cp('skills/deep-research', 'skills/my-research', { recursive: true });
The copy lives in <Documents>/Skills/ and is fully writable. Edit, validate,
and install_skill as usual.
Permission notes
Writes under /skills/<slug>/ require the fs_skill_write per-agent
permission in addition to whatever permission the action itself needs (e.g.
files.writeFile). Agents without fs_skill_write can still read packages
and use installed skills — they just can't author or modify them.
See also
references/example-simple.md— a prose-only skill with no tools or scripts.references/example-tooled.md— a skill with one tool and one script.
Version History
- 037e537 Current 2026-07-25 06:37


