十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Agentic Awesome Skills 技能日期跟踪指南:用 date_added 元数据管理技能生命周期

Agentic Awesome Skills 技能日期跟踪指南:用 date_added 元数据管理技能生命周期 Agentic Awesome Skills 技能日期跟踪指南用 date_added 元数据管理技能生命周期【免费下载链接】agentic-awesome-skillsAAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,115 agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.项目地址: https://gitcode.com/gh_mirrors/an/agentic-awesome-skills本指南完整讲解 AASAgentic Awesome Skills仓库中基于date_added前置元数据frontmatter的技能日期跟踪体系从字段格式、批量管理命令行工具、JSON 报告生成到与验证器、索引生成、CI/CD 管线的集成方式。读完本文你将掌握如何为 2,100 技能目录建立可审计、可报告、可自动化的技能年龄数据资产并能在创建新技能时遵循仓库既定的元数据规范。概述为什么要给技能打上日期AAS Core 将每个技能以目录形式组织在skills/下每个技能的核心文件是SKILL.md其头部 YAML 前置元数据是仓库各类自动化工具验证、索引、报告的唯一事实来源。date_added字段正是用来记录技能何时被创建或添加到集合的标准元数据键主要服务于四类场景版本控制通过技能的年龄判断其成熟度辅助技能审计与淘汰决策变更日志生成按时间追踪新技能入库直接支撑 changelog 的自动整理报告量化技能集合的增长曲线输出覆盖率、增量等统计指标组织按创建日期对技能分组、排序便于维护者巡检不同时期的技能质量。从实现角度看date_added不是孤立字段它贯穿了 validate_skills.py、generate_index.py、manage_skill_dates.py 与 generate_skills_report.py 四类工具构成写入 → 校验 → 索引 → 报告的完整链路。字段格式与 SKILL.md 前置元数据规范date_added使用 ISO 8601 日期格式YYYY-MM-DD如2024-01-15。该约束不是约定俗成而是由验证器强制的在 validate_skills.py 中验证器读取元数据中的date_added后必须通过date_pattern匹配YYYY-MM-DD的正则校验否则会以Invalid date_added format报错字段缺失时则产生一条建议性提示Missing date_added field (optional, but recommended)可见该字段在仓库中是推荐项而非强制项。标准写法如下--- name: my-skill-name description: Brief description date_added: 2024-01-15 ---注意两点日期必须以字符串形式加引号写入避免 YAML 将其解析为原生日期对象同时manage_skill_dates.py 的reconstruct_frontmatter在重写元数据时会按id → name → description → category → risk → source → tags → date_added的优先级重排键序保证关键字段始终位于顶部date_added会被稳定地保留在输出中。快速开始四个日期管理命令日期管理统一收敛在 manage_skill_dates.py 中脚本通过argparse子命令提供list、add-missing、add-all、update四种操作。脚本会在启动时通过find_repo_root(__file__)自动定位仓库根目录并扫描skills/目录下所有含SKILL.md的子目录跳过以.开头的隐藏目录。1. 查看所有技能及其日期python tools/scripts/manage_skill_dates.py list该命令遍历全部技能读取各自SKILL.md的 frontmatter将技能分为有日期与无日期两组有日期的按日期倒序输出date │ skill-name两列格式无日期的按名称排序输出最后打印覆盖率统计。输出形态如下示例 Skills with Date Added (example): 2025-02-26 │ recent-skill 2025-02-20 │ another-new-skill 2024-12-15 │ older-skill ... ⏳ Skills without Date Added (example): some-legacy-skill undated-skill ... Coverage: example output only覆盖率公式对应源码实现len(skills_with_dates) / total * 100保留一位小数作为集合健康度的快速晴雨表。2. 为缺失日期的技能批量补日期将今天的日期自动添加到所有没有date_added字段的技能python tools/scripts/manage_skill_dates.py add-missing或指定一个自定义日期适合批量回填历史技能python tools/scripts/manage_skill_dates.py add-missing --date 2026-03-06实现逻辑上add_missing_dates会先校验日期格式re.match(r^\d{4}-\d{2}-\d{2}$, date_str)然后仅对date_added not in metadata的技能执行写入已有日期的技能被跳过并计数最终输出✨ Updated N skills, skipped M that already had dates。日期缺省时使用datetime.now().strftime(%Y-%m-%d)。3. 为所有技能添加或更新日期python tools/scripts/manage_skill_dates.py add-all --date 2026-03-06add-all与add-missing的区别在于无条件覆盖无论技能是否已有date_added都会被更新为指定日期缺省同样为今天。此命令适用于全量重灌日期的场景使用前请确认确实需要整体改写。4. 更新单个技能python tools/scripts/manage_skill_dates.py update my-skill-name 2026-03-06update接受技能目录名skills/skill-name/SKILL.md与日期两个位置参数。源码中会先检查skills/skill_name/SKILL.md是否存在不存在则输出❌ Skill not found: skill-name并安全退出。底层写入机制安全的 frontmatter 合并无论哪个子命令最终都落到update_skill_frontmattermanage_skill_dates.py先用 PyYAML 解析旧 frontmatterdict.update合并新元数据再经reconstruct_frontmatter重排键序后写回正文内容保持不动。值得注意的是脚本内置了safe_user_path路径守卫将一切读写限制在当前工作区Path.cwd()之内越界路径会抛出Path escapes allowed directory异常——这是仓库安全护栏见 SECURITY_GUARDRAILS.md在工具层的体现。在工作流中使用 date_added创建新技能时遵循 SKILL_TEMPLATE.md 的规范在新建技能的SKILL.md前置元数据中直接带上日期--- name: new-awesome-skill description: Does something awesome date_added: 2026-03-06 ---完整的技能结构约定可进一步参考 SKILL_ANATOMY.md 与 skill-anatomy.md。批量导入技能时一次性载入大量技能如从社区同步时用add-missing统一补齐python tools/scripts/manage_skill_dates.py add-missing --date 2026-03-06验证让日期字段进入质量门禁仓库的验证体系已覆盖date_addednpm run validate即调用 validate_skills.py经由 run-python.js 桥接# 运行操作验证器调用 validate_skills.py npm run validate # 可选的加固通过--strict 模式对缺失字段等按更严标准处理 npm run validate:strict # 参考验证validate_references.py检查引用完整性 npm run validate:references # 运行冒烟测试run-test-suite.js npm test这些检查会捕获无效日期格式非法、损坏的引用及相关回归。从 package.json 的脚本映射可以看到上述命令分别对应validate_skills.py、validate_skills.py --strict、validate_references.py与tools/scripts/tests/run-test-suite.js。生成 JSON 报告量化集合增长generate_skills_report.py 会遍历全部技能抽取id / name / description / date_added / source / risk / category等元数据聚合输出 JSON 报告# 输出到终端 python tools/scripts/generate_skills_report.py # 保存到文件 python tools/scripts/generate_skills_report.py --output skills_report.json # 按名称排序默认按日期倒序 python tools/scripts/generate_skills_report.py --sort name --output sorted_skills.json报告结构如下字段与 generate_skills_report.py 的实现一一对应{ generated_at: 2026-03-06T10:30:00.123456, total_skills: 1234, skills_with_dates: 1200, skills_without_dates: 34, coverage_percentage: 97.2, sorted_by: date, skills: [ { id: recent-skill, name: recent-skill, description: A newly added skill, date_added: 2026-03-06, source: community, risk: safe, category: recent } ] }细节说明generated_at使用datetime.now().isoformat()即带微秒的本地时间戳无日期技能按0000-00-00占位参与排序因此按日期排序时永远沉底coverage_percentage skills_with_dates / total_skills * 100保留一位小数排序仅支持date默认倒序与name两种取值由--sort的choices约束。报告可直接用于仪表板展示、增长指标、自动化报告与分析流水线。索引与 Web 应用消费date_added不只停留在维护脚本层面它还会进入面向 Agent 的索引产物npm run index调用 generate_index.py在第 915974 行将技能的date_added归一化后写入 skills_index.json随后npm run app:setupsetup_web.js把生成的索引复制到apps/web-app/public/skills.json供 Web Workbench 界面渲染。因此维护者补全日期后技能年龄信息会沿SKILL.md → skills_index.json → Web 应用自动传导。与 CI/CD 集成把日期校验与报告生成挂进 pre-commit 或 CI 管道# 在 pre-commit 或 CI 管道中 npm run validate npm run validate:references # 生成统计报告 python tools/scripts/generate_skills_report.py --output reports/skills_report.json仓库本身的chainnpm run chain已把validate → plugin-compat → index → bundles → metadata → catalog → aas-v1 catalog串成一条主构建链新增技能的日期写入会在validate阶段被即时拦截检查。若希望以更严格口径强制新技能必须带日期可进一步把npm run validate:strict纳入门禁——不过按 date-tracking-implementation.md 的说明当前操作级贡献门禁仍是npm run validate严格校验被定位为面向存量技能清理的独立加固目标运行时请据此把握预期。最佳实践使用一致的格式始终使用YYYY-MM-DD且以引号包裹成字符串写入 YAML使用真实日期尽量反映技能的实际创建日期避免用同步日期顶替创建日期导致技能年龄失真在创建时更新新技能入库即带date_added杜绝事后批量回填的债务累积定期验证在提交或 CI 中运行npm run validate捕获格式错误查看报告周期性执行generate_skills_report.py通过coverage_percentage与日期分布观察集合增长趋势和老化技能。故障排除Invalid date_added format确保日期严格为YYYY-MM-DD✅ 正确2024-01-15❌ 错误01/15/2024非 ISO 顺序或2024-1-15月份缺零填充该报错正是 validate_skills.py 正则校验未通过时的提示管理脚本的add-missing / add-all / update也会在执行写入前做同样的格式预检。未找到脚本确保从项目根目录运行脚本依赖find_repo_root定位skills/cd path/to/agentic-awesome-skills python tools/scripts/manage_skill_dates.py list未找到 Python管理脚本基于 Python 3 与PyYAML依赖需预先安装 Python 3.x 与依赖如pip install pyyaml。若在 Windows 下运行脚本已内置 UTF-8 输出重定向io.TextIOWrapper以兼容中文/emoji 控制台输出。相关文档skill-anatomy.md — 完整技能结构指南skills-update-guide.md — 如何更新技能集合examples.md — 示例技能date-tracking-implementation.md — date_added 支持的实现摘要SKILL_TEMPLATE.md — 新技能创建模板有疑问或改进建议时参见 CONTRIBUTING.md 了解贡献指南。【免费下载链接】agentic-awesome-skillsAAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,115 agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.项目地址: https://gitcode.com/gh_mirrors/an/agentic-awesome-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表