From 31b37e1e2e564cefa487cb08c0d0d3715238887a Mon Sep 17 00:00:00 2001 From: aAAaqwq Date: Sat, 1 Aug 2026 20:22:48 -0700 Subject: [PATCH] feat(skills): add provenance-backed original collection --- README.es-ES.md | 2 +- README.md | 2 +- README_CN.md | 2 +- agents/cco/TOOLS.md | 6 +- catalog/README.md | 41 +- catalog/skill-index.json | 415 ++++++++++++++--- catalog/skill-quality.json | 9 +- config/skill-provenance.json | 160 +++++++ config/skill-taxonomy.json | 2 + config/team-manifest.json | 2 +- package.json | 7 +- scripts/build_original_skills_index.py | 171 +++++++ scripts/build_skill_catalog.py | 2 + skills/README.md | 1 + skills/daniel-x-writer/SKILL.md | 9 +- .../scripts/test_check_x_length.py | 52 +++ skills/original/CANDIDATE_AUDIT.md | 33 ++ skills/original/README.md | 83 ++++ skills/original/index.json | 416 ++++++++++++++++++ tests/test_original_skills_index.py | 70 +++ tests/test_readme_contracts.py | 6 +- tests/test_skill_catalog.py | 2 +- 22 files changed, 1404 insertions(+), 89 deletions(-) create mode 100644 scripts/build_original_skills_index.py create mode 100644 skills/daniel-x-writer/scripts/test_check_x_length.py create mode 100644 skills/original/CANDIDATE_AUDIT.md create mode 100644 skills/original/README.md create mode 100644 skills/original/index.json create mode 100644 tests/test_original_skills_index.py diff --git a/README.es-ES.md b/README.es-ES.md index 9c9c6043..2cf892a3 100644 --- a/README.es-ES.md +++ b/README.es-ES.md @@ -31,7 +31,7 @@ npx -y agi-super-team@latest --tool claude-code --doctor Los comandos anteriores usan el paquete público de npm. Para automatizaciones reproducibles, sustituye `@latest` por una versión exacta, por ejemplo `@1.4.0`. -La distribución npm mantiene accesibles los 816 puntos de entrada `SKILL.md` e incluye todos los archivos de cada Skill asignado por `config/team-manifest.json`. Clona el repositorio si necesitas todos los recursos auxiliares de la biblioteca completa. +La distribución npm mantiene accesibles los 817 puntos de entrada `SKILL.md` e incluye todos los archivos de cada Skill asignado por `config/team-manifest.json`. La colección [Skills originales de Daniel](./skills/original/) reúne el trabajo propio con procedencia revisada. Clona el repositorio si necesitas todos los recursos auxiliares de la biblioteca completa. Reemplaza `claude-code` con un ID de `--list-tools`. Usa `--all-tools` solo cuando quieras intencionalmente cada adaptador global y de proyecto. Una ejecución sin argumentos permanece como la vista previa heredada de Codex; la nueva automatización debe especificar siempre `--tool` o `--all-tools`. diff --git a/README.md b/README.md index 26b9381e..7557e636 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ npx -y agi-super-team@latest --tool claude-code --doctor The commands above use the public npm package. For reproducible automation, replace `@latest` with an exact published version such as `@1.4.0`. -The npm distribution keeps all 816 `SKILL.md` entrypoints discoverable and includes the complete files for every Skill assigned by `config/team-manifest.json`. Clone the repository when you need every auxiliary asset from the wider Skill library. +The npm distribution keeps all 817 `SKILL.md` entrypoints discoverable and includes the complete files for every Skill assigned by `config/team-manifest.json`. Browse the provenance-backed [Daniel's Original Skills](./skills/original/) collection for reviewed first-party work. Clone the repository when you need every auxiliary asset from the wider Skill library. Replace `claude-code` with an ID from `--list-tools`. Use `--all-tools` only when you intentionally want every global and project adapter. A no-argument run remains the legacy Codex preview; new automation should always name `--tool` or `--all-tools`. diff --git a/README_CN.md b/README_CN.md index 80f68d7b..2e2819a5 100644 --- a/README_CN.md +++ b/README_CN.md @@ -29,7 +29,7 @@ npx -y agi-super-team@latest --tool claude-code --doctor 以上命令直接使用公开 npm 包。自动化场景建议把 `@latest` 换成明确版本,例如 `@1.4.0`,以获得可复现安装。 -npm 发行包保留全部 816 个 `SKILL.md` 入口,并完整携带 `config/team-manifest.json` 实际分配的所有 Skills;如果需要整个 Skill 库的全部辅助素材,请克隆仓库。 +npm 发行包保留全部 817 个 `SKILL.md` 入口,并完整携带 `config/team-manifest.json` 实际分配的所有 Skills。经过来源审查的第一方作品可在 [Daniel 的原创 Skills](./skills/original/) 分类中查看;如果需要整个 Skill 库的全部辅助素材,请克隆仓库。 把 `claude-code` 换成 `--list-tools` 输出的目标 ID。只有在确实要同时写入全部全局和项目适配目标时,才使用 `--all-tools`。不带参数仍保留旧版 Codex 预览行为;新脚本应明确写出 `--tool` 或 `--all-tools`。 diff --git a/agents/cco/TOOLS.md b/agents/cco/TOOLS.md index beb4d630..087f1f33 100644 --- a/agents/cco/TOOLS.md +++ b/agents/cco/TOOLS.md @@ -39,10 +39,10 @@ 这些 Skill 依赖特定 Harness、连接器或外部能力;通用安装器不会自动复制或启用。 - [`ai-marketing-videos`](../../skills/ai-marketing-videos/) — 来源待核 · 尚未评分 · 运行证据:待验证 -- [`content-cover-gen`](../../skills/content-cover-gen/) — 来源待核 · 尚未评分 · 运行证据:待验证 -- [`content-illustration-strategy`](../../skills/content-illustration-strategy/) — 来源待核 · 尚未评分 · 运行证据:待验证 +- [`content-cover-gen`](../../skills/content-cover-gen/) — 项目原创 · 尚未评分 · 运行证据:待验证 +- [`content-illustration-strategy`](../../skills/content-illustration-strategy/) — 项目原创 · 尚未评分 · 运行证据:待验证 - [`content-ops-toolkit`](../../skills/content-ops-toolkit/) — 来源待核 · 尚未评分 · 运行证据:待验证 -- [`douyin-smart-publish`](../../skills/douyin-smart-publish/) — 来源待核 · 尚未评分 · 运行证据:待验证 +- [`douyin-smart-publish`](../../skills/douyin-smart-publish/) — 项目原创 · 尚未评分 · 运行证据:待验证 - [`nano-banana-pro`](../../skills/nano-banana-pro/) — 来源待核 · 尚未评分 · 运行证据:待验证 - [`seo-content-writer`](../../skills/seo-content-writer/) — 来源待核 · 尚未评分 · 运行证据:待验证 - [`social-content`](../../skills/social-content/) — 来源待核 · 尚未评分 · 运行证据:待验证 diff --git a/catalog/README.md b/catalog/README.md index 39a4f7e0..e2c57bcd 100644 --- a/catalog/README.md +++ b/catalog/README.md @@ -8,6 +8,8 @@ Find a skill by the outcome you need. This index is generated from tracked, phys **Curation evidence:** origin labels and the separate **Curation evidence score** come from reviewed authored contracts. `Unknown` and `Unscored` are honest defaults; runtime evidence remains a separate field. See the [methodology](../docs/skill-provenance-and-scoring.md). +**First-party collection:** browse the generated [Daniel's Original Skills](../skills/original/) view. It includes only digest-backed `project-original + reviewed` provenance and does not imply runtime verification. + ## 🚀 Selected starting points Only digest-matched, structurally valid Skills with reviewed provenance and a Curation evidence score of at least 75 appear here. Selection is not runtime verification. @@ -33,7 +35,7 @@ Only digest-matched, structurally valid Skills with reviewed provenance and a Cu ## 🗂️ Browse by outcome -This revision contains 816 canonical catalog entries. The number is generated here rather than used as a product claim. +This revision contains 817 canonical catalog entries. The number is generated here rather than used as a product claim. | Category | Use it for | Entries | |---|---|---:| @@ -44,12 +46,12 @@ This revision contains 816 canonical catalog entries. The number is generated he | [🛡️ Security, Privacy & Legal](#security-privacy-legal) | Review security, privacy, compliance, permissions, contracts, and legal risk. | 34 | | [🎨 Product, Design & UX](#product-design-ux) | Shape product requirements, interfaces, design systems, and user experience. | 22 | | [📈 Marketing, SEO & Growth](#marketing-seo-growth) | Acquire audiences through positioning, campaigns, search, ads, and social growth. | 48 | -| [✍️ Content, Media & Publishing](#content-media-publishing) | Create, edit, repurpose, and publish writing, images, audio, and video. | 83 | +| [✍️ Content, Media & Publishing](#content-media-publishing) | Create, edit, repurpose, and publish writing, images, audio, and video. | 84 | | [🤝 Sales, CRM & Customer Success](#sales-crm-customer-success) | Find, win, onboard, support, and retain customers with accountable workflows. | 40 | -| [💹 Finance, Trading & Markets](#finance-trading-markets) | Analyze markets, backtest strategies, track portfolios, and review financial risk. | 67 | +| [💹 Finance, Trading & Markets](#finance-trading-markets) | Analyze markets, backtest strategies, track portfolios, and review financial risk. | 68 | | [🧭 Business Operations & Strategy](#business-operations-strategy) | Plan work, make decisions, manage teams, and improve operating systems. | 74 | | [⚙️ Apps & Workflow Automation](#apps-workflow-automation) | Connect everyday apps, browsers, messaging systems, and repeatable workflows. | 89 | -| [🇨🇳 Chinese Platform Workflows](#chinese-platform-workflows) | Create, analyze, and publish for major Chinese-language platforms and channels. | 39 | +| [🇨🇳 Chinese Platform Workflows](#chinese-platform-workflows) | Create, analyze, and publish for major Chinese-language platforms and channels. | 38 | | [🧰 Specialized Domains & Utilities](#general-utilities) | Domain-specific helpers and cross-functional tools that need a dedicated review path. | 44 | @@ -105,7 +107,7 @@ Coordinate agents, context, memory, models, prompts, and tool protocols. | [`memory`](../skills/memory/) | Persistent memory: observations, session summaries, search | Unknown · unreviewed | Unscored | Catalog only | | [`memory-hygiene`](../skills/memory-hygiene/) | Audit, clean, and optimize Clawdbot's vector memory (LanceDB). Use when memory is bloated with junk, token usage is high from irrelevant auto-recalls, or setting up memory… | Unknown · unreviewed | Unscored | Catalog only | | [`memory-router`](../skills/memory-router/) | Team-wide memory routing skill — routes agent queries to the optimal | Unknown · unreviewed | Unscored | Catalog only | -| [`meta-cognition`](../skills/meta-cognition/) | Meta-cognitive framing for analyze-before-doing, ownership routing, risk gating, minimum-closure planning, and retrospective extraction in multi-agent work. Use when the user… | Unknown · unreviewed | Unscored | Catalog only | +| [`meta-cognition`](../skills/meta-cognition/) | Meta-cognitive framing for analyze-before-doing, ownership routing, risk gating, minimum-closure planning, and retrospective extraction in multi-agent work. Use when the user… | Project original · reviewed | Unscored | Catalog only | | [`model-fallback`](../skills/model-fallback/) | 模型自动降级与故障切换。当主模型请求失败、超时、达到速率限制或配额耗尽时,自动切换到备用模型,确保服务连续性。支持多供应商、多优先级的智能模型选择,提供健康监控、自动重试和错误恢复机制。 | Unknown · unreviewed | Unscored | Catalog only | | [`model-health-check`](../skills/model-health-check/) | 检查已配置模型供应商的连通性、延迟和可用性,用于快速诊断模型侧故障。 | Unknown · unreviewed | Unscored | Catalog only | | [`model-provider-manager`](../skills/model-provider-manager/) | Unified LLM provider and model configuration, health monitoring, and key management | Unknown · unreviewed | Unscored | Harness-specific assignment · generic installer skips · CTO | @@ -505,11 +507,11 @@ Create, edit, repurpose, and publish writing, images, audio, and video. | [`article-to-infographic`](../skills/article-to-infographic/) | 长文/测评文章 → 知识视觉笔记套图(3-5张)。自动提炼核心逻辑、规划分镜、生成高阶图像Prompt(4模块结构)。支持手写笔记/思维导图/架构图/对比矩阵四种风格。Use when: 文章转知识笔记、知识笔记图片、思维导图、视觉笔记、长文转图、知识卡片、文章可视化、article to infographic、knowledge… | Unknown · unreviewed | Unscored | Catalog only | | [`cinematic-video-gen`](../skills/cinematic-video-gen/) | AI视频生成质量增强引擎。解决AI视频角色僵硬、表情空白、动作机械的问题。通过高级prompt工程+角色卡+运镜指令+表情库,让AI视频角色活起来。触发词:视频质量、角色僵硬、灵动、表情、动作、cinematic video、视频生成增强、MV视频、角色动画 | Unknown · unreviewed | Unscored | Catalog only | | [`code-to-image`](../skills/code-to-image/) | 最强免费生图方案:用前端代码(HTML/CSS/JS/Canvas/SVG)设计画面,通过 Playwright 渲染为任意分辨率高清 PNG。 零API成本、无限分辨率、中文100%准确、代码可复用、Git可追踪。 配合 frontend-design / canvas-design / frontend-design-ultimate 产出 HTML… | Unknown · unreviewed | Unscored | Catalog only | -| [`content-cover-gen`](../skills/content-cover-gen/) | 内容驱动封面生成:从文章标题/核心观点自动生成视觉隐喻提示词,调用 relay-image-gen 出图。 每张封面3秒内传达文章核心观点,杜绝通用背景。 支持小红书(3:4)、抖音(9:16)、公众号(16:9)、知识星球(1:1)、掘金(16:9)。 触发:'生成封面'、'封面生成'、'cover'、'thumbnail'、'封面图'、'缩略图'。 | Unknown · unreviewed | Unscored | Harness-specific assignment · generic installer skips · CCO | +| [`content-cover-gen`](../skills/content-cover-gen/) | 内容驱动封面生成:从文章标题/核心观点自动生成视觉隐喻提示词,调用 relay-image-gen 出图。 每张封面3秒内传达文章核心观点,杜绝通用背景。 支持小红书(3:4)、抖音(9:16)、公众号(16:9)、知识星球(1:1)、掘金(16:9)。 触发:'生成封面'、'封面生成'、'cover'、'thumbnail'、'封面图'、'缩略图'。 | Project original · reviewed | Unscored | Harness-specific assignment · generic installer skips · CCO | | [`content-creator`](../skills/content-creator/) | Create SEO-optimized marketing content with consistent brand voice. Includes brand voice analyzer, SEO optimizer, content frameworks, and social media templates. Use when writing… | Unknown · unreviewed | Unscored | Catalog only | | [`content-extract`](../skills/content-extract/) | Robust URL-to-Markdown extraction for OpenClaw workflows. Use when the | Unknown · unreviewed | Unscored | Catalog only | | [`content-factory`](../skills/content-factory/) | Description needs review; inspect source. | Unknown · unreviewed | Unscored | Catalog only | -| [`content-illustration-strategy`](../skills/content-illustration-strategy/) | 文章配图决策 skill:根据文章内容判断该配什么图、图从哪里来、什么时候该用 Telegram 真实对话截图,什么时候该用工具界面图、官网图、生成插图或流程图。 适用于公众号、小红书长图文、知识星球、掘金、博客等内容配图。触发词包括:'配图'、'插图'、'素材图'、'这篇文章该配什么图'、'截图进素材库'、'给这篇稿子补图'、'根据内容选图'。 | Unknown · unreviewed | Unscored | Harness-specific assignment · generic installer skips · CCO | +| [`content-illustration-strategy`](../skills/content-illustration-strategy/) | 文章配图决策 skill:根据文章内容判断该配什么图、图从哪里来、什么时候该用 Telegram 真实对话截图,什么时候该用工具界面图、官网图、生成插图或流程图。 适用于公众号、小红书长图文、知识星球、掘金、博客等内容配图。触发词包括:'配图'、'插图'、'素材图'、'这篇文章该配什么图'、'截图进素材库'、'给这篇稿子补图'、'根据内容选图'。 | Project original · reviewed | Unscored | Harness-specific assignment · generic installer skips · CCO | | [`content-marketer`](../skills/content-marketer/) | You are an elite content marketing strategist specializing in AI-powered content creation, omnichannel marketing, and data-driven content optimization | Unknown · unreviewed | Unscored | Catalog only | | [`content-ops-toolkit`](../skills/content-ops-toolkit/) | Analyze topics, score headlines, adapt drafts across platforms, and review content performance. Use for 选题分析、标题优化、多平台适配、内容复盘, or content review. | Unknown · unreviewed | Unscored | Harness-specific assignment · generic installer skips · CCO | | [`content-repurposing`](../skills/content-repurposing/) | Content atomization — turn one piece of content into many formats. Covers blog-to-thread, blog-to-carousel, podcast-to-blog, video-to-quotes, and more. Use for: content… | Unknown · unreviewed | Unscored | Catalog only | @@ -521,6 +523,7 @@ Create, edit, repurpose, and publish writing, images, audio, and video. | [`copy-editing`](../skills/copy-editing/) | When the user wants to edit, review, or improve existing marketing copy. Also use when the user mentions 'edit this copy,' 'review my copy,' 'copy feedback,' 'proofread,' 'polish… | Unknown · unreviewed | Unscored | Portable required assignment · structure checked · CCO | | [`copywriting`](../skills/copywriting/) | Write, rewrite, or improve marketing copy for homepages, landing pages, pricing pages, feature pages, and about pages. Use when the user needs conversion-focused copy with clear… | Unknown · unreviewed | Unscored | Portable required assignment · structure checked · CCO, CMO | | [`cross-platform-poster`](../skills/cross-platform-poster/) | Publish one piece of content across MoltX, Twitter/X, Discord, and Telegram | Unknown · unreviewed | Unscored | Catalog only | +| [`daniel-x-writer`](../skills/daniel-x-writer/) | Use for concise Chinese X/Twitter posts in Daniel's first-person voice, mixing human tension, numerical evidence, explicit decision rules, and a sharp reflective ending. | Project original · reviewed | Unscored | Catalog only | | [`doc-coauthoring`](../skills/doc-coauthoring/) | Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar… | Unknown · unreviewed | Unscored | Portable optional assignment · structure checked · CCO, CMO, CPO, CSO | | [`docx`](../skills/docx/) | Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with… | Unknown · unreviewed | Unscored | Catalog only | | [`docx-perfect`](../skills/docx-perfect/) | Word文档美化与格式化专家。专门用于将Word文档中的文本内容转换为专业表格格式,应用一致的样式(深蓝色表头、斑马纹数据行、边框),支持版本化迭代管理。当用户需要美化Word文档、创建专业表格、或递增式优化文档章节时使用此技能。 | Unknown · unreviewed | Unscored | Catalog only | @@ -544,8 +547,8 @@ Create, edit, repurpose, and publish writing, images, audio, and video. | [`podcast-generation`](../skills/podcast-generation/) | Generate AI-powered podcast-style audio narratives using Azure OpenAI's GPT Realtime Mini model via WebSocket. Use when building text-to-speech features, audio narrative… | Unknown · unreviewed | Unscored | Catalog only | | [`postmortem-writer`](../skills/postmortem-writer/) | Creates comprehensive post-incident documents with timeline, root cause analysis, contributing factors, action items, and ownership. Follows SRE best practices for blameless… | Unknown · unreviewed | Unscored | Portable optional assignment · structure checked · COO, CTO | | [`pptx`](../skills/pptx/) | Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content,… | Unknown · unreviewed | Unscored | Catalog only | -| [`relay-image-gen`](../skills/relay-image-gen/) | Multi-provider image generation with automatic priority fallback | Unknown · unreviewed | Unscored | Catalog only | -| [`relay-video-gen`](../skills/relay-video-gen/) | Multi-provider video generation with async polling and automatic model fallback | Unknown · unreviewed | Unscored | Catalog only | +| [`relay-image-gen`](../skills/relay-image-gen/) | Multi-provider image generation with automatic priority fallback | Project original · reviewed | Unscored | Catalog only | +| [`relay-video-gen`](../skills/relay-video-gen/) | Multi-provider video generation with async polling and automatic model fallback | Project original · reviewed | Unscored | Catalog only | | [`seo-content-writer`](../skills/seo-content-writer/) | Write SEO blog posts, articles, landing pages with keyword integration, header optimization, and snippet targeting. SEO文章写作/内容优化 | Unknown · unreviewed | Unscored | Harness-specific assignment · generic installer skips · CCO | | [`showcase-video-builder`](../skills/showcase-video-builder/) | Build polished showcase and demo videos from screenshots, avatars, and text overlays using ffmpeg. Use when creating demo reels, hackathon presentations, product walkthroughs, or… | Unknown · unreviewed | Unscored | Catalog only | | [`slidev-agent-skill`](../skills/slidev-agent-skill/) | Create, edit, theme, build, and export Slidev presentations using a script-first workflow with detailed local references. Use when working on Slidev decks, themes, layouts,… | Unknown · unreviewed | Unscored | Catalog only | @@ -562,7 +565,7 @@ Create, edit, repurpose, and publish writing, images, audio, and video. | [`video-downloader`](../skills/video-downloader/) | Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality… | Unknown · unreviewed | Unscored | Catalog only | | [`video-generation`](../skills/video-generation/) | Use this skill when the user requests to generate, create, or imagine videos. Supports structured prompts and reference image for guided generation. | Unknown · unreviewed | Unscored | Catalog only | | [`video-lyrics-subtitle`](../skills/video-lyrics-subtitle/) | Video lyrics subtitle generator — create synchronized subtitle files for music videos | Unknown · unreviewed | Unscored | Catalog only | -| [`video-merge-send`](../skills/video-merge-send/) | 合并多个分段视频为一个完整视频,并发送到飞书。使用ffmpeg拼接视频片段,支持淡入淡出转场。触发场景:用户需要合并视频片段、拼接分镜视频、视频合并后发飞书、把多个短视频合成一个、分段视频合并发送。配合 jimeng-storyboard skill 使用,完成数字人视频全流程。 | Unknown · unreviewed | Unscored | Catalog only | +| [`video-merge-send`](../skills/video-merge-send/) | 合并多个分段视频为一个完整视频,并发送到飞书。使用ffmpeg拼接视频片段,支持淡入淡出转场。触发场景:用户需要合并视频片段、拼接分镜视频、视频合并后发飞书、把多个短视频合成一个、分段视频合并发送。配合 jimeng-storyboard skill 使用,完成数字人视频全流程。 | Project original · reviewed | Unscored | Catalog only | | [`video-script`](../skills/video-script/) | Create video scripts and publishing materials for YouTubers/UP主. Use when user wants to prepare a video, write a script (口播稿), generate video title, description, tags, or chapter… | Unknown · unreviewed | Unscored | Catalog only | | [`video-subtitles`](../skills/video-subtitles/) | Generate SRT subtitles from video/audio with translation support. Transcribes Hebrew (ivrit.ai) and English (whisper), translates between languages, burns subtitles into video.… | Unknown · unreviewed | Unscored | Catalog only | | [`video-transcriber`](../skills/video-transcriber/) | 视频转写工作流,支持B站和YouTube视频。自动判断有字幕/无字幕,有字幕则获取字幕,无字幕则下载音频+whisper转写。触发场景:(1) 用户要求总结视频内容 (2) 用户要求获取视频字幕 (3) 用户要求转写视频 (4) 处理B站/YouTube视频 | Unknown · unreviewed | Unscored | Harness-specific assignment · generic installer skips · CCO | @@ -634,7 +637,7 @@ Analyze markets, backtest strategies, track portfolios, and review financial ris | Skill | What it helps with | Origin | Curation evidence | Support / review signals | |---|---|---|---|---| -| [`5minbtc`](../skills/5minbtc/) | BTC 5分钟K线实时方向预测。v5.7.3引擎HTTP并行化(4路ThreadPoolExecutor→~3s,原12-18s)。半K线策略——第2分钟执行(progress~40%),12正交因子含half_body实体延续+momentum/decel冲突降权+V反转+放量突破+Chainlink价格对齐+Platt… | Unknown · unreviewed | Unscored | Catalog only | +| [`5minbtc`](../skills/5minbtc/) | BTC 5分钟K线实时方向预测。v5.7.3引擎HTTP并行化(4路ThreadPoolExecutor→~3s,原12-18s)。半K线策略——第2分钟执行(progress~40%),12正交因子含half_body实体延续+momentum/decel冲突降权+V反转+放量突破+Chainlink价格对齐+Platt… | Project original · reviewed | Unscored | Catalog only | | [`a-fund-monitor`](../skills/a-fund-monitor/) | A股基金净值监控:盘中实时估值 + 盘后实际净值,定时推送到 Telegram。 | Unknown · unreviewed | Unscored | Catalog only | | [`a-share-analysis`](../skills/a-share-analysis/) | 此Skill实现了三层分析体系: 1. 情报采集层 — 7路并发多源新闻采集,自动匹配板块和个股 2. 盘面阅读层 — 美股映射 + 大盘多空判断 + 实时主线(>9%题材分析) 3. 个股精选层 — 产业逻辑 + 形态8分类 + 盘口分析 + 题材排名 + 综合评分 4. 原始新闻浏览 (news.py) — 分类展示影响股票的新闻,源信息不做任何修改 | Unknown · unreviewed | Unscored | Catalog only | | [`afrexai-personal-finance`](../skills/afrexai-personal-finance/) | Complete personal finance system — budgeting, debt payoff, investing, tax optimization, net worth tracking, and financial independence planning. Use when managing money, building… | Unknown · unreviewed | Unscored | Catalog only | @@ -646,6 +649,7 @@ Analyze markets, backtest strategies, track portfolios, and review financial ris | [`bankr`](../skills/bankr/) | AI-powered crypto trading agent and LLM gateway via natural language. Use when the user wants to trade crypto, check portfolio balances, view token prices, transfer crypto,… | Unknown · unreviewed | Unscored | Catalog only | | [`bankr-signals`](../skills/bankr-signals/) | Transaction-verified trading signals on Base blockchain. Agents publish trades | Unknown · unreviewed | Unscored | Catalog only | | [`billing-automation`](../skills/billing-automation/) | Build automated billing systems for recurring payments, invoicing, subscription lifecycle, and dunning management. Use when implementing subscription billing, automating… | Unknown · unreviewed | Unscored | Catalog only | +| [`binance-square`](../skills/binance-square/) | 币安广场合约投机雷达 v4:以最近24小时专业交易帖为主要证据,回源核验帖子, 联合币安公共合约行情、4周期K线、布林带、ATR、量能和RR,生成可审计的本地影子报告。 触发词:币安广场、扫描币安、binance square、合约机会、交易信号雷达、4小时雷达 | Project original · reviewed | Unscored | Catalog only | | [`binance-trending`](../skills/binance-trending/) | Description needs review; inspect source. | Unknown · unreviewed | Unscored | Catalog only | | [`bookkeeping-basics`](../skills/bookkeeping-basics/) | Set up and maintain basic bookkeeping for a solopreneur business. Use when tracking income and expenses, preparing for taxes, managing invoices and receipts, understanding cash… | Unknown · unreviewed | Unscored | Portable optional assignment · structure checked · CFO | | [`btc-5min-scalper`](../skills/btc-5min-scalper/) | BTC 5-minute Up/Down paper trading on Polymarket. Scans Binance 1m candles for momentum/mean-reversion/volume signals, makes virtual trades on Polymarket 5-min markets, tracks… | Unknown · unreviewed | Unscored | Catalog only | @@ -890,14 +894,13 @@ Create, analyze, and publish for major Chinese-language platforms and channels. |---|---|---|---|---| | [`baidu-hot-cn`](../skills/baidu-hot-cn/) | 百度热榜监控 \| Baidu Hot Topics Monitor. 获取百度热搜榜、搜索趋势、关键词热度 \| Get Baidu trending searches, trends, keyword popularity. 触发词:百度、热搜、baidu. | Unknown · unreviewed | Unscored | Catalog only | | [`baoyu-xhs-images`](../skills/baoyu-xhs-images/) | Generates Xiaohongshu (Little Red Book) infographic series with 10 visual styles and 8 layouts. Breaks content into 1-10 cartoon-style images optimized for XHS engagement. Use… | Unknown · unreviewed | Unscored | Catalog only | -| [`binance-square`](../skills/binance-square/) | 从 Binance Square 热门话题排行榜获取话题列表,逐个进入话题页抓取最新帖子,提取社区交易信号、情绪方向和小币提及统计。 | Unknown · unreviewed | Unscored | Catalog only | -| [`daily-douyin-content`](../skills/daily-douyin-content/) | 你是 CCO,Daniel Li 的内容 Agent。 | Unknown · unreviewed | Unscored | Catalog only | -| [`daily-gzh-content`](../skills/daily-gzh-content/) | 公众号每日内容生产:选题→创作→素材生成→质量检查→保存→发布草稿 | Unknown · unreviewed | Unscored | Catalog only | -| [`daily-xhs-content`](../skills/daily-xhs-content/) | 你是 CCO,Daniel Li 的内容 Agent。 | Unknown · unreviewed | Unscored | Catalog only | +| [`daily-douyin-content`](../skills/daily-douyin-content/) | 你是 CCO,Daniel Li 的内容 Agent。 | Project original · reviewed | Unscored | Catalog only | +| [`daily-gzh-content`](../skills/daily-gzh-content/) | 公众号每日内容生产:选题→创作→素材生成→质量检查→保存→发布草稿 | Project original · reviewed | Unscored | Catalog only | +| [`daily-xhs-content`](../skills/daily-xhs-content/) | 你是 CCO,Daniel Li 的内容 Agent。 | Project original · reviewed | Unscored | Catalog only | | [`douyin-creator`](../skills/douyin-creator/) | Description needs review; inspect source. | Unknown · unreviewed | Unscored | Catalog only | | [`douyin-hot-trend`](../skills/douyin-hot-trend/) | 获取抖音热榜/热搜榜数据,包含热门视频、挑战赛、音乐等多领域热门内容,并输出标题、热度值、跳转链接及封面图(如有)。 | Unknown · unreviewed | Unscored | Catalog only | | [`douyin-publisher`](../skills/douyin-publisher/) | 抖音图文/视频发布(OpenClaw Browser 自动化):登录检测→内容校验→上传页导航→填标题/正文→上传封面+素材→暂存离开。 | Unknown · unreviewed | Unscored | Catalog only · review: credentials, external-write | -| [`douyin-smart-publish`](../skills/douyin-smart-publish/) | 抖音创作者平台智能发布(视频/图文):内容适配→上传→填描述/#话题→封面→存草稿→截图回传确认。默认只存草稿;只有在 Daniel 明确确认后才允许点击发布。覆盖标题(≤55字)、描述(建议≤200字)、#话题标签(3-5个)、封面设置、定时发布、可见性、合拍/下载开关。Playwright 自动化。触发:'发抖音'、'抖音发布'、'douyin… | Unknown · unreviewed | Unscored | Harness-specific assignment · generic installer skips · CCO | +| [`douyin-smart-publish`](../skills/douyin-smart-publish/) | 抖音创作者平台智能发布(视频/图文):内容适配→上传→填描述/#话题→封面→存草稿→截图回传确认。默认只存草稿;只有在 Daniel 明确确认后才允许点击发布。覆盖标题(≤55字)、描述(建议≤200字)、#话题标签(3-5个)、封面设置、定时发布、可见性、合拍/下载开关。Playwright 自动化。触发:'发抖音'、'抖音发布'、'douyin… | Project original · reviewed | Unscored | Harness-specific assignment · generic installer skips · CCO | | [`douyin-video-analyst`](../skills/douyin-video-analyst/) | 抖音账号视频批量采集与文案分析工作流。当用户提供抖音账号主页链接、要求抓取最新 N 条视频链接、提取视频文案(语音转文字)、或对视频内容进行总结归纳时,激活此 skill。依赖 browser 工具(抓取视频列表)和 mcporter + douyin-mcp(文案提取)。 | Unknown · unreviewed | Unscored | Catalog only | | [`feishu-automation`](../skills/feishu-automation/) | 飞书(Lark)全通道自动化。使用 lark-mcp 工具操作飞书多维表格(Bitable)、发送消息、管理文档、创建群组、自动化工作流等。当用户需要操作飞书平台、同步数据到飞书表格、发送飞书通知、管理飞书文档或自动化飞书业务流程时使用此技能。 | Unknown · unreviewed | Unscored | Catalog only | | [`feishu-channel`](../skills/feishu-channel/) | 飞书 (Lark/Feishu) 与 OpenClaw 的双向集成通道。通过飞书机器人实现消息的接收和发送,支持私聊、群聊、@提及检测、卡片消息、文件传输。当需要通过飞书与 AI 助手交互、接收飞书消息触发 AI 响应、或从 OpenClaw 发送消息到飞书时使用此技能。与 feishu-automation 的区别:本 skill… | Unknown · unreviewed | Unscored | Catalog only | @@ -916,7 +919,7 @@ Create, analyze, and publish for major Chinese-language platforms and channels. | [`wecom-automation`](../skills/wecom-automation/) | 企业微信个人账号直连自动化。基于 Wechaty 框架实现企业微信消息接收、自动同意好友、知识库问答、人工介入提醒。适用于企业微信个人机器人和自动化助手场景。 | Unknown · unreviewed | Unscored | Catalog only | | [`wecom-cs-automation`](../skills/wecom-cs-automation/) | 企业微信客服自动化系统。自动同意好友添加、基于知识库的智能问答、未知问题人工介入提醒。适用于企业微信客服场景的 AI 助手机器人。 | Unknown · unreviewed | Unscored | Catalog only | | [`weibo-hot-trend`](../skills/weibo-hot-trend/) | 获取微博热搜榜数据,返回热搜标题、热度值和跳转链接。当用户需要查看微博热搜、微博热点、微博热榜时使用此技能。支持自定义获取条数(默认50条)。 | Unknown · unreviewed | Unscored | Catalog only | -| [`weixin-channels-publish`](../skills/weixin-channels-publish/) | 微信视频号助手网页版视频发布全流程。通过浏览器自动化操控 channels.weixin.qq.com 完成登录检测、扫码登录、上传视频、填写描述和短标题、截图确认后发布或保存草稿。触发场景:用户需要发布视频到视频号、视频号发布、视频号上传视频、发视频号。 | Unknown · unreviewed | Unscored | Catalog only · review: credentials, external-write | +| [`weixin-channels-publish`](../skills/weixin-channels-publish/) | 微信视频号助手网页版视频发布全流程。通过浏览器自动化操控 channels.weixin.qq.com 完成登录检测、扫码登录、上传视频、填写描述和短标题、截图确认后发布或保存草稿。触发场景:用户需要发布视频到视频号、视频号发布、视频号上传视频、发视频号。 | Project original · reviewed | Unscored | Catalog only · review: credentials, external-write | | [`wemp-operator`](../skills/wemp-operator/) | // 发布草稿 const { publishId } = await publishDraft(mediaId); | Unknown · unreviewed | Unscored | Catalog only | | [`x-tweet-fetcher`](../skills/x-tweet-fetcher/) | Fetch tweets, replies, and user timelines from X/Twitter without login or API keys. Also supports Chinese platforms (Weibo, Bilibili, CSDN, WeChat). Includes camofox_search() for… | Unknown · unreviewed | Unscored | Catalog only | | [`xhs-content-creator`](../skills/xhs-content-creator/) | Generate Xiaohongshu (小红书/RED) content optimized for the platform''s CES algorithm. Use when: (1) creating xiaohongshu/小红书 posts, (2) writing Chinese social media content for… | Unknown · unreviewed | Unscored | Catalog only | @@ -948,8 +951,8 @@ Domain-specific helpers and cross-functional tools that need a dedicated review | [`google-auth`](../skills/google-auth/) | Google OAuth setup, refresh tokens | Unknown · unreviewed | Unscored | Catalog only | | [`healthcare-monitor`](../skills/healthcare-monitor/) | 医疗行业企业融资监控系统。实时监控医疗健康企业的工商变更,识别融资信号,自动推送告警。支持天眼查/企查查数据采集、AI融资判断、多渠道推送。 | Unknown · unreviewed | Unscored | Catalog only | | [`hookify-rules`](../skills/hookify-rules/) | This skill should be used when the user asks to create a hookify rule, write a hook rule, configure hookify, add a hookify rule, or needs guidance on hookify rule syntax and… | Unknown · unreviewed | Unscored | Catalog only | -| [`jimeng-digital-human`](../skills/jimeng-digital-human/) | 即梦AI数字人视频生成全流程自动化。通过浏览器自动化操控 jimeng.jianying.com 数字人界面,完成角色上传、音色选择、台词填入、视频生成和下载。触发场景:用户需要生成数字人视频、即梦数字人、AI数字人口播视频、数字人视频制作。依赖 jimeng-login skill 处理登录。 | Unknown · unreviewed | Unscored | Catalog only | -| [`jimeng-login`](../skills/jimeng-login/) | 即梦AI平台(jimeng.jianying.com)浏览器登录。当需要操作即梦数字人、视频生成等功能前检测到未登录时触发。处理协议同意、抖音OAuth扫码、登录态持久化。 | Unknown · unreviewed | Unscored | Catalog only | +| [`jimeng-digital-human`](../skills/jimeng-digital-human/) | 即梦AI数字人视频生成全流程自动化。通过浏览器自动化操控 jimeng.jianying.com 数字人界面,完成角色上传、音色选择、台词填入、视频生成和下载。触发场景:用户需要生成数字人视频、即梦数字人、AI数字人口播视频、数字人视频制作。依赖 jimeng-login skill 处理登录。 | Project original · reviewed | Unscored | Catalog only | +| [`jimeng-login`](../skills/jimeng-login/) | 即梦AI平台(jimeng.jianying.com)浏览器登录。当需要操作即梦数字人、视频生成等功能前检测到未登录时触发。处理协议同意、抖音OAuth扫码、登录态持久化。 | Project original · reviewed | Unscored | Catalog only | | [`kanxiang`](../skills/kanxiang/) | 看相分析技能。通过用户上传的人体部位图片,识别图片类型(面相/手相/体相/骨相),调用相应的相术规则知识库,结合图片内容进行专业分析。支持面相(五官、三庭、十二宫)、手相(掌线、指形、掌丘)、骨相(头骨、体骨、九骨)、体相(体型、体态、气质)的综合分析。基于《麻衣神相》《柳庄相法》《神相全编》《水镜神相》《冰鉴》等经典相书整理。 | Unknown · unreviewed | Unscored | Catalog only | | [`liuyao`](../skills/liuyao/) | 六爻铜钱卦占卜技能。核心理念:"解一卦就是传一道,说一言就是传一智"。支持真实/虚拟起卦,集成儒道哲学。 | Unknown · unreviewed | Unscored | Catalog only | | [`liuyao-yijing`](../skills/liuyao-yijing/) | 六爻易经占卜器,基于京房纳甲体系,模拟铜钱起卦,完成纳甲装卦(天干地支、世应、六亲、六神), 通过用神旺衰和生克制化断卦。当用户提及「六爻」「易经占卜」「铜钱起卦」「纳甲」「帮我起一卦」 「六爻预测」时触发。装卦为确定性计算 + LLM 综合断卦,无外部 API 依赖。 不适用于:梅花易数、奇门遁甲、星座运势、塔罗占卜、八字命理等其他领域 → 建议使用… | Unknown · unreviewed | Unscored | Catalog only | diff --git a/catalog/skill-index.json b/catalog/skill-index.json index 8caa5f3c..d1d1b72a 100644 --- a/catalog/skill-index.json +++ b/catalog/skill-index.json @@ -51,7 +51,7 @@ "title": "Marketing, SEO & Growth" }, { - "count": 83, + "count": 84, "description": "Create, edit, repurpose, and publish writing, images, audio, and video.", "emoji": "✍️", "id": "content-media-publishing", @@ -65,7 +65,7 @@ "title": "Sales, CRM & Customer Success" }, { - "count": 67, + "count": 68, "description": "Analyze markets, backtest strategies, track portfolios, and review financial risk.", "emoji": "💹", "id": "finance-trading-markets", @@ -86,7 +86,7 @@ "title": "Apps & Workflow Automation" }, { - "count": 39, + "count": 38, "description": "Create, analyze, and publish for major Chinese-language platforms and channels.", "emoji": "🇨🇳", "id": "chinese-platform-workflows", @@ -100,7 +100,7 @@ "title": "Specialized Domains & Utilities" } ], - "inventoryCount": 816, + "inventoryCount": 817, "inventorySemantics": "tracked physical top-level directories with SKILL.md", "schemaVersion": 2, "skills": [ @@ -135,8 +135,25 @@ "path": "skills/5minbtc/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "aae3f692c9dedb348e35da534026281e73ebc30c", + "declared_hints": [ + "Created as a first-party CQO Skill and iterated in this repository; the maintainer explicitly identifies it as an original Skill." + ], + "evidence": [ + "commit:aae3f692c9dedb348e35da534026281e73ebc30c", + "skills/5minbtc/SKILL.md", + "skills/5minbtc/README.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "5minbtc", @@ -3840,16 +3857,19 @@ }, { "assignments": [], - "category_id": "chinese-platform-workflows", - "classification": "slug:binance-square;metadata:fallback", + "category_id": "finance-trading-markets", + "classification": "override;metadata:frontmatter", "classification_details": { - "matched_signals": [ - "binance-square" - ], - "method": "slug", - "resolution_status": "priority-tie", - "review_state": "unreviewed", - "runner_ups": [ + "base_candidates": [ + { + "category_id": "chinese-platform-workflows", + "match_count": 1, + "matched_signals": [ + "binance-square" + ], + "priority": 130, + "tied_for_first": true + }, { "category_id": "finance-trading-markets", "match_count": 1, @@ -3860,27 +3880,51 @@ "tied_for_first": true } ], + "base_method": "slug", + "matched_signals": [], + "method": "override", + "rationale": "The primary outcome is contract-market research and risk-gated trade-plan analysis; Binance Square is an evidence source rather than a publishing destination.", + "resolution_status": "override", + "review_state": "unreviewed", + "runner_ups": [], "winner": { - "category_id": "chinese-platform-workflows", - "match_count": 1, - "matched_signals": [ - "binance-square" - ], - "priority": 130, - "tie_detected": true + "category_id": "finance-trading-markets", + "match_count": 0, + "matched_signals": [], + "priority": 120, + "tie_detected": false } }, "curation": { "runtime_evidence": "pending", "status": "unscored" }, - "description": "从 Binance Square 热门话题排行榜获取话题列表,逐个进入话题页抓取最新帖子,提取社区交易信号、情绪方向和小币提及统计。", + "description": "币安广场合约投机雷达 v4:以最近24小时专业交易帖为主要证据,回源核验帖子, 联合币安公共合约行情、4周期K线、布林带、ATR、量能和RR,生成可审计的本地影子报告。 触发词:币安广场、扫描币安、binance square、合约机会、交易信号雷达、4小时雷达", "description_status": "source-text", "path": "skills/binance-square/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "da4e86d351b5c8d0c3d5b2a81602b93de24fe605", + "declared_hints": [ + "The v4 shadow implementation and subsequent production-gate hardening were built in this repository under the maintainer's direction." + ], + "evidence": [ + "commit:da4e86d351b5c8d0c3d5b2a81602b93de24fe605", + "commit:437b26c2f3146c61cf9cab6799ac7f01ca659af1", + "commit:2f733c5f97c7783c314878b5b3ea3ed39117c9ab", + "skills/binance-square/SKILL.md", + "skills/binance-square/OPTIMIZATION_VERIFICATION.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "binance-square", @@ -6878,8 +6922,24 @@ "path": "skills/content-cover-gen/SKILL.md", "portability_class": "harness-specific", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "declared_hints": [ + "The creation commit identifies this batch as self-built content tools." + ], + "evidence": [ + "commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "skills/content-cover-gen/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "content-cover-gen", @@ -7051,8 +7111,24 @@ "path": "skills/content-illustration-strategy/SKILL.md", "portability_class": "harness-specific", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "declared_hints": [ + "The creation commit identifies this batch as self-built content tools." + ], + "evidence": [ + "commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "skills/content-illustration-strategy/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "content-illustration-strategy", @@ -9081,8 +9157,25 @@ "path": "skills/daily-douyin-content/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "declared_hints": [ + "Created in the maintainer's first-party content workflow batch and retained by the historical conservative original-Skills index." + ], + "evidence": [ + "commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "skills/daily-douyin-content/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "daily-douyin-content", @@ -9130,8 +9223,25 @@ "path": "skills/daily-gzh-content/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "declared_hints": [ + "Created in the maintainer's first-party content workflow batch and retained by the historical conservative original-Skills index." + ], + "evidence": [ + "commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "skills/daily-gzh-content/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "daily-gzh-content", @@ -9296,14 +9406,89 @@ "path": "skills/daily-xhs-content/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "declared_hints": [ + "Created in the maintainer's first-party content workflow batch and retained by the historical conservative original-Skills index." + ], + "evidence": [ + "commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "skills/daily-xhs-content/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "daily-xhs-content", "support_level": "catalog", "used_by": [] }, + { + "assignments": [], + "category_id": "content-media-publishing", + "classification": "slug:writer;metadata:frontmatter", + "classification_details": { + "matched_signals": [ + "writer" + ], + "method": "slug", + "resolution_status": "rule-match", + "review_state": "unreviewed", + "runner_ups": [], + "winner": { + "category_id": "content-media-publishing", + "match_count": 1, + "matched_signals": [ + "writer" + ], + "priority": 100, + "tie_detected": false + } + }, + "curation": { + "runtime_evidence": "pending", + "status": "unscored" + }, + "description": "Use for concise Chinese X/Twitter posts in Daniel's first-person voice, mixing human tension, numerical evidence, explicit decision rules, and a sharp reflective ending.", + "description_status": "source-text", + "path": "skills/daniel-x-writer/SKILL.md", + "portability_class": "catalog-only", + "provenance": { + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "2f733c5f97c7783c314878b5b3ea3ed39117c9ab", + "declared_hints": [ + "The Skill was created in Daniel's personal Codex Skill root for his first-person X voice and then reviewed as a complete normalized copy." + ], + "evidence": [ + "commit:2f733c5f97c7783c314878b5b3ea3ed39117c9ab", + "skills/daniel-x-writer/SKILL.md", + "skills/daniel-x-writer/references/style-examples.md", + "skills/daniel-x-writer/scripts/check_x_length.py", + "skills/daniel-x-writer/scripts/test_check_x_length.py" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" + }, + "review_signals": [], + "skill_id": "daniel-x-writer", + "support_level": "catalog", + "used_by": [] + }, { "assignments": [ { @@ -10904,8 +11089,24 @@ "path": "skills/douyin-smart-publish/SKILL.md", "portability_class": "harness-specific", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li" + ], + "creation_commit": "3ab7cdfc8db464b3cc6fdc4775d70d4bf1e32fa1", + "declared_hints": [ + "The Skill declares Daniel Li as author and was retained by the historical conservative original-Skills index." + ], + "evidence": [ + "commit:3ab7cdfc8db464b3cc6fdc4775d70d4bf1e32fa1", + "skills/douyin-smart-publish/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "douyin-smart-publish", @@ -15933,8 +16134,24 @@ "path": "skills/jimeng-digital-human/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li" + ], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "declared_hints": [ + "Created in the maintainer's first-party Jimeng workflow commit and retained by the historical conservative original-Skills index." + ], + "evidence": [ + "commit:02262c4ef67b43de4622652f0c10a4718ed3715d", + "skills/jimeng-digital-human/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "jimeng-digital-human", @@ -15968,8 +16185,24 @@ "path": "skills/jimeng-login/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li" + ], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "declared_hints": [ + "Created in the maintainer's first-party Jimeng workflow commit and retained by the historical conservative original-Skills index." + ], + "evidence": [ + "commit:02262c4ef67b43de4622652f0c10a4718ed3715d", + "skills/jimeng-login/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "jimeng-login", @@ -18524,8 +18757,24 @@ "path": "skills/meta-cognition/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li" + ], + "creation_commit": "8b4010dd6c07cb9809363bd7e733fce70e2992ca", + "declared_hints": [ + "Created by the maintainer and retained by the historical conservative original-Skills index." + ], + "evidence": [ + "commit:8b4010dd6c07cb9809363bd7e733fce70e2992ca", + "skills/meta-cognition/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "meta-cognition", @@ -23602,8 +23851,24 @@ "path": "skills/relay-image-gen/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "declared_hints": [ + "The creation commit identifies this batch as self-built content tools." + ], + "evidence": [ + "commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "skills/relay-image-gen/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "relay-image-gen", @@ -23641,8 +23906,24 @@ "path": "skills/relay-video-gen/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "declared_hints": [ + "The creation commit identifies this batch as self-built content tools." + ], + "evidence": [ + "commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "skills/relay-video-gen/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "relay-video-gen", @@ -33287,8 +33568,24 @@ "path": "skills/video-merge-send/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li" + ], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "declared_hints": [ + "Created in the maintainer's first-party Jimeng workflow commit and retained by the historical conservative original-Skills index." + ], + "evidence": [ + "commit:02262c4ef67b43de4622652f0c10a4718ed3715d", + "skills/video-merge-send/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [], "skill_id": "video-merge-send", @@ -34495,8 +34792,24 @@ "path": "skills/weixin-channels-publish/SKILL.md", "portability_class": "catalog-only", "provenance": { - "origin_kind": "unknown", - "review_state": "unreviewed" + "authors": [ + "Daniel Li" + ], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "declared_hints": [ + "Created in the maintainer's first-party Jimeng and publishing workflow commit and retained by the historical conservative original-Skills index." + ], + "evidence": [ + "commit:02262c4ef67b43de4622652f0c10a4718ed3715d", + "skills/weixin-channels-publish/SKILL.md", + "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md" + ], + "license": { + "evidence": "LICENSE", + "spdx": "MIT" + }, + "origin_kind": "project-original", + "review_state": "reviewed" }, "review_signals": [ "credentials", diff --git a/catalog/skill-quality.json b/catalog/skill-quality.json index 2683fb66..26a2c10a 100644 --- a/catalog/skill-quality.json +++ b/catalog/skill-quality.json @@ -2,8 +2,8 @@ "schemaVersion": 1, "scope": "deterministic-structural-evidence-not-semantic-verification", "summary": { - "inventoryCount": 816, - "structureInvalid": 177, + "inventoryCount": 817, + "structureInvalid": 176, "disclosureWarnings": 569, "executionReviewRequired": 174, "issueCounts": { @@ -11,7 +11,7 @@ "description-over-180": 293, "invalid-frontmatter-yaml": 35, "link-outside-repository": 5, - "missing-frontmatter": 38, + "missing-frontmatter": 37, "name-folder-mismatch": 71, "over-500-lines": 55, "personal-absolute-path": 50, @@ -792,11 +792,10 @@ { "skill_id": "binance-square", "path": "skills/binance-square/SKILL.md", - "structure_status": "invalid", + "structure_status": "pass", "disclosure_status": "warn", "execution_status": "review-required", "issues": [ - "missing-frontmatter", "scripts-without-test-evidence", "unmentioned-scripts" ] diff --git a/config/skill-provenance.json b/config/skill-provenance.json index 871e160a..d29600d3 100644 --- a/config/skill-provenance.json +++ b/config/skill-provenance.json @@ -196,6 +196,166 @@ "local_tree_digest": "sha256:1da39355c5d9073689b7d9ebd4f09999e5e847d1c50840152db3d8980370e78d", "declared_hints": ["Created in this repository to translate the canonical Team contract into evidence-bounded execution modes for four Agent frameworks; no upstream prompt was copied."], "evidence": ["commit:44e0092bcf4f02d1c6c59154a709cde313019cb5", "skills/orchestrate-agi-super-team/SKILL.md", "skills/orchestrate-agi-super-team/agents/openai.yaml", "skills/orchestrate-agi-super-team/references/execution-contract.md", "skills/orchestrate-agi-super-team/references/framework-mechanisms.md"] + }, + { + "skill_id": "5minbtc", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li", "AGI Super Team contributors"], + "creation_commit": "aae3f692c9dedb348e35da534026281e73ebc30c", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:294effb8976789998d3d9a9be8e1b615bbbc847fb04c6a6c1930533cc07dc5ca", + "declared_hints": ["Created as a first-party CQO Skill and iterated in this repository; the maintainer explicitly identifies it as an original Skill."], + "evidence": ["commit:aae3f692c9dedb348e35da534026281e73ebc30c", "skills/5minbtc/SKILL.md", "skills/5minbtc/README.md"] + }, + { + "skill_id": "binance-square", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li", "AGI Super Team contributors"], + "creation_commit": "da4e86d351b5c8d0c3d5b2a81602b93de24fe605", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:df54bcc827201be812130c54c7bab547b9fc6aad5f688489f64f8e1f0484b7e5", + "declared_hints": ["The v4 shadow implementation and subsequent production-gate hardening were built in this repository under the maintainer's direction."], + "evidence": ["commit:da4e86d351b5c8d0c3d5b2a81602b93de24fe605", "commit:437b26c2f3146c61cf9cab6799ac7f01ca659af1", "commit:2f733c5f97c7783c314878b5b3ea3ed39117c9ab", "skills/binance-square/SKILL.md", "skills/binance-square/OPTIMIZATION_VERIFICATION.md"] + }, + { + "skill_id": "daniel-x-writer", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li", "AGI Super Team contributors"], + "creation_commit": "2f733c5f97c7783c314878b5b3ea3ed39117c9ab", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:3ff13c7e0195c86d3654e373fd1febaa2a258de267fc5f624a59d77dfa949391", + "declared_hints": ["The Skill was created in Daniel's personal Codex Skill root for his first-person X voice and then reviewed as a complete normalized copy."], + "evidence": ["commit:2f733c5f97c7783c314878b5b3ea3ed39117c9ab", "skills/daniel-x-writer/SKILL.md", "skills/daniel-x-writer/references/style-examples.md", "skills/daniel-x-writer/scripts/check_x_length.py", "skills/daniel-x-writer/scripts/test_check_x_length.py"] + }, + { + "skill_id": "content-cover-gen", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li"], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:0dd2b233349adac95505e47f7a81d9c23e7a1d9129a5680b4b1b4daa6d570716", + "declared_hints": ["The creation commit identifies this batch as self-built content tools."], + "evidence": ["commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", "skills/content-cover-gen/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "content-illustration-strategy", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li"], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:f0f140932aca3697369429c781bfc89f7f474f261d77e07619794268396a66fe", + "declared_hints": ["The creation commit identifies this batch as self-built content tools."], + "evidence": ["commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", "skills/content-illustration-strategy/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "daily-douyin-content", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li", "AGI Super Team contributors"], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:c6512c802d8aa86df231dbfb6e6f1152abf3ef3809f2538c803dffb70f4571d8", + "declared_hints": ["Created in the maintainer's first-party content workflow batch and retained by the historical conservative original-Skills index."], + "evidence": ["commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", "skills/daily-douyin-content/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "daily-gzh-content", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li", "AGI Super Team contributors"], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:b739f4788e006b4d1bea7c81b4a06a016965dc148aa041bc1535ea69639f20a9", + "declared_hints": ["Created in the maintainer's first-party content workflow batch and retained by the historical conservative original-Skills index."], + "evidence": ["commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", "skills/daily-gzh-content/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "daily-xhs-content", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li", "AGI Super Team contributors"], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:7511ef99e4aa9ab651b41c46f1c2c5ad6c4426563125c327eaa52d627f7e4f11", + "declared_hints": ["Created in the maintainer's first-party content workflow batch and retained by the historical conservative original-Skills index."], + "evidence": ["commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", "skills/daily-xhs-content/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "relay-image-gen", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li"], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:cc9a73737201023d8b79fdb6686d0a359da0a3fc32b007c3a04e808217b9ba4f", + "declared_hints": ["The creation commit identifies this batch as self-built content tools."], + "evidence": ["commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", "skills/relay-image-gen/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "relay-video-gen", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li"], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:b4c582898020b7a021db9b7828606dace1800f455d76d7f3375fea094bd00712", + "declared_hints": ["The creation commit identifies this batch as self-built content tools."], + "evidence": ["commit:cecc3e42d4b3e1cafd18ea46b82a04b990680850", "skills/relay-video-gen/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "douyin-smart-publish", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li"], + "creation_commit": "3ab7cdfc8db464b3cc6fdc4775d70d4bf1e32fa1", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:5fe4a13828b3f00bf8de704284170a503643e95b2df285c239001836b6bf6547", + "declared_hints": ["The Skill declares Daniel Li as author and was retained by the historical conservative original-Skills index."], + "evidence": ["commit:3ab7cdfc8db464b3cc6fdc4775d70d4bf1e32fa1", "skills/douyin-smart-publish/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "weixin-channels-publish", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li"], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:d688d82795c9d2b2cfae4edffca7bda1647efaee285b0d5e6e2fb08902c90876", + "declared_hints": ["Created in the maintainer's first-party Jimeng and publishing workflow commit and retained by the historical conservative original-Skills index."], + "evidence": ["commit:02262c4ef67b43de4622652f0c10a4718ed3715d", "skills/weixin-channels-publish/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "meta-cognition", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li"], + "creation_commit": "8b4010dd6c07cb9809363bd7e733fce70e2992ca", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:5b10ca945c7d36e9344659bcc28f9bfa80288775ba115091a2be852137a5630c", + "declared_hints": ["Created by the maintainer and retained by the historical conservative original-Skills index."], + "evidence": ["commit:8b4010dd6c07cb9809363bd7e733fce70e2992ca", "skills/meta-cognition/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "jimeng-login", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li"], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:c5dbc56c86d5067c61552820cdcee81c420b4ab6bc3db1e5e19cc338cd4df78b", + "declared_hints": ["Created in the maintainer's first-party Jimeng workflow commit and retained by the historical conservative original-Skills index."], + "evidence": ["commit:02262c4ef67b43de4622652f0c10a4718ed3715d", "skills/jimeng-login/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "jimeng-digital-human", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li"], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:a059dbbd44070620d4d144dbad6a4c814676073e468d02f67c023694778de885", + "declared_hints": ["Created in the maintainer's first-party Jimeng workflow commit and retained by the historical conservative original-Skills index."], + "evidence": ["commit:02262c4ef67b43de4622652f0c10a4718ed3715d", "skills/jimeng-digital-human/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] + }, + { + "skill_id": "video-merge-send", + "origin_kind": "project-original", "review_state": "reviewed", + "authors": ["Daniel Li"], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "license": {"spdx": "MIT", "evidence": "LICENSE"}, + "local_tree_digest": "sha256:3f76f0b44fa8446f1ddbaa17754ee53e0864a0c25287b37e5cff7a6221768203", + "declared_hints": ["Created in the maintainer's first-party Jimeng workflow commit and retained by the historical conservative original-Skills index."], + "evidence": ["commit:02262c4ef67b43de4622652f0c10a4718ed3715d", "skills/video-merge-send/SKILL.md", "git:502532541732a2b2083c6e591f272cc31684e749:skills/docs/original-skills.md"] } ] } diff --git a/config/skill-taxonomy.json b/config/skill-taxonomy.json index 85d3a298..229a7d38 100644 --- a/config/skill-taxonomy.json +++ b/config/skill-taxonomy.json @@ -135,6 +135,7 @@ "ai-trader-arena": "finance-trading-markets", "backtest-expert": "finance-trading-markets", "backtesting-frameworks": "finance-trading-markets", + "binance-square": "finance-trading-markets", "bash-pro": "software-engineering", "bazi-fortune": "general-utilities", "clanker": "finance-trading-markets", @@ -159,6 +160,7 @@ "ai-trader-arena": "The core outcome is market strategy evaluation despite the generic agent suffix.", "backtest-expert": "Backtesting is a finance and market-risk workflow in this repository.", "backtesting-frameworks": "The entrypoint is organized around trading strategy evaluation and market risk.", + "binance-square": "The primary outcome is contract-market research and risk-gated trade-plan analysis; Binance Square is an evidence source rather than a publishing destination.", "bash-pro": "The skill teaches shell implementation and developer tooling rather than generic utilities.", "bazi-fortune": "This specialized cultural domain has no narrower supported outcome category.", "clanker": "The skill performs token and market actions, so finance risk is the primary route.", diff --git a/config/team-manifest.json b/config/team-manifest.json index fe759e7c..9dfd130b 100644 --- a/config/team-manifest.json +++ b/config/team-manifest.json @@ -3,7 +3,7 @@ "schemaVersion": 1, "inventory": { "agentCount": 14, - "physicalSkillCount": 816, + "physicalSkillCount": 817, "skillEntrypoint": "SKILL.md", "symlinkPolicy": "forbid" }, diff --git a/package.json b/package.json index 9d390350..8c424135 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "plugins/agi-super-team-codex/skills/*/references/", "plugins/agi-super-team-codex/skills/*/scripts/*.py", "skills/*/SKILL.md", + "skills/original/", "skills/accessibility-compliance-accessibility-audit/", "skills/account-executive/", "skills/ai-marketing-videos/", @@ -232,8 +233,10 @@ "check:subagent-sources": "python3 scripts/build_executive_subagent_sources.py --check", "build:codex-team": "python3 scripts/build_codex_csuite_adapter.py", "check:codex-team": "python3 scripts/build_codex_csuite_adapter.py --check", - "build:skills": "python3 scripts/build_skill_catalog.py", - "check:skills": "python3 scripts/build_skill_catalog.py --check", + "build:skills": "python3 scripts/build_skill_catalog.py && python3 scripts/build_original_skills_index.py", + "check:skills": "python3 scripts/build_skill_catalog.py --check && python3 scripts/build_original_skills_index.py --check", + "build:original-skills": "python3 scripts/build_original_skills_index.py", + "check:original-skills": "python3 scripts/build_original_skills_index.py --check", "build:skill-quality": "python3 scripts/audit_skill_quality.py", "check:skill-quality": "python3 scripts/audit_skill_quality.py --check", "build:taxonomy-evaluation": "python3 scripts/build_skill_taxonomy_evaluation.py", diff --git a/scripts/build_original_skills_index.py b/scripts/build_original_skills_index.py new file mode 100644 index 00000000..4f1fab5f --- /dev/null +++ b/scripts/build_original_skills_index.py @@ -0,0 +1,171 @@ +#!/usr/bin/env python3 +"""Build the reviewed first-party Skill collection from provenance evidence.""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path +from typing import Any + + +PROVENANCE_PATH = Path("config/skill-provenance.json") +CATALOG_PATH = Path("catalog/skill-index.json") +README_PATH = Path("skills/original/README.md") +INDEX_PATH = Path("skills/original/index.json") + + +def _load_object(path: Path) -> dict[str, Any]: + value = json.loads(path.read_text(encoding="utf-8")) + if not isinstance(value, dict): + raise ValueError(f"{path} must contain a JSON object") + return value + + +def build_index(root: Path) -> dict[str, Any]: + provenance = _load_object(root / PROVENANCE_PATH) + catalog = _load_object(root / CATALOG_PATH) + catalog_skills = {item["skill_id"]: item for item in catalog["skills"]} + category_order = { + item["id"]: position for position, item in enumerate(catalog["categories"]) + } + category_metadata = {item["id"]: item for item in catalog["categories"]} + + entries: list[dict[str, Any]] = [] + seen: set[str] = set() + for evidence in provenance["entries"]: + if not ( + evidence["origin_kind"] == "project-original" + and evidence["review_state"] == "reviewed" + ): + continue + skill_id = evidence["skill_id"] + if skill_id in seen: + raise ValueError(f"duplicate reviewed original Skill: {skill_id}") + seen.add(skill_id) + skill_root = root / "skills" / skill_id + entrypoint = skill_root / "SKILL.md" + if not entrypoint.is_file() or skill_root.is_symlink(): + raise ValueError(f"reviewed original is not a physical Skill: {skill_id}") + catalog_entry = catalog_skills.get(skill_id) + if catalog_entry is None: + raise ValueError(f"reviewed original is missing from catalog: {skill_id}") + entries.append( + { + "skill_id": skill_id, + "path": f"skills/{skill_id}/SKILL.md", + "description": catalog_entry["description"], + "authors": evidence["authors"], + "creation_commit": evidence["creation_commit"], + "category_id": catalog_entry["category_id"], + } + ) + entries.sort(key=lambda item: item["skill_id"]) + + counts: dict[str, int] = {} + for entry in entries: + category_id = entry["category_id"] + counts[category_id] = counts.get(category_id, 0) + 1 + categories = [] + for category_id in sorted(counts, key=lambda value: category_order[value]): + metadata = category_metadata[category_id] + categories.append( + { + "id": category_id, + "name": metadata["title"], + "emoji": metadata["emoji"], + "count": counts[category_id], + } + ) + return { + "schemaVersion": 1, + "scope": "reviewed-project-original-skills", + "generatedFrom": str(PROVENANCE_PATH), + "inventoryCount": len(entries), + "categories": categories, + "skills": entries, + } + + +def render_readme(index: dict[str, Any]) -> str: + categories = {item["id"]: item for item in index["categories"]} + by_category: dict[str, list[dict[str, Any]]] = { + item["id"]: [] for item in index["categories"] + } + for entry in index["skills"]: + by_category[entry["category_id"]].append(entry) + + lines = [ + "", + "", + "# 🌟 Daniel 的原创 Skills", + "", + "这里收录经 `config/skill-provenance.json` 审查为 `project-original + reviewed` 的第一方 Skills。", + "", + f"当前共 **{index['inventoryCount']}** 个。目录是索引视图;Skill 仍保留在 `skills//` 的规范位置,避免复制、漂移和重复加载。", + "", + "> 原创身份只说明可审计的作者与来源,不代表已经通过生产运行、投资有效性或跨平台兼容性验证。", + "", + "候选检索范围与暂不收录原因见 [`CANDIDATE_AUDIT.md`](./CANDIDATE_AUDIT.md)。", + "", + ] + for category in index["categories"]: + category_id = category["id"] + lines.extend( + [ + f"## {category['emoji']} {category['name']}({category['count']})", + "", + ] + ) + for entry in by_category[category_id]: + description = " ".join(str(entry["description"]).split()) + authors = "、".join(entry["authors"]) + lines.append( + f"- [`{entry['skill_id']}`](../{entry['skill_id']}/) — {description}(作者:{authors})" + ) + lines.append("") + lines.extend( + [ + "## 收录规则", + "", + "- 必须是仓库中存在的物理 Skill,不能是本机软链接。", + "- 必须有作者、创建提交、许可证和当前树摘要证据。", + "- 仅有 `author` 字段、提交者身份或旧手写清单不足以自动晋级。", + "- 外部改编和收集型 Skill 保留在总目录,不进入本原创分类。", + "", + ] + ) + return "\n".join(lines) + + +def _documents(root: Path) -> dict[Path, str]: + index = build_index(root) + return { + root / INDEX_PATH: json.dumps(index, ensure_ascii=False, indent=2) + "\n", + root / README_PATH: render_readme(index), + } + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--root", type=Path, default=Path(__file__).resolve().parents[1]) + parser.add_argument("--check", action="store_true") + args = parser.parse_args(argv) + root = args.root.resolve() + documents = _documents(root) + stale: list[str] = [] + for path, expected in documents.items(): + if args.check: + if not path.is_file() or path.read_text(encoding="utf-8") != expected: + stale.append(str(path.relative_to(root))) + else: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(expected, encoding="utf-8") + if stale: + print("stale generated original Skill index: " + ", ".join(stale)) + return 1 + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/build_skill_catalog.py b/scripts/build_skill_catalog.py index 733cda37..e0b5619d 100644 --- a/scripts/build_skill_catalog.py +++ b/scripts/build_skill_catalog.py @@ -501,6 +501,8 @@ def render_markdown(entries: list[SkillEntry], taxonomy: dict[str, Any]) -> str: "", "**Curation evidence:** origin labels and the separate **Curation evidence score** come from reviewed authored contracts. `Unknown` and `Unscored` are honest defaults; runtime evidence remains a separate field. See the [methodology](../docs/skill-provenance-and-scoring.md).", "", + "**First-party collection:** browse the generated [Daniel's Original Skills](../skills/original/) view. It includes only digest-backed `project-original + reviewed` provenance and does not imply runtime verification.", + "", "## 🚀 Selected starting points", "", "Only digest-matched, structurally valid Skills with reviewed provenance and a Curation evidence score of at least 75 appear here. Selection is not runtime verification.", diff --git a/skills/README.md b/skills/README.md index 0a666275..94cac581 100644 --- a/skills/README.md +++ b/skills/README.md @@ -14,6 +14,7 @@ Start with a small team pack when possible. A large inventory improves coverage, | Research, draft, and measure | [Content Creator](../starter-kits/content-creator/) | Drafting workflow; publishing remains human-controlled | | Backtest with risk review | [Quant Trader](../starter-kits/quant-trader/) | Research only; no live-trading claim | | Use native Codex workflows | [Codex package](../.codex/INDEX.md) | Separate curated distribution and sync policy | +| Browse first-party methods | [Daniel's Original Skills](./original/) | Reviewed authorship and provenance; runtime evidence remains separate | ## 👥 Skills and C-suite specialists diff --git a/skills/daniel-x-writer/SKILL.md b/skills/daniel-x-writer/SKILL.md index a04fa9fa..0e10519d 100644 --- a/skills/daniel-x-writer/SKILL.md +++ b/skills/daniel-x-writer/SKILL.md @@ -1,6 +1,7 @@ --- name: daniel-x-writer -description: "Write and rewrite concise Chinese X/Twitter posts in Daniel's authentic first-person voice: human emotion, restrained agent personification, numerical evidence, explicit action and invalidation rules, and a sharp reflective ending. Use for crypto or quant trading reviews, AI/agent observations, technical lessons, founder reflections, and any request to shorten, humanize, or fit a post within X's character limit." +description: "Use for concise Chinese X/Twitter posts in Daniel's first-person voice, mixing human tension, numerical evidence, explicit decision rules, and a sharp reflective ending." +metadata: {"runtime_effects":"local-read-only; does not publish or call network services"} --- # Daniel X Writer @@ -43,6 +44,12 @@ python3 scripts/check_x_length.py /absolute/path/to/draft.txt The checker deliberately overcounts non-ASCII characters and URLs conservatively. If it reports `over`, shorten the post and rerun it. Treat the final X composer as authoritative when available. +Run its local regression tests after changing the checker: + +```bash +python3 -m unittest scripts/test_check_x_length.py +``` + ## Truth and risk rules - Separate what happened before the decision from what happened afterward. diff --git a/skills/daniel-x-writer/scripts/test_check_x_length.py b/skills/daniel-x-writer/scripts/test_check_x_length.py new file mode 100644 index 00000000..24012b2a --- /dev/null +++ b/skills/daniel-x-writer/scripts/test_check_x_length.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python3 +"""Regression tests for the conservative X length checker.""" + +from __future__ import annotations + +import importlib.util +import json +import subprocess +import sys +import tempfile +import unittest +from pathlib import Path + + +SCRIPT = Path(__file__).with_name("check_x_length.py") +SPEC = importlib.util.spec_from_file_location("check_x_length", SCRIPT) +assert SPEC and SPEC.loader +CHECKER = importlib.util.module_from_spec(SPEC) +SPEC.loader.exec_module(CHECKER) + + +class WeightedLengthTests(unittest.TestCase): + def test_counts_ascii_non_ascii_and_urls_conservatively(self) -> None: + self.assertEqual(CHECKER.weighted_length("A币"), 3) + self.assertEqual(CHECKER.weighted_length("看 https://example.com/long/path"), 26) + + def test_cli_reports_safe_and_over_statuses(self) -> None: + with tempfile.TemporaryDirectory() as directory: + draft = Path(directory) / "draft.txt" + draft.write_text("短帖", encoding="utf-8") + safe = subprocess.run( + [sys.executable, str(SCRIPT), str(draft), "--limit", "6", "--target", "4"], + capture_output=True, + check=False, + text=True, + ) + self.assertEqual(safe.returncode, 0, safe.stderr) + self.assertEqual(json.loads(safe.stdout)["status"], "safe") + + draft.write_text("超长内容", encoding="utf-8") + over = subprocess.run( + [sys.executable, str(SCRIPT), str(draft), "--limit", "6", "--target", "4"], + capture_output=True, + check=False, + text=True, + ) + self.assertEqual(over.returncode, 2, over.stderr) + self.assertEqual(json.loads(over.stdout)["status"], "over") + + +if __name__ == "__main__": + unittest.main() diff --git a/skills/original/CANDIDATE_AUDIT.md b/skills/original/CANDIDATE_AUDIT.md new file mode 100644 index 00000000..24831bb3 --- /dev/null +++ b/skills/original/CANDIDATE_AUDIT.md @@ -0,0 +1,33 @@ +# 原创 Skills 候选审计 + +审计日期:2026-08-02 + +本审计用于解释首批原创分类的收录边界。它不替代 `config/skill-provenance.json`;机器索引仍只接受 `project-original + reviewed`。 + +## 已使用的证据 + +- 当前正式 provenance 合同中的已审查第一方条目。 +- 创建提交 `cecc3e42…` 中明确标记为 self-built 的内容工具与三条自媒体日更链路。 +- 创建提交 `02262c4e…` 中的即梦、视频合并和视频号发布链路。 +- 历史保守原创清单 `50253254…:skills/docs/original-skills.md`。 +- `5minbtc` 的首个创建提交 `aae3f692…` 及后续仓库内迭代历史。 +- Binance Square v4 的实现、优化提交和独立验证记录。 +- `daniel-x-writer` 的完整个人 Skill 目录、风格样例、长度检查器及本次规范化同步提交。 + +## 首批结果 + +- 收录 32 个强证据原创 Skills。 +- 明确包含 `binance-square`、`5minbtc`、`daniel-x-writer`、`daily-gzh-content`、`daily-xhs-content`、`daily-douyin-content`。 +- 原创目录是索引视图,不复制第二份 Skill 内容;规范源仍为 `skills//`。 + +## 暂不晋级的相邻候选 + +| 候选 | 当前处理 | 原因 | +|---|---|---| +| `btc-5min-scalper` | 待审计 | 与 `5minbtc` 功能相邻,但尚未确认是独立原创、派生版本还是外部收集。 | +| `xhs-content-creator` | 排除 | 目录带外部 registry 来源记录,不能仅凭本地出现或作者提示改写为原创。 | +| `wechat-ai-radar` | 待审计 | 有产品相关性,但缺少创建提交、当前树摘要和明确作者链。 | +| `wechat-article-writer`、`xhs-writing-coach`、`cross-platform-poster` | 待审计 | 曾出现在更宽松的历史手写清单或带作者提示;按当前规则,这些都只是线索。 | +| 旧 Platform / Agent Operations 批次 | 待审计 | 批量添加 `author` 字段不能证明没有上游来源,需逐项核验提交前内容和许可证。 | + +新增候选必须先补齐作者、创建提交、许可证、当前树摘要和来源证据,然后由生成器自动进入原创分类。不得手改 `README.md` 或 `index.json` 绕过 provenance。 diff --git a/skills/original/README.md b/skills/original/README.md new file mode 100644 index 00000000..52c727ac --- /dev/null +++ b/skills/original/README.md @@ -0,0 +1,83 @@ + + +# 🌟 Daniel 的原创 Skills + +这里收录经 `config/skill-provenance.json` 审查为 `project-original + reviewed` 的第一方 Skills。 + +当前共 **32** 个。目录是索引视图;Skill 仍保留在 `skills//` 的规范位置,避免复制、漂移和重复加载。 + +> 原创身份只说明可审计的作者与来源,不代表已经通过生产运行、投资有效性或跨平台兼容性验证。 + +候选检索范围与暂不收录原因见 [`CANDIDATE_AUDIT.md`](./CANDIDATE_AUDIT.md)。 + +## 🤖 AI Agents & Orchestration(2) + +- [`meta-cognition`](../meta-cognition/) — Meta-cognitive framing for analyze-before-doing, ownership routing, risk gating, minimum-closure planning, and retrospective extraction in multi-agent work. Use when the user…(作者:Daniel Li) +- [`orchestrate-agi-super-team`](../orchestrate-agi-super-team/) — 按 Team→C-suite→Skills/直属 Subagents→Governor→CEO→人工批准契约编排 AGI Super Team。适用于用户要求跨职能团队、专家委派、独立复核,或需在 Claude Code、Codex、OpenClaw、Hermes 中选择真实执行方式;单领域一步任务不要启用。(作者:Daniel Li、AGI Super Team contributors) + +## ☁️ Cloud, DevOps & Reliability(2) + +- [`incident-command-and-review`](../incident-command-and-review/) — 建立只读事件态势、明确指挥角色、组织决策节奏、定义恢复标准,并在稳定后完成无责复盘与纠正措施复验。用于服务异常、业务中断、安全或数据事件的协调与复盘;不用于直接修改生产环境、部署修复、使用凭证、对外通知、替技术负责人诊断实现,或未经人类批准执行任何高风险动作。(作者:Daniel Li、AGI Super Team contributors) +- [`sre-reliability-governance`](../sre-reliability-governance/) — 为服务或平台设计可审查的可靠性治理方案,覆盖用户旅程 SLI/SLO、错误预算政策、容量模型、依赖与故障域、韧性和恢复、事故准备、变更风险分级及验证门。用于新服务上线前可靠性评审、重大架构或迁移设计、SLO/错误预算建立与复核、容量和灾备规划、事故准备度检查;不用于直接排障、部署、修改监控或操作生产系统。(作者:Daniel Li、AGI Super Team contributors) + +## 📊 Data, Analytics & Research(1) + +- [`research-evidence-synthesis`](../research-evidence-synthesis/) — 为重要决策设计可证伪研究问题、检索协议、证据台账、反证矩阵、不确定性说明和带引用的综合结论。适用于比较竞争性解释、审查多来源主张、建立证据图或决定下一步研究;不用于无需研究的稳定常识、单纯数据查询、伪造来源,或未经授权购买资料、联系研究对象和访问受限内容。(作者:Daniel Li、AGI Super Team contributors) + +## 🛡️ Security, Privacy & Legal(2) + +- [`data-contract-quality-governance`](../data-contract-quality-governance/) — 为共享数据集、事件流、指标、主数据或数据产品设计可审查的数据治理方案,覆盖数据契约、质量维度与 SLO、字段到消费端血缘、语义和主数据、隐私与用途限制、保留删除、质量事故、模式演进和退役。用于新数据产品上线、生产者与消费者契约、指标口径冲突、数据质量评审、血缘与影响分析、隐私生命周期审查;不用于直接抓取数据、连接生产库、修改管线或处理真实个人数据。(作者:Daniel Li、AGI Super Team contributors) +- [`legal-issue-spotting`](../legal-issue-spotting/) — 按主体、司法辖区、事实和时间识别合同、隐私、知识产权、消费者、广告、劳动、公司治理或跨境事项的法律问题,形成权威依据、风险选项、残余风险和当地专业律师交接包。适用于行动前法律风险初筛与法务 intake;不用于出具正式法律意见、替代律师、保证合法合规、代表客户、签署发送合同或执行备案申报。(作者:Daniel Li、AGI Super Team contributors) + +## 📈 Marketing, SEO & Growth(1) + +- [`positioning-growth-experiment-system`](../positioning-growth-experiment-system/) — 基于真实市场、受众与产品证据设计定位、信息架构、渠道组合、增长实验和增量测量。用于市场细分、品牌定位、价值主张、渠道选择、活动实验、SEO/GEO 方向、归因复盘或扩张/停止决策;不要用于直接制作大量内容、自动发布、投放广告、群发消息、购买流量、修改产品事实或在证据不足时宣称 ROI、CAC 和增长因果。(作者:Daniel Li、AGI Super Team contributors) + +## ✍️ Content, Media & Publishing(9) + +- [`content-cover-gen`](../content-cover-gen/) — 内容驱动封面生成:从文章标题/核心观点自动生成视觉隐喻提示词,调用 relay-image-gen 出图。 每张封面3秒内传达文章核心观点,杜绝通用背景。 支持小红书(3:4)、抖音(9:16)、公众号(16:9)、知识星球(1:1)、掘金(16:9)。 触发:'生成封面'、'封面生成'、'cover'、'thumbnail'、'封面图'、'缩略图'。(作者:Daniel Li) +- [`content-illustration-strategy`](../content-illustration-strategy/) — 文章配图决策 skill:根据文章内容判断该配什么图、图从哪里来、什么时候该用 Telegram 真实对话截图,什么时候该用工具界面图、官网图、生成插图或流程图。 适用于公众号、小红书长图文、知识星球、掘金、博客等内容配图。触发词包括:'配图'、'插图'、'素材图'、'这篇文章该配什么图'、'截图进素材库'、'给这篇稿子补图'、'根据内容选图'。(作者:Daniel Li) +- [`content-typography`](../content-typography/) — 这不是“选个字体” skill。(作者:Daniel Li) +- [`daniel-x-writer`](../daniel-x-writer/) — Use for concise Chinese X/Twitter posts in Daniel's first-person voice, mixing human tension, numerical evidence, explicit decision rules, and a sharp reflective ending.(作者:Daniel Li、AGI Super Team contributors) +- [`editorial-content-system`](../editorial-content-system/) — 为组织设计或审计内容战略、编辑组合、内容 brief、主张来源与素材权利清单、生产质量门、发布交接和实验复盘。适用于搭建可持续内容生产系统、定义编辑标准、治理多渠道母版和修复内容流程失控;不用于只改一句文案、决定营销投放/渠道增长、登录账号或自动发布内容。(作者:Daniel Li、AGI Super Team contributors) +- [`jimeng-storyboard`](../jimeng-storyboard/) — 将口播视频剧本拆解为即梦AI数字人平台的分镜头脚本。输出格式为每个镜头的角色说(台词)和动作描述(镜头语言/数字人动作),适配即梦 jimeng.jianying.com 数字人视频生成界面。触发场景:用户需要生成口播视频分镜、数字人视频剧本拆解、即梦分镜脚本、短视频口播脚本分镜、数字人台词加动作拆分。(作者:Daniel Li) +- [`relay-image-gen`](../relay-image-gen/) — Multi-provider image generation with automatic priority fallback(作者:Daniel Li) +- [`relay-video-gen`](../relay-video-gen/) — Multi-provider video generation with async polling and automatic model fallback(作者:Daniel Li) +- [`video-merge-send`](../video-merge-send/) — 合并多个分段视频为一个完整视频,并发送到飞书。使用ffmpeg拼接视频片段,支持淡入淡出转场。触发场景:用户需要合并视频片段、拼接分镜视频、视频合并后发飞书、把多个短视频合成一个、分段视频合并发送。配合 jimeng-storyboard skill 使用,完成数字人视频全流程。(作者:Daniel Li) + +## 🤝 Sales, CRM & Customer Success(1) + +- [`revenue-opportunity-governance`](../revenue-opportunity-governance/) — 将销售线索和客户对话治理为有证据的发现、资格、机会阶段、方案、预测、谈判和客户成功交接。用于机会审查、发现准备、资格判断、管道复盘、提案协调、谈判准备、预测校准、失单复盘或成交后交接;不要用于自动外联、群发、写入 CRM、报价、折扣、签约、抓取个人资料、承诺产品/交期/条款,也不要把回复、会议、试用或口头兴趣冒充成交。(作者:Daniel Li、AGI Super Team contributors) + +## 💹 Finance, Trading & Markets(4) + +- [`5minbtc`](../5minbtc/) — BTC 5分钟K线实时方向预测。v5.7.3引擎HTTP并行化(4路ThreadPoolExecutor→~3s,原12-18s)。半K线策略——第2分钟执行(progress~40%),12正交因子含half_body实体延续+momentum/decel冲突降权+V反转+放量突破+Chainlink价格对齐+Platt…(作者:Daniel Li、AGI Super Team contributors) +- [`binance-square`](../binance-square/) — 币安广场合约投机雷达 v4:以最近24小时专业交易帖为主要证据,回源核验帖子, 联合币安公共合约行情、4周期K线、布林带、ATR、量能和RR,生成可审计的本地影子报告。 触发词:币安广场、扫描币安、binance square、合约机会、交易信号雷达、4小时雷达(作者:Daniel Li、AGI Super Team contributors) +- [`financial-planning-and-analysis`](../financial-planning-and-analysis/) — 为经营决策建立可复算的预算、滚动预测、现金跑道、三表连接、单位经济、实际预算差异、情景敏感性和资本配置备忘录。适用于业务规划、资源分配、定价经济性与下行评估;不用于代替会计税务审计意见、个人化投资建议、保证收益融资估值,或执行付款、转账、交易、借贷、开户和报税。(作者:Daniel Li、AGI Super Team contributors) +- [`product-discovery-portfolio-governance`](../product-discovery-portfolio-governance/) — 将模糊产品想法、客户请求或路线图争议转化为有证据的用户机会、产品组合取舍和阶段门决策。用于产品发现、机会评估、组合优先级、MVP 范围、路线图审查、发布前准备或继续/调整/停止决策;不要用于直接决定技术架构、营销投放、销售承诺、价格、法律结论,也不要把无研究证据的功能清单包装成产品战略。(作者:Daniel Li、AGI Super Team contributors) + +## 🧭 Business Operations & Strategy(2) + +- [`executive-decision-system`](../executive-decision-system/) — 将模糊的公司级议题转成可追溯的战略选择、资源配置和复查机制。用于重大方向选择、业务组合取舍、跨职能优先级冲突、进入或退出市场、年度或季度重点决策;不用于日常项目排期、流程优化、专业领域定论或对已完成工作的独立验收。(作者:Daniel Li、AGI Super Team contributors) +- [`independent-assurance-gate`](../independent-assurance-gate/) — 独立审查重要完成声明,建立声明—证据映射,寻找反例,校准严重度并给出通过、有条件通过、阻断或待验证结论。用于发布前验收、高风险变更、跨角色交付、外部结果声明和整改复验;不用于审查者自己的主要实现、替领域负责人设计方案、替 CEO 作资源取舍或替人类接受现实风险。(作者:Daniel Li、AGI Super Team contributors) + +## 🇨🇳 Chinese Platform Workflows(5) + +- [`daily-douyin-content`](../daily-douyin-content/) — 你是 CCO,Daniel Li 的内容 Agent。(作者:Daniel Li、AGI Super Team contributors) +- [`daily-gzh-content`](../daily-gzh-content/) — 公众号每日内容生产:选题→创作→素材生成→质量检查→保存→发布草稿(作者:Daniel Li、AGI Super Team contributors) +- [`daily-xhs-content`](../daily-xhs-content/) — 你是 CCO,Daniel Li 的内容 Agent。(作者:Daniel Li、AGI Super Team contributors) +- [`douyin-smart-publish`](../douyin-smart-publish/) — 抖音创作者平台智能发布(视频/图文):内容适配→上传→填描述/#话题→封面→存草稿→截图回传确认。默认只存草稿;只有在 Daniel 明确确认后才允许点击发布。覆盖标题(≤55字)、描述(建议≤200字)、#话题标签(3-5个)、封面设置、定时发布、可见性、合拍/下载开关。Playwright 自动化。触发:'发抖音'、'抖音发布'、'douyin…(作者:Daniel Li) +- [`weixin-channels-publish`](../weixin-channels-publish/) — 微信视频号助手网页版视频发布全流程。通过浏览器自动化操控 channels.weixin.qq.com 完成登录检测、扫码登录、上传视频、填写描述和短标题、截图确认后发布或保存草稿。触发场景:用户需要发布视频到视频号、视频号发布、视频号上传视频、发视频号。(作者:Daniel Li) + +## 🧰 Specialized Domains & Utilities(3) + +- [`jimeng-digital-human`](../jimeng-digital-human/) — 即梦AI数字人视频生成全流程自动化。通过浏览器自动化操控 jimeng.jianying.com 数字人界面,完成角色上传、音色选择、台词填入、视频生成和下载。触发场景:用户需要生成数字人视频、即梦数字人、AI数字人口播视频、数字人视频制作。依赖 jimeng-login skill 处理登录。(作者:Daniel Li) +- [`jimeng-login`](../jimeng-login/) — 即梦AI平台(jimeng.jianying.com)浏览器登录。当需要操作即梦数字人、视频生成等功能前检测到未登录时触发。处理协议同意、抖音OAuth扫码、登录态持久化。(作者:Daniel Li) +- [`operating-cadence-and-flow`](../operating-cadence-and-flow/) — 把已确认的战略或经营目标转成端到端价值流、责任接口、产能约束、运营节奏和异常恢复机制。用于跨团队交付卡顿、责任不清、等待返工过多、运营指标失效、重复流程需要标准化;不用于重新选择公司战略、替专业角色设计方案、一次性简单任务或独立批准完成声明。(作者:Daniel Li、AGI Super Team contributors) + +## 收录规则 + +- 必须是仓库中存在的物理 Skill,不能是本机软链接。 +- 必须有作者、创建提交、许可证和当前树摘要证据。 +- 仅有 `author` 字段、提交者身份或旧手写清单不足以自动晋级。 +- 外部改编和收集型 Skill 保留在总目录,不进入本原创分类。 diff --git a/skills/original/index.json b/skills/original/index.json new file mode 100644 index 00000000..bd15443a --- /dev/null +++ b/skills/original/index.json @@ -0,0 +1,416 @@ +{ + "schemaVersion": 1, + "scope": "reviewed-project-original-skills", + "generatedFrom": "config/skill-provenance.json", + "inventoryCount": 32, + "categories": [ + { + "id": "ai-agents-orchestration", + "name": "AI Agents & Orchestration", + "emoji": "🤖", + "count": 2 + }, + { + "id": "cloud-devops-reliability", + "name": "Cloud, DevOps & Reliability", + "emoji": "☁️", + "count": 2 + }, + { + "id": "data-analytics-research", + "name": "Data, Analytics & Research", + "emoji": "📊", + "count": 1 + }, + { + "id": "security-privacy-legal", + "name": "Security, Privacy & Legal", + "emoji": "🛡️", + "count": 2 + }, + { + "id": "marketing-seo-growth", + "name": "Marketing, SEO & Growth", + "emoji": "📈", + "count": 1 + }, + { + "id": "content-media-publishing", + "name": "Content, Media & Publishing", + "emoji": "✍️", + "count": 9 + }, + { + "id": "sales-crm-customer-success", + "name": "Sales, CRM & Customer Success", + "emoji": "🤝", + "count": 1 + }, + { + "id": "finance-trading-markets", + "name": "Finance, Trading & Markets", + "emoji": "💹", + "count": 4 + }, + { + "id": "business-operations-strategy", + "name": "Business Operations & Strategy", + "emoji": "🧭", + "count": 2 + }, + { + "id": "chinese-platform-workflows", + "name": "Chinese Platform Workflows", + "emoji": "🇨🇳", + "count": 5 + }, + { + "id": "general-utilities", + "name": "Specialized Domains & Utilities", + "emoji": "🧰", + "count": 3 + } + ], + "skills": [ + { + "skill_id": "5minbtc", + "path": "skills/5minbtc/SKILL.md", + "description": "BTC 5分钟K线实时方向预测。v5.7.3引擎HTTP并行化(4路ThreadPoolExecutor→~3s,原12-18s)。半K线策略——第2分钟执行(progress~40%),12正交因子含half_body实体延续+momentum/decel冲突降权+V反转+放量突破+Chainlink价格对齐+Platt…", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "aae3f692c9dedb348e35da534026281e73ebc30c", + "category_id": "finance-trading-markets" + }, + { + "skill_id": "binance-square", + "path": "skills/binance-square/SKILL.md", + "description": "币安广场合约投机雷达 v4:以最近24小时专业交易帖为主要证据,回源核验帖子, 联合币安公共合约行情、4周期K线、布林带、ATR、量能和RR,生成可审计的本地影子报告。 触发词:币安广场、扫描币安、binance square、合约机会、交易信号雷达、4小时雷达", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "da4e86d351b5c8d0c3d5b2a81602b93de24fe605", + "category_id": "finance-trading-markets" + }, + { + "skill_id": "content-cover-gen", + "path": "skills/content-cover-gen/SKILL.md", + "description": "内容驱动封面生成:从文章标题/核心观点自动生成视觉隐喻提示词,调用 relay-image-gen 出图。 每张封面3秒内传达文章核心观点,杜绝通用背景。 支持小红书(3:4)、抖音(9:16)、公众号(16:9)、知识星球(1:1)、掘金(16:9)。 触发:'生成封面'、'封面生成'、'cover'、'thumbnail'、'封面图'、'缩略图'。", + "authors": [ + "Daniel Li" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "category_id": "content-media-publishing" + }, + { + "skill_id": "content-illustration-strategy", + "path": "skills/content-illustration-strategy/SKILL.md", + "description": "文章配图决策 skill:根据文章内容判断该配什么图、图从哪里来、什么时候该用 Telegram 真实对话截图,什么时候该用工具界面图、官网图、生成插图或流程图。 适用于公众号、小红书长图文、知识星球、掘金、博客等内容配图。触发词包括:'配图'、'插图'、'素材图'、'这篇文章该配什么图'、'截图进素材库'、'给这篇稿子补图'、'根据内容选图'。", + "authors": [ + "Daniel Li" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "category_id": "content-media-publishing" + }, + { + "skill_id": "content-typography", + "path": "skills/content-typography/SKILL.md", + "description": "这不是“选个字体” skill。", + "authors": [ + "Daniel Li" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "category_id": "content-media-publishing" + }, + { + "skill_id": "daily-douyin-content", + "path": "skills/daily-douyin-content/SKILL.md", + "description": "你是 CCO,Daniel Li 的内容 Agent。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "category_id": "chinese-platform-workflows" + }, + { + "skill_id": "daily-gzh-content", + "path": "skills/daily-gzh-content/SKILL.md", + "description": "公众号每日内容生产:选题→创作→素材生成→质量检查→保存→发布草稿", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "category_id": "chinese-platform-workflows" + }, + { + "skill_id": "daily-xhs-content", + "path": "skills/daily-xhs-content/SKILL.md", + "description": "你是 CCO,Daniel Li 的内容 Agent。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "category_id": "chinese-platform-workflows" + }, + { + "skill_id": "daniel-x-writer", + "path": "skills/daniel-x-writer/SKILL.md", + "description": "Use for concise Chinese X/Twitter posts in Daniel's first-person voice, mixing human tension, numerical evidence, explicit decision rules, and a sharp reflective ending.", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "2f733c5f97c7783c314878b5b3ea3ed39117c9ab", + "category_id": "content-media-publishing" + }, + { + "skill_id": "data-contract-quality-governance", + "path": "skills/data-contract-quality-governance/SKILL.md", + "description": "为共享数据集、事件流、指标、主数据或数据产品设计可审查的数据治理方案,覆盖数据契约、质量维度与 SLO、字段到消费端血缘、语义和主数据、隐私与用途限制、保留删除、质量事故、模式演进和退役。用于新数据产品上线、生产者与消费者契约、指标口径冲突、数据质量评审、血缘与影响分析、隐私生命周期审查;不用于直接抓取数据、连接生产库、修改管线或处理真实个人数据。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "security-privacy-legal" + }, + { + "skill_id": "douyin-smart-publish", + "path": "skills/douyin-smart-publish/SKILL.md", + "description": "抖音创作者平台智能发布(视频/图文):内容适配→上传→填描述/#话题→封面→存草稿→截图回传确认。默认只存草稿;只有在 Daniel 明确确认后才允许点击发布。覆盖标题(≤55字)、描述(建议≤200字)、#话题标签(3-5个)、封面设置、定时发布、可见性、合拍/下载开关。Playwright 自动化。触发:'发抖音'、'抖音发布'、'douyin…", + "authors": [ + "Daniel Li" + ], + "creation_commit": "3ab7cdfc8db464b3cc6fdc4775d70d4bf1e32fa1", + "category_id": "chinese-platform-workflows" + }, + { + "skill_id": "editorial-content-system", + "path": "skills/editorial-content-system/SKILL.md", + "description": "为组织设计或审计内容战略、编辑组合、内容 brief、主张来源与素材权利清单、生产质量门、发布交接和实验复盘。适用于搭建可持续内容生产系统、定义编辑标准、治理多渠道母版和修复内容流程失控;不用于只改一句文案、决定营销投放/渠道增长、登录账号或自动发布内容。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "content-media-publishing" + }, + { + "skill_id": "executive-decision-system", + "path": "skills/executive-decision-system/SKILL.md", + "description": "将模糊的公司级议题转成可追溯的战略选择、资源配置和复查机制。用于重大方向选择、业务组合取舍、跨职能优先级冲突、进入或退出市场、年度或季度重点决策;不用于日常项目排期、流程优化、专业领域定论或对已完成工作的独立验收。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "business-operations-strategy" + }, + { + "skill_id": "financial-planning-and-analysis", + "path": "skills/financial-planning-and-analysis/SKILL.md", + "description": "为经营决策建立可复算的预算、滚动预测、现金跑道、三表连接、单位经济、实际预算差异、情景敏感性和资本配置备忘录。适用于业务规划、资源分配、定价经济性与下行评估;不用于代替会计税务审计意见、个人化投资建议、保证收益融资估值,或执行付款、转账、交易、借贷、开户和报税。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "finance-trading-markets" + }, + { + "skill_id": "incident-command-and-review", + "path": "skills/incident-command-and-review/SKILL.md", + "description": "建立只读事件态势、明确指挥角色、组织决策节奏、定义恢复标准,并在稳定后完成无责复盘与纠正措施复验。用于服务异常、业务中断、安全或数据事件的协调与复盘;不用于直接修改生产环境、部署修复、使用凭证、对外通知、替技术负责人诊断实现,或未经人类批准执行任何高风险动作。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "cloud-devops-reliability" + }, + { + "skill_id": "independent-assurance-gate", + "path": "skills/independent-assurance-gate/SKILL.md", + "description": "独立审查重要完成声明,建立声明—证据映射,寻找反例,校准严重度并给出通过、有条件通过、阻断或待验证结论。用于发布前验收、高风险变更、跨角色交付、外部结果声明和整改复验;不用于审查者自己的主要实现、替领域负责人设计方案、替 CEO 作资源取舍或替人类接受现实风险。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "business-operations-strategy" + }, + { + "skill_id": "jimeng-digital-human", + "path": "skills/jimeng-digital-human/SKILL.md", + "description": "即梦AI数字人视频生成全流程自动化。通过浏览器自动化操控 jimeng.jianying.com 数字人界面,完成角色上传、音色选择、台词填入、视频生成和下载。触发场景:用户需要生成数字人视频、即梦数字人、AI数字人口播视频、数字人视频制作。依赖 jimeng-login skill 处理登录。", + "authors": [ + "Daniel Li" + ], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "category_id": "general-utilities" + }, + { + "skill_id": "jimeng-login", + "path": "skills/jimeng-login/SKILL.md", + "description": "即梦AI平台(jimeng.jianying.com)浏览器登录。当需要操作即梦数字人、视频生成等功能前检测到未登录时触发。处理协议同意、抖音OAuth扫码、登录态持久化。", + "authors": [ + "Daniel Li" + ], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "category_id": "general-utilities" + }, + { + "skill_id": "jimeng-storyboard", + "path": "skills/jimeng-storyboard/SKILL.md", + "description": "将口播视频剧本拆解为即梦AI数字人平台的分镜头脚本。输出格式为每个镜头的角色说(台词)和动作描述(镜头语言/数字人动作),适配即梦 jimeng.jianying.com 数字人视频生成界面。触发场景:用户需要生成口播视频分镜、数字人视频剧本拆解、即梦分镜脚本、短视频口播脚本分镜、数字人台词加动作拆分。", + "authors": [ + "Daniel Li" + ], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "category_id": "content-media-publishing" + }, + { + "skill_id": "legal-issue-spotting", + "path": "skills/legal-issue-spotting/SKILL.md", + "description": "按主体、司法辖区、事实和时间识别合同、隐私、知识产权、消费者、广告、劳动、公司治理或跨境事项的法律问题,形成权威依据、风险选项、残余风险和当地专业律师交接包。适用于行动前法律风险初筛与法务 intake;不用于出具正式法律意见、替代律师、保证合法合规、代表客户、签署发送合同或执行备案申报。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "security-privacy-legal" + }, + { + "skill_id": "meta-cognition", + "path": "skills/meta-cognition/SKILL.md", + "description": "Meta-cognitive framing for analyze-before-doing, ownership routing, risk gating, minimum-closure planning, and retrospective extraction in multi-agent work. Use when the user…", + "authors": [ + "Daniel Li" + ], + "creation_commit": "8b4010dd6c07cb9809363bd7e733fce70e2992ca", + "category_id": "ai-agents-orchestration" + }, + { + "skill_id": "operating-cadence-and-flow", + "path": "skills/operating-cadence-and-flow/SKILL.md", + "description": "把已确认的战略或经营目标转成端到端价值流、责任接口、产能约束、运营节奏和异常恢复机制。用于跨团队交付卡顿、责任不清、等待返工过多、运营指标失效、重复流程需要标准化;不用于重新选择公司战略、替专业角色设计方案、一次性简单任务或独立批准完成声明。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "general-utilities" + }, + { + "skill_id": "orchestrate-agi-super-team", + "path": "skills/orchestrate-agi-super-team/SKILL.md", + "description": "按 Team→C-suite→Skills/直属 Subagents→Governor→CEO→人工批准契约编排 AGI Super Team。适用于用户要求跨职能团队、专家委派、独立复核,或需在 Claude Code、Codex、OpenClaw、Hermes 中选择真实执行方式;单领域一步任务不要启用。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "44e0092bcf4f02d1c6c59154a709cde313019cb5", + "category_id": "ai-agents-orchestration" + }, + { + "skill_id": "positioning-growth-experiment-system", + "path": "skills/positioning-growth-experiment-system/SKILL.md", + "description": "基于真实市场、受众与产品证据设计定位、信息架构、渠道组合、增长实验和增量测量。用于市场细分、品牌定位、价值主张、渠道选择、活动实验、SEO/GEO 方向、归因复盘或扩张/停止决策;不要用于直接制作大量内容、自动发布、投放广告、群发消息、购买流量、修改产品事实或在证据不足时宣称 ROI、CAC 和增长因果。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "marketing-seo-growth" + }, + { + "skill_id": "product-discovery-portfolio-governance", + "path": "skills/product-discovery-portfolio-governance/SKILL.md", + "description": "将模糊产品想法、客户请求或路线图争议转化为有证据的用户机会、产品组合取舍和阶段门决策。用于产品发现、机会评估、组合优先级、MVP 范围、路线图审查、发布前准备或继续/调整/停止决策;不要用于直接决定技术架构、营销投放、销售承诺、价格、法律结论,也不要把无研究证据的功能清单包装成产品战略。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "finance-trading-markets" + }, + { + "skill_id": "relay-image-gen", + "path": "skills/relay-image-gen/SKILL.md", + "description": "Multi-provider image generation with automatic priority fallback", + "authors": [ + "Daniel Li" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "category_id": "content-media-publishing" + }, + { + "skill_id": "relay-video-gen", + "path": "skills/relay-video-gen/SKILL.md", + "description": "Multi-provider video generation with async polling and automatic model fallback", + "authors": [ + "Daniel Li" + ], + "creation_commit": "cecc3e42d4b3e1cafd18ea46b82a04b990680850", + "category_id": "content-media-publishing" + }, + { + "skill_id": "research-evidence-synthesis", + "path": "skills/research-evidence-synthesis/SKILL.md", + "description": "为重要决策设计可证伪研究问题、检索协议、证据台账、反证矩阵、不确定性说明和带引用的综合结论。适用于比较竞争性解释、审查多来源主张、建立证据图或决定下一步研究;不用于无需研究的稳定常识、单纯数据查询、伪造来源,或未经授权购买资料、联系研究对象和访问受限内容。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "data-analytics-research" + }, + { + "skill_id": "revenue-opportunity-governance", + "path": "skills/revenue-opportunity-governance/SKILL.md", + "description": "将销售线索和客户对话治理为有证据的发现、资格、机会阶段、方案、预测、谈判和客户成功交接。用于机会审查、发现准备、资格判断、管道复盘、提案协调、谈判准备、预测校准、失单复盘或成交后交接;不要用于自动外联、群发、写入 CRM、报价、折扣、签约、抓取个人资料、承诺产品/交期/条款,也不要把回复、会议、试用或口头兴趣冒充成交。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "sales-crm-customer-success" + }, + { + "skill_id": "sre-reliability-governance", + "path": "skills/sre-reliability-governance/SKILL.md", + "description": "为服务或平台设计可审查的可靠性治理方案,覆盖用户旅程 SLI/SLO、错误预算政策、容量模型、依赖与故障域、韧性和恢复、事故准备、变更风险分级及验证门。用于新服务上线前可靠性评审、重大架构或迁移设计、SLO/错误预算建立与复核、容量和灾备规划、事故准备度检查;不用于直接排障、部署、修改监控或操作生产系统。", + "authors": [ + "Daniel Li", + "AGI Super Team contributors" + ], + "creation_commit": "008bde4c0aae5e03b1c3ca46e674455ddc8c1630", + "category_id": "cloud-devops-reliability" + }, + { + "skill_id": "video-merge-send", + "path": "skills/video-merge-send/SKILL.md", + "description": "合并多个分段视频为一个完整视频,并发送到飞书。使用ffmpeg拼接视频片段,支持淡入淡出转场。触发场景:用户需要合并视频片段、拼接分镜视频、视频合并后发飞书、把多个短视频合成一个、分段视频合并发送。配合 jimeng-storyboard skill 使用,完成数字人视频全流程。", + "authors": [ + "Daniel Li" + ], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "category_id": "content-media-publishing" + }, + { + "skill_id": "weixin-channels-publish", + "path": "skills/weixin-channels-publish/SKILL.md", + "description": "微信视频号助手网页版视频发布全流程。通过浏览器自动化操控 channels.weixin.qq.com 完成登录检测、扫码登录、上传视频、填写描述和短标题、截图确认后发布或保存草稿。触发场景:用户需要发布视频到视频号、视频号发布、视频号上传视频、发视频号。", + "authors": [ + "Daniel Li" + ], + "creation_commit": "02262c4ef67b43de4622652f0c10a4718ed3715d", + "category_id": "chinese-platform-workflows" + } + ] +} diff --git a/tests/test_original_skills_index.py b/tests/test_original_skills_index.py new file mode 100644 index 00000000..9a095947 --- /dev/null +++ b/tests/test_original_skills_index.py @@ -0,0 +1,70 @@ +import json +import subprocess +import sys +import unittest +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] +BUILDER = ROOT / "scripts" / "build_original_skills_index.py" +INDEX = ROOT / "skills" / "original" / "index.json" +README = ROOT / "skills" / "original" / "README.md" +PROVENANCE = ROOT / "config" / "skill-provenance.json" + + +class OriginalSkillsIndexTests(unittest.TestCase): + def test_generated_original_collection_is_current_and_provenance_bounded(self) -> None: + result = subprocess.run( + [sys.executable, str(BUILDER), "--root", str(ROOT), "--check"], + capture_output=True, + text=True, + check=False, + ) + self.assertEqual(0, result.returncode, result.stdout + result.stderr) + + index = json.loads(INDEX.read_text(encoding="utf-8")) + provenance = json.loads(PROVENANCE.read_text(encoding="utf-8")) + reviewed_originals = { + entry["skill_id"] + for entry in provenance["entries"] + if entry["origin_kind"] == "project-original" + and entry["review_state"] == "reviewed" + } + indexed = {entry["skill_id"] for entry in index["skills"]} + + self.assertEqual(reviewed_originals, indexed) + self.assertTrue( + { + "binance-square", + "5minbtc", + "daily-gzh-content", + "daily-xhs-content", + "daily-douyin-content", + "daniel-x-writer", + } + <= indexed + ) + self.assertEqual(len(indexed), index["inventoryCount"]) + self.assertEqual( + sorted(indexed), [entry["skill_id"] for entry in index["skills"]] + ) + by_id = {entry["skill_id"]: entry for entry in index["skills"]} + self.assertEqual("finance-trading-markets", by_id["5minbtc"]["category_id"]) + self.assertEqual("finance-trading-markets", by_id["binance-square"]["category_id"]) + markdown = README.read_text(encoding="utf-8") + for skill_id in indexed: + self.assertIn(f"../{skill_id}/", markdown) + self.assertNotIn("Unknown", markdown) + self.assertNotIn("Collected", markdown) + + def test_original_collection_is_discoverable_and_part_of_skill_build_checks(self) -> None: + skills_readme = (ROOT / "skills" / "README.md").read_text(encoding="utf-8") + package = json.loads((ROOT / "package.json").read_text(encoding="utf-8")) + + self.assertIn("original/", skills_readme) + self.assertIn("build_original_skills_index.py", package["scripts"]["build:skills"]) + self.assertIn("build_original_skills_index.py", package["scripts"]["check:skills"]) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_readme_contracts.py b/tests/test_readme_contracts.py index e1650b96..458ffbc6 100644 --- a/tests/test_readme_contracts.py +++ b/tests/test_readme_contracts.py @@ -40,9 +40,9 @@ class ReadmeContractTests(unittest.TestCase): if entry.startswith("skills/") and entry.endswith("/") } self.assertTrue(assigned_skills <= packaged_skill_roots) - self.assertIn("all 816 `SKILL.md` entrypoints", self.english) - self.assertIn("全部 816 个 `SKILL.md` 入口", self.chinese) - self.assertIn("los 816 puntos de entrada `SKILL.md`", self.spanish) + self.assertIn("all 817 `SKILL.md` entrypoints", self.english) + self.assertIn("全部 817 个 `SKILL.md` 入口", self.chinese) + self.assertIn("los 817 puntos de entrada `SKILL.md`", self.spanish) cli_entrypoint = ROOT / package["bin"]["agi-super-team"] self.assertTrue(cli_entrypoint.stat().st_mode & 0o111) self.assertIn("!**/__pycache__/**", package["files"]) diff --git a/tests/test_skill_catalog.py b/tests/test_skill_catalog.py index ed52d93c..7f39211e 100644 --- a/tests/test_skill_catalog.py +++ b/tests/test_skill_catalog.py @@ -82,7 +82,7 @@ class SkillCatalogTests(unittest.TestCase): index = json.loads(INDEX_PATH.read_text(encoding="utf-8")) by_id = {item["skill_id"]: item for item in index["skills"]} - unreviewed = by_id["5minbtc"] + unreviewed = by_id["btc-5min-scalper"] self.assertEqual(unreviewed["provenance"]["origin_kind"], "unknown") self.assertEqual(unreviewed["provenance"]["review_state"], "unreviewed") self.assertEqual(unreviewed["curation"]["status"], "unscored")