欢迎光临
我们一直在努力

【AI编程工具】-手把手带你体验 Trae AI的Skills(对小白非常友好)

Trae AI技能创建全攻略:自动保存你的输入的提示词

请添加图片描述

📋 文章目录

点击收起/展开目录

#mermaid-svg-omemloYiitG95ZRl{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-omemloYiitG95ZRl .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-omemloYiitG95ZRl .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-omemloYiitG95ZRl .error-icon{fill:#552222;}#mermaid-svg-omemloYiitG95ZRl .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-omemloYiitG95ZRl .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-omemloYiitG95ZRl .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-omemloYiitG95ZRl .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-omemloYiitG95ZRl .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-omemloYiitG95ZRl .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-omemloYiitG95ZRl .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-omemloYiitG95ZRl .marker{fill:#333333;stroke:#333333;}#mermaid-svg-omemloYiitG95ZRl .marker.cross{stroke:#333333;}#mermaid-svg-omemloYiitG95ZRl svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-omemloYiitG95ZRl p{margin:0;}#mermaid-svg-omemloYiitG95ZRl .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-omemloYiitG95ZRl .cluster-label text{fill:#333;}#mermaid-svg-omemloYiitG95ZRl .cluster-label span{color:#333;}#mermaid-svg-omemloYiitG95ZRl .cluster-label span p{background-color:transparent;}#mermaid-svg-omemloYiitG95ZRl .label text,#mermaid-svg-omemloYiitG95ZRl span{fill:#333;color:#333;}#mermaid-svg-omemloYiitG95ZRl .node rect,#mermaid-svg-omemloYiitG95ZRl .node circle,#mermaid-svg-omemloYiitG95ZRl .node ellipse,#mermaid-svg-omemloYiitG95ZRl .node polygon,#mermaid-svg-omemloYiitG95ZRl .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-omemloYiitG95ZRl .rough-node .label text,#mermaid-svg-omemloYiitG95ZRl .node .label text,#mermaid-svg-omemloYiitG95ZRl .image-shape .label,#mermaid-svg-omemloYiitG95ZRl .icon-shape .label{text-anchor:middle;}#mermaid-svg-omemloYiitG95ZRl .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-omemloYiitG95ZRl .rough-node .label,#mermaid-svg-omemloYiitG95ZRl .node .label,#mermaid-svg-omemloYiitG95ZRl .image-shape .label,#mermaid-svg-omemloYiitG95ZRl .icon-shape .label{text-align:center;}#mermaid-svg-omemloYiitG95ZRl .node.clickable{cursor:pointer;}#mermaid-svg-omemloYiitG95ZRl .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-omemloYiitG95ZRl .arrowheadPath{fill:#333333;}#mermaid-svg-omemloYiitG95ZRl .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-omemloYiitG95ZRl .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-omemloYiitG95ZRl .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-omemloYiitG95ZRl .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-omemloYiitG95ZRl .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-omemloYiitG95ZRl .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-omemloYiitG95ZRl .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-omemloYiitG95ZRl .cluster text{fill:#333;}#mermaid-svg-omemloYiitG95ZRl .cluster span{color:#333;}#mermaid-svg-omemloYiitG95ZRl div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-omemloYiitG95ZRl .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-omemloYiitG95ZRl rect.text{fill:none;stroke-width:0;}#mermaid-svg-omemloYiitG95ZRl .icon-shape,#mermaid-svg-omemloYiitG95ZRl .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-omemloYiitG95ZRl .icon-shape p,#mermaid-svg-omemloYiitG95ZRl .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-omemloYiitG95ZRl .icon-shape rect,#mermaid-svg-omemloYiitG95ZRl .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-omemloYiitG95ZRl .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-omemloYiitG95ZRl .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-omemloYiitG95ZRl :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

Trae AI技能创建

前置准备

核心创建

实战应用

技能概念理解

环境准备

创建技能文件

编写执行代码

配置技能参数

压缩与上传

测试与调试

优化建议

  • 一、技能创建:是什么?
  • 二、为什么需要自动保存技能?
  • 三、如何创建自动保存技能?
    • 3.1 创建技能文件结构
    • 3.2 编写SKILL.md描述文件
    • 3.3 编写main.py执行脚本
    • 3.4 创建requirements.txt文件
  • 四、技能配置与上传
    • 4.1 压缩文件
    • 4.2 上传到Trae AI
    • 4.3 配置技能参数
  • 五、测试与验证
  • 六、进阶优化与建议
  • 七、常见问题解答
  • 八、结语与互动

一、技能创建:是什么?

在Trae AI中,技能(Skill)是扩展AI功能的核心方式。技能允许用户自定义AI的行为模式,让AI具备特定的自动化能力。通过创建技能,你可以:

  • 自动化重复任务:将常用操作封装成技能
  • 定制工作流程:根据项目需求设计专属AI助手
  • 提升工作效率:一键执行复杂操作序列
  • 知识积累与复用:保存最佳实践供团队共享
  • 技能创建的核心是三个文件:SKILL.md(技能描述)、main.py(执行代码)和requirements.txt(依赖管理)。这些文件打包后上传到Trae AI,即可扩展AI的能力边界。

    文件系统

    技能

    TraeAI

    用户

    文件系统

    技能

    TraeAI

    用户

    #mermaid-svg-C8MlGWiWHRJk9qXP{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-C8MlGWiWHRJk9qXP .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-C8MlGWiWHRJk9qXP .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-C8MlGWiWHRJk9qXP .error-icon{fill:#552222;}#mermaid-svg-C8MlGWiWHRJk9qXP .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-C8MlGWiWHRJk9qXP .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-C8MlGWiWHRJk9qXP .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-C8MlGWiWHRJk9qXP .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-C8MlGWiWHRJk9qXP .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-C8MlGWiWHRJk9qXP .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-C8MlGWiWHRJk9qXP .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-C8MlGWiWHRJk9qXP .marker{fill:#333333;stroke:#333333;}#mermaid-svg-C8MlGWiWHRJk9qXP .marker.cross{stroke:#333333;}#mermaid-svg-C8MlGWiWHRJk9qXP svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-C8MlGWiWHRJk9qXP p{margin:0;}#mermaid-svg-C8MlGWiWHRJk9qXP .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-C8MlGWiWHRJk9qXP text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-C8MlGWiWHRJk9qXP .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-C8MlGWiWHRJk9qXP .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-C8MlGWiWHRJk9qXP .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-C8MlGWiWHRJk9qXP .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-C8MlGWiWHRJk9qXP #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-C8MlGWiWHRJk9qXP .sequenceNumber{fill:white;}#mermaid-svg-C8MlGWiWHRJk9qXP #sequencenumber{fill:#333;}#mermaid-svg-C8MlGWiWHRJk9qXP #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-C8MlGWiWHRJk9qXP .messageText{fill:#333;stroke:none;}#mermaid-svg-C8MlGWiWHRJk9qXP .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-C8MlGWiWHRJk9qXP .labelText,#mermaid-svg-C8MlGWiWHRJk9qXP .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-C8MlGWiWHRJk9qXP .loopText,#mermaid-svg-C8MlGWiWHRJk9qXP .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-C8MlGWiWHRJk9qXP .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-C8MlGWiWHRJk9qXP .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-C8MlGWiWHRJk9qXP .noteText,#mermaid-svg-C8MlGWiWHRJk9qXP .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-C8MlGWiWHRJk9qXP .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-C8MlGWiWHRJk9qXP .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-C8MlGWiWHRJk9qXP .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-C8MlGWiWHRJk9qXP .actorPopupMenu{position:absolute;}#mermaid-svg-C8MlGWiWHRJk9qXP .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-C8MlGWiWHRJk9qXP .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-C8MlGWiWHRJk9qXP .actor-man circle,#mermaid-svg-C8MlGWiWHRJk9qXP line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-C8MlGWiWHRJk9qXP :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    输入提示词

    触发save_prompt

    检查文件存在

    文件状态

    追加内容

    操作结果

    返回保存消息

    显示保存结果

    二、为什么需要自动保存技能?

    在AI协作编程过程中,我们经常会产生有价值的提示词、代码片段和解决方案。然而,这些宝贵内容往往散落在对话历史中,难以追溯和复用。自动保存技能解决了以下痛点:

    #mermaid-svg-GedTG2ZU1Y2dKphC{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-GedTG2ZU1Y2dKphC .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-GedTG2ZU1Y2dKphC .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-GedTG2ZU1Y2dKphC .error-icon{fill:#552222;}#mermaid-svg-GedTG2ZU1Y2dKphC .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-GedTG2ZU1Y2dKphC .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-GedTG2ZU1Y2dKphC .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-GedTG2ZU1Y2dKphC .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-GedTG2ZU1Y2dKphC .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-GedTG2ZU1Y2dKphC .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-GedTG2ZU1Y2dKphC .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-GedTG2ZU1Y2dKphC .marker{fill:#333333;stroke:#333333;}#mermaid-svg-GedTG2ZU1Y2dKphC .marker.cross{stroke:#333333;}#mermaid-svg-GedTG2ZU1Y2dKphC svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-GedTG2ZU1Y2dKphC p{margin:0;}#mermaid-svg-GedTG2ZU1Y2dKphC .pieCircle{stroke:#000000;stroke-width:2px;opacity:0.7;}#mermaid-svg-GedTG2ZU1Y2dKphC .pieOuterCircle{stroke:#000000;stroke-width:1px;fill:none;}#mermaid-svg-GedTG2ZU1Y2dKphC .pieTitleText{text-anchor:middle;font-size:25px;fill:#000000;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-GedTG2ZU1Y2dKphC .slice{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;fill:#000000;font-size:17px;}#mermaid-svg-GedTG2ZU1Y2dKphC .legend text{fill:#000000;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:17px;}#mermaid-svg-GedTG2ZU1Y2dKphC :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    35%

    25%

    20%

    20%

    自动保存技能解决的问题

    对话历史丢失

    重复输入相同提示词

    团队知识无法共享

    最佳实践难以积累

    具体价值体现:

  • 知识沉淀:将所有有价值的提示词自动保存到Markdown文件
  • 历史追溯:每次保存都附带时间戳,方便按时间查找
  • 团队协作:保存的文件可以纳入版本控制,团队共享
  • 效率提升:避免重复编写相同提示词,直接复用历史记录
  • 学习分析:通过分析保存的提示词,优化与AI的协作方式
  • 三、如何创建自动保存技能?

    3.1 创建技能文件结构

    首先,在本地创建一个技能文件夹,结构如下:

    save_prompt_skill/
    ├── SKILL.md # 技能描述文件(核心配置)
    ├── main.py # 技能执行代码
    └── requirements.txt # Python依赖说明(可选)

    image.png

    3.2 编写SKILL.md描述文件

    SKILL.md是技能的核心描述文件,使用YAML+Markdown格式:


    name: save_prompt
    description: 自动将输入内容追加保存到prompt提示词.md文件中

    # save_prompt

    ## 命令
    当用户在对话框中输入内容时,自动触发保存功能

    ## 使用场景
    记录有价值的提示词和对话内容
    自动备份AI协作过程
    创建可复用的提示词库
    团队知识积累和共享

    ## 输出解释
    1. 每次触发都会将输入内容追加到指定文件
    2. 自动添加时间戳和分隔符
    3. 文件不存在时自动创建并初始化
    4. 返回操作结果和文件状态

    ## 示例
    **用户输入:**
    帮我写一个Python快速排序算法

    **技能响应:**
    ✅ 内容已保存到 prompt提示词.md
    时间:20240115 14:30:25
    内容摘要:帮我写一个Python快速排序算法

    关键配置说明:

    • name:技能的唯一标识,使用英文小写和下划线
    • description:简明扼要的技能描述
    • 内容部分:详细说明技能的使用方法和预期效果

    3.3 编写main.py执行脚本

    main.py包含技能的核心逻辑,实现自动保存功能:

    #!/usr/bin/env python3
    """
    save_prompt 技能 – 自动保存输入内容到文件
    """

    import os
    import sys
    from datetime import datetime
    from pathlib import Path

    def save_to_prompt_file(input_text: str) > str:
    """
    将输入文本保存到 prompt提示词.md 文件

    参数:
    input_text: 用户输入的文本内容

    返回:
    保存结果的字符串描述
    """
    try:
    # 定义保存路径
    file_path = Path("prompt提示词.md")

    # 初始化文件(如果不存在)
    if not file_path.exists():
    with open(file_path, "w", encoding="utf-8") as f:
    f.write("# 📝 Prompt提示词库\\n\\n")
    f.write("> 本文件由 save_prompt 技能自动生成和维护\\n\\n")
    f.write("—\\n\\n")

    # 准备追加内容(带时间戳)
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    content_to_append = f"## ⏰ {timestamp}\\n\\n"
    content_to_append += f"{input_text}\\n\\n"
    content_to_append += "—\\n\\n"

    # 执行追加操作
    with open(file_path, "a", encoding="utf-8") as f:
    f.write(content_to_append)

    # 返回用户友好的成功消息
    content_preview = input_text[:60] + "…" if len(input_text) > 60 else input_text
    return (
    f"✅ **保存成功!**\\n\\n"
    f"**文件路径:** `{file_path.absolute()}`\\n"
    f"**保存时间:** {timestamp}\\n"
    f"**内容预览:** {content_preview}\\n\\n"
    f"💡 提示:所有历史记录已安全保存,可随时查看和复用。"
    )

    except PermissionError:
    return "❌ 权限不足:无法写入文件,请检查文件权限"
    except Exception as e:
    return f"❌ 保存失败:{str(e)}"

    def main():
    """主函数:处理命令行参数"""
    if len(sys.argv) < 2:
    # 显示使用帮助
    help_text = """
    🛠️ save_prompt 技能使用说明

    用法:
    save_prompt "要保存的文本内容"

    示例:
    save_prompt "如何优化Python代码性能?"

    功能:
    将输入内容自动追加到 prompt提示词.md 文件
    """
    print(help_text)
    return

    # 合并所有参数(支持带空格的文本)
    input_text = " ".join(sys.argv[1:])

    # 执行保存并输出结果
    result = save_to_prompt_file(input_text)
    print(result)

    if __name__ == "__main__":
    main()

    3.4 创建requirements.txt文件

    虽然本技能只使用Python标准库,但保留requirements.txt是良好的实践:

    # save_prompt 技能依赖说明
    # 本技能仅使用Python 3.11+标准库,无需额外安装包

    # 如果需要添加依赖,格式如下:
    # package_name==version

    # 示例:
    # requests==2.28.1
    # pandas==1.5.0

    四、技能配置与上传

    4.1 压缩文件

    将三个文件打包成ZIP格式: image.png

    Windows系统:

  • 选中三个文件(SKILL.md、main.py、requirements.txt)
  • 右键 → “发送到” → “压缩(zipped)文件夹”
  • 重命名为 save_prompt.skill.zip
  • macOS/Linux系统:

    zip -r save_prompt.skill.zip SKILL.md main.py requirements.txt

    4.2 上传到Trae AI

    进入Trae AI技能创建界面,按照以下步骤操作:

    #mermaid-svg-cTLFyRQuNPmUjPT3{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-cTLFyRQuNPmUjPT3 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-cTLFyRQuNPmUjPT3 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-cTLFyRQuNPmUjPT3 .error-icon{fill:#552222;}#mermaid-svg-cTLFyRQuNPmUjPT3 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-cTLFyRQuNPmUjPT3 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-cTLFyRQuNPmUjPT3 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-cTLFyRQuNPmUjPT3 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-cTLFyRQuNPmUjPT3 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-cTLFyRQuNPmUjPT3 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-cTLFyRQuNPmUjPT3 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-cTLFyRQuNPmUjPT3 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-cTLFyRQuNPmUjPT3 .marker.cross{stroke:#333333;}#mermaid-svg-cTLFyRQuNPmUjPT3 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-cTLFyRQuNPmUjPT3 p{margin:0;}#mermaid-svg-cTLFyRQuNPmUjPT3 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-cTLFyRQuNPmUjPT3 .cluster-label text{fill:#333;}#mermaid-svg-cTLFyRQuNPmUjPT3 .cluster-label span{color:#333;}#mermaid-svg-cTLFyRQuNPmUjPT3 .cluster-label span p{background-color:transparent;}#mermaid-svg-cTLFyRQuNPmUjPT3 .label text,#mermaid-svg-cTLFyRQuNPmUjPT3 span{fill:#333;color:#333;}#mermaid-svg-cTLFyRQuNPmUjPT3 .node rect,#mermaid-svg-cTLFyRQuNPmUjPT3 .node circle,#mermaid-svg-cTLFyRQuNPmUjPT3 .node ellipse,#mermaid-svg-cTLFyRQuNPmUjPT3 .node polygon,#mermaid-svg-cTLFyRQuNPmUjPT3 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-cTLFyRQuNPmUjPT3 .rough-node .label text,#mermaid-svg-cTLFyRQuNPmUjPT3 .node .label text,#mermaid-svg-cTLFyRQuNPmUjPT3 .image-shape .label,#mermaid-svg-cTLFyRQuNPmUjPT3 .icon-shape .label{text-anchor:middle;}#mermaid-svg-cTLFyRQuNPmUjPT3 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-cTLFyRQuNPmUjPT3 .rough-node .label,#mermaid-svg-cTLFyRQuNPmUjPT3 .node .label,#mermaid-svg-cTLFyRQuNPmUjPT3 .image-shape .label,#mermaid-svg-cTLFyRQuNPmUjPT3 .icon-shape .label{text-align:center;}#mermaid-svg-cTLFyRQuNPmUjPT3 .node.clickable{cursor:pointer;}#mermaid-svg-cTLFyRQuNPmUjPT3 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-cTLFyRQuNPmUjPT3 .arrowheadPath{fill:#333333;}#mermaid-svg-cTLFyRQuNPmUjPT3 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-cTLFyRQuNPmUjPT3 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-cTLFyRQuNPmUjPT3 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-cTLFyRQuNPmUjPT3 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-cTLFyRQuNPmUjPT3 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-cTLFyRQuNPmUjPT3 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-cTLFyRQuNPmUjPT3 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-cTLFyRQuNPmUjPT3 .cluster text{fill:#333;}#mermaid-svg-cTLFyRQuNPmUjPT3 .cluster span{color:#333;}#mermaid-svg-cTLFyRQuNPmUjPT3 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-cTLFyRQuNPmUjPT3 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-cTLFyRQuNPmUjPT3 rect.text{fill:none;stroke-width:0;}#mermaid-svg-cTLFyRQuNPmUjPT3 .icon-shape,#mermaid-svg-cTLFyRQuNPmUjPT3 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-cTLFyRQuNPmUjPT3 .icon-shape p,#mermaid-svg-cTLFyRQuNPmUjPT3 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-cTLFyRQuNPmUjPT3 .icon-shape rect,#mermaid-svg-cTLFyRQuNPmUjPT3 .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-cTLFyRQuNPmUjPT3 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-cTLFyRQuNPmUjPT3 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-cTLFyRQuNPmUjPT3 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    开始上传

    点击上传按钮

    选择 save_prompt.skill.zip

    等待智能解析完成

    解析成功

    解析失败

    配置技能参数

    检查文件格式

    界面操作对应文字描述:

  • 上传文件区域:点击上传按钮或拖拽ZIP文件到指定区域
  • 技能类型选择:
    • 全局技能(在所有项目中可用)
    • 项目技能(仅在当前项目可用)
  • 技能名称输入:save_prompt
  • 技能描述填写:自动将输入内容追加保存到prompt提示词.md文件中
  • 指令配置区域:粘贴技能详细说明image.png image.png image.png image.png
  • 4.3 配置技能参数

    在Trae AI界面中填写以下配置:

    技能名称:save_prompt 描述:自动将输入内容追加保存到prompt提示词.md文件中

    指令配置:

    # save_prompt 技能配置

    ## 核心功能
    自动捕获用户输入并保存到本地文件,建立可检索的提示词库。

    ## 触发规则
    1. 用户输入任意非空内容时自动触发
    2. 忽略系统命令和空输入
    3. 每次保存都添加时间戳标记

    ## 文件管理
    – 存储位置:当前工作目录下的 `prompt提示词.md`
    – 文件格式:标准Markdown,兼容所有编辑器
    – 存储策略:追加模式,保留完整历史

    ## 响应格式
    ✅ **保存成功提示**
    文件信息 + 时间戳 + 内容摘要

    ❌ **错误提示**
    具体错误原因 + 解决建议

    ## 使用示例
    输入:帮我解释React Hooks的工作原理
    输出:✅ 内容已保存(时间 + 路径 + 摘要)

    五、测试与验证

    5.1 基本功能测试

    image.png

    5.2 文件结构验证

    检查生成的 prompt提示词.md 文件:

    # 📝 Prompt提示词库

    > 本文件由 save_prompt 技能自动生成和维护

    ## ⏰ 2026-02-01 10:30:25

    Python列表推导式的最佳实践

    ## ⏰ 2026-02-01 10:31:10

    如何配置Webpack优化打包速度?

    ## ⏰ 2026-02-01 10:32:05

    机器学习模型评估的常用指标

    5.3 技能触发测试

    在Trae AI对话框中:

  • 输入任意内容,如"如何学习TypeScript?" 或者 “广州天河 晚上有啥好吃的?推荐1个”
  • 观察是否出现技能响应
  • 检查文件是否正确更新
  • 六、进阶优化与建议

    6.1 技能功能扩展

    # 扩展版本:支持分类保存
    class AdvancedPromptSaver:
    def __init__(self):
    self.categories = {
    'code': '代码相关提示词',
    'design': '设计相关提示词',
    'debug': '调试技巧',
    'learn': '学习资源'
    }

    def save_with_category(self, text: str, category: str = 'general'):
    """按分类保存提示词"""
    if category not in self.categories:
    category = 'general'

    filename = f"prompt_{category}.md"
    # 保存逻辑…

    6.2 性能优化建议

  • 批量处理:支持批量导入历史对话
  • 去重机制:自动识别并跳过重复内容
  • 智能分类:基于内容自动分类
  • 搜索功能:添加本地搜索能力
  • 云端同步:支持多设备同步
  • 6.3 团队协作优化

    #mermaid-svg-B7fLP2uA0QmPxmA3{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-B7fLP2uA0QmPxmA3 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-B7fLP2uA0QmPxmA3 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-B7fLP2uA0QmPxmA3 .error-icon{fill:#552222;}#mermaid-svg-B7fLP2uA0QmPxmA3 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-B7fLP2uA0QmPxmA3 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-B7fLP2uA0QmPxmA3 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-B7fLP2uA0QmPxmA3 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-B7fLP2uA0QmPxmA3 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-B7fLP2uA0QmPxmA3 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-B7fLP2uA0QmPxmA3 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-B7fLP2uA0QmPxmA3 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-B7fLP2uA0QmPxmA3 .marker.cross{stroke:#333333;}#mermaid-svg-B7fLP2uA0QmPxmA3 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-B7fLP2uA0QmPxmA3 p{margin:0;}#mermaid-svg-B7fLP2uA0QmPxmA3 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-B7fLP2uA0QmPxmA3 .cluster-label text{fill:#333;}#mermaid-svg-B7fLP2uA0QmPxmA3 .cluster-label span{color:#333;}#mermaid-svg-B7fLP2uA0QmPxmA3 .cluster-label span p{background-color:transparent;}#mermaid-svg-B7fLP2uA0QmPxmA3 .label text,#mermaid-svg-B7fLP2uA0QmPxmA3 span{fill:#333;color:#333;}#mermaid-svg-B7fLP2uA0QmPxmA3 .node rect,#mermaid-svg-B7fLP2uA0QmPxmA3 .node circle,#mermaid-svg-B7fLP2uA0QmPxmA3 .node ellipse,#mermaid-svg-B7fLP2uA0QmPxmA3 .node polygon,#mermaid-svg-B7fLP2uA0QmPxmA3 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-B7fLP2uA0QmPxmA3 .rough-node .label text,#mermaid-svg-B7fLP2uA0QmPxmA3 .node .label text,#mermaid-svg-B7fLP2uA0QmPxmA3 .image-shape .label,#mermaid-svg-B7fLP2uA0QmPxmA3 .icon-shape .label{text-anchor:middle;}#mermaid-svg-B7fLP2uA0QmPxmA3 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-B7fLP2uA0QmPxmA3 .rough-node .label,#mermaid-svg-B7fLP2uA0QmPxmA3 .node .label,#mermaid-svg-B7fLP2uA0QmPxmA3 .image-shape .label,#mermaid-svg-B7fLP2uA0QmPxmA3 .icon-shape .label{text-align:center;}#mermaid-svg-B7fLP2uA0QmPxmA3 .node.clickable{cursor:pointer;}#mermaid-svg-B7fLP2uA0QmPxmA3 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-B7fLP2uA0QmPxmA3 .arrowheadPath{fill:#333333;}#mermaid-svg-B7fLP2uA0QmPxmA3 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-B7fLP2uA0QmPxmA3 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-B7fLP2uA0QmPxmA3 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-B7fLP2uA0QmPxmA3 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-B7fLP2uA0QmPxmA3 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-B7fLP2uA0QmPxmA3 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-B7fLP2uA0QmPxmA3 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-B7fLP2uA0QmPxmA3 .cluster text{fill:#333;}#mermaid-svg-B7fLP2uA0QmPxmA3 .cluster span{color:#333;}#mermaid-svg-B7fLP2uA0QmPxmA3 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-B7fLP2uA0QmPxmA3 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-B7fLP2uA0QmPxmA3 rect.text{fill:none;stroke-width:0;}#mermaid-svg-B7fLP2uA0QmPxmA3 .icon-shape,#mermaid-svg-B7fLP2uA0QmPxmA3 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-B7fLP2uA0QmPxmA3 .icon-shape p,#mermaid-svg-B7fLP2uA0QmPxmA3 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-B7fLP2uA0QmPxmA3 .icon-shape rect,#mermaid-svg-B7fLP2uA0QmPxmA3 .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-B7fLP2uA0QmPxmA3 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-B7fLP2uA0QmPxmA3 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-B7fLP2uA0QmPxmA3 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    开发者A

    共享技能配置

    开发者B

    开发者C

    团队知识库

    标准化提示词

    效率提升40%

    七、常见问题解答

    Q1:技能没有触发怎么办?

    A: 检查以下配置:

  • 技能是否已启用(在技能管理界面查看)
  • 技能类型是否为"全局"
  • 输入内容是否非空
  • 尝试重启Trae AI应用
  • Q2:文件保存在什么位置?

    A: 文件保存在当前工作目录。可以通过以下方式查看:

    import os
    print(f"当前目录:{os.getcwd()}")
    print(f"文件路径:{os.path.join(os.getcwd(), 'prompt提示词.md')}")

    Q3:如何修改保存路径?

    A: 修改main.py中的file_path定义:

    # 保存到指定目录
    file_path = Path("/path/to/your/directory/prompt提示词.md")

    # 或保存到桌面(跨平台)
    from pathlib import Path
    desktop = Path.home() / "Desktop"
    file_path = desktop / "prompt提示词.md"

    Q4:支持保存图片或文件吗?

    A: 当前版本仅支持文本。如果需要保存多媒体内容,需要扩展技能功能,将文件转换为Base64编码或保存文件路径引用。

    Q5:技能会影响AI响应速度吗?

    A: 影响极小。保存操作是异步进行的,通常只需几毫秒,不会明显影响对话体验。

    Q6:如何分享技能给团队成员?

    A: 两种方式:

  • 分享ZIP包,让成员自行导入
  • 将技能文件纳入版本控制(Git)
  • 创建团队技能库,统一管理
  • 八、结语与互动

    8.1 总结回顾

  • Trae AI技能的基本概念和创建流程
  • 如何开发自动保存提示词的实用技能
  • 技能配置、上传和测试的全过程
  • 进阶优化和团队协作的最佳实践
  • 8.2 技能价值延伸

    这个自动保存技能不仅解决了提示词管理的问题,更展示了一种AI协作的新范式:让AI适应你的工作流程。你可以基于这个模式,创建更多个性化技能,如:

    • 代码片段管理器
    • 会议纪要自动生成器
    • 学习笔记整理助手
    • 项目进度跟踪器

    8.3 互动讨论

    💬 欢迎在评论区分享你的经验:

  • 你在使用Trae AI时遇到了哪些痛点?
  • 你想创建什么样的自定义技能?
  • 对本文的教程有任何疑问或建议?
  • 分享你基于此技能开发的变种或改进版本!
  • > 转载声明:本文原创,转载请注明出处。

    赞(0)
    未经允许不得转载:171主机测评 » 【AI编程工具】-手把手带你体验 Trae AI的Skills(对小白非常友好)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址