skill-authoring
GitHub指导使用SkillManage创建、修改或维护DotCraft工作区技能。适用于将复杂任务流程固化为可复用技能,或修复现有技能缺陷。包含具体操作命令、前置元数据规范及文档结构标准。
Trigger Scenarios
Install
npx skills add DotHarness/dotcraft --skill skill-authoring -g -y
SKILL.md
Frontmatter
{
"name": "skill-authoring",
"tools": "SkillManage",
"description": "Use when authoring or maintaining DotCraft workspace skills via SkillManage."
}
Skill Authoring
Overview
Skills are procedural memory: reusable, narrow instructions for task types that are likely to recur. Load this skill when you need to create, rewrite, or patch a workspace skill with SkillManage.
Do not create skills for simple one-off answers. A good skill teaches when to use it, what exact steps to follow, what pitfalls to avoid, and how to verify the result.
When To Use
Use SkillManage when:
- A complex task succeeded after several tool calls and produced a reusable workflow.
- A tricky error was fixed and the fix is likely to recur.
- The user explicitly asks you to remember a procedure.
- A user correction revealed a better stable workflow.
- An existing skill was used and found to be stale, incomplete, wrong, or missing a pitfall.
Do not use it for:
- Simple questions, one-off edits, or preferences that belong in memory.
- Speculative workflows that have not been exercised.
- Modifying built-in or user-global skills directly. Create or update a workspace skill instead.
SkillManage Actions
| Action | Required Parameters | Use For | Example |
|---|---|---|---|
create |
name, content |
New reusable workspace skill | SkillManage(action: "create", name: "debug-api", content: "<full SKILL.md>") |
patch |
name, oldString, newString |
Targeted fixes to SKILL.md or a supporting file |
SkillManage(action: "patch", name: "debug-api", oldString: "old", newString: "new") |
edit |
name, content |
Full rewrite after reading the current skill | SkillManage(action: "edit", name: "debug-api", content: "<full updated SKILL.md>") |
write_file |
name, filePath, fileContent |
Add or replace supporting files | SkillManage(action: "write_file", name: "debug-api", filePath: "scripts/check.sh", fileContent: "...") |
remove_file |
name, filePath |
Remove a supporting file | SkillManage(action: "remove_file", name: "debug-api", filePath: "assets/example.json") |
delete |
name |
Remove obsolete or harmful workspace skills, only when enabled | SkillManage(action: "delete", name: "old-skill") |
Prefer patch for small changes. Use edit only for major overhauls after reading the current skill.
Required Frontmatter
Every SKILL.md created through SkillManage must start with YAML frontmatter:
---
name: my-skill
description: One-sentence trigger description
version: 0.1.0
---
Rules:
- The file must start with
---with no leading whitespace. namemust match thenameparameter.descriptionshould describe the trigger class, not the current task.- The body must be non-empty and actionable.
SKILL.md Structure
Use this structure unless a skill has a strong reason to differ:
# Title
## Overview
What this skill is for and why it exists.
## When To Use
- Concrete trigger conditions.
- Counter-triggers if useful.
## Workflow
1. Exact steps, commands, files, APIs, or checks.
2. Keep steps specific enough to execute later.
## Common Pitfalls
- Known mistakes and fixes.
## Verification
- How to confirm the workflow succeeded.
Supporting Files
Supporting files must stay inside the skill directory under one of:
scripts/for helper scripts.assets/for static assets.
Use write_file for supporting files. Use patch with filePath for targeted edits to supporting files. Absolute paths and .. traversal are rejected.
Size Limits
SkillManageenforces size limits forSKILL.mdand supporting files.- If a skill is growing too large, keep
SKILL.mdfocused on triggers, workflow, pitfalls, and verification. Put executable helpers inscripts/and static examples inassets/.
Common Pitfalls
- Creating a skill before the workflow is proven. Wait until the task produced a reusable procedure.
- Writing a broad skill that tries to cover an entire domain. Split by trigger and workflow.
- Omitting exact commands, paths, or verification steps. Future use needs concrete instructions.
- Editing built-in or user-global skills directly. Use a workspace skill.
- Expecting a newly created skill to be available immediately in the current prompt. It is picked up on the next turn or session refresh.
- Using
editfor a tiny correction. Preferpatchwith enough context inoldString.
Verification
Before finishing, confirm the frontmatter starts at byte 0 and includes name, description, and version; name matches the directory and the SkillManage request; the description explains when to use the skill; the body includes workflow, pitfalls, and verification guidance; supporting files stay under scripts/ or assets/; and the skill is narrow enough to be reused without confusion.
Version History
- f8e839e Current 2026-07-05 15:31


