mirror of
https://github.com/aAAaqwq/AGI-Super-Team.git
synced 2026-09-14 16:33:39 +08:00
feat(catalog): add reviewed taxonomy gold set (#11)
Co-authored-by: aAAaqwq <aAAaqwq@users.noreply.github.com>
This commit is contained in:
@@ -26,6 +26,7 @@ jobs:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
persist-credentials: false
|
||||
|
||||
- name: Set up Python
|
||||
|
||||
@@ -22,6 +22,8 @@ jobs:
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v7
|
||||
|
||||
+6
-3
@@ -52,6 +52,7 @@ flowchart LR
|
||||
|
||||
- Team and kit membership: [`config/team-manifest.json`](./config/team-manifest.json)
|
||||
- Skill category and candidate risk signals: [`config/skill-taxonomy.json`](./config/skill-taxonomy.json)
|
||||
- Reviewed classification labels and fixed sample membership: [`config/skill-taxonomy-gold.json`](./config/skill-taxonomy-gold.json)
|
||||
- Canonical physical skill inventory: tracked `skills/*/SKILL.md` files interpreted by [`scripts/repository_model.py`](./scripts/repository_model.py)
|
||||
- Removed machine-local link tombstones: [`config/external-skill-sources.json`](./config/external-skill-sources.json); nullable source fields are not provenance
|
||||
- Generated catalog: [`catalog/`](./catalog/) is an output, never a source
|
||||
@@ -65,7 +66,7 @@ README counts, badges, plugin manifests, and generated JSON must not override th
|
||||
| Canonical skill library | tracked physical `skills/<id>/SKILL.md` | `skills/` | Foundational; consumed by every pack and catalog |
|
||||
| Team composition | `config/team-manifest.json` | `agents/`, `starter-kits/` | Composed; one roster drives installer and validation |
|
||||
| Safe installation | `./install.sh … <kit-or-agent>` | `install.sh`, installer fixtures | Composed; one safety boundary protects every deployment |
|
||||
| Catalog discovery | taxonomy in; Markdown/JSON index out | taxonomy, builder, `catalog/` | Composed; one rule set serves human and machine discovery |
|
||||
| Catalog discovery | taxonomy + fixed reviewed labels in; Markdown/JSON index + agreement report out | taxonomy, Gold Set, builders, `catalog/` | Composed; one rule set serves human and machine discovery with a separate semantic regression contract |
|
||||
| Distribution Adapters | harness manifests and curated packages | `.codex/`, plugin manifests, `plugins/` | Boundary; isolates harness conventions from canonical content |
|
||||
| Verification evidence | `npm test`, `npm run validate:strict` | `scripts/`, `tests/`, CI | Foundational; prevents drift across public surfaces |
|
||||
| Public navigation | README routes and maintained Pages | README files, `docs/`, `cookbook/`, `assets/` | Boundary; keeps copied claims out of source authority |
|
||||
@@ -78,6 +79,7 @@ The registry also records each primary path role: `authored-authority`, `authore
|
||||
- `team-manifest portability class → install.sh selection → workspace Skills + generated TOOLS.md` is the generic-install Seam; only `required` and `optional` cross it.
|
||||
- `team-manifest assignments → catalog builder → skill-index assignments + portability_class` is the human/machine classification Seam.
|
||||
- `skill-taxonomy → catalog builder → catalog/` is a generated discovery Seam.
|
||||
- `fixed Gold labels + generated skill index → taxonomy evaluator → reviewed-set agreement report` is a semantic-regression Seam. It measures label agreement, not runtime quality.
|
||||
- Root full-library harness manifests are legacy or manifest-only Adapters.
|
||||
- `plugins/agi-super-team-codex/` is an independently curated Codex Adapter; it remains manifest-only until a matching client receipt exists.
|
||||
- `CHARTER.md` and `COLLABORATION.md` are required shared generic-workspace inputs. Installed role packs use relative links to them.
|
||||
@@ -104,6 +106,7 @@ Legacy root documents may remain as stable routing paths. They must not duplicat
|
||||
|---|---|---|
|
||||
| `config/team-manifest.json` | Installer, catalog usage, and validator must fail before writes | High-Depth authority Interface |
|
||||
| `config/skill-taxonomy.json` | Catalog build/check must fail | Authored classification authority |
|
||||
| `config/skill-taxonomy-gold.json` | Semantic evaluation must fail closed | Reviewed, fixed-membership evaluation authority |
|
||||
| `catalog/` | `npm run build:skills` recreates discovery outputs; `npm run build:skill-quality` recreates the quality report | Generated outputs, never authority |
|
||||
| One distribution Adapter | Only that harness surface is lost | Adapter boundary is local |
|
||||
| `CHARTER.md` or `COLLABORATION.md` | Installer preflight must fail with zero writes | Required shared installation Seam |
|
||||
@@ -114,7 +117,7 @@ Legacy root documents may remain as stable routing paths. They must not duplicat
|
||||
| When changing | Update | Verify |
|
||||
|---|---|---|
|
||||
| Agent or kit membership | `config/team-manifest.json`, referenced Agent files | `npm run validate -- --warnings-as-errors` |
|
||||
| Skill metadata or taxonomy | Skill `SKILL.md`, taxonomy if needed | `npm run check:skills` and `npm run check:skill-quality` |
|
||||
| Skill metadata or taxonomy | Skill `SKILL.md`, taxonomy, and reviewed label only when its source changed | `npm run check:skills`, `npm run check:skill-quality`, and `npm run check:taxonomy-evaluation` |
|
||||
| Generic installer behavior | `install.sh` and installer fixtures | `npm run test:installer` |
|
||||
| Curated Codex package | `plugins/agi-super-team-codex/` and its index | Repository tests plus client receipt when available |
|
||||
| Site data or SEO | `docs/`, data builder, site contracts | `npm run test:repository` |
|
||||
@@ -122,7 +125,7 @@ Legacy root documents may remain as stable routing paths. They must not duplicat
|
||||
|
||||
## Contract score boundary
|
||||
|
||||
`npm run check:architecture` measures automated architecture-classification contracts: path ownership, authority separation, generated lineage, Adapter status, navigation, decision memory, and taxonomy debt ceilings. It does **not** measure semantic category accuracy, clean harness installs, fixture outcomes, or external beta evidence. Those remain separate scorecards.
|
||||
`npm run check:architecture` measures automated architecture-classification contracts: path ownership, authority separation, generated lineage, Adapter status, navigation, decision memory, and taxonomy debt ceilings. `npm run check:taxonomy-evaluation` separately measures agreement with the fixed reviewed Gold Set. Neither score proves Skill quality, safety, clean harness installs, fixture outcomes, or external beta evidence.
|
||||
|
||||
## Current deepening candidates
|
||||
|
||||
|
||||
@@ -122,6 +122,7 @@ You can already browse a deterministic skill catalog, inspect every Agent instru
|
||||
| Repository inventory, counts, and references | `npm run validate -- --warnings-as-errors` | **Verified in this checkout** |
|
||||
| Generic installer preview, preflight, no-clobber, and staging | `npm test` | **Verified in this checkout** |
|
||||
| Generated catalog covers the canonical inventory | `npm run check:skills` | **Verified in this checkout** |
|
||||
| Primary-outcome classification agrees with the fixed reviewed set | [Gold Set method](./docs/skill-taxonomy-gold-set.md) + [generated report](./catalog/skill-taxonomy-evaluation.json) | **Reviewed-set gate passed in this checkout** |
|
||||
| Current-client harness installation and loading | Revision-matched harness receipt | **Validation pending** |
|
||||
| Task quality or business outcome | Public fixture, baseline, rubric, and artifacts | **Validation pending** |
|
||||
|
||||
@@ -146,6 +147,7 @@ python -m pip install --requirement requirements-dev.txt
|
||||
npm test
|
||||
npm run validate -- --warnings-as-errors
|
||||
npm run check:skills
|
||||
npm run check:taxonomy-evaluation
|
||||
npm run check:architecture
|
||||
```
|
||||
|
||||
|
||||
@@ -122,6 +122,7 @@ Star 只用于发现,不等于可信。矩阵记录 `DAILY`、`LIBRARY` 和 `Q
|
||||
| 仓库库存、数量和引用 | `npm run validate -- --warnings-as-errors` | **当前 checkout 已验证** |
|
||||
| 通用安装器的预览、预检、no-clobber 和暂存 | `npm test` | **当前 checkout 已验证** |
|
||||
| 自动生成目录覆盖权威库存 | `npm run check:skills` | **当前 checkout 已验证** |
|
||||
| 主成果分类与固定独立复核集一致 | [Gold Set 方法](./docs/skill-taxonomy-gold-set.md) + [生成报告](./catalog/skill-taxonomy-evaluation.json) | **当前 checkout 的复核集门禁已通过** |
|
||||
| 当前客户端中的工具安装与加载 | 与版本匹配的 harness receipt | **Validation pending** |
|
||||
| 任务质量或商业成果 | 公开 fixture、基线、评估规则和产物 | **Validation pending** |
|
||||
|
||||
@@ -146,6 +147,7 @@ python -m pip install --requirement requirements-dev.txt
|
||||
npm test
|
||||
npm run validate -- --warnings-as-errors
|
||||
npm run check:skills
|
||||
npm run check:taxonomy-evaluation
|
||||
npm run check:architecture
|
||||
```
|
||||
|
||||
|
||||
+80
-78
@@ -4,6 +4,8 @@
|
||||
|
||||
Find a skill by the outcome you need. This index is generated from tracked, physical `SKILL.md` entrypoints; catalog inclusion proves structure, not behavior or cross-harness compatibility.
|
||||
|
||||
**Classification evidence:** inspect the fixed [Gold Set methodology](../docs/skill-taxonomy-gold-set.md) and the machine-readable [reviewed-set agreement report](./skill-taxonomy-evaluation.json). The score measures agreement on reviewed primary-outcome labels; it is not a Skill quality or runtime-success score.
|
||||
|
||||
## 🚀 Suggested starting points
|
||||
|
||||
For a first run, prefer a [starter kit](../starter-kits/) or the [Codex package](../.codex/INDEX.md). These are navigation aids, not claims of behavioral verification or a ranking of the full library.
|
||||
@@ -14,7 +16,7 @@ For a first run, prefer a [starter kit](../starter-kits/) or the [Codex package]
|
||||
| 💻 Software Engineering | [`tdd-workflow`](../skills/tdd-workflow/) | Portable required assignment · structure checked | Drive implementation through a test-first loop. |
|
||||
| 📊 Data, Analytics & Research | [`deep-research`](../skills/deep-research/) | Harness-specific assignment · generic installer skips | Turn a question into an evidence-oriented research process. |
|
||||
| 📈 Marketing, SEO & Growth | [`seo-audit`](../skills/seo-audit/) | Portable required assignment · structure checked | Review search discoverability with explicit checks. |
|
||||
| ✍️ Content, Media & Publishing | [`writing-skills`](../skills/writing-skills/) | Portable required assignment · structure checked | Move from a bounded writing brief to a reviewable draft. |
|
||||
| 🤖 AI Agents & Orchestration | [`writing-skills`](../skills/writing-skills/) | Portable required assignment · structure checked | Create and maintain reusable agent Skill instructions with a reviewable workflow. |
|
||||
| 🛡️ Security, Privacy & Legal | [`security-audit`](../skills/security-audit/) | Portable required assignment · structure checked · review: system-change | Inspect code and configuration for security risk. |
|
||||
| 💹 Finance, Trading & Markets | [`backtest-expert`](../skills/backtest-expert/) | Portable required assignment · structure checked | Review backtests without implying live-trading safety. |
|
||||
| 🎨 Product, Design & UX | [`frontend-design-ultimate`](../skills/frontend-design-ultimate/) | Harness-specific assignment · generic installer skips | Create a concrete interface direction and implementation. |
|
||||
@@ -26,20 +28,20 @@ This revision contains 794 canonical catalog entries. The number is generated he
|
||||
|
||||
| Category | Use it for | Entries |
|
||||
|---|---|---:|
|
||||
| [🤖 AI Agents & Orchestration](#ai-agents-orchestration) | Coordinate agents, context, memory, models, prompts, and tool protocols. | 77 |
|
||||
| [💻 Software Engineering](#software-engineering) | Build, test, review, debug, and maintain applications and developer tooling. | 80 |
|
||||
| [☁️ Cloud, DevOps & Reliability](#cloud-devops-reliability) | Deploy, observe, troubleshoot, and operate cloud and local infrastructure. | 29 |
|
||||
| [📊 Data, Analytics & Research](#data-analytics-research) | Collect evidence, search sources, analyze data, and communicate findings. | 75 |
|
||||
| [🛡️ 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. | 26 |
|
||||
| [📈 Marketing, SEO & Growth](#marketing-seo-growth) | Acquire audiences through positioning, campaigns, search, ads, and social growth. | 51 |
|
||||
| [✍️ Content, Media & Publishing](#content-media-publishing) | Create, edit, repurpose, and publish writing, images, audio, and video. | 78 |
|
||||
| [🤝 Sales, CRM & Customer Success](#sales-crm-customer-success) | Find, win, onboard, support, and retain customers with accountable workflows. | 36 |
|
||||
| [💹 Finance, Trading & Markets](#finance-trading-markets) | Analyze markets, backtest strategies, track portfolios, and review financial risk. | 64 |
|
||||
| [🧭 Business Operations & Strategy](#business-operations-strategy) | Plan work, make decisions, manage teams, and improve operating systems. | 72 |
|
||||
| [🤖 AI Agents & Orchestration](#ai-agents-orchestration) | Coordinate agents, context, memory, models, prompts, and tool protocols. | 78 |
|
||||
| [💻 Software Engineering](#software-engineering) | Build, test, review, debug, and maintain applications and developer tooling. | 81 |
|
||||
| [☁️ Cloud, DevOps & Reliability](#cloud-devops-reliability) | Deploy, observe, troubleshoot, and operate cloud and local infrastructure. | 32 |
|
||||
| [📊 Data, Analytics & Research](#data-analytics-research) | Collect evidence, search sources, analyze data, and communicate findings. | 78 |
|
||||
| [🛡️ Security, Privacy & Legal](#security-privacy-legal) | Review security, privacy, compliance, permissions, contracts, and legal risk. | 32 |
|
||||
| [🎨 Product, Design & UX](#product-design-ux) | Shape product requirements, interfaces, design systems, and user experience. | 20 |
|
||||
| [📈 Marketing, SEO & Growth](#marketing-seo-growth) | Acquire audiences through positioning, campaigns, search, ads, and social growth. | 47 |
|
||||
| [✍️ Content, Media & Publishing](#content-media-publishing) | Create, edit, repurpose, and publish writing, images, audio, and video. | 82 |
|
||||
| [🤝 Sales, CRM & Customer Success](#sales-crm-customer-success) | Find, win, onboard, support, and retain customers with accountable workflows. | 39 |
|
||||
| [💹 Finance, Trading & Markets](#finance-trading-markets) | Analyze markets, backtest strategies, track portfolios, and review financial risk. | 65 |
|
||||
| [🧭 Business Operations & Strategy](#business-operations-strategy) | Plan work, make decisions, manage teams, and improve operating systems. | 71 |
|
||||
| [⚙️ Apps & Workflow Automation](#apps-workflow-automation) | Connect everyday apps, browsers, messaging systems, and repeatable workflows. | 88 |
|
||||
| [🇨🇳 Chinese Platform Workflows](#chinese-platform-workflows) | Create, analyze, and publish for major Chinese-language platforms and channels. | 39 |
|
||||
| [🧰 Specialized Domains & Utilities](#general-utilities) | Domain-specific helpers and cross-functional tools that need a dedicated review path. | 45 |
|
||||
| [🧰 Specialized Domains & Utilities](#general-utilities) | Domain-specific helpers and cross-functional tools that need a dedicated review path. | 42 |
|
||||
|
||||
<a id="ai-agents-orchestration"></a>
|
||||
## 🤖 AI Agents & Orchestration
|
||||
@@ -48,7 +50,6 @@ Coordinate agents, context, memory, models, prompts, and tool protocols.
|
||||
|
||||
| Skill | What it helps with | Support / review signals |
|
||||
|---|---|---|
|
||||
| [`agent-browser`](../skills/agent-browser/) | A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands. | Catalog only |
|
||||
| [`agent-builder`](../skills/agent-builder/) | Build agent from spec: code, skill, config, launchd | Catalog only |
|
||||
| [`agent-capacity-modeler`](../skills/agent-capacity-modeler/) | 为每个Agent建立"技能-经验-价值观"三维动态模型,超越简单技能列表,实现真正的硅基人才画像。 | Catalog only |
|
||||
| [`agent-contacts`](../skills/agent-contacts/) | AI agent contacts — add, list, remove MCP contacts. Use when someone gives an agent URL, or when you need to view/remove contacts. | Catalog only |
|
||||
@@ -66,6 +67,7 @@ Coordinate agents, context, memory, models, prompts, and tool protocols.
|
||||
| [`auto-memory`](../skills/auto-memory/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`auto-respawn`](../skills/auto-respawn/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`clawrouter`](../skills/clawrouter/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`codex-cc-guide`](../skills/codex-cc-guide/) | 如何用 ACP sessions_spawn 调用 Claude Code / Codex 写代码 — 小code 团队编码任务指南 | Harness-specific assignment · generic installer skips · PE |
|
||||
| [`coding-agent-backup`](../skills/coding-agent-backup/) | Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3)… | Harness-specific assignment · generic installer skips · PE |
|
||||
| [`coding-agent-orchestrator`](../skills/coding-agent-orchestrator/) | coding-agent-orchestrator | Catalog only |
|
||||
| [`command-registry-integration`](../skills/command-registry-integration/) | Integrate new chat commands into OpenClaw's formal command registry | Catalog only |
|
||||
@@ -77,15 +79,15 @@ Coordinate agents, context, memory, models, prompts, and tool protocols.
|
||||
| [`cross-instance-comm`](../skills/cross-instance-comm/) | Use when sending messages or tasks between multiple OpenClaw instances over Tailscale Gateway, such as asking another machine to execute work or sync context. | Catalog only |
|
||||
| [`dispatcher`](../skills/dispatcher/) | Route complex multi-step tasks, multi-skill orchestration, post-execution checklist | Catalog only |
|
||||
| [`dispatching-parallel-agents`](../skills/dispatching-parallel-agents/) | Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies | Harness-specific assignment · generic installer skips · CEO |
|
||||
| [`elite-github-skills-hub`](../skills/elite-github-skills-hub/) | Curated hub of the highest-value GitHub skills/repos for Claude Code, Cursor, Codex, Gemini CLI, and OpenClaw. Links to 20+ elite repos organized by tier. Use when discovering,… | Catalog only |
|
||||
| [`elite-longterm-memory`](../skills/elite-longterm-memory/) | Ultimate AI agent memory system for Cursor, Claude, ChatGPT & Copilot. WAL protocol + vector search + git-notes + cloud backup. Never lose context again. Vibe-coding ready. | Catalog only |
|
||||
| [`env-setup`](../skills/env-setup/) | Claude Code 环境一键同步工具。从 GitHub 仓库同步所有配置到本地:output-styles 风格、CLAUDE.md 全局提示词、MCP 服务器配置、Agent 配置、Plugin 配置。适用于多设备统一环境、换电脑恢复、团队共享配置等场景。当用户需要从 GitHub 仓库同步 Claude Code/OpenClaw… | Catalog only |
|
||||
| [`file-organizer`](../skills/file-organizer/) | Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks.… | Catalog only |
|
||||
| [`evomap`](../skills/evomap/) | Connect to the EvoMap collaborative evolution marketplace. Publish Gene+Capsule bundles, fetch promoted assets, claim bounty tasks, and earn credits via the GEP-A2A protocol. Use… | Catalog only |
|
||||
| [`fabric-pattern`](../skills/fabric-pattern/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`find-skills`](../skills/find-skills/) | Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending… | Catalog only |
|
||||
| [`firm-orchestration`](../skills/firm-orchestration/) | Pyramid multi-agent orchestration for OpenClaw: routes objectives from a CEO agent down through departments, services and employees via sessions_send / sessions_spawn, collects… | Catalog only |
|
||||
| [`greenhelix-agent-workforce-orchestration`](../skills/greenhelix-agent-workforce-orchestration/) | Agent Workforce Orchestration: Hybrid Human+AI Teams. Build agent-led workforce orchestration: capability matching, escrow-based payments for AI agents and human gig workers,… | Catalog only |
|
||||
| [`internal-comms`](../skills/internal-comms/) | A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write… | Catalog only |
|
||||
| [`kanbanflow-skill`](../skills/kanbanflow-skill/) | Manage KanbanFlow boards, columns, and tasks for lightweight workflow | Catalog only |
|
||||
| [`last30days-skill`](../skills/last30days-skill/) | Research a topic from the last 30 days. Also triggered by 'last30'. Sources: Reddit, X, YouTube, Hacker News, Polymarket, web. Become an expert and write copy-paste-ready prompts. | Catalog only |
|
||||
| [`inference-optimizer`](../skills/inference-optimizer/) | Audit OpenClaw token usage, purge stale sessions, and optimize inference speed. Use when the user sends /optimize, /audit, asks to purge sessions, or wants a token/workspace audit. | Harness-specific assignment · generic installer skips · CTO |
|
||||
| [`mcp-agent-connect`](../skills/mcp-agent-connect/) | Connect to an AI agent via MCP using their mcp_url from CRM. Discovers capabilities via agent.json, registers MCP server, and enables tool-based communication. | Catalog only |
|
||||
| [`mcp-builder`](../skills/mcp-builder/) | Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP… | Catalog only |
|
||||
| [`mcp-installer`](../skills/mcp-installer/) | 从GitHub搜索并自动安装配置MCP(Model Context Protocol)服务器工具到Claude配置文件。当用户需要安装MCP工具时触发此技能。工作流程:搜索GitHub上的MCP项目 -> 提取npx配置 -> 添加到~/.claude.json -> 处理API密钥(如有)。 | Catalog only |
|
||||
@@ -97,7 +99,6 @@ Coordinate agents, context, memory, models, prompts, and tool protocols.
|
||||
| [`model-fallback`](../skills/model-fallback/) | 模型自动降级与故障切换。当主模型请求失败、超时、达到速率限制或配额耗尽时,自动切换到备用模型,确保服务连续性。支持多供应商、多优先级的智能模型选择,提供健康监控、自动重试和错误恢复机制。 | Harness-specific assignment · generic installer skips · CTO |
|
||||
| [`model-health-check`](../skills/model-health-check/) | 检查已配置模型供应商的连通性、延迟和可用性,用于快速诊断模型侧故障。 | Catalog only |
|
||||
| [`model-provider-manager`](../skills/model-provider-manager/) | Unified LLM provider and model configuration, health monitoring, and key management | Harness-specific assignment · generic installer skips · CTO |
|
||||
| [`model-usage`](../skills/model-usage/) | Use CodexBar CLI local cost usage to summarize per-model usage for Codex | Catalog only |
|
||||
| [`multi-agent-architecture`](../skills/multi-agent-architecture/) | 多 Agent 架构设计与智能 Spawn 系统。当需要设计多 Agent 系统、配置专业化 Agent、实现智能任务分发、或优化并发处理能力时使用此技能。 | Catalog only |
|
||||
| [`multi-agent-trading`](../skills/multi-agent-trading/) | multi-agent trading, 交易团队, analyst team, trading debate, bull bear debate, 协作交易, agent trading framework | Catalog only |
|
||||
| [`parallel-agents`](../skills/parallel-agents/) | Multi-agent orchestration patterns. Use when multiple independent tasks can run with different domain expertise or when comprehensive analysis requires multiple perspectives. | Catalog only |
|
||||
@@ -110,20 +111,22 @@ Coordinate agents, context, memory, models, prompts, and tool protocols.
|
||||
| [`skill-config-checker`](../skills/skill-config-checker/) | 扫描本地所有 skills,检测需要配置的 API keys、tokens、secrets 等,生成配置需求清单和操作指南。 | Catalog only |
|
||||
| [`skill-creator`](../skills/skill-creator/) | Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with… | Catalog only |
|
||||
| [`skill-finder-cn`](../skills/skill-finder-cn/) | Skill 查找器 \| Skill Finder. 帮助发现和安装 ClawHub Skills \| Discover and install ClawHub Skills. 回答'有什么技能可以X'、'找一个技能' \| Answers 'what skill can X', 'find a skill'. 触发词:找 skill、find… | Harness-specific assignment · generic installer skips · CSO |
|
||||
| [`skill-gap-analyzer`](../skills/skill-gap-analyzer/) | 将军团战略蓝图与现有Agent能力矩阵进行对比,自动识别"能力鸿沟",并发起招聘(硅基/碳基猎取)或培训(进化路径)需求。 | 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,… | Catalog only |
|
||||
| [`sp-dispatching-parallel-agents`](../skills/sp-dispatching-parallel-agents/) | Use multiple Claude agents to investigate and fix independent problems concurrently | Catalog only |
|
||||
| [`sp-preserving-productive-tensions`](../skills/sp-preserving-productive-tensions/) | Recognize when disagreements reveal valuable context, preserve multiple valid approaches instead of forcing premature resolution | Catalog only |
|
||||
| [`sp-remembering-conversations`](../skills/sp-remembering-conversations/) | Search previous Claude Code conversations for facts, patterns, decisions, and context using semantic or text search | Catalog only |
|
||||
| [`sp-subagent-driven-development`](../skills/sp-subagent-driven-development/) | Execute implementation plan by dispatching fresh subagent for each task, with code review between tasks | Portable required assignment · structure checked · PE |
|
||||
| [`sp-using-skills`](../skills/sp-using-skills/) | Skills wiki intro - mandatory workflows, search tool, brainstorming triggers | Catalog only |
|
||||
| [`strategic-orchestration`](../skills/strategic-orchestration/) | Coordinate agents toward a unified objective; assign roles, sequence work, prevent conflicts, and define success criteria. | Catalog only |
|
||||
| [`subagent-driven-development`](../skills/subagent-driven-development/) | Use when executing implementation plans with independent tasks in the current session | Catalog only |
|
||||
| [`task-supervisor`](../skills/task-supervisor/) | 定时巡检 agent 任务执行状态,识别卡住、abort、无产出等异常并触发催促或告警。 | Catalog only |
|
||||
| [`tessl-skill-review`](../skills/tessl-skill-review/) | Evaluate, score, and review an Agent Skill or SKILL.md using Tessl as the primary evaluator. Use when asked to measure skill quality, score a skill, review a skill against best… | Catalog only |
|
||||
| [`token-budget-advisor`](../skills/token-budget-advisor/) | Intercept the response flow to offer the user a choice about response depth **before** Claude answers | Portable required assignment · structure checked · CEO |
|
||||
| [`token-reporter`](../skills/token-reporter/) | 每日自动统计 OpenClaw 实例 Token 消耗和工作产出,上报到飞书多维表格。扫描 JSONL 日志按模型聚合 token,收集各 | Harness-specific assignment · generic installer skips · CTO |
|
||||
| [`trailofbits-skills`](../skills/trailofbits-skills/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`vcf-annotator`](../skills/vcf-annotator/) | Annotate VCF variants with VEP, ClinVar, gnomAD frequencies, and ancestry-aware context. Generates prioritised variant reports. | Catalog only |
|
||||
| [`using-superpowers`](../skills/using-superpowers/) | Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions | Catalog only |
|
||||
| [`work-to-skill`](../skills/work-to-skill/) | 工作即技能:每次完成一项有复用价值的工作后,自动评估并封装为可复用 Skill。让团队在工作中持续进化。 | Catalog only |
|
||||
| [`workspace-directory-manager`](../skills/workspace-directory-manager/) | Workspace directory manager — maintain cleanliness of ~/.openclaw/ and ~/clawd/ | Catalog only |
|
||||
| [`writing-skills`](../skills/writing-skills/) | Use when creating new skills, editing existing skills, or verifying skills work before deployment | Portable required assignment · structure checked · CEO |
|
||||
| [`xiaomo-assistant-template`](../skills/xiaomo-assistant-template/) | 小a助手配置模板。基于 xiaomo-starter-kit 改编,提供预配置的 OpenClaw 助手框架文件。当用户需要快速配置新助手、设置助手身份、创建助手配置文件时使用此技能。 | Catalog only |
|
||||
|
||||
<a id="software-engineering"></a>
|
||||
@@ -133,6 +136,8 @@ Build, test, review, debug, and maintain applications and developer tooling.
|
||||
|
||||
| Skill | What it helps with | Support / review signals |
|
||||
|---|---|---|
|
||||
| [`api-design`](../skills/api-design/) | REST API design patterns including resource naming, status codes, pagination, filtering, error responses, versioning, and rate limiting for production APIs. | Portable required assignment · structure checked · CTO, PE |
|
||||
| [`api-design-patterns`](../skills/api-design-patterns/) | Comprehensive API design patterns covering REST, GraphQL, gRPC, versioning, authentication, and modern API best practices | Portable required assignment · structure checked · CTO |
|
||||
| [`api-gateway`](../skills/api-gateway/) | Description needs review; inspect source. | Portable required assignment · structure checked · CDO |
|
||||
| [`api-provider-setup`](../skills/api-provider-setup/) | 添加和配置第三方 API 中转站供应商到 OpenClaw。当用户需要添加新的 API 供应商、配置中转站、设置自定义模型端点时使用此技能。支持 Anthropic 兼容和 OpenAI 兼容的 API 格式。 | Catalog only |
|
||||
| [`api-provider-status`](../skills/api-provider-status/) | 查询 API 供应商的余额、用量与可用状态,支持多供应商监控与定时汇报。 | Harness-specific assignment · generic installer skips · CTO |
|
||||
@@ -149,18 +154,15 @@ Build, test, review, debug, and maintain applications and developer tooling.
|
||||
| [`code-material-gen`](../skills/code-material-gen/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`code-review`](../skills/code-review/) | AI code review for PR or local changes | Catalog only |
|
||||
| [`code-review-quality`](../skills/code-review-quality/) | Conduct context-driven code reviews focusing on quality, testability, and maintainability. Use when reviewing code, providing feedback, or establishing review practices. | Harness-specific assignment · generic installer skips · PE |
|
||||
| [`codex-cc-guide`](../skills/codex-cc-guide/) | 如何用 ACP sessions_spawn 调用 Claude Code / Codex 写代码 — 小code 团队编码任务指南 | Harness-specific assignment · generic installer skips · PE |
|
||||
| [`collaboration`](../skills/collaboration/) | Guide for collaborating on GitHub projects. This skill should be used when contributing to projects, creating PRs, reviewing code, or managing issues on GitHub. | Catalog only |
|
||||
| [`commit-analyzer`](../skills/commit-analyzer/) | Analyze git commit frequency, categories, and timing patterns to diagnose | Catalog only |
|
||||
| [`conventional-commits`](../skills/conventional-commits/) | Format commit messages using the Conventional Commits specification. Use when creating commits, writing commit messages, or when the user mentions commits, git commits, or commit… | Catalog only |
|
||||
| [`css-ninja`](../skills/css-ninja/) | Master CSS with Tailwind, CSS-in-JS, responsive layouts, animations, and modern styling patterns. Use when: (1) responsive design implementation, (2) Tailwind CSS setup and… | Portable required assignment · structure checked · PE |
|
||||
| [`db-migrator`](../skills/db-migrator/) | Database schema migration, versioning, and rollback management for SQL and NoSQL databases. Use when: (1) creating database migrations, (2) modifying table schemas, (3)… | Portable required assignment · structure checked · PE |
|
||||
| [`deepwork-tracker`](../skills/deepwork-tracker/) | Track deep work sessions locally (start/stop/status) and generate a GitHub-contribution-graph style minutes-per-day heatmap for sharing (e.g., via Telegram). Use when the user… | Catalog only |
|
||||
| [`digital-human-api`](../skills/digital-human-api/) | Digital human video generation via Qingyun API — avatar-based talking head videos | Catalog only |
|
||||
| [`e2e-testing`](../skills/e2e-testing/) | Playwright E2E testing patterns, Page Object Model, configuration, CI/CD integration, artifact management, and flaky test strategies. | Portable required assignment · structure checked · CEO, PE |
|
||||
| [`e2e-testing-patterns`](../skills/e2e-testing-patterns/) | Master end-to-end testing with Playwright and Cypress to build reliable test suites that catch bugs, improve confidence, and enable fast deployment. Use when implementing E2E… | Catalog only |
|
||||
| [`electron-app-dev`](../skills/electron-app-dev/) | 老王我搞Electron好多年了,这玩意儿写跨平台应用真tm香! | Catalog only |
|
||||
| [`elite-github-skills-hub`](../skills/elite-github-skills-hub/) | Curated hub of the highest-value GitHub skills/repos for Claude Code, Cursor, Codex, Gemini CLI, and OpenClaw. Links to 20+ elite repos organized by tier. Use when discovering,… | Catalog only |
|
||||
| [`entropy-manager`](../skills/entropy-manager/) | Entropy scanner for codebases — detect disorder and suggest cleanup actions | Catalog only |
|
||||
| [`eval-harness`](../skills/eval-harness/) | Formal evaluation framework for Claude Code sessions implementing eval-driven development (EDD) principles | Catalog only |
|
||||
| [`expo-tailwind-setup`](../skills/expo-tailwind-setup/) | Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling | Catalog only |
|
||||
@@ -169,9 +171,7 @@ Build, test, review, debug, and maintain applications and developer tooling.
|
||||
| [`ghost-scan-code`](../skills/ghost-scan-code/) | Ghost Security - SAST code scanner. Finds security vulnerabilities in source code by planning and executing targeted scans for issues like SQL injection, XSS, BOLA, BFLA, SSRF,… | Portable required assignment · structure checked · PE |
|
||||
| [`git-workflow`](../skills/git-workflow/) | OpenClaw Git 工作流技能。 当用户提及以下任务时使用: - 提交代码或文档 - 推送到远程仓库 - 管理多个 Git 仓库 - 查看 Git 状态 核心能力: - 自动检测文件变更 - 自动生成提交信息 - 自动推送到远程仓库 - 多仓库管理 | Catalog only |
|
||||
| [`github`](../skills/github/) | Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries. | Portable required assignment · structure checked · PE |
|
||||
| [`gitlab-automation`](../skills/gitlab-automation/) | Automate GitLab project management, issues, merge requests, pipelines, branches, and user operations via Rube MCP (Composio). Always search tools first for current schemas. | Catalog only |
|
||||
| [`langsmith-fetch`](../skills/langsmith-fetch/) | Debug LangChain and LangGraph agents by fetching execution traces from LangSmith Studio. Use when debugging agent behavior, investigating errors, analyzing tool calls, checking… | Catalog only |
|
||||
| [`liuyao-yijing`](../skills/liuyao-yijing/) | 六爻易经占卜器,基于京房纳甲体系,模拟铜钱起卦,完成纳甲装卦(天干地支、世应、六亲、六神), 通过用神旺衰和生克制化断卦。当用户提及「六爻」「易经占卜」「铜钱起卦」「纳甲」「帮我起一卦」 「六爻预测」时触发。装卦为确定性计算 + LLM 综合断卦,无外部 API 依赖。 不适用于:梅花易数、奇门遁甲、星座运势、塔罗占卜、八字命理等其他领域 → 建议使用… | Catalog only |
|
||||
| [`market-ab-test-setup`](../skills/market-ab-test-setup/) | When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant… | Catalog only |
|
||||
| [`micro-saas-launcher`](../skills/micro-saas-launcher/) | Expert in launching small, focused SaaS products fast - the indie hacker approach to building profitable software. Covers idea validation, MVP development, pricing, launch… | Catalog only |
|
||||
| [`minimax-tts`](../skills/minimax-tts/) | Text-to-speech synthesis via MiniMax WebSocket API | Catalog only |
|
||||
@@ -179,7 +179,6 @@ Build, test, review, debug, and maintain applications and developer tooling.
|
||||
| [`openrouter-usage`](../skills/openrouter-usage/) | Track OpenRouter API spending — credit balance, per-model cost breakdown, | Catalog only |
|
||||
| [`pine-developer`](../skills/pine-developer/) | Writes production-quality Pine Script v6 code following TradingView guidelines and best practices. Use when implementing indicators, strategies, or any Pine Script code. Triggers… | Catalog only |
|
||||
| [`postgresql-database-engineering`](../skills/postgresql-database-engineering/) | Comprehensive PostgreSQL database engineering skill covering indexing strategies, query optimization, performance tuning, partitioning, replication, backup and recovery, high… | Portable required assignment · structure checked · CEO |
|
||||
| [`provider-key-manager`](../skills/provider-key-manager/) | Provider key manager — rotate and sync API keys across multi-agent workspaces | Harness-specific assignment · generic installer skips · CTO |
|
||||
| [`python-performance-optimization`](../skills/python-performance-optimization/) | Profile and optimize Python code using cProfile, memory profilers, and performance best practices. Use when debugging slow Python code, optimizing bottlenecks, or improving… | Catalog only |
|
||||
| [`qingyun-api`](../skills/qingyun-api/) | 青云聚合API多模态调用 Skill — 覆盖生图、生视频、语音、Embedding 等能力。 | Catalog only |
|
||||
| [`qmd-extended`](../skills/qmd-extended/) | Extended QMD knowledge base with multi-backend embedding (Google AI Studio / Ollama / local). Use when managing QMD embeddings, switching backends, testing embedding quality,… | Catalog only |
|
||||
@@ -190,15 +189,18 @@ Build, test, review, debug, and maintain applications and developer tooling.
|
||||
| [`receiving-code-review`](../skills/receiving-code-review/) | Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and… | Portable required assignment · structure checked · PE |
|
||||
| [`redis-inspect`](../skills/redis-inspect/) | Inspect Redis cache keys, values, and TTLs for debugging. Supports both main cache and system cache. Use for debugging cache issues, checking cached values, and monitoring cache… | Portable required assignment · structure checked · PE |
|
||||
| [`requesting-code-review`](../skills/requesting-code-review/) | Use when completing tasks, implementing major features, or before merging to verify work meets requirements | Portable required assignment · structure checked · PE |
|
||||
| [`senior-architect`](../skills/senior-architect/) | This skill should be used when the user asks to "design system architecture", "evaluate microservices vs monolith", "create architecture diagrams", "analyze dependencies",… | Catalog only |
|
||||
| [`shell-expert`](../skills/shell-expert/) | Shell scripting expertise, command-line tools, automation, and cross-platform scripting best practices. Covers shell script development, CLI tool usage, and system automation… | Catalog only |
|
||||
| [`sp-subagent-driven-development`](../skills/sp-subagent-driven-development/) | Execute implementation plan by dispatching fresh subagent for each task, with code review between tasks | Portable required assignment · structure checked · PE |
|
||||
| [`software-architecture-design`](../skills/software-architecture-design/) | Designs system structure across monolith/microservices/serverless. Use when structuring systems, scaling, decomposing monoliths, or choosing patterns. | Catalog only |
|
||||
| [`sp-condition-based-waiting`](../skills/sp-condition-based-waiting/) | Replace arbitrary timeouts with condition polling for reliable async tests | Portable required assignment · structure checked · PE |
|
||||
| [`sp-simplification-cascades`](../skills/sp-simplification-cascades/) | Find one insight that eliminates multiple components - "if this is true, we don't need X, Y, or Z" | Catalog only |
|
||||
| [`sp-systematic-debugging`](../skills/sp-systematic-debugging/) | Four-phase debugging framework that ensures root cause investigation before attempting fixes. Never jump to solutions. | Harness-specific assignment · generic installer skips · COO |
|
||||
| [`sp-test-driven-development`](../skills/sp-test-driven-development/) | Write the test first, watch it fail, write minimal code to pass | Portable required assignment · structure checked · PE |
|
||||
| [`sp-testing-anti-patterns`](../skills/sp-testing-anti-patterns/) | Never test mock behavior. Never add test-only methods to production classes. Understand dependencies before mocking. | Portable required assignment · structure checked · PE |
|
||||
| [`sp-using-git-worktrees`](../skills/sp-using-git-worktrees/) | Create isolated git worktrees with smart directory selection and safety verification | Harness-specific assignment · generic installer skips · PE |
|
||||
| [`sql-optimization`](../skills/sql-optimization/) | Universal SQL performance optimization assistant for comprehensive query tuning, indexing strategies, and database performance analysis across all SQL databases (MySQL,… | Portable required assignment · structure checked · PE |
|
||||
| [`sql-pro`](../skills/sql-pro/) | Master modern SQL with cloud-native databases, OLTP/OLAP optimization, and advanced query techniques. Expert in performance tuning, data modeling, and hybrid analytical systems.… | Catalog only |
|
||||
| [`subagent-driven-development`](../skills/subagent-driven-development/) | Use when executing implementation plans with independent tasks in the current session | Catalog only |
|
||||
| [`static-code-analysis`](../skills/static-code-analysis/) | Implement static code analysis with linters, formatters, and security scanners to catch bugs early. Use when enforcing code standards, detecting security vulnerabilities, or… | Catalog only |
|
||||
| [`supabase`](../skills/supabase/) | Use when doing ANY task involving Supabase. Triggers: Supabase products (Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron, Queues); client libraries and SSR… | Catalog only |
|
||||
| [`supabase-automation`](../skills/supabase-automation/) | Automate Supabase database queries, table management, project administration, storage, edge functions, and SQL execution via Rube MCP (Composio). Always search tools first for… | Portable required assignment · structure checked · CTO |
|
||||
| [`supabase-postgres-best-practices`](../skills/supabase-postgres-best-practices/) | Postgres performance optimization and best practices from Supabase. Use this skill when writing, reviewing, or optimizing Postgres queries, schema designs, or database… | Catalog only |
|
||||
@@ -211,8 +213,10 @@ Build, test, review, debug, and maintain applications and developer tooling.
|
||||
| [`test-driven-development`](../skills/test-driven-development/) | Use when implementing any feature or bugfix, before writing implementation code | Catalog only |
|
||||
| [`using-git-worktrees`](../skills/using-git-worktrees/) | Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory… | Catalog only |
|
||||
| [`verification-before-completion`](../skills/verification-before-completion/) | Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any… | Portable required assignment · structure checked · CEO, PE |
|
||||
| [`vibe-code-auditor`](../skills/vibe-code-auditor/) | Audit rapidly generated or AI-produced code for structural flaws, fragility, and production risks. | Catalog only |
|
||||
| [`vitest`](../skills/vitest/) | Vitest testing framework patterns for test setup, async testing, mocking with vi.*, snapshots, and test performance (formerly test-vitest). This skill should be used when writing… | Catalog only |
|
||||
| [`webapp-testing`](../skills/webapp-testing/) | Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots,… | Catalog only |
|
||||
| [`wiki-qa`](../skills/wiki-qa/) | Answers questions about a code repository using source file analysis. Use when the user asks a question about how something works, wants to understand a component, or needs help… | Catalog only |
|
||||
|
||||
<a id="cloud-devops-reliability"></a>
|
||||
## ☁️ Cloud, DevOps & Reliability
|
||||
@@ -223,6 +227,8 @@ Deploy, observe, troubleshoot, and operate cloud and local infrastructure.
|
||||
|---|---|---|
|
||||
| [`aws-cost-cleanup`](../skills/aws-cost-cleanup/) | Automated cleanup of unused AWS resources to reduce costs | Catalog only |
|
||||
| [`cloudflare-pages`](../skills/cloudflare-pages/) | Deploy static sites to Cloudflare Pages with custom domains and CI/CD. Use when the user wants to deploy a site to Cloudflare Pages, add a custom domain to a Pages project, set… | Catalog only |
|
||||
| [`cost-optimization`](../skills/cost-optimization/) | Optimize cloud costs through resource rightsizing, tagging strategies, reserved instances, and spending analysis. Use when reducing cloud expenses, analyzing infrastructure… | Portable required assignment · structure checked · COO |
|
||||
| [`datadog-automation`](../skills/datadog-automation/) | Automate Datadog tasks via Rube MCP (Composio): query metrics, search logs, manage monitors/dashboards, create events and downtimes. Always search tools first for current schemas. | Catalog only |
|
||||
| [`deploy-website`](../skills/deploy-website/) | Website deployment via GitHub PR + Cloud Build | Catalog only |
|
||||
| [`deployment-automation`](../skills/deployment-automation/) | Automate application deployment to cloud platforms and servers. Use when setting up CI/CD pipelines, deploying to Docker/Kubernetes, or configuring cloud infrastructure. Handles… | Portable required assignment · structure checked · CEO, CTO, PE |
|
||||
| [`distributed-tracing`](../skills/distributed-tracing/) | Implement distributed tracing with Jaeger and Tempo for request flow visibility across microservices. | Catalog only |
|
||||
@@ -235,10 +241,11 @@ Deploy, observe, troubleshoot, and operate cloud and local infrastructure.
|
||||
| [`kubernetes-specialist`](../skills/kubernetes-specialist/) | Use when deploying or managing Kubernetes workloads. Invoke to create deployment manifests, configure pod security policies, set up service accounts, define network isolation… | Portable required assignment · structure checked · CEO, CTO, PE |
|
||||
| [`linux-service-triage`](../skills/linux-service-triage/) | Diagnoses common Linux service issues using logs, systemd/PM2, file permissions, Nginx reverse proxy checks, and DNS sanity checks. Use when a server app is failing, unreachable,… | Catalog only |
|
||||
| [`linux-troubleshooting`](../skills/linux-troubleshooting/) | Linux system troubleshooting workflow for diagnosing and resolving system issues, performance problems, and service failures. | Catalog only |
|
||||
| [`microservices-patterns`](../skills/microservices-patterns/) | Comprehensive microservices patterns skill covering service mesh, traffic management, circuit breakers, resilience patterns, Istio, and production microservices architecture | Catalog only |
|
||||
| [`ml-engineer`](../skills/ml-engineer/) | Build production ML systems with PyTorch 2.x, TensorFlow, and modern ML frameworks. Implements model serving, feature engineering, A/B testing, and monitoring. Use PROACTIVELY… | Catalog only |
|
||||
| [`model-usage-linux`](../skills/model-usage-linux/) | Track OpenClaw AI token usage and cost per model on Linux by parsing session JSONL files. Use when asked about: token usage, API cost, how much has been spent, which model was… | Catalog only |
|
||||
| [`nginx`](../skills/nginx/) | Configure Nginx for reverse proxy, load balancing, SSL termination, and high-performance static serving. | Catalog only |
|
||||
| [`nginx-configuration`](../skills/nginx-configuration/) | Description needs review; inspect source. | Portable required assignment · structure checked · CTO |
|
||||
| [`observability-designer`](../skills/observability-designer/) | Design production observability strategies covering SLI/SLOs, metrics, | Catalog only |
|
||||
| [`op0-altar`](../skills/op0-altar/) | Create and manage self-rewarding meme coins on Solana via the OP0 Altar protocol. Deploy pump.fun tokens where holders automatically receive rewards in 129 payout token options… | Catalog only |
|
||||
| [`proxmox-ops-skill`](../skills/proxmox-ops-skill/) | Create a credential file at `~/.proxmox-credentials` | Catalog only |
|
||||
| [`remote-access`](../skills/remote-access/) | ttyd + Tailscale for mobile terminal access | Catalog only |
|
||||
@@ -258,7 +265,6 @@ Collect evidence, search sources, analyze data, and communicate findings.
|
||||
|
||||
| Skill | What it helps with | Support / review signals |
|
||||
|---|---|---|
|
||||
| [`a-share-analysis`](../skills/a-share-analysis/) | 此Skill实现了三层分析体系: 1. 情报采集层 — 7路并发多源新闻采集,自动匹配板块和个股 2. 盘面阅读层 — 美股映射 + 大盘多空判断 + 实时主线(>9%题材分析) 3. 个股精选层 — 产业逻辑 + 形态8分类 + 盘口分析 + 题材排名 + 综合评分 4. 原始新闻浏览 (news.py) — 分类展示影响股票的新闻,源信息不做任何修改 | Catalog only |
|
||||
| [`ai-radar`](../skills/ai-radar/) | 雷达Skill(AI Radar)——零API、零Key、零服务器的中文AI资讯查询。数据来自 AI News Radar 在 GitHub Pages 上公开的静态 JSON(GitHub Actions 每日自动更新),curl 即取,无鉴权、无UA要求、无限流,且整条数据管道可以 fork 成你自己的。 当用户想知道"今天 AI… | Catalog only |
|
||||
| [`analytics-tracking`](../skills/analytics-tracking/) | Design, audit, and improve analytics tracking systems that produce reliable, decision-ready data. Use when the user wants to set up, fix, or evaluate analytics tracking (GA4,… | Catalog only |
|
||||
| [`apify-ultimate-scraper`](../skills/apify-ultimate-scraper/) | Universal AI-powered web scraper for any platform. Scrape data from Instagram, Facebook, TikTok, YouTube, LinkedIn, X/Twitter, Google Maps, Google Search, Google Trends, Reddit,… | Portable required assignment · structure checked · CDO |
|
||||
@@ -266,6 +272,7 @@ Collect evidence, search sources, analyze data, and communicate findings.
|
||||
| [`arxiv-automation`](../skills/arxiv-automation/) | Search and monitor arXiv papers. Query by topic, author, or category. Track new papers, download PDFs, and summarize abstracts for research workflows. | Catalog only |
|
||||
| [`auto-drive`](../skills/auto-drive/) | --- name: auto-drive description: Upload and download files to Autonomys Network permanent decentralized storage via Auto-Drive. Save memories as a linked-list chain for… | Catalog only |
|
||||
| [`bio-orchestrator`](../skills/bio-orchestrator/) | Meta-agent that routes bioinformatics requests to specialised sub-skills. Handles file type detection, analysis planning, report generation, and reproducibility export. | Catalog only |
|
||||
| [`business-analyst`](../skills/business-analyst/) | Build KPI frameworks, predictive models, real-time dashboards, and strategic recommendations using modern BI tools and AI-powered analytics. Use when the user needs business… | Catalog only |
|
||||
| [`business-intelligence`](../skills/business-intelligence/) | Model business performance, define KPIs, and turn data into decision-ready dashboards, briefings, and operating cadences for teams and executives. | Catalog only |
|
||||
| [`call-prep`](../skills/call-prep/) | Call preparation: research, CRM, talking points, PDF | Catalog only |
|
||||
| [`claw-ancestry-pca`](../skills/claw-ancestry-pca/) | Ancestry decomposition PCA against the Simons Genome Diversity Project | Catalog only |
|
||||
@@ -273,11 +280,11 @@ Collect evidence, search sources, analyze data, and communicate findings.
|
||||
| [`company-investment-research`](../skills/company-investment-research/) | Structured, multi-dimensional company investment research framework for AI agents and human analysts. Provides a 10-part checklist (moat, tech, market, customers, growth,… | Catalog only |
|
||||
| [`csv-pipeline`](../skills/csv-pipeline/) | Process, transform, analyze, and report on CSV and JSON data files. Use when the user needs to filter rows, join datasets, compute aggregates, convert formats, deduplicate, or… | Catalog only |
|
||||
| [`ct-monitor`](../skills/ct-monitor/) | Research crypto news, public market data, and monitored accounts with CT Monitor. Use for attributed briefings, watchlists, narrative review, and paper-only signal analysis. | Catalog only · review: credentials, external-write, financial-action |
|
||||
| [`daily-trending`](../skills/daily-trending/) | 获取今日热榜,从tophub.today抓取各平台热搜榜单。当用户询问"今天有什么热搜"、"热榜"、"微博热搜"时触发。 | Catalog only |
|
||||
| [`dashboard-builder`](../skills/dashboard-builder/) | Build monitoring dashboards that answer real operator questions for Grafana, SigNoz, and similar platforms. Use when turning metrics into a working dashboard instead of a vanity… | Portable required assignment · structure checked · CEO |
|
||||
| [`data-analyst`](../skills/data-analyst/) | Data visualization, report generation, SQL queries, and spreadsheet automation. Transform your AI agent into a data-savvy analyst that turns raw data into actionable insights. | Catalog only |
|
||||
| [`data-engineering-data-pipeline`](../skills/data-engineering-data-pipeline/) | You are a data pipeline architecture expert specializing in scalable, reliable, and cost-effective data pipelines for batch and streaming data processing. | Catalog only |
|
||||
| [`data-storytelling`](../skills/data-storytelling/) | Transform data into compelling narratives using visualization, context, and persuasive structure. Use when presenting analytics to stakeholders, creating data reports, or… | Catalog only |
|
||||
| [`datadog-automation`](../skills/datadog-automation/) | Automate Datadog tasks via Rube MCP (Composio): query metrics, search logs, manage monitors/dashboards, create events and downtimes. Always search tools first for current schemas. | Catalog only |
|
||||
| [`deep-research`](../skills/deep-research/) | Multi-source deep research using firecrawl and exa MCPs. Searches the web, synthesizes findings, and delivers cited reports with source attribution. Use when the user wants… | Harness-specific assignment · generic installer skips · CEO, CQO, CRO |
|
||||
| [`documents`](../skills/documents/) | Manage company & personal documents — rekvizity, passport, INN, bank details, scans. Store locally + Google Drive. Send data blocks on request. | Catalog only |
|
||||
| [`duckdb-cli-ai-skills`](../skills/duckdb-cli-ai-skills/) | DuckDB CLI specialist for SQL analysis, data processing and file conversion. Use for SQL queries, CSV/Parquet/JSON analysis, database queries, or data conversion. Triggers on… | Catalog only |
|
||||
@@ -293,22 +300,25 @@ Collect evidence, search sources, analyze data, and communicate findings.
|
||||
| [`infra-facebook-cdp`](../skills/infra-facebook-cdp/) | Facebook CDP automation: comments, data collection | Catalog only |
|
||||
| [`investment-research`](../skills/investment-research/) | Perform structured investment research (投研分析) for a company/stock/ETF/sector using a repeatable framework: fundamentals (basic/财务报表与商业模式), technical analysis (技术指标与关键价位),… | Catalog only |
|
||||
| [`kpi-dashboard-design`](../skills/kpi-dashboard-design/) | Design effective KPI dashboards with metrics selection, visualization best practices, and real-time monitoring patterns. Use when building business dashboards, selecting metrics,… | Portable required assignment · structure checked · GOVERNOR |
|
||||
| [`last30days-skill`](../skills/last30days-skill/) | Research a topic from the last 30 days. Also triggered by 'last30'. Sources: Reddit, X, YouTube, Hacker News, Polymarket, web. Become an expert and write copy-paste-ready prompts. | Catalog only |
|
||||
| [`lead-research-assistant`](../skills/lead-research-assistant/) | Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for… | Catalog only |
|
||||
| [`lit-synthesizer`](../skills/lit-synthesizer/) | Search PubMed and bioRxiv, summarise papers with LLM, build citation graphs, and generate literature review sections. | Catalog only |
|
||||
| [`log-activity`](../skills/log-activity/) | Log activity to activities.csv | Catalog only |
|
||||
| [`market-nightly-evolution`](../skills/market-nightly-evolution/) | Nightly market evolution report — overnight market analysis and strategy prep | Catalog only |
|
||||
| [`market-intelligence`](../skills/market-intelligence/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`market-research`](../skills/market-research/) | Size markets, analyze competitors, and validate opportunities with practical frameworks and free data sources. | Portable required assignment · structure checked · CMO |
|
||||
| [`market-sizing-analysis`](../skills/market-sizing-analysis/) | Use when the user asks to calculate TAM, determine SAM, estimate SOM, size a market, calculate market opportunity, ask for total addressable market, or do market sizing for a… | Catalog only |
|
||||
| [`metrics-review`](../skills/metrics-review/) | Review and analyze product metrics with trend analysis and actionable insights. Use when running a weekly, monthly, or quarterly metrics review, investigating a sudden spike or… | Catalog only |
|
||||
| [`model-usage`](../skills/model-usage/) | Use CodexBar CLI local cost usage to summarize per-model usage for Codex | Catalog only |
|
||||
| [`model-usage-linux`](../skills/model-usage-linux/) | Track OpenClaw AI token usage and cost per model on Linux by parsing session JSONL files. Use when asked about: token usage, API cost, how much has been spent, which model was… | Catalog only |
|
||||
| [`multi-search-engine`](../skills/multi-search-engine/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`news-aggregation`](../skills/news-aggregation/) | Aggregate and deduplicate recent news from multiple sources into concise topic summaries. | Catalog only |
|
||||
| [`news-predictor`](../skills/news-predictor/) | 你是Quant的新闻风控层。目标:在约120-180秒内完成新闻风险更新,输出人能直接看懂的结构化简报。 | Catalog only |
|
||||
| [`pharmgx-reporter`](../skills/pharmgx-reporter/) | Pharmacogenomic report from DTC genetic data (23andMe/AncestryDNA) | Catalog only |
|
||||
| [`qmd`](../skills/qmd/) | Local search/indexing CLI (BM25 + vectors + rerank) with MCP mode. | Catalog only |
|
||||
| [`ragflow-opencaio`](../skills/ragflow-opencaio/) | RAGFlow OpenCAIO 知识库文档上传与管理。当需要将文档上传到鲲界公司 OpenCAIO 知识库、检索知识库内容、或管理 RAGFlow 数据集时使用此 skill。 | Catalog only |
|
||||
| [`repro-enforcer`](../skills/repro-enforcer/) | Export any bioinformatics analysis as a reproducible bundle with Conda environment, Singularity container definition, and Nextflow pipeline. | Catalog only |
|
||||
| [`research-engineer`](../skills/research-engineer/) | An uncompromising Academic Research Engineer. Operates with absolute scientific rigor, objective criticism, and zero flair. Focuses on theoretical correctness, formal… | Catalog only |
|
||||
| [`risk-metrics-calculation`](../skills/risk-metrics-calculation/) | Calculate portfolio risk metrics including VaR, CVaR, Sharpe, Sortino, and drawdown analysis. Use when measuring portfolio risk, implementing risk limits, or building risk… | Catalog only |
|
||||
| [`roi-analysis`](../skills/roi-analysis/) | Use when calculating marketing ROI on Xiaohongshu, measuring campaign return on investment, analyzing cost per acquisition, evaluating marketing spend efficiency, or proving… | Catalog only |
|
||||
| [`saas-metrics-coach`](../skills/saas-metrics-coach/) | This skill should be used when the user asks to "calculate MRR", "analyze churn", "compute SaaS metrics", "do cohort retention analysis", "calculate LTV or CAC", "evaluate unit… | Catalog only |
|
||||
| [`search-first`](../skills/search-first/) | Research-before-coding workflow. Search for existing tools, libraries, and patterns before writing custom code. Invokes the researcher agent. | Catalog only |
|
||||
| [`search-layer`](../skills/search-layer/) | 四源同级:Brave (`web_search`) + Exa + Tavily + Grok。按意图自动选策略、调权重、做合成。 | Catalog only |
|
||||
@@ -318,21 +328,21 @@ Collect evidence, search sources, analyze data, and communicate findings.
|
||||
| [`session-logs`](../skills/session-logs/) | Search and analyze your own session logs (older/parent conversations) using jq. | Catalog only |
|
||||
| [`show-today`](../skills/show-today/) | Priority tasks for today — checks live sources (email, calendar) before showing stale CSV data | Catalog only |
|
||||
| [`skill-search-optimizer`](../skills/skill-search-optimizer/) | Optimize agent skills for discoverability on ClawdHub/MoltHub. Use when improving search ranking, writing descriptions for semantic search, understanding how the registry indexes… | Catalog only |
|
||||
| [`skillforge`](../skills/skillforge/) | Intelligent skill router and creator. Analyzes ANY input to recommend existing skills, improve them, or create new ones. Uses deep iterative analysis with 11 thinking models,… | Catalog only |
|
||||
| [`skills-search`](../skills/skills-search/) | Search skills.sh registry from CLI. Find and discover agent skills from the skills.sh ecosystem. | Catalog only |
|
||||
| [`soushen-hunter`](../skills/soushen-hunter/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`sp-defense-in-depth`](../skills/sp-defense-in-depth/) | Validate at every layer data passes through to make bugs impossible | Portable required assignment · structure checked · COO |
|
||||
| [`sp-tracing-knowledge-lineages`](../skills/sp-tracing-knowledge-lineages/) | Understand how ideas evolved over time to find old solutions for new problems and avoid repeating past failures | Portable required assignment · structure checked · CRO |
|
||||
| [`startup-metrics-framework`](../skills/startup-metrics-framework/) | Description needs review; inspect source. | Portable required assignment · structure checked · CEO |
|
||||
| [`static-code-analysis`](../skills/static-code-analysis/) | Implement static code analysis with linters, formatters, and security scanners to catch bugs early. Use when enforcing code standards, detecting security vulnerabilities, or… | Catalog only |
|
||||
| [`synthetic-market-research`](../skills/synthetic-market-research/) | You are an expert market researcher who uses LLM-generated synthetic survey responses and Semantic Similarity Rating (SSR) to produce fast, cheap, dir | Catalog only |
|
||||
| [`tavily-search`](../skills/tavily-search/) | AI-optimized web search via Tavily API. Returns concise, relevant results for AI agents. | Portable required assignment · structure checked · CRO |
|
||||
| [`tech-selection-research`](../skills/tech-selection-research/) | Use when the user wants to research, compare, or evaluate a technology, framework, platform, or engineering tool for product R&D decision-making, such as "调研 FastAPI", "技术选型",… | Catalog only |
|
||||
| [`telegram-scrape`](../skills/telegram-scrape/) | Search Telegram channels, read posts, ad contacts | Catalog only |
|
||||
| [`telegram-scraper-run`](../skills/telegram-scraper-run/) | Automatic Telegram scraping | Catalog only |
|
||||
| [`vcf-annotator`](../skills/vcf-annotator/) | Annotate VCF variants with VEP, ClinVar, gnomAD frequencies, and ancestry-aware context. Generates prioritised variant reports. | Catalog only |
|
||||
| [`web-scraping-automation`](../skills/web-scraping-automation/) | 自动化爬取网站数据和 API 接口。当用户需要抓取网页内容、调用 API、解析数据或创建爬虫脚本时使用此技能。 | Catalog only |
|
||||
| [`web-search`](../skills/web-search/) | 网络搜索与网页内容获取。当用户需要搜索互联网信息、获取网页内容、查找实时数据、进行 websearch 时使用此技能。支持多种搜索工具:WebFetch、Firecrawl skill、Tavily skill。 | Harness-specific assignment · generic installer skips · CDO, CEO, CRO |
|
||||
| [`wiki-qa`](../skills/wiki-qa/) | Answers questions about a code repository using source file analysis. Use when the user asks a question about how something works, wants to understand a component, or needs help… | Catalog only |
|
||||
| [`xlsx`](../skills/xlsx/) | Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets… | Catalog only |
|
||||
| [`youtube-knowledge-extractor`](../skills/youtube-knowledge-extractor/) | This skill performs deep analysis of YouTube videos through **both information channels** | Catalog only |
|
||||
|
||||
<a id="security-privacy-legal"></a>
|
||||
## 🛡️ Security, Privacy & Legal
|
||||
@@ -341,7 +351,6 @@ Review security, privacy, compliance, permissions, contracts, and legal risk.
|
||||
|
||||
| Skill | What it helps with | Support / review signals |
|
||||
|---|---|---|
|
||||
| [`accessibility-compliance-accessibility-audit`](../skills/accessibility-compliance-accessibility-audit/) | You are an accessibility expert specializing in WCAG compliance, inclusive design, and assistive technology compatibility. Conduct audits, identify barriers, and provide… | Catalog only |
|
||||
| [`afrexai-compliance-audit`](../skills/afrexai-compliance-audit/) | Run internal compliance audits against major governance and security | Catalog only |
|
||||
| [`afrexai-compliance-engine`](../skills/afrexai-compliance-engine/) | Your AI compliance officer. Guides startups and scale-ups through SOC 2, ISO 27001, GDPR, HIPAA, and PCI DSS — from zero to audit-ready. No consultants needed. | Catalog only |
|
||||
| [`agentic-security-audit`](../skills/agentic-security-audit/) | Audit codebases, infrastructure, AND agentic AI systems for security issues. Covers traditional security (dependencies, secrets, OWASP web top 10, SSL/TLS, file permissions) PLUS… | Catalog only |
|
||||
@@ -356,7 +365,6 @@ Review security, privacy, compliance, permissions, contracts, and legal risk.
|
||||
| [`employment-contract-templates`](../skills/employment-contract-templates/) | Create employment contracts, offer letters, and HR policy documents following legal best practices. Use when drafting employment agreements, creating HR policies, or… | Catalog only |
|
||||
| [`gdpr-compliance`](../skills/gdpr-compliance/) | Generate UK/EU GDPR compliance documents — privacy policies, cookie policies, DPIAs, ROPA, DSAR responses, data breach notifications, and consent forms. Use when a business needs… | Catalog only |
|
||||
| [`gdpr-dsgvo-expert`](../skills/gdpr-dsgvo-expert/) | GDPR and German DSGVO compliance automation. Scans codebases for privacy risks, generates DPIA documentation, tracks data subject rights requests. Use for GDPR compliance… | Portable required assignment · structure checked · CEO |
|
||||
| [`inference-optimizer`](../skills/inference-optimizer/) | Audit OpenClaw token usage, purge stale sessions, and optimize inference speed. Use when the user sends /optimize, /audit, asks to purge sessions, or wants a token/workspace audit. | Harness-specific assignment · generic installer skips · CTO |
|
||||
| [`key-rotation`](../skills/key-rotation/) | API key rotation manager — rotate provider keys across all agent workspaces | Catalog only |
|
||||
| [`legal-advisor`](../skills/legal-advisor/) | Draft privacy policies, terms of service, disclaimers, and legal notices. Creates GDPR-compliant texts, cookie policies, and data processing agreements. | Catalog only |
|
||||
| [`legal-cog`](../skills/legal-cog/) | Legal demands two things: frontier-level reasoning and precision document generation. CellCog delivers both. #1 on DeepResearch Bench (Feb 2026) for the intelligence that legal… | Catalog only |
|
||||
@@ -368,13 +376,13 @@ Review security, privacy, compliance, permissions, contracts, and legal risk.
|
||||
| [`permission-manager`](../skills/permission-manager/) | 管理Claude Code的全局工具权限配置,自动将MCP命令或其他工具添加到allowedTools中,避免每次使用时都需要手动批准。工作流程:确认用户需要添加的命令 | Catalog only |
|
||||
| [`pre-push-security-scan`](../skills/pre-push-security-scan/) | 【铁律】Git push 前必须执行的安全扫描。防止 API keys、tokens、passwords、私钥等敏感信息被推送到远程仓库。适用于所有 git push、gh pr create、代码同步等场景。 | Catalog only |
|
||||
| [`privacy-compliance`](../skills/privacy-compliance/) | Multi-regulation privacy compliance navigator. Use for GDPR, CCPA, LGPD, POPIA, PIPEDA, PDPA, Privacy Act, PIPL, UK GDPR compliance assessments, DPA reviews, and data subject… | Catalog only |
|
||||
| [`provider-key-manager`](../skills/provider-key-manager/) | Provider key manager — rotate and sync API keys across multi-agent workspaces | Harness-specific assignment · generic installer skips · CTO |
|
||||
| [`security-audit`](../skills/security-audit/) | Comprehensive security auditing for Clawdbot deployments. Scans for exposed credentials, open ports, weak configs, and vulnerabilities. Auto-fix mode included. | Portable required assignment · structure checked · GOVERNOR, PE · review: system-change |
|
||||
| [`security-audit-toolkit`](../skills/security-audit-toolkit/) | Audit codebases and infrastructure for security issues. Use when scanning dependencies for vulnerabilities, detecting hardcoded secrets, checking OWASP top 10 issues, verifying… | Catalog only |
|
||||
| [`security-compliance-compliance-check`](../skills/security-compliance-compliance-check/) | You are a compliance expert specializing in regulatory requirements for software systems including GDPR, HIPAA, SOC2, PCI-DSS, and other industry standards. Perform compliance… | Catalog only |
|
||||
| [`self-improving-legal`](../skills/self-improving-legal/) | Captures clause risks, compliance gaps, precedent shifts, contract deviations, regulatory changes, and litigation exposure to enable continuous legal operations improvement. Use… | Catalog only |
|
||||
| [`skill-security-audit-v2`](../skills/skill-security-audit-v2/) | 已安装 Skills 的安全审计工具。用于批量审计 Skills 的安全性,包括命令执行、网络访问、文件访问、数据泄露、依赖风险、提示词越权和触发条件检查。适用于用户提供 Skills 列表和文件内容时进行安全扫描、护栏审查、提示词越权审查或强化建议。 | Catalog only |
|
||||
| [`skill-security-auditor`](../skills/skill-security-auditor/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`vibe-code-auditor`](../skills/vibe-code-auditor/) | Audit rapidly generated or AI-produced code for structural flaws, fragility, and production risks. | Catalog only |
|
||||
|
||||
<a id="product-design-ux"></a>
|
||||
## 🎨 Product, Design & UX
|
||||
@@ -383,25 +391,19 @@ Shape product requirements, interfaces, design systems, and user experience.
|
||||
|
||||
| Skill | What it helps with | Support / review signals |
|
||||
|---|---|---|
|
||||
| [`accessibility-compliance-accessibility-audit`](../skills/accessibility-compliance-accessibility-audit/) | You are an accessibility expert specializing in WCAG compliance, inclusive design, and assistive technology compatibility. Conduct audits, identify barriers, and provide… | Catalog only |
|
||||
| [`afrexai-prd-engine`](../skills/afrexai-prd-engine/) | Complete product requirements methodology: from idea to spec to shipped feature. Not just a JSON template — a full system for writing PRDs that developers actually follow and… | Catalog only |
|
||||
| [`api-design`](../skills/api-design/) | REST API design patterns including resource naming, status codes, pagination, filtering, error responses, versioning, and rate limiting for production APIs. | Portable required assignment · structure checked · CTO, PE |
|
||||
| [`api-design-patterns`](../skills/api-design-patterns/) | Comprehensive API design patterns covering REST, GraphQL, gRPC, versioning, authentication, and modern API best practices | Portable required assignment · structure checked · CTO |
|
||||
| [`canvas-design`](../skills/canvas-design/) | Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other… | Catalog only |
|
||||
| [`cua-driver`](../skills/cua-driver/) | Drive a native GUI app (macOS, Windows, Linux) via the cua-driver CLI (default) or MCP server — snapshot its accessibility tree, click/type/scroll by element_index or pixel… | Catalog only |
|
||||
| [`design-thinking`](../skills/design-thinking/) | Design Thinking methodology for human-centered innovation. Covers the 5-phase IDEO/Stanford d.school approach (Empathize, Define, Ideate, Prototype, Test) with workshop… | Catalog only |
|
||||
| [`feature-requirements-clarification`](../skills/feature-requirements-clarification/) | 在任何创意性工作前必须使用:创建功能、构建组件、增加能力或修改行为。通过自然对话挖掘需求,产出高质量验收标准(AC),为后续 TDD 开发提供测试依据。当用户说'我想做一个XX功能'、'帮我想想XX怎么做'、'我需要加一个XX'等模糊需求描述时触发。 | Portable required assignment · structure checked · CEO |
|
||||
| [`figma-automation`](../skills/figma-automation/) | Automate Figma tasks via Rube MCP (Composio): files, components, design tokens, comments, exports. Always search tools first for current schemas. | Catalog only |
|
||||
| [`figma-implement-design`](../skills/figma-implement-design/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`frontend-design-ultimate`](../skills/frontend-design-ultimate/) | Create distinctive, production-grade static sites with React, Tailwind CSS, and shadcn/ui — no mockups needed. Generates bold, memorable designs from plain text requirements with… | Harness-specific assignment · generic installer skips · CPO |
|
||||
| [`market-churn-prevention`](../skills/market-churn-prevention/) | Reduce voluntary and involuntary churn through cancel flow design, save offers, exit surveys, and dunning sequences. Use when designing or optimizing a cancel flow, building save… | Catalog only |
|
||||
| [`observability-designer`](../skills/observability-designer/) | Design production observability strategies covering SLI/SLOs, metrics, | Catalog only |
|
||||
| [`poster-design-generation`](../skills/poster-design-generation/) | Generate professional poster designs using each::sense AI. Create movie posters, event posters, motivational posters, product launch visuals, vintage designs, travel posters, and… | Catalog only |
|
||||
| [`prd-development`](../skills/prd-development/) | Guide product managers through structured PRD (Product Requirements Document) creation by orchestrating problem framing, user research synthesis, solution definition, and success… | Portable required assignment · structure checked · CEO, CPO |
|
||||
| [`prd-generator`](../skills/prd-generator/) | 专业级产品需求文档(PRD)生成器。自动生成包含 UML 用例模型、详细用例规格说明、数据字典、交互设计、UI 规范的完整 PRD。 Use when: 用户提到写PRD、写产品需求文档、产品设计、产品规划、新功能需求分析、用例分析、用例建模时触发。 NOT for: 已有完整需求文档的润色、代码生成、技术架构设计、数据分析报告。 | Catalog only |
|
||||
| [`prioritization-funnel`](../skills/prioritization-funnel/) | Evaluate and prioritize opportunities through a structured filtering process. Use for resource allocation, strategic decision support, and project management. | Portable required assignment · structure checked · CEO |
|
||||
| [`roadmap-planning`](../skills/roadmap-planning/) | Guide product managers through strategic roadmap planning by orchestrating prioritization, epic definition, stakeholder alignment, and release sequencing skills into a structured… | Portable required assignment · structure checked · CEO |
|
||||
| [`senior-architect`](../skills/senior-architect/) | This skill should be used when the user asks to "design system architecture", "evaluate microservices vs monolith", "create architecture diagrams", "analyze dependencies",… | Catalog only |
|
||||
| [`software-architecture-design`](../skills/software-architecture-design/) | Designs system structure across monolith/microservices/serverless. Use when structuring systems, scaling, decomposing monoliths, or choosing patterns. | Catalog only |
|
||||
| [`style-guide-generator`](../skills/style-guide-generator/) | Generate comprehensive website style guides and design systems from URLs, screenshots, and existing documentation. Use this skill when users ask to create a style guide, design… | Catalog only |
|
||||
| [`ui-ux-pro-max`](../skills/ui-ux-pro-max/) | UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui).… | Catalog only |
|
||||
| [`uml-diagram-design`](../skills/uml-diagram-design/) | UML 图表设计和绘制。当用户需要创建系统架构图、类图、时序图、用例图或其他 UML 图表时使用此技能。 | Catalog only |
|
||||
@@ -417,12 +419,8 @@ Acquire audiences through positioning, campaigns, search, ads, and social growth
|
||||
|
||||
| Skill | What it helps with | Support / review signals |
|
||||
|---|---|---|
|
||||
| [`activecampaign-automation`](../skills/activecampaign-automation/) | Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas. | Catalog only |
|
||||
| [`ads`](../skills/ads/) | Comprehensive ad account analysis across all major platforms (Google, Meta | Portable required assignment · structure checked · CEO |
|
||||
| [`ads-agent`](../skills/ads-agent/) | AI-агент для управления Facebook рекламой. Вызывай для анализа, оптимизации, создания кампаний и отчётов. | Catalog only |
|
||||
| [`ai-marketing-videos`](../skills/ai-marketing-videos/) | Create AI marketing videos for ads, promos, product launches, and brand content. Models: Veo, Seedance, Wan, FLUX for visuals, Kokoro for voiceover. Types: product demos,… | Portable required assignment · structure checked · CCO |
|
||||
| [`ai-viral-team-script-writing`](../skills/ai-viral-team-script-writing/) | 脚本创作 - 短视频脚本撰写与分镜设计 职责:根据爆款模板生产内容、设计黄金3秒开头方案(3种以上)、撰写分镜脚本(包含镜头语言/场景氛围/角色动作/台词/BGM)、设计槽点埋梗与情绪钩子、规划结尾引导、自动推荐Vidu视频生成配置(模型版本/生成方式/时长/比例)、确保人物形象一致性、向视频生成(Leo)传递完整的分镜信息 适用场景:(1)… | Catalog only |
|
||||
| [`ai-viral-team-video-generation`](../skills/ai-viral-team-video-generation/) | 视频生成 - AI视频生成与后期剪辑制作 职责:调用Vidu生成视频、模型选择、Prompt调优、视频拼接、质量检测 | Catalog only |
|
||||
| [`apify-competitor-intelligence`](../skills/apify-competitor-intelligence/) | Analyze competitor strategies, content, pricing, ads, and market positioning across Google Maps, Booking.com, Facebook, Instagram, YouTube, and TikTok. | Catalog only |
|
||||
| [`b2b-saas-marketing`](../skills/b2b-saas-marketing/) | Эксперт по B2B SaaS маркетингу. Используй для стратегий генерации спроса, growth-маркетинга, PLG, расчёта CAC/LTV, оптимизации воронки и маркетинговых операций. | Catalog only |
|
||||
| [`brand-guidelines`](../skills/brand-guidelines/) | Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style… | Catalog only |
|
||||
@@ -448,12 +446,12 @@ Acquire audiences through positioning, campaigns, search, ads, and social growth
|
||||
| [`influencer-analyzer`](../skills/influencer-analyzer/) | 分析抖音/小红书/B站博主的主页、内容风格、爆款规律。可根据链接、博主名、主题三种方式触发。输出结构化的博主画像和内容风格报告,为内容创作者提供可复制的对标参考。触发词:分析博主、分析网红、对标博主、博主风格、起号分析、博主推荐。 | Catalog only |
|
||||
| [`marketing-ideas`](../skills/marketing-ideas/) | Provide proven marketing strategies and growth ideas for SaaS and software products, prioritized using a marketing feasibility scoring system. | Catalog only |
|
||||
| [`marketing-psychology`](../skills/marketing-psychology/) | When the user wants to apply psychological principles, mental models, or behavioral science to marketing. Also use when the user mentions 'psychology,' 'mental models,'… | Catalog only |
|
||||
| [`microservices-patterns`](../skills/microservices-patterns/) | Comprehensive microservices patterns skill covering service mesh, traffic management, circuit breakers, resilience patterns, Istio, and production microservices architecture | Catalog only |
|
||||
| [`moltbook-interact`](../skills/moltbook-interact/) | Interact with Moltbook social network for AI agents. Post, reply, browse, and analyze engagement. Use when the user wants to engage with Moltbook, check their feed, reply to… | Catalog only |
|
||||
| [`paid-ads`](../skills/paid-ads/) | When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions… | Catalog only |
|
||||
| [`pm-competitive-teardown`](../skills/pm-competitive-teardown/) | Run structured competitive teardowns using pricing, reviews, positioning, | Catalog only |
|
||||
| [`postbridge-social-growth`](../skills/postbridge-social-growth/) | Organic social media growth coach using the Post Bridge methodology (500M+ views, 132K+ downloads, $33K+ revenue). Act as a personalized growth coach for apps, products, and… | Catalog only |
|
||||
| [`programmatic-seo`](../skills/programmatic-seo/) | You are an expert in **programmatic SEO strategy**—designing systems that generate | Catalog only |
|
||||
| [`roi-analysis`](../skills/roi-analysis/) | Use when calculating marketing ROI on Xiaohongshu, measuring campaign return on investment, analyzing cost per acquisition, evaluating marketing spend efficiency, or proving… | Catalog only |
|
||||
| [`seo-audit`](../skills/seo-audit/) | Diagnose and audit SEO issues affecting crawlability, indexation, rankings, and organic performance. Use when the user asks for an SEO audit, technical SEO review, ranking… | Portable required assignment · structure checked · CMO |
|
||||
| [`seo-competitor-analysis`](../skills/seo-competitor-analysis/) | Deep SEO competitor analysis — keyword mapping, backlink profiling, content strategy audit, SERP share analysis, and technical SEO comparison. Use when user asks to 'analyze… | Catalog only |
|
||||
| [`seo-geo`](../skills/seo-geo/) | SEO & GEO (Generative Engine Optimization) for websites. Analyze keywords, generate schema markup, optimize for AI search engines (ChatGPT, Perplexity, Gemini, Copilot, Claude)… | Catalog only |
|
||||
@@ -477,7 +475,10 @@ Create, edit, repurpose, and publish writing, images, audio, and video.
|
||||
| Skill | What it helps with | Support / review signals |
|
||||
|---|---|---|
|
||||
| [`ai-image-generation`](../skills/ai-image-generation/) | Generate images using ModelScope Z-Image-Turbo API. Use when user asks to generate, create, or make images, pictures, or illustrations. | Catalog only |
|
||||
| [`ai-marketing-videos`](../skills/ai-marketing-videos/) | Create AI marketing videos for ads, promos, product launches, and brand content. Models: Veo, Seedance, Wan, FLUX for visuals, Kokoro for voiceover. Types: product demos,… | Portable required assignment · structure checked · CCO |
|
||||
| [`ai-video-gen`](../skills/ai-video-gen/) | End-to-end AI video generation - create videos from text prompts using image generation, video synthesis, voice-over, and editing. Supports OpenAI DALL-E, Replicate models,… | Catalog only |
|
||||
| [`ai-viral-team-script-writing`](../skills/ai-viral-team-script-writing/) | 脚本创作 - 短视频脚本撰写与分镜设计 职责:根据爆款模板生产内容、设计黄金3秒开头方案(3种以上)、撰写分镜脚本(包含镜头语言/场景氛围/角色动作/台词/BGM)、设计槽点埋梗与情绪钩子、规划结尾引导、自动推荐Vidu视频生成配置(模型版本/生成方式/时长/比例)、确保人物形象一致性、向视频生成(Leo)传递完整的分镜信息 适用场景:(1)… | Catalog only |
|
||||
| [`ai-viral-team-video-generation`](../skills/ai-viral-team-video-generation/) | 视频生成 - AI视频生成与后期剪辑制作 职责:调用Vidu生成视频、模型选择、Prompt调优、视频拼接、质量检测 | Catalog only |
|
||||
| [`arch-video-cut`](../skills/arch-video-cut/) | Automatic architecture video editing workflow with self-learning preferences | Catalog only |
|
||||
| [`article-material-collect`](../skills/article-material-collect/) | 上层编排 Skill,通过 **Brave Search 发现 → 智能选择浏览器截图** 完成结构化素材采集。 | Catalog only |
|
||||
| [`article-to-infographic`](../skills/article-to-infographic/) | 长文/测评文章 → 知识视觉笔记套图(3-5张)。自动提炼核心逻辑、规划分镜、生成高阶图像Prompt(4模块结构)。支持手写笔记/思维导图/架构图/对比矩阵四种风格。Use when: 文章转知识笔记、知识笔记图片、思维导图、视觉笔记、长文转图、知识卡片、文章可视化、article to infographic、knowledge… | Catalog only |
|
||||
@@ -499,9 +500,9 @@ 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… | Catalog only |
|
||||
| [`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… | Catalog only |
|
||||
| [`cross-platform-poster`](../skills/cross-platform-poster/) | Publish one piece of content across MoltX, Twitter/X, Discord, and Telegram | 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… | Catalog only |
|
||||
| [`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… | Catalog only |
|
||||
| [`docx-perfect`](../skills/docx-perfect/) | Word文档美化与格式化专家。专门用于将Word文档中的文本内容转换为专业表格格式,应用一致的样式(深蓝色表头、斑马纹数据行、边框),支持版本化迭代管理。当用户需要美化Word文档、创建专业表格、或递增式优化文档章节时使用此技能。 | Catalog only |
|
||||
| [`evomap`](../skills/evomap/) | Connect to the EvoMap collaborative evolution marketplace. Publish Gene+Capsule bundles, fetch promoted assets, claim bounty tasks, and earn credits via the GEP-A2A protocol. Use… | Catalog only |
|
||||
| [`ffmpeg-video-editor`](../skills/ffmpeg-video-editor/) | Generate FFmpeg commands from natural language video editing requests - cut, trim, convert, compress, change aspect ratio, extract audio, and more. | Catalog only |
|
||||
| [`frontend-slides`](../skills/frontend-slides/) | Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or… | Catalog only |
|
||||
| [`heygen-avatar-lite`](../skills/heygen-avatar-lite/) | Create AI digital human videos with HeyGen API. Free starter guide. | Catalog only |
|
||||
@@ -509,6 +510,8 @@ Create, edit, repurpose, and publish writing, images, audio, and video.
|
||||
| [`image-enhancer`](../skills/image-enhancer/) | Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social… | Catalog only |
|
||||
| [`image-scraper`](../skills/image-scraper/) | Scrape and download all images from a given URL. Takes a URL, extracts image URLs from the page, and downloads them. Uses python3/curl as primary method, falls back to browser… | Catalog only |
|
||||
| [`image-vision`](../skills/image-vision/) | Image analysis using multimodal vision models. Use when user needs to: (1) Describe what's in an image, (2) Extract text from images (OCR), (3) Analyze visual content, (4)… | Catalog only |
|
||||
| [`internal-comms`](../skills/internal-comms/) | A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write… | Catalog only |
|
||||
| [`jimeng-storyboard`](../skills/jimeng-storyboard/) | 将口播视频剧本拆解为即梦AI数字人平台的分镜头脚本。输出格式为每个镜头的角色说(台词)和动作描述(镜头语言/数字人动作),适配即梦 jimeng.jianying.com 数字人视频生成界面。触发场景:用户需要生成口播视频分镜、数字人视频剧本拆解、即梦分镜脚本、短视频口播脚本分镜、数字人台词加动作拆分。 | Portable required assignment · structure checked · CCO |
|
||||
| [`longform-visual-notes`](../skills/longform-visual-notes/) | MediaClaw内容生产的核心配图skill。当有长篇文章需要转化为可传播的视觉笔记时调用。 | Catalog only |
|
||||
| [`lyrics-video-sync`](../skills/lyrics-video-sync/) | 歌词-视频精准匹配引擎。将MP3中的歌词片段按时间轴精准匹配到对应视频clip,支持歌词提取、时间轴对齐、情绪映射、字幕烧录、音频分段混合。触发词:歌词匹配、lyrics sync、歌词卡点、音频对齐、字幕视频、lyrics video、歌词视频、音乐视频字幕 | Catalog only |
|
||||
| [`mv-generator`](../skills/mv-generator/) | MediaClaw 内置的音乐视频端到端生成技能。 | Catalog only |
|
||||
@@ -523,6 +526,7 @@ Create, edit, repurpose, and publish writing, images, audio, and video.
|
||||
| [`relay-video-gen`](../skills/relay-video-gen/) | Multi-provider video generation with async polling and automatic model fallback | 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文章写作/内容优化 | Catalog only |
|
||||
| [`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… | 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,… | Catalog only |
|
||||
| [`sp-writing-plans`](../skills/sp-writing-plans/) | Create detailed implementation plans with bite-sized tasks for engineers with zero codebase context | Catalog only |
|
||||
| [`summarize`](../skills/summarize/) | Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube). | Catalog only |
|
||||
| [`suno-create`](../skills/suno-create/) | Create songs on Suno.com with custom lyrics and style. Use when user wants to (1) generate AI music on Suno with specific lyrics or theme, (2) create a song in a specific… | Catalog only |
|
||||
@@ -549,11 +553,9 @@ Create, edit, repurpose, and publish writing, images, audio, and video.
|
||||
| [`wechat-article-writer`](../skills/wechat-article-writer/) | 公众号文章自动化写作流程。支持资料搜索、文章撰写、爆款标题生成、排版优化。当用户提到写公众号、微信文章、自媒体写作、爆款文章、内容创作时使用此 | Catalog only |
|
||||
| [`wiki-page-writer`](../skills/wiki-page-writer/) | Generates rich technical documentation pages with dark-mode Mermaid diagrams, source code citations, and first-principles depth. Use when writing documentation, generating wiki… | Catalog only |
|
||||
| [`writing-plans`](../skills/writing-plans/) | Use when you have a spec or requirements for a multi-step task, before touching code | Catalog only |
|
||||
| [`writing-skills`](../skills/writing-skills/) | Use when creating new skills, editing existing skills, or verifying skills work before deployment | Portable required assignment · structure checked · CEO |
|
||||
| [`x-articles`](../skills/x-articles/) | Publish viral X (Twitter) Articles with AI. Long-form content that gets engagement. Proven hook patterns, browser automation. Works with Claude, Cursor, OpenClaw. | Portable required assignment · structure checked · CCO |
|
||||
| [`youtube-automation`](../skills/youtube-automation/) | Automate YouTube tasks via Rube MCP (Composio): upload videos, manage playlists, search content, get analytics, and handle comments. Always search tools first for current schemas. | Catalog only |
|
||||
| [`youtube-factory`](../skills/youtube-factory/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`youtube-knowledge-extractor`](../skills/youtube-knowledge-extractor/) | This skill performs deep analysis of YouTube videos through **both information channels** | Catalog only |
|
||||
|
||||
<a id="sales-crm-customer-success"></a>
|
||||
## 🤝 Sales, CRM & Customer Success
|
||||
@@ -564,6 +566,7 @@ Find, win, onboard, support, and retain customers with accountable workflows.
|
||||
|---|---|---|
|
||||
| [`abm-sales-enablement`](../skills/abm-sales-enablement/) | When the user wants to create sales collateral, pitch decks, one-pagers, objection handling docs, or demo scripts. Also use when the user mentions 'sales deck,' 'pitch deck,'… | Catalog only |
|
||||
| [`account-executive`](../skills/account-executive/) | Expert sales execution covering pipeline management, discovery, demos, negotiation, and deal closing. Use when qualifying opportunities, running MEDDIC discovery, building… | Catalog only |
|
||||
| [`activecampaign-automation`](../skills/activecampaign-automation/) | Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas. | Catalog only |
|
||||
| [`add-lead`](../skills/add-lead/) | Add company/person/relationship to CRM | Catalog only |
|
||||
| [`after-sales`](../skills/after-sales/) | Use when managing post-purchase experience, building customer loyalty, or increasing repeat purchases | Catalog only |
|
||||
| [`change-review`](../skills/change-review/) | Validate CRM/PM changes before PR | Catalog only |
|
||||
@@ -584,8 +587,10 @@ Find, win, onboard, support, and retain customers with accountable workflows.
|
||||
| [`hubspot-automation`](../skills/hubspot-automation/) | Automate HubSpot CRM operations (contacts, companies, deals, tickets, properties) via Rube MCP using Composio integration. | Catalog only |
|
||||
| [`intercom-automation`](../skills/intercom-automation/) | Automate Intercom tasks via Rube MCP (Composio): conversations, contacts, companies, segments, admins. Always search tools first for current schemas. | Catalog only |
|
||||
| [`lead-intelligence`](../skills/lead-intelligence/) | AI-native lead intelligence and outreach pipeline. Replaces Apollo, Clay, and ZoomInfo with agent-powered signal scoring, mutual ranking, warm path discovery, source-derived… | Portable required assignment · structure checked · CEO |
|
||||
| [`linkedin-cdp`](../skills/linkedin-cdp/) | LinkedIn CDP: Input-only automation (mouse, keyboard, screenshots). Zero DOM access. | Catalog only |
|
||||
| [`mass-outreach`](../skills/mass-outreach/) | Multi-channel outreach via Telegram/Email/WhatsApp | Catalog only |
|
||||
| [`negotiation`](../skills/negotiation/) | Tactical negotiation framework based on Chris Voss's "Never Split the Difference." Use when preparing for negotiations, during live negotiation scenarios, analyzing counterpart… | Catalog only |
|
||||
| [`outbound-email-strategy`](../skills/outbound-email-strategy/) | Comprehensive outbound email strategy skill for cold outreach, email sequences, and multi-channel campaigns. Use when writing cold emails, creating outreach sequences, optimizing… | Catalog only |
|
||||
| [`outbound-optimizer`](../skills/outbound-optimizer/) | Use this skill when users need to improve cold outreach, optimize cold emails or DMs, increase response rates, or turn outbound from spam into revenue. Activates for cold… | Catalog only |
|
||||
| [`pipedrive-automation`](../skills/pipedrive-automation/) | Automate Pipedrive CRM operations including deals, contacts, organizations, activities, notes, and pipeline management via Rube MCP (Composio). Always search tools first for… | Catalog only |
|
||||
| [`query-leads`](../skills/query-leads/) | Search, filter, reports on CRM data | Catalog only |
|
||||
@@ -608,6 +613,7 @@ Analyze markets, backtest strategies, track portfolios, and review financial ris
|
||||
|---|---|---|
|
||||
| [`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… | Catalog only |
|
||||
| [`a-fund-monitor`](../skills/a-fund-monitor/) | A股基金净值监控:盘中实时估值 + 盘后实际净值,定时推送到 Telegram。 | Catalog only |
|
||||
| [`a-share-analysis`](../skills/a-share-analysis/) | 此Skill实现了三层分析体系: 1. 情报采集层 — 7路并发多源新闻采集,自动匹配板块和个股 2. 盘面阅读层 — 美股映射 + 大盘多空判断 + 实时主线(>9%题材分析) 3. 个股精选层 — 产业逻辑 + 形态8分类 + 盘口分析 + 题材排名 + 综合评分 4. 原始新闻浏览 (news.py) — 分类展示影响股票的新闻,源信息不做任何修改 | 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… | Catalog only |
|
||||
| [`ai-trader-arena`](../skills/ai-trader-arena/) | AI trading arena, 模型竞技, 多模型交易, trading competition, historical replay, MCP trading, ai4trade | Catalog only |
|
||||
| [`alpha101`](../skills/alpha101/) | WorldQuant 101 Formulaic Alphas — 因子计算、IC测试、回测一体化工具包。 基于Kakushadze (2015) 论文,提供101个价量/波动率/相关性因子的Python/Pandas实现。 Use when: "alpha101", "101因子", "formulaic alphas", "因子回测",… | Catalog only |
|
||||
@@ -617,10 +623,11 @@ 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,… | Catalog only |
|
||||
| [`bankr-signals`](../skills/bankr-signals/) | Transaction-verified trading signals on Base blockchain. Agents publish trades | 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… | Catalog only |
|
||||
| [`binance-trending`](../skills/binance-trending/) | Description needs review; inspect source. | 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… | Catalog only |
|
||||
| [`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… | Catalog only |
|
||||
| [`clanker`](../skills/clanker/) | Plan and review ERC20 deployment with the Clanker SDK. Use for token configuration, vesting, airdrops, rewards, metadata, and transaction preparation on supported EVM chains. | Catalog only · review: external-write, financial-action |
|
||||
| [`cost-optimization`](../skills/cost-optimization/) | Optimize cloud costs through resource rightsizing, tagging strategies, reserved instances, and spending analysis. Use when reducing cloud expenses, analyzing infrastructure… | Portable required assignment · structure checked · COO |
|
||||
| [`company-analyzer`](../skills/company-analyzer/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`crypto-bd-agent`](../skills/crypto-bd-agent/) | This skill teaches AI agents systematic crypto business development: discover | Catalog only |
|
||||
| [`crypto-derivatives-tracker`](../skills/crypto-derivatives-tracker/) | Comprehensive derivatives market analysis across centralized and decentralized exchanges. This skill aggregates funding rates, open interest, liquidat | Catalog only |
|
||||
| [`crypto-hunt`](../skills/crypto-hunt/) | 版本: 6.0 \| 日期: 2026-05-03 \| 风格: 稳健 + 风投双层 | Catalog only |
|
||||
@@ -628,6 +635,7 @@ Analyze markets, backtest strategies, track portfolios, and review financial ris
|
||||
| [`crypto-portfolio-tracker`](../skills/crypto-portfolio-tracker/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`crypto-signal-generator`](../skills/crypto-signal-generator/) | Multi-indicator signal generation system that analyzes price action using 7 technical indicators and produces composite BUY/SELL signals with confiden | Catalog only |
|
||||
| [`daily-portfolio`](../skills/daily-portfolio/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`daily-reflection`](../skills/daily-reflection/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`defi-risk-assessment`](../skills/defi-risk-assessment/) | Framework for evaluating DeFi protocol risk — smart contract audits, TVL analysis, governance structure, oracle dependencies, and token economics. Use when helping users assess… | Catalog only |
|
||||
| [`elon-tweets`](../skills/elon-tweets/) | 你是Quant。独立策略,不受全局新闻风险等级约束。 先用 scanelonmarkets.py 自动发现活跃盘,按结算时间决定分析深度。 | Catalog only |
|
||||
| [`equity`](../skills/equity/) | Model cap tables, dilution scenarios, and vesting schedules for startups. Use when planning fundraising, pricing options, or tracking equity. | Catalog only |
|
||||
@@ -655,18 +663,16 @@ Analyze markets, backtest strategies, track portfolios, and review financial ris
|
||||
| [`polymarket-profit`](../skills/polymarket-profit/) | 围绕 Polymarket 预测市场执行小资金量化交易与收益跟踪策略。 | Harness-specific assignment · generic installer skips · CQO |
|
||||
| [`portfolio-manager`](../skills/portfolio-manager/) | Comprehensive portfolio analysis using Alpaca MCP Server integration to fetch holdings and positions, then analyze asset allocation, risk metrics, individual stock positions,… | Catalog only |
|
||||
| [`position-monitor`](../skills/position-monitor/) | 你是Quant。每小时检查持仓,执行止盈止损/Claim结算。 | Catalog only |
|
||||
| [`quality-convergence-engine`](../skills/quality-convergence-engine/) | Multi-dimensional Quality Acceptance and Problem Convergence Engine - Deeply deconstruct requirements, eliminate extreme defects, define absolutely objective acceptance and… | Portable required assignment · structure checked · GOVERNOR |
|
||||
| [`quant-analyst`](../skills/quant-analyst/) | Build financial models, backtest trading strategies, and analyze market data. Implements risk metrics, portfolio optimization, and statistical arbitrage. Use PROACTIVELY for… | Catalog only |
|
||||
| [`relayer-trade`](../skills/relayer-trade/) | Polymarket链上交易skill。通过Relayer v2 API绕过CLOB geo-block,执行buy(split)/sell(merge+transfer)/redeem/claim。零CLOB依赖,纯链上gasless。Triggers: 'relayer buy', 'relayer sell', 'relayer claim',… | Catalog only · review: credentials, external-write, financial-action |
|
||||
| [`repro-enforcer`](../skills/repro-enforcer/) | Export any bioinformatics analysis as a reproducible bundle with Conda environment, Singularity container definition, and Nextflow pipeline. | Catalog only |
|
||||
| [`senior-pm`](../skills/senior-pm/) | Senior Project Manager for enterprise software, SaaS, and digital transformation projects. Specializes in portfolio management, quantitative risk analysis, resource optimization,… | Catalog only |
|
||||
| [`setting-okrs-goals`](../skills/setting-okrs-goals/) | Help users set effective OKRs and goals. Use when someone is creating quarterly objectives, defining key results, setting team goals, planning annual targets, or struggling with… | Catalog only |
|
||||
| [`sp-scale-game`](../skills/sp-scale-game/) | Test at extremes (1000x bigger/smaller, instant/year-long) to expose fundamental truths hidden at normal scales | Catalog only |
|
||||
| [`sperax-defi-guide`](../skills/sperax-defi-guide/) | Comprehensive guide to DeFi yield farming strategies — lending, liquidity provision, auto-compounding, stablecoin yield, and risk management. Use when helping users find yield,… | Catalog only |
|
||||
| [`startup-financial-modeling`](../skills/startup-financial-modeling/) | Use when the user asks to create financial projections, build a financial model, forecast revenue, calculate burn rate, estimate runway, model cash flow, or do 3-5 year startup… | Catalog only |
|
||||
| [`stripe-automation`](../skills/stripe-automation/) | Automate Stripe tasks via Rube MCP (Composio): customers, charges, subscriptions, invoices, products, refunds. Always search tools first for current schemas. | Catalog only |
|
||||
| [`stripe-webhook`](../skills/stripe-webhook/) | Manage AI Kitchen Pro Stripe webhook — deploy, test, switch test/prod, view logs | Catalog only |
|
||||
| [`technical-analysis`](../skills/technical-analysis/) | Master of price action, chart patterns, and technical indicators - combining classical Wyckoff/Dow theory with modern quantitative validation for edge identificationUse when… | Catalog only |
|
||||
| [`thinking-simon`](../skills/thinking-simon/) | 蒸馏 Jim Simons(文艺复兴科技)思维模式的实用框架:量化思维、大量小交易、数学即优势 | Catalog only |
|
||||
| [`trade-prediction-markets`](../skills/trade-prediction-markets/) | Build and test Polymarket prediction market trading strategies for YES/NO token trading. Provides 6 tools: get_all_prediction_events (browse markets, $0.001),… | Portable required assignment · structure checked · CQO |
|
||||
| [`trading-strategy-backtester`](../skills/trading-strategy-backtester/) | Validate trading strategies against historical data before risking real capital. This skill provides a complete backtesting framework with 8 built-in | Catalog only |
|
||||
| [`whale-alert-monitor`](../skills/whale-alert-monitor/) | Track large cryptocurrency transactions and whale wallet movements across multiple blockchains. Monitor exchange inflows/outflows, manage watchlists, | Catalog only |
|
||||
@@ -680,24 +686,22 @@ Plan work, make decisions, manage teams, and improve operating systems.
|
||||
|---|---|---|
|
||||
| [`blue-blood-culture-codifier`](../skills/blue-blood-culture-codifier/) | 将"蓝血文化"从抽象理念具象化为可传播的故事、仪式、符号和内部语言,让每个成员(硅基/碳基)都能感知、认同并践行。 | Catalog only |
|
||||
| [`brainstorming`](../skills/brainstorming/) | You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design… | Portable required assignment · structure checked · CEO |
|
||||
| [`business-analyst`](../skills/business-analyst/) | Build KPI frameworks, predictive models, real-time dashboards, and strategic recommendations using modern BI tools and AI-powered analytics. Use when the user needs business… | Catalog only |
|
||||
| [`ceo-delegation`](../skills/ceo-delegation/) | CEO式任务委派工作流程。当收到任何任务时使用此流程:不亲自执行,而是派发子代理执行、监控进度、汇报、验收。适用于需要高效并行处理多任务的场景。 | Catalog only |
|
||||
| [`company-analyzer`](../skills/company-analyzer/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`company-wiki`](../skills/company-wiki/) | Company knowledge base — domains, services, infrastructure, accounts, credentials locations, architecture decisions | Catalog only |
|
||||
| [`create-project`](../skills/create-project/) | Create new project with breakdown | Catalog only |
|
||||
| [`cross-team-comm`](../skills/cross-team-comm/) | 通过 Tailscale、SSH、Gateway API 与 sessions_send 实现跨团队、跨实例的 OpenClaw 协作通信。 | Catalog only |
|
||||
| [`cto-advisor`](../skills/cto-advisor/) | Technical leadership guidance for engineering teams, architecture decisions, and technology strategy. Includes tech debt analyzer, team scaling calculator, engineering metrics… | Catalog only |
|
||||
| [`daily-briefing`](../skills/daily-briefing/) | Morning briefing: tasks + email + follow-ups | Catalog only |
|
||||
| [`daily-reflection`](../skills/daily-reflection/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`daily-trending`](../skills/daily-trending/) | 获取今日热榜,从tophub.today抓取各平台热搜榜单。当用户询问"今天有什么热搜"、"热榜"、"微博热搜"时触发。 | Catalog only |
|
||||
| [`delegation`](../skills/delegation/) | Architecture-first workflow for delegating complex projects to AI coding agents. Ensures code fits the system before it's written. | Catalog only |
|
||||
| [`first-principles-thinking`](../skills/first-principles-thinking/) | Socratic coach for breaking down problems to fundamental truths. Use when users want to think through a problem deeply, challenge assumptions, or find innovative solutions.… | Catalog only |
|
||||
| [`linkedin-inbound-run`](../skills/linkedin-inbound-run/) | Automatic inbound LinkedIn message processing | Catalog only |
|
||||
| [`market-nightly-evolution`](../skills/market-nightly-evolution/) | Nightly market evolution report — overnight market analysis and strategy prep | Catalog only |
|
||||
| [`meeting-insights-analyzer`](../skills/meeting-insights-analyzer/) | Analyzes meeting transcripts and recordings to uncover behavioral patterns, communication insights, and actionable feedback. Identifies when you avoid conflict, use filler words,… | Portable required assignment · structure checked · CEO |
|
||||
| [`meeting-notes`](../skills/meeting-notes/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`okr`](../skills/okr/) | 基于流行 OKR 体系管理智能体目标(O)与关键结果(KR)。当用户提到目标管理、季度计划、OKR、关键结果、复盘、评分、经验沉淀时使用,并将信息维护到 memory/okr.md。 | Harness-specific assignment · generic installer skips · CEO, GOVERNOR |
|
||||
| [`pm-done`](../skills/pm-done/) | Mark task done + schedule follow-up | Catalog only |
|
||||
| [`pricing-strategy`](../skills/pricing-strategy/) | When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,'… | Catalog only |
|
||||
| [`prioritization-funnel`](../skills/prioritization-funnel/) | Evaluate and prioritize opportunities through a structured filtering process. Use for resource allocation, strategic decision support, and project management. | Portable required assignment · structure checked · CEO |
|
||||
| [`process-analyst`](../skills/process-analyst/) | Process analysis, gap finding, human dialogue, spec generation | Catalog only |
|
||||
| [`project-autoloop`](../skills/project-autoloop/) | Project autoloop engine — cron-driven automated project iteration with CEO coordination | Catalog only |
|
||||
| [`project-management`](../skills/project-management/) | 项目管理和产品需求分析。当用户需要制定项目计划、编写 PRD 文档、管理任务或进行需求分析时使用此技能。 | Catalog only |
|
||||
@@ -705,6 +709,8 @@ Plan work, make decisions, manage teams, and improve operating systems.
|
||||
| [`ralph-ceo-loop`](../skills/ralph-ceo-loop/) | 以持续计划-执行-检查-重试循环驱动项目推进,直到开发、部署与验收目标完成。 | Catalog only |
|
||||
| [`scrum-master`](../skills/scrum-master/) | Advanced Scrum Master with data-driven team health analysis, velocity forecasting, retrospective insights, and team development expertise. Features comprehensive sprint health… | Catalog only |
|
||||
| [`seq-wrangler`](../skills/seq-wrangler/) | Sequence QC, alignment, and BAM processing. Wraps FastQC, BWA/Bowtie2, SAMtools for automated read-to-BAM pipelines. | Catalog only |
|
||||
| [`setting-okrs-goals`](../skills/setting-okrs-goals/) | Help users set effective OKRs and goals. Use when someone is creating quarterly objectives, defining key results, setting team goals, planning annual targets, or struggling with… | Catalog only |
|
||||
| [`skill-gap-analyzer`](../skills/skill-gap-analyzer/) | 将军团战略蓝图与现有Agent能力矩阵进行对比,自动识别"能力鸿沟",并发起招聘(硅基/碳基猎取)或培训(进化路径)需求。 | Catalog only |
|
||||
| [`sp-brainstorming`](../skills/sp-brainstorming/) | Interactive idea refinement using Socratic method to develop fully-formed designs | Catalog only |
|
||||
| [`startup-analyst`](../skills/startup-analyst/) | Expert startup business analysis for market sizing, financial modeling, competitive analysis, and strategic planning. Use PROACTIVELY when the user asks about TAM/SAM/SOM,… | Catalog only |
|
||||
| [`startup-business-analyst-business-case`](../skills/startup-business-analyst-business-case/) | Description needs review; inspect source. | Catalog only |
|
||||
@@ -712,7 +718,6 @@ Plan work, make decisions, manage teams, and improve operating systems.
|
||||
| [`tailored-resume-generator`](../skills/tailored-resume-generator/) | Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances | Catalog only |
|
||||
| [`task-prioritization`](../skills/task-prioritization/) | Task prioritization and scoring | Catalog only |
|
||||
| [`task-status`](../skills/task-status/) | Send short status descriptions in chat for long-running tasks. Use when you need to provide periodic updates during multi-step operations, confirm task completion, or notify of… | Catalog only |
|
||||
| [`task-supervisor`](../skills/task-supervisor/) | 定时巡检 agent 任务执行状态,识别卡住、abort、无产出等异常并触发催促或告警。 | Catalog only |
|
||||
| [`team-coordinator`](../skills/team-coordinator/) | 团队协调与智能任务分配。作为高管,将用户任务拆解并分配给最合适的员工 agent 执行,协调多 agent 并行协作,汇总审核产出。 | Harness-specific assignment · generic installer skips · CEO |
|
||||
| [`team-daily-report`](../skills/team-daily-report/) | 自动汇总团队内 agent、cron、skill 进展与关键事件,生成并推送结构化日报。 | Catalog only |
|
||||
| [`team-foreman`](../skills/team-foreman/) | 问题:每次巡检信息不同步,重复催促已完成的任务。 方案:以 git log + progress 文件 + CEO memory 为进度真相源。 | Catalog only |
|
||||
@@ -744,11 +749,11 @@ Plan work, make decisions, manage teams, and improve operating systems.
|
||||
| [`thinking-ogilvy`](../skills/thinking-ogilvy/) | 蒸馏David Ogilvy思维模式的实用框架——广告教父、调研驱动、大创意、品牌形象 | Catalog only |
|
||||
| [`thinking-ray-dalio`](../skills/thinking-ray-dalio/) | 蒸馏Ray Dalio思维模式的实用框架——原则体系、经济机器、极度透明 | Catalog only |
|
||||
| [`thinking-seth-godin`](../skills/thinking-seth-godin/) | 蒸馏Seth Godin思维模式的实用框架——紫牛法则、许可营销、最小可行受众 | Catalog only |
|
||||
| [`thinking-simon`](../skills/thinking-simon/) | 蒸馏 Jim Simons(文艺复兴科技)思维模式的实用框架:量化思维、大量小交易、数学即优势 | Catalog only |
|
||||
| [`thinking-steve-jobs`](../skills/thinking-steve-jobs/) | 蒸馏Steve Jobs思维模式的实用框架。当需要极简设计、用户体验偏执、产品哲学式思考时激活。 | Catalog only |
|
||||
| [`thinking-warren-buffett`](../skills/thinking-warren-buffett/) | 蒸馏Warren Buffett思维模式的实用框架——价值投资、能力圈、护城河、安全边际、反向思考 | Catalog only |
|
||||
| [`thinking-yingshi-juufeng`](../skills/thinking-yingshi-juufeng/) | 蒸馏影视飓风Tim思维模式的实用框架——视觉叙事、技术科普平民化、B站爆款方法论 | Catalog only |
|
||||
| [`todo-tracker`](../skills/todo-tracker/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`vp-cpo-readiness-advisor`](../skills/vp-cpo-readiness-advisor/) | Coaches Directors and executives through the transition to VP or CPO across four situations: preparing, interviewing, newly landed, or recalibrating at executive level. | Catalog only |
|
||||
| [`weekly-review`](../skills/weekly-review/) | 你是Quant。每周一做周度绩效统计和策略调整。 | Catalog only |
|
||||
|
||||
<a id="apps-workflow-automation"></a>
|
||||
@@ -758,6 +763,7 @@ Connect everyday apps, browsers, messaging systems, and repeatable workflows.
|
||||
|
||||
| Skill | What it helps with | Support / review signals |
|
||||
|---|---|---|
|
||||
| [`agent-browser`](../skills/agent-browser/) | A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands. | Catalog only |
|
||||
| [`airtable-automation`](../skills/airtable-automation/) | Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views. Always search tools first for current schemas. | Catalog only |
|
||||
| [`amplitude-automation`](../skills/amplitude-automation/) | Automate Amplitude tasks via Rube MCP (Composio): events, user activity, cohorts, user identification. Always search tools first for current schemas. | Catalog only |
|
||||
| [`asana-automation`](../skills/asana-automation/) | Automate Asana tasks via Rube MCP (Composio): tasks, projects, sections, teams, workspaces. Always search tools first for current schemas. | Catalog only |
|
||||
@@ -778,8 +784,8 @@ Connect everyday apps, browsers, messaging systems, and repeatable workflows.
|
||||
| [`coda-automation`](../skills/coda-automation/) | Automate Coda tasks via Rube MCP (Composio): manage docs, pages, tables, rows, formulas, permissions, and publishing. Always search tools first for current schemas. | Catalog only |
|
||||
| [`confluence-automation`](../skills/confluence-automation/) | Automate Confluence page creation, content search, space management, labels, and hierarchy navigation via Rube MCP (Composio). Always search tools first for current schemas. | Catalog only |
|
||||
| [`convertkit-automation`](../skills/convertkit-automation/) | Automate ConvertKit (Kit) tasks via Rube MCP (Composio): manage subscribers, tags, broadcasts, and broadcast stats. Always search tools first for current schemas. | Catalog only |
|
||||
| [`cua-driver`](../skills/cua-driver/) | Drive a native GUI app (macOS, Windows, Linux) via the cua-driver CLI (default) or MCP server — snapshot its accessibility tree, click/type/scroll by element_index or pixel… | Catalog only |
|
||||
| [`discord-automation`](../skills/discord-automation/) | Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions. Always search tools first for current schemas. | 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… | Catalog only |
|
||||
| [`docusign-automation`](../skills/docusign-automation/) | Automate DocuSign tasks via Rube MCP (Composio): templates, envelopes, signatures, document management. Always search tools first for current schemas. | Catalog only |
|
||||
| [`dropbox-automation`](../skills/dropbox-automation/) | Automate Dropbox file management, sharing, search, uploads, downloads, and folder operations via Rube MCP (Composio). Always search tools first for current schemas. | Catalog only |
|
||||
| [`email-automation`](../skills/email-automation/) | 邮箱自动化:读取、搜索、草拟和发送邮件,支持 Gmail API 以及通用 IMAP/SMTP 流程。 | Catalog only |
|
||||
@@ -788,10 +794,10 @@ Connect everyday apps, browsers, messaging systems, and repeatable workflows.
|
||||
| [`email-read`](../skills/email-read/) | Read inbox and sent via Gmail API | Catalog only |
|
||||
| [`email-send-bulk`](../skills/email-send-bulk/) | Gmail API bulk email sending | Catalog only · review: credentials, external-write, personal-data |
|
||||
| [`email-send-direct`](../skills/email-send-direct/) | Single email: dry-run, reply, attachments | Catalog only · review: credentials, external-write, personal-data |
|
||||
| [`fabric-pattern`](../skills/fabric-pattern/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`facebook-automation`](../skills/facebook-automation/) | Automate Facebook tasks via Rube MCP (Composio): pages, posts, insights, comments, and ad accounts. Always search tools first for current schemas. | Catalog only |
|
||||
| [`fast-browser-use`](../skills/fast-browser-use/) | Use when the user wants extremely fast browser automation via fast-browser-use / fbu, especially for DOM-heavy pages, fast extraction, or browser tasks on macOS/Linux with Chrome… | Catalog only |
|
||||
| [`github-automation`](../skills/github-automation/) | 自动化 GitHub 操作。当用户需要推送代码到 GitHub、管理仓库、创建 PR、处理 Issue、git push 失败时使用此技能。优先使用 mcporter call github.push_files 而不是 git push。 | Portable required assignment · structure checked · CTO · review: credentials, external-write, system-change |
|
||||
| [`gitlab-automation`](../skills/gitlab-automation/) | Automate GitLab project management, issues, merge requests, pipelines, branches, and user operations via Rube MCP (Composio). Always search tools first for current schemas. | Catalog only |
|
||||
| [`gmail-automation`](../skills/gmail-automation/) | Automate Gmail tasks via Rube MCP (Composio): send/reply, search, labels, drafts, attachments. Always search tools first for current schemas. | Catalog only |
|
||||
| [`google-calendar-automation`](../skills/google-calendar-automation/) | Automate Google Calendar events, scheduling, availability checks, and attendee management via Rube MCP (Composio). Create events, find free slots, manage attendees, and list… | Catalog only |
|
||||
| [`google-drive`](../skills/google-drive/) | Upload files, create folders, list and search Google Drive via CLI | Catalog only |
|
||||
@@ -800,10 +806,10 @@ Connect everyday apps, browsers, messaging systems, and repeatable workflows.
|
||||
| [`hr-automation`](../skills/hr-automation/) | HR workflow automation - recruiting, onboarding, employee management, and offboarding processes | Catalog only |
|
||||
| [`instagram-automation`](../skills/instagram-automation/) | Automate Instagram tasks via Rube MCP (Composio): create posts, carousels, manage media, get insights, and publishing limits. Always search tools first for current schemas. | Catalog only |
|
||||
| [`jira-automation`](../skills/jira-automation/) | Automate Jira tasks via Rube MCP (Composio): issues, projects, sprints, boards, comments, users. Always search tools first for current schemas. | Catalog only |
|
||||
| [`kanbanflow-skill`](../skills/kanbanflow-skill/) | Manage KanbanFlow boards, columns, and tasks for lightweight workflow | Catalog only |
|
||||
| [`klaviyo-automation`](../skills/klaviyo-automation/) | Automate Klaviyo tasks via Rube MCP (Composio): manage email/SMS campaigns, inspect campaign messages, track tags, and monitor send jobs. Always search tools first for current… | Catalog only |
|
||||
| [`linear-automation`](../skills/linear-automation/) | Automate Linear tasks via Rube MCP (Composio): issues, projects, cycles, teams, labels. Always search tools first for current schemas. | Catalog only |
|
||||
| [`linkedin-automation`](../skills/linkedin-automation/) | Automate LinkedIn tasks via Rube MCP (Composio): create posts, manage profile, company info, comments, and image uploads. Always search tools first for current schemas. | Catalog only |
|
||||
| [`linkedin-cdp`](../skills/linkedin-cdp/) | LinkedIn CDP: Input-only automation (mouse, keyboard, screenshots). Zero DOM access. | Catalog only |
|
||||
| [`mailchimp-automation`](../skills/mailchimp-automation/) | Automate Mailchimp email marketing including campaigns, audiences, subscribers, segments, and analytics via Rube MCP (Composio). Always search tools first for current schemas. | Catalog only |
|
||||
| [`make-automation`](../skills/make-automation/) | Automate Make (Integromat) tasks via Rube MCP (Composio): operations, enums, language and timezone lookups. Always search tools first for current schemas. | Catalog only |
|
||||
| [`microsoft-teams-automation`](../skills/microsoft-teams-automation/) | Automate Microsoft Teams tasks via Rube MCP (Composio): send messages, manage channels, create meetings, handle chats, and search messages. Always search tools first for current… | Catalog only |
|
||||
@@ -812,7 +818,6 @@ Connect everyday apps, browsers, messaging systems, and repeatable workflows.
|
||||
| [`monday-automation`](../skills/monday-automation/) | Automate Monday.com work management including boards, items, columns, groups, subitems, and updates via Rube MCP (Composio). Always search tools first for current schemas. | Catalog only |
|
||||
| [`notion-automation`](../skills/notion-automation/) | 自动化 Notion 操作。当用户需要管理 Notion 页面、数据库、块内容、项目跟踪或进行内容组织和搜索时使用此技能。 | Catalog only |
|
||||
| [`one-drive-automation`](../skills/one-drive-automation/) | Automate OneDrive file management, search, uploads, downloads, sharing, permissions, and folder operations via Rube MCP (Composio). Always search tools first for current schemas. | Catalog only |
|
||||
| [`outbound-email-strategy`](../skills/outbound-email-strategy/) | Comprehensive outbound email strategy skill for cold outreach, email sequences, and multi-channel campaigns. Use when writing cold emails, creating outreach sequences, optimizing… | Catalog only |
|
||||
| [`outlook-automation`](../skills/outlook-automation/) | Automate Outlook tasks via Rube MCP (Composio): emails, calendar, contacts, folders, attachments. Always search tools first for current schemas. | Catalog only |
|
||||
| [`pagerduty-automation`](../skills/pagerduty-automation/) | Automate PagerDuty tasks via Rube MCP (Composio): manage incidents, services, schedules, escalation policies, and on-call rotations. Always search tools first for current schemas. | Catalog only |
|
||||
| [`playwright-automation`](../skills/playwright-automation/) | Playwright 浏览器自动化。用于自动化爬虫、数据采集、表单填写、UI 测试等需要浏览器自动化的场景。无需人工干预,适合 cron 定时任务。 | Catalog only |
|
||||
@@ -903,48 +908,45 @@ Domain-specific helpers and cross-functional tools that need a dedicated review
|
||||
|---|---|---|
|
||||
| [`bat-cat`](../skills/bat-cat/) | A cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat. | Catalog only |
|
||||
| [`bazi-fortune`](../skills/bazi-fortune/) | 八字四柱命理分析工具,属于 fortune-telling-skills 运势测算套件。基于子平真诠体系, 通过出生年月日时推算四柱八字、十神关系、五行旺衰、大运流年,揭示命局格局和人生走向。 排盘为确定性计算 + LLM 综合解读,无外部 API 依赖。 触发词:八字、四柱、命理、生辰八字、bazi、八字排盘、五行、命局分析。… | Catalog only |
|
||||
| [`binance-trending`](../skills/binance-trending/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`channel-truth-run`](../skills/channel-truth-run/) | Automatic channel and contact synchronization | Catalog only |
|
||||
| [`claw-metagenomics`](../skills/claw-metagenomics/) | Shotgun metagenomics profiling — taxonomy, resistome, and functional pathways | Catalog only |
|
||||
| [`composio-sdk`](../skills/composio-sdk/) | Build AI agents and apps with Composio - access 200+ external tools with Tool Router or direct execution | Catalog only |
|
||||
| [`continuous-learning-v2`](../skills/continuous-learning-v2/) | Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents. v2.1 adds… | Catalog only |
|
||||
| [`deepwork-tracker`](../skills/deepwork-tracker/) | Track deep work sessions locally (start/stop/status) and generate a GitHub-contribution-graph style minutes-per-day heatmap for sharing (e.g., via Telegram). Use when the user… | Catalog only |
|
||||
| [`erc-8004`](../skills/erc-8004/) | Register AI agents on Ethereum mainnet using ERC-8004 (Trustless Agents). Use when the user wants to register their agent identity on-chain, create an agent profile, claim an… | Catalog only |
|
||||
| [`executing-plans`](../skills/executing-plans/) | Use when you have a written implementation plan to execute in a separate session with review checkpoints | Portable required assignment · structure checked · CEO |
|
||||
| [`file-organizer`](../skills/file-organizer/) | Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks.… | Catalog only |
|
||||
| [`google-auth`](../skills/google-auth/) | Google OAuth setup, refresh tokens | Catalog only |
|
||||
| [`healthcare-monitor`](../skills/healthcare-monitor/) | 医疗行业企业融资监控系统。实时监控医疗健康企业的工商变更,识别融资信号,自动推送告警。支持天眼查/企查查数据采集、AI融资判断、多渠道推送。 | 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… | Catalog only |
|
||||
| [`jimeng-digital-human`](../skills/jimeng-digital-human/) | 即梦AI数字人视频生成全流程自动化。通过浏览器自动化操控 jimeng.jianying.com 数字人界面,完成角色上传、音色选择、台词填入、视频生成和下载。触发场景:用户需要生成数字人视频、即梦数字人、AI数字人口播视频、数字人视频制作。依赖 jimeng-login skill 处理登录。 | Harness-specific assignment · generic installer skips · CCO |
|
||||
| [`jimeng-login`](../skills/jimeng-login/) | 即梦AI平台(jimeng.jianying.com)浏览器登录。当需要操作即梦数字人、视频生成等功能前检测到未登录时触发。处理协议同意、抖音OAuth扫码、登录态持久化。 | Harness-specific assignment · generic installer skips · CCO |
|
||||
| [`jimeng-storyboard`](../skills/jimeng-storyboard/) | 将口播视频剧本拆解为即梦AI数字人平台的分镜头脚本。输出格式为每个镜头的角色说(台词)和动作描述(镜头语言/数字人动作),适配即梦 jimeng.jianying.com 数字人视频生成界面。触发场景:用户需要生成口播视频分镜、数字人视频剧本拆解、即梦分镜脚本、短视频口播脚本分镜、数字人台词加动作拆分。 | Portable required assignment · structure checked · CCO |
|
||||
| [`kanxiang`](../skills/kanxiang/) | 看相分析技能。通过用户上传的人体部位图片,识别图片类型(面相/手相/体相/骨相),调用相应的相术规则知识库,结合图片内容进行专业分析。支持面相(五官、三庭、十二宫)、手相(掌线、指形、掌丘)、骨相(头骨、体骨、九骨)、体相(体型、体态、气质)的综合分析。基于《麻衣神相》《柳庄相法》《神相全编》《水镜神相》《冰鉴》等经典相书整理。 | Catalog only |
|
||||
| [`liuyao`](../skills/liuyao/) | 六爻铜钱卦占卜技能。核心理念:"解一卦就是传一道,说一言就是传一智"。支持真实/虚拟起卦,集成儒道哲学。 | Catalog only |
|
||||
| [`market-intelligence`](../skills/market-intelligence/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`liuyao-yijing`](../skills/liuyao-yijing/) | 六爻易经占卜器,基于京房纳甲体系,模拟铜钱起卦,完成纳甲装卦(天干地支、世应、六亲、六神), 通过用神旺衰和生克制化断卦。当用户提及「六爻」「易经占卜」「铜钱起卦」「纳甲」「帮我起一卦」 「六爻预测」时触发。装卦为确定性计算 + LLM 综合断卦,无外部 API 依赖。 不适用于:梅花易数、奇门遁甲、星座运势、塔罗占卜、八字命理等其他领域 → 建议使用… | Catalog only |
|
||||
| [`mcstatus`](../skills/mcstatus/) | 生成 Agent 与 Cron 的模型配置状态报告,展示主模型、fallback 链和任务分配情况。 | Catalog only |
|
||||
| [`multimodal-gen`](../skills/multimodal-gen/) | 多模态内容生成(图片、视频)。当用户需要生成图片、生成图像、生成视频、AI绘画、AI作图、画一张图、做个视频、文生图、文生视频时使用此技能。自动调用 multimodal-agent 进行生成。 | Catalog only |
|
||||
| [`nutrigx_advisor`](../skills/nutrigx_advisor/) | Nutrigenomics advisor — personalized nutrition guidance based on genetic profiles | Catalog only |
|
||||
| [`openhr`](../skills/openhr/) | Boss直聘全流程AI自动化招聘智能体。自动登录、筛选候选人、个性化打招呼、智能聊天跟进、简历解析、飞书同步。触发词:启动招聘、自动打招呼、boss greet、openhr、简历解析、上传飞书。 | Catalog only · review: credentials, external-write, personal-data |
|
||||
| [`polyclaw`](../skills/polyclaw/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`quality-convergence-engine`](../skills/quality-convergence-engine/) | Multi-dimensional Quality Acceptance and Problem Convergence Engine - Deeply deconstruct requirements, eliminate extreme defects, define absolutely objective acceptance and… | Portable required assignment · structure checked · GOVERNOR |
|
||||
| [`raffle-winner-picker`](../skills/raffle-winner-picker/) | Picks random winners from lists, spreadsheets, or Google Sheets for giveaways, raffles, and contests. Ensures fair, unbiased selection with transparency. | Catalog only |
|
||||
| [`ralph`](../skills/ralph/) | Use when the user explicitly asks to use Ralph mode for persistent plan-execute-check-retry loops that keep going until the target outcome is achieved. | Catalog only |
|
||||
| [`remote-ollama-gpu-scheduler`](../skills/remote-ollama-gpu-scheduler/) | 调度远程 Ollama GPU 资源执行批量 embedding 或推理任务,提升多机环境下的算力利用率。 | Catalog only |
|
||||
| [`shrimp-coach`](../skills/shrimp-coach/) | 训练垂直领域 agent 的教练型 skill,用于按宪章、手册和复盘机制持续提升 agent 能力。 | Catalog only |
|
||||
| [`silicon-performance-reviewer`](../skills/silicon-performance-reviewer/) | Quarterly Silicon Agent performance evaluation with ByteDance-style calibration, forced distribution ranking, dual-track (technical/management) assessment, and automated score… | Harness-specific assignment · generic installer skips · GOVERNOR |
|
||||
| [`soushen-hunter`](../skills/soushen-hunter/) | Description needs review; inspect source. | Catalog only |
|
||||
| [`skillforge`](../skills/skillforge/) | Intelligent skill router and creator. Analyzes ANY input to recommend existing skills, improve them, or create new ones. Uses deep iterative analysis with 11 thinking models,… | Catalog only |
|
||||
| [`sp-collision-zone-thinking`](../skills/sp-collision-zone-thinking/) | Force unrelated concepts together to discover emergent properties - "What if we treated X like Y?" | Catalog only |
|
||||
| [`sp-condition-based-waiting`](../skills/sp-condition-based-waiting/) | Replace arbitrary timeouts with condition polling for reliable async tests | Portable required assignment · structure checked · PE |
|
||||
| [`sp-executing-plans`](../skills/sp-executing-plans/) | Execute detailed plans in batches with review checkpoints | Catalog only |
|
||||
| [`sp-inversion-exercise`](../skills/sp-inversion-exercise/) | Flip core assumptions to reveal hidden constraints and alternative approaches - "what if the opposite were true?" | Catalog only |
|
||||
| [`sp-meta-pattern-recognition`](../skills/sp-meta-pattern-recognition/) | Spot patterns appearing in 3+ domains to find universal principles | Catalog only |
|
||||
| [`sp-root-cause-tracing`](../skills/sp-root-cause-tracing/) | Systematically trace bugs backward through call stack to find original trigger | Harness-specific assignment · generic installer skips · COO |
|
||||
| [`sp-simplification-cascades`](../skills/sp-simplification-cascades/) | Find one insight that eliminates multiple components - "if this is true, we don't need X, Y, or Z" | Catalog only |
|
||||
| [`sp-verification-before-completion`](../skills/sp-verification-before-completion/) | Run verification commands and confirm output before claiming success | Portable required assignment · structure checked · COO |
|
||||
| [`sp-when-stuck`](../skills/sp-when-stuck/) | Dispatch to the right problem-solving technique based on how you're stuck | Catalog only |
|
||||
| [`struct-predictor`](../skills/struct-predictor/) | Local protein structure prediction with AlphaFold, Boltz, or Chai. Compare predicted structures, compute RMSD, visualise 3D models. | Catalog only |
|
||||
| [`tcm-meridian-inference`](../skills/tcm-meridian-inference/) | TCM meridian inference engine — health scoring from 6-meridian measurements | Catalog only |
|
||||
| [`timezone`](../skills/timezone/) | Local time detection, timezone conversion | Catalog only |
|
||||
| [`twitter-algorithm-optimizer`](../skills/twitter-algorithm-optimizer/) | Analyze and optimize tweets for maximum reach using Twitter's open-source algorithm insights. Rewrite and edit user tweets to improve engagement and visibility based on how the… | Catalog only |
|
||||
| [`using-superpowers`](../skills/using-superpowers/) | Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions | Catalog only |
|
||||
| [`vp-cpo-readiness-advisor`](../skills/vp-cpo-readiness-advisor/) | Coaches Directors and executives through the transition to VP or CPO across four situations: preparing, interviewing, newly landed, or recalibrating at executive level. | Catalog only |
|
||||
| [`yijing-divination`](../skills/yijing-divination/) | 易经占卜系统。支持铜钱法、蓍草法起卦,生成本卦、互卦、变卦,提供Oracle Voice诠释。当用户请求占卜、问卦、易经解读、或寻求决策指引时使用。 | Catalog only |
|
||||
|
||||
## 🛡️ Support, portability, and evidence boundary
|
||||
|
||||
+1520
-2220
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,377 @@
|
||||
{
|
||||
"$schema": "../config/skill-taxonomy-evaluation.schema.json",
|
||||
"annotationMode": "independent-agent-manual-review",
|
||||
"categoryCount": 14,
|
||||
"errors": [
|
||||
{
|
||||
"expected_category": "apps-workflow-automation",
|
||||
"predicted_category": "data-analytics-research",
|
||||
"skill_id": "documents",
|
||||
"split": "validation"
|
||||
},
|
||||
{
|
||||
"expected_category": "business-operations-strategy",
|
||||
"predicted_category": "apps-workflow-automation",
|
||||
"skill_id": "hr-automation",
|
||||
"split": "validation"
|
||||
},
|
||||
{
|
||||
"expected_category": "data-analytics-research",
|
||||
"predicted_category": "content-media-publishing",
|
||||
"skill_id": "image-scraper",
|
||||
"split": "validation"
|
||||
},
|
||||
{
|
||||
"expected_category": "finance-trading-markets",
|
||||
"predicted_category": "general-utilities",
|
||||
"skill_id": "polyclaw",
|
||||
"split": "validation"
|
||||
},
|
||||
{
|
||||
"expected_category": "product-design-ux",
|
||||
"predicted_category": "business-operations-strategy",
|
||||
"skill_id": "thinking-steve-jobs",
|
||||
"split": "validation"
|
||||
}
|
||||
],
|
||||
"gates": {
|
||||
"accuracyAtLeast80": true,
|
||||
"allCategoriesRepresented": true,
|
||||
"macroF1AtLeast80": true,
|
||||
"passed": true,
|
||||
"sampleAtLeast140": true,
|
||||
"validationAccuracyAtLeast75": true,
|
||||
"validationAllCategoriesRepresented": true,
|
||||
"validationMacroF1AtLeast75": true
|
||||
},
|
||||
"goldSetSha256": "73dfedf806ba9b8a0c3b1b336209ad825312af6ede51c993ce03199352058933",
|
||||
"humanApproved": false,
|
||||
"metrics": {
|
||||
"accuracy": 0.9642857142857143,
|
||||
"accuracyWilsonLower95": 0.919123,
|
||||
"correct": 135,
|
||||
"macro_f1": 0.956325222396651,
|
||||
"per_category": {
|
||||
"ai-agents-orchestration": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 15,
|
||||
"recall": 1.0,
|
||||
"support": 15
|
||||
},
|
||||
"apps-workflow-automation": {
|
||||
"f1": 0.9,
|
||||
"precision": 0.9,
|
||||
"predicted": 10,
|
||||
"recall": 0.9,
|
||||
"support": 10
|
||||
},
|
||||
"business-operations-strategy": {
|
||||
"f1": 0.875,
|
||||
"precision": 0.875,
|
||||
"predicted": 8,
|
||||
"recall": 0.875,
|
||||
"support": 8
|
||||
},
|
||||
"chinese-platform-workflows": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 10,
|
||||
"recall": 1.0,
|
||||
"support": 10
|
||||
},
|
||||
"cloud-devops-reliability": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 13,
|
||||
"recall": 1.0,
|
||||
"support": 13
|
||||
},
|
||||
"content-media-publishing": {
|
||||
"f1": 0.952381,
|
||||
"precision": 0.909091,
|
||||
"predicted": 11,
|
||||
"recall": 1.0,
|
||||
"support": 10
|
||||
},
|
||||
"data-analytics-research": {
|
||||
"f1": 0.928571,
|
||||
"precision": 0.928571,
|
||||
"predicted": 14,
|
||||
"recall": 0.928571,
|
||||
"support": 14
|
||||
},
|
||||
"finance-trading-markets": {
|
||||
"f1": 0.952381,
|
||||
"precision": 1.0,
|
||||
"predicted": 10,
|
||||
"recall": 0.909091,
|
||||
"support": 11
|
||||
},
|
||||
"general-utilities": {
|
||||
"f1": 0.923077,
|
||||
"precision": 0.857143,
|
||||
"predicted": 7,
|
||||
"recall": 1.0,
|
||||
"support": 6
|
||||
},
|
||||
"marketing-seo-growth": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 6,
|
||||
"recall": 1.0,
|
||||
"support": 6
|
||||
},
|
||||
"product-design-ux": {
|
||||
"f1": 0.857143,
|
||||
"precision": 1.0,
|
||||
"predicted": 3,
|
||||
"recall": 0.75,
|
||||
"support": 4
|
||||
},
|
||||
"sales-crm-customer-success": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 13,
|
||||
"recall": 1.0,
|
||||
"support": 13
|
||||
},
|
||||
"security-privacy-legal": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 9,
|
||||
"recall": 1.0,
|
||||
"support": 9
|
||||
},
|
||||
"software-engineering": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 11,
|
||||
"recall": 1.0,
|
||||
"support": 11
|
||||
}
|
||||
},
|
||||
"total": 140
|
||||
},
|
||||
"reviewedSetAgreementScore": 95,
|
||||
"runtimeEvidenceIncluded": false,
|
||||
"sampleSize": 140,
|
||||
"schemaVersion": 1,
|
||||
"scoreSemantics": "floored minimum of exact accuracy and macro-F1 on the fixed, manually reviewed Gold Set; not an inventory-wide confidence interval",
|
||||
"splits": {
|
||||
"development": {
|
||||
"accuracy": 1.0,
|
||||
"accuracyWilsonLower95": 0.966839,
|
||||
"correct": 112,
|
||||
"macro_f1": 1.0,
|
||||
"per_category": {
|
||||
"ai-agents-orchestration": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 11,
|
||||
"recall": 1.0,
|
||||
"support": 11
|
||||
},
|
||||
"apps-workflow-automation": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 9,
|
||||
"recall": 1.0,
|
||||
"support": 9
|
||||
},
|
||||
"business-operations-strategy": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 6,
|
||||
"recall": 1.0,
|
||||
"support": 6
|
||||
},
|
||||
"chinese-platform-workflows": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 8,
|
||||
"recall": 1.0,
|
||||
"support": 8
|
||||
},
|
||||
"cloud-devops-reliability": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 10,
|
||||
"recall": 1.0,
|
||||
"support": 10
|
||||
},
|
||||
"content-media-publishing": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 9,
|
||||
"recall": 1.0,
|
||||
"support": 9
|
||||
},
|
||||
"data-analytics-research": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 12,
|
||||
"recall": 1.0,
|
||||
"support": 12
|
||||
},
|
||||
"finance-trading-markets": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 8,
|
||||
"recall": 1.0,
|
||||
"support": 8
|
||||
},
|
||||
"general-utilities": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 5,
|
||||
"recall": 1.0,
|
||||
"support": 5
|
||||
},
|
||||
"marketing-seo-growth": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 4,
|
||||
"recall": 1.0,
|
||||
"support": 4
|
||||
},
|
||||
"product-design-ux": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 2,
|
||||
"recall": 1.0,
|
||||
"support": 2
|
||||
},
|
||||
"sales-crm-customer-success": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 11,
|
||||
"recall": 1.0,
|
||||
"support": 11
|
||||
},
|
||||
"security-privacy-legal": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 8,
|
||||
"recall": 1.0,
|
||||
"support": 8
|
||||
},
|
||||
"software-engineering": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 9,
|
||||
"recall": 1.0,
|
||||
"support": 9
|
||||
}
|
||||
},
|
||||
"total": 112
|
||||
},
|
||||
"validation": {
|
||||
"accuracy": 0.8214285714285714,
|
||||
"accuracyWilsonLower95": 0.644086,
|
||||
"correct": 23,
|
||||
"macro_f1": 0.7714285714285715,
|
||||
"per_category": {
|
||||
"ai-agents-orchestration": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 4,
|
||||
"recall": 1.0,
|
||||
"support": 4
|
||||
},
|
||||
"apps-workflow-automation": {
|
||||
"f1": 0.0,
|
||||
"precision": 0.0,
|
||||
"predicted": 1,
|
||||
"recall": 0.0,
|
||||
"support": 1
|
||||
},
|
||||
"business-operations-strategy": {
|
||||
"f1": 0.5,
|
||||
"precision": 0.5,
|
||||
"predicted": 2,
|
||||
"recall": 0.5,
|
||||
"support": 2
|
||||
},
|
||||
"chinese-platform-workflows": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 2,
|
||||
"recall": 1.0,
|
||||
"support": 2
|
||||
},
|
||||
"cloud-devops-reliability": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 3,
|
||||
"recall": 1.0,
|
||||
"support": 3
|
||||
},
|
||||
"content-media-publishing": {
|
||||
"f1": 0.666667,
|
||||
"precision": 0.5,
|
||||
"predicted": 2,
|
||||
"recall": 1.0,
|
||||
"support": 1
|
||||
},
|
||||
"data-analytics-research": {
|
||||
"f1": 0.5,
|
||||
"precision": 0.5,
|
||||
"predicted": 2,
|
||||
"recall": 0.5,
|
||||
"support": 2
|
||||
},
|
||||
"finance-trading-markets": {
|
||||
"f1": 0.8,
|
||||
"precision": 1.0,
|
||||
"predicted": 2,
|
||||
"recall": 0.666667,
|
||||
"support": 3
|
||||
},
|
||||
"general-utilities": {
|
||||
"f1": 0.666667,
|
||||
"precision": 0.5,
|
||||
"predicted": 2,
|
||||
"recall": 1.0,
|
||||
"support": 1
|
||||
},
|
||||
"marketing-seo-growth": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 2,
|
||||
"recall": 1.0,
|
||||
"support": 2
|
||||
},
|
||||
"product-design-ux": {
|
||||
"f1": 0.666667,
|
||||
"precision": 1.0,
|
||||
"predicted": 1,
|
||||
"recall": 0.5,
|
||||
"support": 2
|
||||
},
|
||||
"sales-crm-customer-success": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 2,
|
||||
"recall": 1.0,
|
||||
"support": 2
|
||||
},
|
||||
"security-privacy-legal": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 1,
|
||||
"recall": 1.0,
|
||||
"support": 1
|
||||
},
|
||||
"software-engineering": {
|
||||
"f1": 1.0,
|
||||
"precision": 1.0,
|
||||
"predicted": 2,
|
||||
"recall": 1.0,
|
||||
"support": 2
|
||||
}
|
||||
},
|
||||
"total": 28
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,9 +48,9 @@
|
||||
{
|
||||
"id": "catalog-discovery",
|
||||
"title": "Skill taxonomy and discovery catalog",
|
||||
"interface": "config/skill-taxonomy.json in; catalog/README.md and catalog/skill-index.json out.",
|
||||
"implementations": ["scripts/build_skill_catalog.py", "config/skill-taxonomy.json", "catalog"],
|
||||
"ownershipPrefixes": ["catalog", "config/skill-taxonomy.json", "config/skill-index.schema.json", "scripts/build_skill_catalog.py"],
|
||||
"interface": "Taxonomy and reviewed Gold labels in; catalog indexes and semantic evaluation evidence out.",
|
||||
"implementations": ["scripts/build_skill_catalog.py", "scripts/build_skill_taxonomy_evaluation.py", "config/skill-taxonomy.json", "config/skill-taxonomy-gold.json", "catalog"],
|
||||
"ownershipPrefixes": ["catalog", "config/skill-taxonomy.json", "config/skill-taxonomy-gold.json", "config/skill-taxonomy-gold.schema.json", "config/skill-taxonomy-evaluation.schema.json", "config/skill-index.schema.json", "docs/skill-taxonomy-gold-set.md", "scripts/build_skill_catalog.py", "scripts/build_skill_taxonomy_evaluation.py"],
|
||||
"depth": "composed",
|
||||
"seams": ["skill-library", "public-navigation", "verification-evidence"],
|
||||
"leverage": "A single classification rule improves human browsing and machine discovery.",
|
||||
@@ -128,10 +128,14 @@
|
||||
{"path": "agents", "role": "authored-source", "module": "team-composition", "authority": false},
|
||||
{"path": "assets", "role": "public-navigation", "module": "public-navigation", "authority": false},
|
||||
{"path": "catalog", "role": "generated-output", "module": "catalog-discovery", "authority": false, "generatedBy": "scripts/build_skill_catalog.py", "verify": "npm run check:skills"},
|
||||
{"path": "catalog/skill-taxonomy-evaluation.json", "role": "generated-output", "module": "catalog-discovery", "authority": false, "generatedBy": "scripts/build_skill_taxonomy_evaluation.py", "verify": "npm run check:taxonomy-evaluation"},
|
||||
{"path": "catalog/skill-quality.json", "role": "generated-output", "module": "verification-evidence", "authority": false, "generatedBy": "scripts/audit_skill_quality.py", "verify": "npm run check:skill-quality"},
|
||||
{"path": "config", "role": "governance", "module": "governance-memory", "authority": false},
|
||||
{"path": "config/external-skill-sources.json", "role": "authored-authority", "module": "governance-memory", "authority": true},
|
||||
{"path": "config/skill-index.schema.json", "role": "authored-source", "module": "catalog-discovery", "authority": false},
|
||||
{"path": "config/skill-taxonomy-evaluation.schema.json", "role": "authored-source", "module": "catalog-discovery", "authority": false},
|
||||
{"path": "config/skill-taxonomy-gold.json", "role": "authored-authority", "module": "catalog-discovery", "authority": true},
|
||||
{"path": "config/skill-taxonomy-gold.schema.json", "role": "authored-source", "module": "catalog-discovery", "authority": false},
|
||||
{"path": "config/repository-architecture.json", "role": "authored-authority", "module": "governance-memory", "authority": true},
|
||||
{"path": "config/skill-quality-baseline.json", "role": "authored-authority", "module": "verification-evidence", "authority": true},
|
||||
{"path": "config/skill-taxonomy.json", "role": "authored-authority", "module": "catalog-discovery", "authority": true},
|
||||
@@ -139,6 +143,7 @@
|
||||
{"path": "cookbook", "role": "public-navigation", "module": "public-navigation", "authority": false},
|
||||
{"path": "design-qa.md", "role": "evidence", "module": "verification-evidence", "authority": false},
|
||||
{"path": "docs", "role": "public-navigation", "module": "public-navigation", "authority": false},
|
||||
{"path": "docs/skill-taxonomy-gold-set.md", "role": "authored-source", "module": "catalog-discovery", "authority": false},
|
||||
{"path": "docs/adr", "role": "governance", "module": "governance-memory", "authority": false},
|
||||
{"path": "docs/assets/star-history.svg", "role": "generated-output", "module": "public-navigation", "authority": false, "generatedBy": "scripts/build_site_data.py", "verify": "npm run test:repository"},
|
||||
{"path": "docs/data/repo-stats.json", "role": "generated-output", "module": "public-navigation", "authority": false, "generatedBy": "scripts/build_site_data.py", "verify": "npm run test:repository"},
|
||||
@@ -154,6 +159,7 @@
|
||||
{"path": "requirements-dev.txt", "role": "implementation", "module": "verification-evidence", "authority": false},
|
||||
{"path": "scripts", "role": "implementation", "module": "verification-evidence", "authority": false},
|
||||
{"path": "scripts/build_skill_catalog.py", "role": "implementation", "module": "catalog-discovery", "authority": false},
|
||||
{"path": "scripts/build_skill_taxonomy_evaluation.py", "role": "implementation", "module": "catalog-discovery", "authority": false},
|
||||
{"path": "setup.md", "role": "public-navigation", "module": "safe-installation", "authority": false},
|
||||
{"path": "skills", "role": "authored-authority", "module": "skill-library", "authority": true},
|
||||
{"path": "starter-kits", "role": "authored-source", "module": "team-composition", "authority": false},
|
||||
@@ -183,7 +189,8 @@
|
||||
"requiredDecisions": [
|
||||
"docs/adr/0001-canonical-inventory-and-generated-outputs.md",
|
||||
"docs/adr/0002-generic-workspace-and-curated-distributions.md",
|
||||
"docs/adr/0003-structural-evidence-and-runtime-receipts.md"
|
||||
"docs/adr/0003-structural-evidence-and-runtime-receipts.md",
|
||||
"docs/adr/0004-reviewed-skill-taxonomy-evaluation.md"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,11 +69,11 @@
|
||||
"additionalProperties": false,
|
||||
"required": ["method", "winner", "matched_signals", "runner_ups", "resolution_status", "review_state"],
|
||||
"properties": {
|
||||
"method": {"enum": ["slug", "description", "override", "fallback"]},
|
||||
"method": {"enum": ["outcome", "slug", "description", "override", "fallback"]},
|
||||
"winner": {"$ref": "#/$defs/winner"},
|
||||
"matched_signals": {"type": "array", "uniqueItems": true, "items": {"type": "string"}},
|
||||
"runner_ups": {"type": "array", "items": {"$ref": "#/$defs/candidate"}},
|
||||
"base_method": {"enum": ["slug", "description", "fallback"]},
|
||||
"base_method": {"enum": ["outcome", "slug", "description", "fallback"]},
|
||||
"base_candidates": {"type": "array", "items": {"$ref": "#/$defs/candidate"}},
|
||||
"rationale": {"type": "string", "minLength": 20},
|
||||
"resolution_status": {"enum": ["rule-match", "priority-tie", "override", "fallback"]},
|
||||
@@ -125,7 +125,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {"properties": {"method": {"enum": ["slug", "description"]}}, "required": ["method"]},
|
||||
"if": {"properties": {"method": {"enum": ["outcome", "slug", "description"]}}, "required": ["method"]},
|
||||
"then": {
|
||||
"properties": {
|
||||
"resolution_status": {"enum": ["rule-match", "priority-tie"]},
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://aaaaqwq.github.io/AGI-Super-Team/schemas/skill-taxonomy-evaluation.schema.json",
|
||||
"title": "Generated Skill taxonomy reviewed-set agreement evaluation",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["$schema", "schemaVersion", "sampleSize", "categoryCount", "goldSetSha256", "annotationMode", "humanApproved", "metrics", "splits", "gates", "reviewedSetAgreementScore", "scoreSemantics", "runtimeEvidenceIncluded", "errors"],
|
||||
"properties": {
|
||||
"$schema": {"const": "../config/skill-taxonomy-evaluation.schema.json"},
|
||||
"schemaVersion": {"const": 1},
|
||||
"sampleSize": {"const": 140},
|
||||
"categoryCount": {"const": 14},
|
||||
"goldSetSha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
||||
"annotationMode": {"const": "independent-agent-manual-review"},
|
||||
"humanApproved": {"const": false},
|
||||
"metrics": {"$ref": "#/$defs/metrics"},
|
||||
"splits": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["development", "validation"],
|
||||
"properties": {
|
||||
"development": {
|
||||
"allOf": [
|
||||
{"$ref": "#/$defs/splitMetrics"},
|
||||
{"properties": {"total": {"const": 112}}}
|
||||
]
|
||||
},
|
||||
"validation": {
|
||||
"allOf": [
|
||||
{"$ref": "#/$defs/splitMetrics"},
|
||||
{"properties": {"total": {"const": 28}}}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"gates": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["sampleAtLeast140", "accuracyAtLeast80", "macroF1AtLeast80", "allCategoriesRepresented", "validationAccuracyAtLeast75", "validationMacroF1AtLeast75", "validationAllCategoriesRepresented", "passed"],
|
||||
"properties": {
|
||||
"sampleAtLeast140": {"type": "boolean"},
|
||||
"accuracyAtLeast80": {"type": "boolean"},
|
||||
"macroF1AtLeast80": {"type": "boolean"},
|
||||
"allCategoriesRepresented": {"type": "boolean"},
|
||||
"validationAccuracyAtLeast75": {"type": "boolean"},
|
||||
"validationMacroF1AtLeast75": {"type": "boolean"},
|
||||
"validationAllCategoriesRepresented": {"type": "boolean"},
|
||||
"passed": {"type": "boolean"}
|
||||
}
|
||||
},
|
||||
"reviewedSetAgreementScore": {"type": "integer", "minimum": 0, "maximum": 100},
|
||||
"scoreSemantics": {"type": "string", "minLength": 30},
|
||||
"runtimeEvidenceIncluded": {"const": false},
|
||||
"errors": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["skill_id", "expected_category", "predicted_category", "split"],
|
||||
"properties": {
|
||||
"skill_id": {"type": "string"},
|
||||
"expected_category": {"type": "string"},
|
||||
"predicted_category": {"type": "string"}
|
||||
,"split": {"enum": ["development", "validation"]}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"$defs": {
|
||||
"categoryMetrics": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["precision", "recall", "f1", "support", "predicted"],
|
||||
"properties": {
|
||||
"precision": {"type": "number", "minimum": 0, "maximum": 1},
|
||||
"recall": {"type": "number", "minimum": 0, "maximum": 1},
|
||||
"f1": {"type": "number", "minimum": 0, "maximum": 1},
|
||||
"support": {"type": "integer", "minimum": 0},
|
||||
"predicted": {"type": "integer", "minimum": 0}
|
||||
}
|
||||
},
|
||||
"metrics": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["total", "correct", "accuracy", "macro_f1", "accuracyWilsonLower95", "per_category"],
|
||||
"properties": {
|
||||
"total": {"const": 140},
|
||||
"correct": {"type": "integer", "minimum": 0},
|
||||
"accuracy": {"type": "number", "minimum": 0, "maximum": 1},
|
||||
"macro_f1": {"type": "number", "minimum": 0, "maximum": 1},
|
||||
"accuracyWilsonLower95": {"type": "number", "minimum": 0, "maximum": 1},
|
||||
"per_category": {
|
||||
"type": "object",
|
||||
"minProperties": 14,
|
||||
"additionalProperties": {"$ref": "#/$defs/categoryMetrics"}
|
||||
}
|
||||
}
|
||||
},
|
||||
"splitMetrics": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["total", "correct", "accuracy", "macro_f1", "accuracyWilsonLower95", "per_category"],
|
||||
"properties": {
|
||||
"total": {"type": "integer", "minimum": 1},
|
||||
"correct": {"type": "integer", "minimum": 0},
|
||||
"accuracy": {"type": "number", "minimum": 0, "maximum": 1},
|
||||
"macro_f1": {"type": "number", "minimum": 0, "maximum": 1},
|
||||
"accuracyWilsonLower95": {"type": "number", "minimum": 0, "maximum": 1},
|
||||
"per_category": {
|
||||
"type": "object",
|
||||
"minProperties": 14,
|
||||
"additionalProperties": {"$ref": "#/$defs/categoryMetrics"}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://aaaaqwq.github.io/AGI-Super-Team/schemas/skill-taxonomy-gold.schema.json",
|
||||
"title": "Reviewed Skill taxonomy Gold Set",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["$schema", "schemaVersion", "annotation", "sampling", "labels"],
|
||||
"properties": {
|
||||
"$schema": {"const": "./skill-taxonomy-gold.schema.json"},
|
||||
"schemaVersion": {"const": 1},
|
||||
"annotation": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["mode", "humanApproved", "rubric", "labelSetSha256"],
|
||||
"properties": {
|
||||
"mode": {"const": "independent-agent-manual-review"},
|
||||
"humanApproved": {"const": false},
|
||||
"rubric": {"const": "../docs/skill-taxonomy-gold-set.md"},
|
||||
"labelSetSha256": {"const": "78e6b44843fc60d08d1a9cc3fb728fdfec2eccfc35b812064b53342559ba7da1"}
|
||||
}
|
||||
},
|
||||
"sampling": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["method", "seed", "perPredictedCategory", "baseCommit", "baseCatalogSha256", "candidateSetSha256"],
|
||||
"properties": {
|
||||
"method": {"const": "predicted-category-balanced-difficulty-first-stable-hash"},
|
||||
"seed": {"const": "semantic-gold-v1"},
|
||||
"perPredictedCategory": {"const": 10},
|
||||
"baseCommit": {"type": "string", "pattern": "^[0-9a-f]{40}$"},
|
||||
"baseCatalogSha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
||||
"candidateSetSha256": {"const": "7765f415e2be2d7b93341dc8192837a06bebb5a9c8fea17ab5c06d8326473267"}
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"type": "array",
|
||||
"minItems": 140,
|
||||
"maxItems": 140,
|
||||
"uniqueItems": true,
|
||||
"items": {"$ref": "#/$defs/label"}
|
||||
}
|
||||
},
|
||||
"$defs": {
|
||||
"identifier": {"type": "string", "pattern": "^[a-z0-9]+(?:[-_][a-z0-9]+)*$"},
|
||||
"category": {"type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"},
|
||||
"label": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["skill_id", "expected_category", "baseline_predicted_category", "baseline_resolution_status", "split", "rationale", "confidence", "reviewers", "review_status", "reviewed_at", "source_sha256"],
|
||||
"properties": {
|
||||
"skill_id": {"$ref": "#/$defs/identifier"},
|
||||
"expected_category": {"$ref": "#/$defs/category"},
|
||||
"baseline_predicted_category": {"$ref": "#/$defs/category"},
|
||||
"baseline_resolution_status": {"enum": ["rule-match", "priority-tie", "override", "fallback"]},
|
||||
"split": {"enum": ["development", "validation"]},
|
||||
"rationale": {"type": "string", "minLength": 20, "maxLength": 240},
|
||||
"confidence": {"enum": ["high", "medium", "low"]},
|
||||
"reviewers": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"uniqueItems": true,
|
||||
"items": {"type": "string", "pattern": "^reviewer-[a-z0-9]+(?:-[a-z0-9]+)*$"}
|
||||
},
|
||||
"review_status": {"enum": ["primary", "cross-reviewed", "adjudicated"]},
|
||||
"reviewed_at": {"type": "string", "format": "date"},
|
||||
"source_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+32
-16
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"$schema": "./skill-taxonomy.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"schemaVersion": 2,
|
||||
"categories": [
|
||||
{
|
||||
"id": "ai-agents-orchestration",
|
||||
@@ -8,7 +8,8 @@
|
||||
"title": "AI Agents & Orchestration",
|
||||
"description": "Coordinate agents, context, memory, models, prompts, and tool protocols.",
|
||||
"priority": 75,
|
||||
"patterns": ["(?:^|-)agent(?:-|$)", "orchestrat", "multi-agent", "subagent", "dispatcher", "memory", "context", "prompt", "\\bllm\\b", "\\bmcp\\b", "claude", "codex", "(?:^|-)model(?:-|$)", "(?:^|-)skills?(?:-|$)", "ruflo", "openclaw", "clawrouter"]
|
||||
"patterns": ["(?:^|-)agent(?:-|$)", "orchestrat", "multi-agent", "subagent", "dispatcher", "memory", "context", "prompt", "\\bllm\\b", "\\bmcp\\b", "claude", "codex", "(?:^|-)model(?:-|$)", "(?:^|-)skills(?:-|$)", "ruflo", "openclaw", "clawrouter", "(?:^|-)subagent-driven(?:-|$)", "(?:^|-)codex-(?:cc|cli|guide)(?:-|$)", "(?:^|-)task-(?:supervisor|dispatcher)(?:-|$)", "(?:^|-)(?:creating|writing|authoring|testing)-skills(?:-|$)", "(?:^|-)using-superpowers(?:-|$)", "(?:^|-)skills-(?:hub|repository|index|library)(?:-|$)", "(?:^|-)(?:skill-(?:authoring|creation|review|quality|evaluation|config|configuration)|work-to-skill)(?:-|$)", "\\bgep-a2a\\b", "\\ba2a protocol\\b", "collaborative evolution marketplace"],
|
||||
"outcomePatterns": ["(?:dispatch|spawn|coordinate|orchestrate).{0,24}(?:agents?|subagents?)", "\\bsubagent-driven\\b", "(?:invoke|discover|install|author|write|create).{0,24}(?:agent )?skills?", "(?:evaluate|score|review|package|encapsulate).{0,24}(?:agent )?skills?", "(?:评估|评分|审查|封装|创建).{0,16}(?:Skill|技能)", "\\b(?:a2a|agent-to-agent) protocol\\b", "\\bfabric patterns?\\b", "(?:agent|model|inference|session).{0,24}(?:context|routing|orchestration|optimization)"]
|
||||
},
|
||||
{
|
||||
"id": "software-engineering",
|
||||
@@ -16,7 +17,8 @@
|
||||
"title": "Software Engineering",
|
||||
"description": "Build, test, review, debug, and maintain applications and developer tooling.",
|
||||
"priority": 80,
|
||||
"patterns": ["code", "developer", "development", "frontend", "backend", "react", "tailwind", "\\bcss\\b", "\\bapi\\b", "database", "postgres", "redis", "\\bsql\\b", "testing", "test-", "tdd", "debug", "architecture", "git-", "github", "gitlab", "commit", "(?:^|-)cli(?:-|$)|\\bcli\\b", "electron", "supabase", "webapp"]
|
||||
"patterns": ["(?:^|-)code(?:-|$)|\\bcode\\b", "\\bcodebases?\\b", "developer", "development", "frontend", "backend", "react", "tailwind", "\\bcss\\b", "\\bapi\\b", "database", "postgres", "redis", "\\bsql\\b", "testing", "test-", "tdd", "debug", "architecture", "git-", "(?:^|-)github-(?:actions?|api|app|cli|integration|issues?|pr|pull-request|releases?|repos?|workflows?)(?:-|$)", "gitlab", "commit", "(?:^|-)cli(?:-|$)|\\bcli\\b", "electron", "supabase", "webapp", "(?:^|-)api-design(?:-|$)", "(?:^|-)(?:software|system)-architecture(?:-|$)", "(?:^|-)static-code(?:-|$)", "(?:^|-)condition-based-waiting(?:-|$)", "(?:^|-)simplification-cascades(?:-|$)", "(?:^|-)(?:senior-)?architect(?:-|$)", "code repository|source code"],
|
||||
"outcomePatterns": ["\\b(?:api|rest|graphql|grpc) design\\b", "\\b(?:software|system) architecture\\b", "\\b(?:static|source) code analysis\\b", "\\bcode (?:repository|review|testing|debugging)\\b", "(?:async|flaky).{0,20}tests?", "(?:github )?issues?.{0,48}(?:implement fixes|fix bugs)", "open (?:pull requests?|prs?)"]
|
||||
},
|
||||
{
|
||||
"id": "cloud-devops-reliability",
|
||||
@@ -24,7 +26,8 @@
|
||||
"title": "Cloud, DevOps & Reliability",
|
||||
"description": "Deploy, observe, troubleshoot, and operate cloud and local infrastructure.",
|
||||
"priority": 85,
|
||||
"patterns": ["deploy", "devops", "cloud", "\\baws\\b", "kubernetes", "docker", "nginx", "observability", "monitoring", "healthcheck", "incident", "linux", "sysadmin", "sentry", "datadog", "grafana", "vercel", "cloudflare", "render-", "ssh", "tailscale", "proxmox", "distributed-tracing", "runbook"]
|
||||
"patterns": ["deploy", "devops", "cloud", "\\baws\\b", "kubernetes", "docker", "nginx", "observability", "monitoring", "healthcheck", "incident", "linux", "sysadmin", "sentry", "datadog", "grafana", "vercel", "cloudflare", "render-", "ssh", "tailscale", "proxmox", "distributed-tracing", "runbook", "(?:^|-)microservices?(?:-|$)", "(?:^|-)observability-(?:design|designer|strategy)(?:-|$)"],
|
||||
"outcomePatterns": ["\\b(?:service mesh|observability|distributed tracing|sli|slo)\\b", "\\b(?:datadog|grafana|kubernetes|docker)\\b", "(?:cloud|infrastructure).{0,32}(?:cost|spend|expense|rightsizing|optimization)", "(?:incident|reliability).{0,24}(?:response|runbook|operations)"]
|
||||
},
|
||||
{
|
||||
"id": "data-analytics-research",
|
||||
@@ -32,7 +35,8 @@
|
||||
"title": "Data, Analytics & Research",
|
||||
"description": "Collect evidence, search sources, analyze data, and communicate findings.",
|
||||
"priority": 95,
|
||||
"patterns": ["research", "data", "analytics", "analysis", "search", "scrap", "crawl", "arxiv", "\\bcsv\\b", "\\betl\\b", "duckdb", "business-intelligence", "dashboard", "metrics", "rag", "vector", "knowledge", "news", "genome", "bio-", "synthesizer", "experiment"]
|
||||
"patterns": ["research", "(?:^|-)data(?:-|$)|\\bdata\\b", "analytics", "(?:^|-)(?:data|statistical|cohort|source|evidence|market-sizing)-analysis(?:-|$)|\\b(?:data|statistical|cohort|source|evidence|market sizing) analysis\\b", "search", "scrap", "crawl", "arxiv", "\\bcsv\\b", "\\betl\\b", "duckdb", "business-intelligence", "dashboard", "metrics", "rag", "vector", "knowledge", "news", "genome", "bio-", "synthesizer", "experiment", "(?:^|-)business-(?:analyst|analytics|intelligence)(?:-|$)", "(?:^|-)(?:daily|today)-trending(?:-|$)|热榜|热搜", "(?:^|-)market-intelligence(?:-|$)", "(?:^|-)model-usage(?:-|$)", "(?:^|-)knowledge-extract(?:or)?(?:-|$)", "(?:^|-)vcf(?:-|$)|\\bvcf\\b"],
|
||||
"outcomePatterns": ["\\b(?:business|market) intelligence\\b", "\\bresearch (?:a|any|the) topic\\b", "\\b(?:vcf|clinvar|gnomad|bioinformatics)\\b", "(?:scrape|extract|crawl|collect).{0,28}(?:data|images?|web|urls?|evidence)", "(?:analy[sz]e|measure).{0,24}(?:data|usage|metrics|evidence)"]
|
||||
},
|
||||
{
|
||||
"id": "security-privacy-legal",
|
||||
@@ -40,7 +44,8 @@
|
||||
"title": "Security, Privacy & Legal",
|
||||
"description": "Review security, privacy, compliance, permissions, contracts, and legal risk.",
|
||||
"priority": 115,
|
||||
"patterns": ["security", "privacy", "compliance", "gdpr", "legal", "contract", "auth-", "secret", "permission", "key-rotation", "audit", "pci", "customs", "employment-contract"]
|
||||
"patterns": ["security", "privacy", "compliance", "gdpr", "legal", "contract", "auth-", "secret", "permission", "key-rotation", "(?:security|privacy|compliance|legal)-audit|audit-(?:security|privacy|compliance|legal)", "pci", "customs", "employment-contract", "(?:^|-)(?:provider|api)-key-(?:manager|rotation|sync)(?:-|$)", "(?:^|-)dependency-auditor(?:-|$)"],
|
||||
"outcomePatterns": ["(?:audit|rotate|manage|sync).{0,24}(?:api keys?|credentials?|secrets?)", "(?:security|privacy|compliance|legal).{0,24}(?:audit|review|risk|assessment)", "\\b(?:gdpr|pci dss|threat model)\\b"]
|
||||
},
|
||||
{
|
||||
"id": "product-design-ux",
|
||||
@@ -48,7 +53,8 @@
|
||||
"title": "Product, Design & UX",
|
||||
"description": "Shape product requirements, interfaces, design systems, and user experience.",
|
||||
"priority": 90,
|
||||
"patterns": ["(?:^|-)product(?:-|$)|\\bproduct\\b", "\\bprd\\b", "design", "\\bux\\b", "\\bui\\b", "figma", "canvas", "roadmap", "user-story", "requirements", "prioritization", "feature-", "style-guide", "web-artifacts", "accessibility"]
|
||||
"patterns": ["(?:^|-)product(?:-|$)|\\bproduct\\b", "\\bprd\\b", "design", "\\bux\\b", "\\bui\\b", "figma", "canvas", "roadmap", "user-story", "requirements", "prioritization", "feature-", "style-guide", "web-artifacts", "accessibility"],
|
||||
"outcomePatterns": ["\\b(?:product|ux|ui|visual) (?:design|vision|strategy)\\b", "\\buser experience\\b", "(?:design|build).{0,24}(?:interface|design system|prototype)", "\\bfigma\\b|(?:audit|design|test).{0,20}(?:accessibility|wcag)", "\\bwcag\\b", "(?:wcag|accessibility).{0,28}(?:audit|testing|barrier|remediation|inclusive)"]
|
||||
},
|
||||
{
|
||||
"id": "marketing-seo-growth",
|
||||
@@ -56,7 +62,8 @@
|
||||
"title": "Marketing, SEO & Growth",
|
||||
"description": "Acquire audiences through positioning, campaigns, search, ads, and social growth.",
|
||||
"priority": 105,
|
||||
"patterns": ["marketing", "\\bseo\\b", "growth", "\\bads?\\b", "campaign", "social", "influencer", "traffic", "viral", "brand", "competitor", "competitive", "domain-name", "geo-content", "serp", "acquisition", "postbridge"]
|
||||
"patterns": ["marketing", "\\bseo\\b", "growth", "\\bads?\\b", "(?:^|-)campaigns?(?:-|$)|\\bcampaigns?\\b", "social", "influencer", "(?:^|-)(?:traffic-(?:growth|acquisition|seo)|(?:web|site|organic|search|social|paid)-traffic)(?:-|$)|\\b(?:web|site|organic|search|social|paid) traffic\\b", "(?:^|-)viral-(?:content|campaign|growth)(?:-|$)|\\bviral (?:content|campaign|growth)\\b", "brand", "competitor", "competitive", "domain-name", "geo-content", "serp", "acquisition", "postbridge"],
|
||||
"outcomePatterns": ["(?:optimize|grow|acquire).{0,24}(?:search traffic|audience|customers|conversions)", "\\b(?:seo|search acquisition|ad campaign|brand positioning)\\b", "(?:launch|manage).{0,20}(?:campaigns?|ads?)"]
|
||||
},
|
||||
{
|
||||
"id": "content-media-publishing",
|
||||
@@ -64,7 +71,8 @@
|
||||
"title": "Content, Media & Publishing",
|
||||
"description": "Create, edit, repurpose, and publish writing, images, audio, and video.",
|
||||
"priority": 100,
|
||||
"patterns": ["content", "writing", "writer", "article", "copywriting", "copy-edit", "video", "image", "media", "publish", "podcast", "slide", "pptx", "docx", "\\bpdf\\b", "youtube", "subtitle", "lyrics", "infographic", "typography", "ffmpeg", "suno"]
|
||||
"patterns": ["content", "writing", "writer", "article", "copywriting", "copy-edit", "video", "image", "media", "publish", "podcast", "slide", "pptx", "docx", "\\bpdf\\b", "youtube", "subtitle", "lyrics", "infographic", "typography", "ffmpeg", "suno", "(?:^|-)(?:marketing-videos?|video-(?:ad|creative|production)|script-writing|video-script|storyboard|doc-coauthor(?:ing)?|internal-comms)(?:-|$)"],
|
||||
"outcomePatterns": ["(?:write|create|produce|edit).{0,28}(?:video|script|storyboard|article|newsletter|content|media)", "(?:record|edit|transcode).{0,24}(?:audio|video|podcast)", "(?:publish|repurpose).{0,24}(?:article|video|content|media)"]
|
||||
},
|
||||
{
|
||||
"id": "sales-crm-customer-success",
|
||||
@@ -72,7 +80,8 @@
|
||||
"title": "Sales, CRM & Customer Success",
|
||||
"description": "Find, win, onboard, support, and retain customers with accountable workflows.",
|
||||
"priority": 110,
|
||||
"patterns": ["sales", "lead", "\\bcrm\\b", "customer", "account-executive", "outreach", "cold-email", "hubspot", "salesforce", "pipedrive", "close-automation", "intercom", "freshdesk", "freshservice", "zendesk", "spin-selling", "sandler", "negotiation", "after-sales", "helpdesk", "client-"]
|
||||
"patterns": ["sales", "lead", "\\bcrm\\b", "customer", "account-executive", "outreach", "cold-email", "hubspot", "salesforce", "pipedrive", "close-automation", "intercom", "freshdesk", "freshservice", "zendesk", "spin-selling", "sandler", "negotiation", "after-sales", "helpdesk", "client-", "(?:^|-)activecampaign(?:-|$)", "(?:^|-)outbound-email(?:-|$)", "(?:^|-)linkedin-(?:cdp|outreach|lead|sales|connect)(?:-|$)"],
|
||||
"outcomePatterns": ["(?:manage|qualify|enrich|convert).{0,24}(?:leads?|prospects?|customers?|crm)", "(?:cold|outbound).{0,16}(?:email|outreach|sales)", "\\b(?:sales pipeline|customer success|crm contacts?)\\b"]
|
||||
},
|
||||
{
|
||||
"id": "finance-trading-markets",
|
||||
@@ -80,7 +89,8 @@
|
||||
"title": "Finance, Trading & Markets",
|
||||
"description": "Analyze markets, backtest strategies, track portfolios, and review financial risk.",
|
||||
"priority": 120,
|
||||
"patterns": ["financ", "trading", "trade-", "crypto", "\\bbtc\\b", "fund", "stock", "portfolio", "backtest", "quant", "investment", "equity", "polymarket", "defi", "payment", "billing", "invoice", "bookkeeping", "expense", "stripe", "bankr", "alpha101", "options-flow", "whale", "market-movers", "market-price", "market-sentiment", "technical-analysis"]
|
||||
"patterns": ["financ", "trading", "trade-", "crypto", "\\bbtc\\b", "fund", "stock", "portfolio", "backtest", "quant", "investment", "equity", "polymarket", "(?:^|-)binance(?:-|$)", "(?:^|-)(?:a-share|stock|equity)(?:-|$).{0,24}(?:analysis|screening)|A股|个股|选股", "(?:^|-)defi(?:-|$)|\\bdecentralized finance\\b", "payment", "billing", "invoice", "bookkeeping", "expense", "stripe", "bankr", "alpha101", "options-flow", "whale", "market-movers", "market-price", "market-sentiment", "technical-analysis", "(?:^|-)company-(?:analy[sz]er|valuation|fundamentals)(?:-|$)", "\\bp&l\\b|量化|交易|投资组合|风控"],
|
||||
"outcomePatterns": ["(?:quantitative|algorithmic).{0,20}(?:trading|finance|investment)", "\\b(?:portfolio risk|company valuation)\\b", "(?:trade|execute|backtest|price|monitor).{0,24}(?:prediction markets?|binance|polymarket)", "量化思维", "大量小交易|投资组合|估值|交易风控"]
|
||||
},
|
||||
{
|
||||
"id": "business-operations-strategy",
|
||||
@@ -88,7 +98,8 @@
|
||||
"title": "Business Operations & Strategy",
|
||||
"description": "Plan work, make decisions, manage teams, and improve operating systems.",
|
||||
"priority": 65,
|
||||
"patterns": ["business", "strategy", "\\bceo\\b", "\\bokr\\b", "\\bkpi\\b", "project", "task", "planning", "priorit", "team", "company", "startup", "process", "operations", "delegat", "meeting", "daily-", "weekly-", "\\bhr\\b", "culture", "resume", "first-principles", "thinking-", "brainstorm", "decision", "scrum", "kanban"]
|
||||
"patterns": ["business", "strategy", "\\bceo\\b", "\\bokr\\b", "\\bkpi\\b", "project", "task", "planning", "priorit", "team", "company", "startup", "process", "operations", "delegat", "meeting", "daily-(?:brief|planning|standup|operations|review)", "weekly-", "\\bhr\\b", "culture", "resume", "first-principles", "thinking-", "brainstorm", "decision", "scrum", "kanban", "(?:^|-)prioritization-funnel(?:-|$)", "(?:^|-)okrs?(?:-|$)", "(?:^|-)(?:vp|cpo|cto|coo|cfo|chro|cmo)-(?:readiness|advisor|operating)(?:-|$)"],
|
||||
"outcomePatterns": ["\\bobjectives and key results\\b", "(?:recruiting|onboarding|employee management|offboarding)", "(?:prioritize|allocate).{0,24}(?:resources?|projects?|opportunities)", "(?:strategic|strategy).{0,24}(?:capability|skills?) gaps?", "战略.{0,20}能力.{0,12}(?:缺口|鸿沟)|能力.{0,12}(?:招聘|培训)", "(?:executive|leadership).{0,20}(?:operations|readiness|decision)"]
|
||||
},
|
||||
{
|
||||
"id": "apps-workflow-automation",
|
||||
@@ -96,7 +107,8 @@
|
||||
"title": "Apps & Workflow Automation",
|
||||
"description": "Connect everyday apps, browsers, messaging systems, and repeatable workflows.",
|
||||
"priority": 70,
|
||||
"patterns": ["automation", "workflow", "browser", "airtable", "asana", "basecamp", "box-", "calendly", "clickup", "coda", "confluence", "discord", "docusign", "dropbox", "gmail", "google-drive", "jira", "linear", "monday", "notion", "slack", "telegram", "trello", "whatsapp", "zoom", "make-automation", "email-", "calendar", "one-drive", "outlook"]
|
||||
"patterns": ["automation", "workflow", "browser", "airtable", "asana", "basecamp", "box-", "calendly", "clickup", "coda", "confluence", "discord", "docusign", "dropbox", "gmail", "google-drive", "jira", "linear", "monday", "notion", "slack", "telegram", "trello", "whatsapp", "zoom", "make-automation", "email-", "calendar", "one-drive", "outlook", "(?:^|-)(?:agent-browser|browser-driver|computer-use|cua)(?:-|$)", "(?:^|-)(?:github|gitlab)-automation(?:-|$)", "(?:^|-)kanbanflow(?:-|$)"],
|
||||
"outcomePatterns": ["(?:browser|web page).{0,28}(?:navigate|click|type|snapshot|fill forms?)", "(?:native gui|accessibility tree).{0,36}(?:snapshot|click|type|scroll)", "(?:manage|store|send).{0,36}(?:documents?|files?).{0,36}(?:google drive|locally|folders?)", "(?:operate|automate|update).{0,24}(?:jira|slack|notion|github|gitlab|trello)"]
|
||||
},
|
||||
{
|
||||
"id": "chinese-platform-workflows",
|
||||
@@ -104,7 +116,8 @@
|
||||
"title": "Chinese Platform Workflows",
|
||||
"description": "Create, analyze, and publish for major Chinese-language platforms and channels.",
|
||||
"priority": 130,
|
||||
"patterns": ["baidu", "douyin", "xhs", "xiaohongshu", "wechat", "weixin", "weibo", "juejin", "zsxq", "wemp", "wecom", "tianyancha", "feishu", "humanize-zh", "redbook", "binance-square", "baoyu-xhs", "md2wechat", "gzh", "ziliu"]
|
||||
"patterns": ["baidu", "douyin", "xhs", "xiaohongshu", "wechat", "weixin", "weibo", "juejin", "zsxq", "wemp", "wecom", "tianyancha", "feishu", "humanize-zh", "redbook", "binance-square", "baoyu-xhs", "md2wechat", "gzh", "ziliu"],
|
||||
"outcomePatterns": ["(?:\\b(?:douyin|xiaohongshu|wechat|weixin|weibo|juejin|feishu|zsxq|binance square)\\b|小红书|微信|微博|抖音|飞书|知识星球).{0,20}(?:publish|post|发布|运营|增长)"]
|
||||
},
|
||||
{
|
||||
"id": "general-utilities",
|
||||
@@ -112,7 +125,8 @@
|
||||
"title": "Specialized Domains & Utilities",
|
||||
"description": "Domain-specific helpers and cross-functional tools that need a dedicated review path.",
|
||||
"priority": 0,
|
||||
"patterns": [],
|
||||
"patterns": ["(?:^|-)deep-?work(?:-|$)", "(?:^|-)file-(?:organizer|cleanup|deduplicator)(?:-|$)", "(?:^|-)quality-(?:convergence|acceptance)(?:-|$)|(?:^|-)acceptance-engine(?:-|$)"],
|
||||
"outcomePatterns": ["\\b(?:yijing|liuyao|divination|fortune telling)\\b|易经|六爻|占卜", "(?:organize|deduplicate|clean up).{0,24}(?:local )?(?:files|folders)", "(?:deep work|focus sessions?)"],
|
||||
"fallback": true
|
||||
}
|
||||
],
|
||||
@@ -136,6 +150,7 @@
|
||||
"invoice-generator-agent": "finance-trading-markets",
|
||||
"security-audit": "security-privacy-legal",
|
||||
"seo-audit": "marketing-seo-growth",
|
||||
"soushen-hunter": "data-analytics-research",
|
||||
"tdd-workflow": "software-engineering",
|
||||
"xiaohongshu-growth": "chinese-platform-workflows"
|
||||
},
|
||||
@@ -159,6 +174,7 @@
|
||||
"invoice-generator-agent": "Invoice generation is a financial operations outcome despite the agent suffix.",
|
||||
"security-audit": "Security risk review is the explicit purpose and must outrank generic audit wording.",
|
||||
"seo-audit": "Search acquisition is the explicit outcome and must outrank generic audit wording.",
|
||||
"soushen-hunter": "The opaque product name hides a Bing search and deep webpage extraction workflow whose primary output is structured research evidence.",
|
||||
"tdd-workflow": "The workflow exists to implement and verify software changes.",
|
||||
"xiaohongshu-growth": "The platform-specific publishing and growth workflow belongs with Chinese platforms."
|
||||
},
|
||||
@@ -192,7 +208,7 @@
|
||||
{"skill": "tdd-workflow", "category": "software-engineering", "reason": "Drive implementation through a test-first loop."},
|
||||
{"skill": "deep-research", "category": "data-analytics-research", "reason": "Turn a question into an evidence-oriented research process."},
|
||||
{"skill": "seo-audit", "category": "marketing-seo-growth", "reason": "Review search discoverability with explicit checks."},
|
||||
{"skill": "writing-skills", "category": "content-media-publishing", "reason": "Move from a bounded writing brief to a reviewable draft."},
|
||||
{"skill": "writing-skills", "category": "ai-agents-orchestration", "reason": "Create and maintain reusable agent Skill instructions with a reviewable workflow."},
|
||||
{"skill": "security-audit", "category": "security-privacy-legal", "reason": "Inspect code and configuration for security risk."},
|
||||
{"skill": "backtest-expert", "category": "finance-trading-markets", "reason": "Review backtests without implying live-trading safety."},
|
||||
{"skill": "frontend-design-ultimate", "category": "product-design-ux", "reason": "Create a concrete interface direction and implementation."},
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
"required": ["schemaVersion", "categories", "overrides", "overrideRationales", "riskLabels", "riskOverrides", "featured"],
|
||||
"properties": {
|
||||
"$schema": {"type": "string"},
|
||||
"schemaVersion": {"const": 1},
|
||||
"schemaVersion": {"const": 2},
|
||||
"categories": {
|
||||
"type": "array",
|
||||
"minItems": 8,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["id", "emoji", "title", "description", "priority", "patterns"],
|
||||
"required": ["id", "emoji", "title", "description", "priority", "patterns", "outcomePatterns"],
|
||||
"properties": {
|
||||
"id": {"type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"},
|
||||
"emoji": {"type": "string", "minLength": 1, "maxLength": 4},
|
||||
@@ -22,6 +22,7 @@
|
||||
"description": {"type": "string", "minLength": 12},
|
||||
"priority": {"type": "integer", "minimum": 0},
|
||||
"patterns": {"type": "array", "items": {"type": "string"}},
|
||||
"outcomePatterns": {"type": "array", "items": {"type": "string"}},
|
||||
"fallback": {"const": true}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
# ADR-0004: Reviewed Skill taxonomy evaluation
|
||||
|
||||
- Status: Accepted
|
||||
- Date: 2026-07-21
|
||||
|
||||
## Context
|
||||
|
||||
The generated catalog previously used broad, equal-weight regular expressions and category priority as a semantic tie-break. A deterministic result was reproducible, but it did not establish that the primary outcome category agreed with manual review. Substring matches such as `data` in Datadog and `defi` in “define” created systematic errors.
|
||||
|
||||
## Decision
|
||||
|
||||
Maintain a fixed, category-balanced Gold Set of 140 independently reviewed labels. Its exact membership, baseline routes, and published 112/28 development/validation split are protected by a candidate-set digest and fail-closed evaluator checks.
|
||||
|
||||
Taxonomy schema v2 separates high-precision `outcomePatterns` from legacy keyword `patterns`. The classifier considers outcome phrases across the Skill ID and source description first, but a single conflicting phrase cannot replace an existing slug route; it requires agreement with that route or at least two outcome signals. Exact overrides remain bounded exceptions with written rationales.
|
||||
|
||||
Publish a `reviewedSetAgreementScore` only when exact accuracy, macro-F1, category coverage, and the published-validation gate pass. The score is not called human-verified while `humanApproved` is false, and it is not an inventory-wide confidence interval or runtime-quality score.
|
||||
|
||||
## Consequences
|
||||
|
||||
- Category changes receive deterministic, inspectable evidence rather than priority-only justification.
|
||||
- Gold membership cannot be expanded or re-split to inflate the score without changing an explicit contract.
|
||||
- Changed `SKILL.md` entrypoints invalidate their labels until they are reviewed again.
|
||||
- The public validation slice is a regression check, not a permanently unseen benchmark.
|
||||
- Safety, portability, runtime behavior, and business value remain separate evidence domains.
|
||||
@@ -5,5 +5,6 @@ ADRs preserve why repository boundaries exist. New records are immutable after a
|
||||
- [ADR-0001: Canonical inventory and generated outputs](./0001-canonical-inventory-and-generated-outputs.md)
|
||||
- [ADR-0002: Generic workspace and curated distributions](./0002-generic-workspace-and-curated-distributions.md)
|
||||
- [ADR-0003: Structural evidence and runtime receipts](./0003-structural-evidence-and-runtime-receipts.md)
|
||||
- [ADR-0004: Reviewed Skill taxonomy evaluation](./0004-reviewed-skill-taxonomy-evaluation.md)
|
||||
|
||||
Return to the [architecture map](../../ARCHITECTURE.md) or [repository context](../../CONTEXT.md).
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# Skill taxonomy Gold Set
|
||||
|
||||
The Gold Set is a versioned semantic-evaluation sample for the catalog's single primary outcome category. It measures classification agreement; it does not establish Skill safety, quality, portability, or runtime behavior.
|
||||
|
||||
## Annotation source
|
||||
|
||||
Version 1 is manually reviewed by independent repository agents and adjudicated by the maintaining root agent. It is explicitly marked `humanApproved: false`; no page may describe it as human-verified until a maintainer reviews and signs the labels.
|
||||
|
||||
## Sampling
|
||||
|
||||
- Base revision: the merged PR #10 classifier state.
|
||||
- Seed: `semantic-gold-v1`.
|
||||
- Size: 10 candidates from each of 14 predicted categories, 140 total.
|
||||
- Ranking: priority ties, overrides, fallbacks, and descriptions needing review are considered before ordinary rule matches; stable hashes choose within each stratum.
|
||||
- Labels are never changed merely to agree with classifier output. Taxonomy rules may change after errors are reviewed.
|
||||
- A stable secondary hash freezes two entries per predicted category as a published validation slice (28 total); the other 112 labels form the development slice.
|
||||
- The validation slice is public and therefore is not described as an unseen or private benchmark. It is a regression check, not permission to tune individual Skill IDs.
|
||||
- The exact 140-entry membership, baseline routes, and 112/28 split are covered by a fixed candidate-set digest. The evaluator rejects additions, removals, split changes, and baseline-label drift.
|
||||
- A separate fixed label-set digest covers expected categories, rationales, confidence, reviewers, review status, review date, and source digest. Relabeling reviewed answers without an explicit contract change fails closed.
|
||||
- The evaluator restores the recorded base catalog from Git, verifies its SHA-256, reruns the deterministic sampler, and requires exact membership, baseline routes, and splits.
|
||||
|
||||
## Primary-outcome rubric
|
||||
|
||||
1. Read the Skill entrypoint far enough to identify its promised user outcome, required inputs, and produced artifact or decision.
|
||||
2. Ignore its current predicted category until after choosing a label.
|
||||
3. Choose one category only. Prefer what the user receives over incidental tools, frameworks, or keywords.
|
||||
4. Use `apps-workflow-automation` when controlling an external application is the central outcome; use the domain category when automation only supports a more specific outcome.
|
||||
5. Use `chinese-platform-workflows` when operating a named Chinese platform is the defining workflow, not merely the audience language.
|
||||
6. Use `security-privacy-legal` for assurance, legal constraints, privacy, or risk review; use `software-engineering` when security is only one implementation concern.
|
||||
7. Use `finance-trading-markets` for valuation, trading, portfolios, market risk, or financial operations; do not collapse these into generic data analysis.
|
||||
8. Use `general-utilities` only when no more specific primary outcome fits.
|
||||
|
||||
Record a concrete rationale, confidence, reviewer identifiers, source digest, and disagreement status. Low-confidence and cross-category cases must be cross-reviewed or adjudicated rather than silently omitted.
|
||||
|
||||
## Metrics and release gate
|
||||
|
||||
- Exact accuracy must be at least 0.80.
|
||||
- Macro-F1 across all 14 categories must be at least 0.80.
|
||||
- Every category must appear in Gold labels.
|
||||
- Published-validation exact accuracy must be at least 0.75.
|
||||
- Published-validation macro-F1 must be at least 0.75 and every category must remain represented.
|
||||
- The report publishes the 95% Wilson lower bound for reviewed-set agreement as uncertainty evidence. Because the sample deliberately overrepresents difficult routes, that bound is not an inventory-wide accuracy interval.
|
||||
- `reviewedSetAgreementScore` is the floored minimum of accuracy and macro-F1, multiplied by 100. A failed gate cannot be reported as 80+.
|
||||
|
||||
Build or check the generated report:
|
||||
|
||||
```bash
|
||||
npm run build:taxonomy-evaluation
|
||||
npm run check:taxonomy-evaluation
|
||||
```
|
||||
+3
-1
@@ -4,7 +4,7 @@
|
||||
"description": "Evidence-backed AI team packs with preview-first installation and repository contracts",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"test": "npm run test:repository && npm run test:installer && npm run check:skills && npm run check:skill-quality && npm run check:architecture",
|
||||
"test": "npm run test:repository && npm run test:installer && npm run check:skills && npm run check:skill-quality && npm run check:taxonomy-evaluation && npm run check:architecture",
|
||||
"test:repository": "python3 -m unittest discover -s tests -p 'test_*.py'",
|
||||
"test:installer": "bash tests/installer/test_install.sh",
|
||||
"validate": "python3 scripts/validate_repository.py",
|
||||
@@ -13,6 +13,8 @@
|
||||
"check:skills": "python3 scripts/build_skill_catalog.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",
|
||||
"check:taxonomy-evaluation": "python3 scripts/build_skill_taxonomy_evaluation.py --check",
|
||||
"check:architecture": "python3 scripts/audit_architecture.py --check"
|
||||
},
|
||||
"keywords": [
|
||||
|
||||
@@ -40,14 +40,21 @@ HARD_REQUIRED_DECISIONS = {
|
||||
"docs/adr/0001-canonical-inventory-and-generated-outputs.md",
|
||||
"docs/adr/0002-generic-workspace-and-curated-distributions.md",
|
||||
"docs/adr/0003-structural-evidence-and-runtime-receipts.md",
|
||||
"docs/adr/0004-reviewed-skill-taxonomy-evaluation.md",
|
||||
}
|
||||
CRITICAL_PATH_CONTRACTS: dict[str, dict[str, Any]] = {
|
||||
"skills": {"role": "authored-authority", "module": "skill-library", "authority": True},
|
||||
"config/team-manifest.json": {"role": "authored-authority", "module": "team-composition", "authority": True},
|
||||
"config/skill-taxonomy.json": {"role": "authored-authority", "module": "catalog-discovery", "authority": True},
|
||||
"config/skill-taxonomy-gold.json": {"role": "authored-authority", "module": "catalog-discovery", "authority": True},
|
||||
"config/skill-taxonomy-gold.schema.json": {"role": "authored-source", "module": "catalog-discovery", "authority": False},
|
||||
"config/skill-taxonomy-evaluation.schema.json": {"role": "authored-source", "module": "catalog-discovery", "authority": False},
|
||||
"docs/skill-taxonomy-gold-set.md": {"role": "authored-source", "module": "catalog-discovery", "authority": False},
|
||||
"scripts/build_skill_taxonomy_evaluation.py": {"role": "implementation", "module": "catalog-discovery", "authority": False},
|
||||
"config/repository-architecture.json": {"role": "authored-authority", "module": "governance-memory", "authority": True},
|
||||
"install.sh": {"role": "implementation", "module": "safe-installation", "authority": False},
|
||||
"catalog": {"role": "generated-output", "module": "catalog-discovery", "authority": False, "generatedBy": "scripts/build_skill_catalog.py", "verify": "npm run check:skills"},
|
||||
"catalog/skill-taxonomy-evaluation.json": {"role": "generated-output", "module": "catalog-discovery", "authority": False, "generatedBy": "scripts/build_skill_taxonomy_evaluation.py", "verify": "npm run check:taxonomy-evaluation"},
|
||||
"catalog/skill-quality.json": {"role": "generated-output", "module": "verification-evidence", "authority": False, "generatedBy": "scripts/audit_skill_quality.py", "verify": "npm run check:skill-quality"},
|
||||
"docs/data/repo-stats.json": {"role": "generated-output", "module": "public-navigation", "authority": False, "generatedBy": "scripts/build_site_data.py", "verify": "npm run test:repository"},
|
||||
"docs/data/star-history.json": {"role": "generated-output", "module": "public-navigation", "authority": False, "generatedBy": "scripts/build_site_data.py", "verify": "npm run test:repository"},
|
||||
@@ -298,15 +305,24 @@ def taxonomy_metrics(root: Path) -> dict[str, Any]:
|
||||
|
||||
source = classification_source.split(":", 1)[0]
|
||||
slug, combined = builder._classification_text(entry.skill_id, entry.description)
|
||||
text = slug if source == "slug" else combined
|
||||
text = (
|
||||
slug
|
||||
if source == "slug"
|
||||
else entry.description.lower()
|
||||
if source == "outcome"
|
||||
else combined
|
||||
)
|
||||
pattern_field = "outcomePatterns" if source == "outcome" else "patterns"
|
||||
scores: list[tuple[int, int, str]] = []
|
||||
for category in taxonomy["categories"]:
|
||||
if category.get("fallback"):
|
||||
patterns = category.get(pattern_field, [])
|
||||
if category.get("fallback") and not patterns:
|
||||
continue
|
||||
matched = [
|
||||
pattern for pattern in category["patterns"]
|
||||
pattern for pattern in patterns
|
||||
if not (
|
||||
source == "description"
|
||||
pattern_field == "patterns"
|
||||
and source == "description"
|
||||
and pattern in builder.DESCRIPTION_EXCLUDED_PATTERNS
|
||||
)
|
||||
and re.search(pattern, text, re.IGNORECASE)
|
||||
|
||||
@@ -27,6 +27,8 @@ DESCRIPTION_EXCLUDED_PATTERNS = {
|
||||
"(?:^|-)skills?(?:-|$)",
|
||||
"(?:^|-)model(?:-|$)",
|
||||
"team",
|
||||
"permission",
|
||||
"secret",
|
||||
}
|
||||
DESCRIPTION_REVIEW_PATTERN = re.compile(
|
||||
r"(?i)(?:\bnever lost\b|\bguaranteed\b|\bproduction[- ]ready\b|"
|
||||
@@ -162,16 +164,25 @@ def _classification_text(skill_id: str, description: str) -> tuple[str, str]:
|
||||
|
||||
|
||||
def _rule_candidates(
|
||||
source: str, text: str, taxonomy: dict[str, Any]
|
||||
source: str,
|
||||
text: str,
|
||||
taxonomy: dict[str, Any],
|
||||
*,
|
||||
pattern_field: str = "patterns",
|
||||
) -> list[tuple[int, int, str, list[str]]]:
|
||||
candidates: list[tuple[int, int, str, list[str]]] = []
|
||||
for category in taxonomy["categories"]:
|
||||
if category.get("fallback"):
|
||||
patterns = category.get(pattern_field, [])
|
||||
if category.get("fallback") and not patterns:
|
||||
continue
|
||||
matched = [
|
||||
pattern
|
||||
for pattern in category["patterns"]
|
||||
if not (source == "description" and pattern in DESCRIPTION_EXCLUDED_PATTERNS)
|
||||
for pattern in patterns
|
||||
if not (
|
||||
pattern_field == "patterns"
|
||||
and source == "description"
|
||||
and pattern in DESCRIPTION_EXCLUDED_PATTERNS
|
||||
)
|
||||
and re.search(pattern, text, re.IGNORECASE)
|
||||
]
|
||||
if matched:
|
||||
@@ -204,8 +215,14 @@ def _classify(
|
||||
category_id = str(overrides[skill_id])
|
||||
base_source = "fallback"
|
||||
base_candidates: list[tuple[int, int, str, list[str]]] = []
|
||||
for source, text in (("slug", slug), ("description", combined)):
|
||||
base_candidates = _rule_candidates(source, text, taxonomy)
|
||||
for source, text, pattern_field in (
|
||||
("outcome", description.lower(), "outcomePatterns"),
|
||||
("slug", slug, "patterns"),
|
||||
("description", combined, "patterns"),
|
||||
):
|
||||
base_candidates = _rule_candidates(
|
||||
source, text, taxonomy, pattern_field=pattern_field
|
||||
)
|
||||
if base_candidates:
|
||||
base_source = source
|
||||
break
|
||||
@@ -231,28 +248,50 @@ def _classify(
|
||||
"review_state": "unreviewed",
|
||||
}
|
||||
|
||||
for source, text in (("slug", slug), ("description", combined)):
|
||||
candidates = _rule_candidates(source, text, taxonomy)
|
||||
if candidates:
|
||||
best_score, best_priority, best_category, best_patterns = candidates[0]
|
||||
tied = any(item[0] == best_score for item in candidates[1:])
|
||||
return best_category, f"{source}:" + ",".join(best_patterns), {
|
||||
"method": source,
|
||||
"winner": {
|
||||
"category_id": best_category,
|
||||
"match_count": best_score,
|
||||
"matched_signals": best_patterns,
|
||||
"priority": best_priority,
|
||||
"tie_detected": tied,
|
||||
},
|
||||
outcome_candidates = _rule_candidates(
|
||||
"outcome",
|
||||
description.lower(),
|
||||
taxonomy,
|
||||
pattern_field="outcomePatterns",
|
||||
)
|
||||
slug_candidates = _rule_candidates("slug", slug, taxonomy)
|
||||
selected: tuple[str, list[tuple[int, int, str, list[str]]]] | None = None
|
||||
if outcome_candidates and (
|
||||
not slug_candidates
|
||||
or outcome_candidates[0][2] == slug_candidates[0][2]
|
||||
or outcome_candidates[0][0] >= 2
|
||||
):
|
||||
selected = ("outcome", outcome_candidates)
|
||||
elif slug_candidates:
|
||||
selected = ("slug", slug_candidates)
|
||||
else:
|
||||
description_candidates = _rule_candidates(
|
||||
"description", combined, taxonomy
|
||||
)
|
||||
if description_candidates:
|
||||
selected = ("description", description_candidates)
|
||||
|
||||
if selected:
|
||||
source, candidates = selected
|
||||
best_score, best_priority, best_category, best_patterns = candidates[0]
|
||||
tied = any(item[0] == best_score for item in candidates[1:])
|
||||
return best_category, f"{source}:" + ",".join(best_patterns), {
|
||||
"method": source,
|
||||
"winner": {
|
||||
"category_id": best_category,
|
||||
"match_count": best_score,
|
||||
"matched_signals": best_patterns,
|
||||
"runner_ups": [
|
||||
_candidate_document(item, best_score)
|
||||
for item in candidates[1:]
|
||||
],
|
||||
"resolution_status": "priority-tie" if tied else "rule-match",
|
||||
"review_state": "unreviewed",
|
||||
}
|
||||
"priority": best_priority,
|
||||
"tie_detected": tied,
|
||||
},
|
||||
"matched_signals": best_patterns,
|
||||
"runner_ups": [
|
||||
_candidate_document(item, best_score)
|
||||
for item in candidates[1:]
|
||||
],
|
||||
"resolution_status": "priority-tie" if tied else "rule-match",
|
||||
"review_state": "unreviewed",
|
||||
}
|
||||
fallback = next(item["id"] for item in taxonomy["categories"] if item.get("fallback"))
|
||||
return fallback, "fallback", {
|
||||
"method": "fallback",
|
||||
@@ -297,8 +336,8 @@ def _portability_class(levels: set[str]) -> str:
|
||||
def _validate_taxonomy(taxonomy: dict[str, Any], skill_names: set[str]) -> None:
|
||||
if taxonomy.get("$schema") != "./skill-taxonomy.schema.json":
|
||||
raise ValueError("taxonomy must reference ./skill-taxonomy.schema.json")
|
||||
if taxonomy.get("schemaVersion") != 1:
|
||||
raise ValueError("taxonomy schemaVersion must be 1")
|
||||
if taxonomy.get("schemaVersion") != 2:
|
||||
raise ValueError("taxonomy schemaVersion must be 2")
|
||||
|
||||
categories = taxonomy.get("categories", [])
|
||||
category_ids = [item["id"] for item in categories]
|
||||
@@ -310,7 +349,7 @@ def _validate_taxonomy(taxonomy: dict[str, Any], skill_names: set[str]) -> None:
|
||||
if sum(bool(item.get("fallback")) for item in categories) != 1:
|
||||
raise ValueError("taxonomy must define exactly one fallback category")
|
||||
for category in categories:
|
||||
for pattern in category["patterns"]:
|
||||
for pattern in category["patterns"] + category["outcomePatterns"]:
|
||||
if not pattern:
|
||||
raise ValueError(f"empty pattern in category {category['id']}")
|
||||
re.compile(pattern)
|
||||
@@ -432,6 +471,8 @@ def render_markdown(entries: list[SkillEntry], taxonomy: dict[str, Any]) -> str:
|
||||
"",
|
||||
"Find a skill by the outcome you need. This index is generated from tracked, physical `SKILL.md` entrypoints; catalog inclusion proves structure, not behavior or cross-harness compatibility.",
|
||||
"",
|
||||
"**Classification evidence:** inspect the fixed [Gold Set methodology](../docs/skill-taxonomy-gold-set.md) and the machine-readable [reviewed-set agreement report](./skill-taxonomy-evaluation.json). The score measures agreement on reviewed primary-outcome labels; it is not a Skill quality or runtime-success score.",
|
||||
"",
|
||||
"## 🚀 Suggested starting points",
|
||||
"",
|
||||
"For a first run, prefer a [starter kit](../starter-kits/) or the [Codex package](../.codex/INDEX.md). These are navigation aids, not claims of behavioral verification or a ranking of the full library.",
|
||||
|
||||
@@ -0,0 +1,504 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Build deterministic semantic evaluation evidence from reviewed Skill labels."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import hashlib
|
||||
import json
|
||||
import math
|
||||
import os
|
||||
import subprocess
|
||||
import tempfile
|
||||
from collections import defaultdict
|
||||
from pathlib import Path
|
||||
from typing import Any, Iterable
|
||||
|
||||
|
||||
GOLD_PATH = Path("config/skill-taxonomy-gold.json")
|
||||
INDEX_PATH = Path("catalog/skill-index.json")
|
||||
TAXONOMY_PATH = Path("config/skill-taxonomy.json")
|
||||
REPORT_PATH = Path("catalog/skill-taxonomy-evaluation.json")
|
||||
|
||||
|
||||
def _stable_hash(seed: str, category_id: str, skill_id: str) -> str:
|
||||
return hashlib.sha256(
|
||||
f"{seed}\0{category_id}\0{skill_id}".encode("utf-8")
|
||||
).hexdigest()
|
||||
|
||||
|
||||
def select_candidates(
|
||||
index: dict[str, Any], *, per_category: int, seed: str
|
||||
) -> list[dict[str, str]]:
|
||||
"""Select a deterministic, category-balanced, difficulty-aware review sample."""
|
||||
|
||||
if per_category < 1:
|
||||
raise ValueError("per_category must be positive")
|
||||
difficulty = {
|
||||
"priority-tie": 0,
|
||||
"override": 1,
|
||||
"fallback": 2,
|
||||
"rule-match": 4,
|
||||
}
|
||||
grouped: dict[str, list[dict[str, Any]]] = defaultdict(list)
|
||||
for skill in index.get("skills", []):
|
||||
grouped[skill["category_id"]].append(skill)
|
||||
|
||||
selected: list[dict[str, str]] = []
|
||||
category_ids = [item["id"] for item in index.get("categories", [])]
|
||||
for category_id in category_ids:
|
||||
candidates = grouped.get(category_id, [])
|
||||
if len(candidates) < per_category:
|
||||
raise ValueError(
|
||||
f"category {category_id} has only {len(candidates)} candidates"
|
||||
)
|
||||
ranked = sorted(
|
||||
candidates,
|
||||
key=lambda item: (
|
||||
difficulty.get(
|
||||
item["classification_details"]["resolution_status"], 3
|
||||
),
|
||||
0 if item.get("description_status") == "needs-review" else 1,
|
||||
_stable_hash(seed, category_id, item["skill_id"]),
|
||||
),
|
||||
)
|
||||
chosen = ranked[:per_category]
|
||||
validation_count = max(1, per_category // 5)
|
||||
validation_ids = {
|
||||
item["skill_id"]
|
||||
for item in sorted(
|
||||
chosen,
|
||||
key=lambda item: _stable_hash(
|
||||
"semantic-gold-holdout-v1", category_id, item["skill_id"]
|
||||
),
|
||||
)[:validation_count]
|
||||
}
|
||||
for item in chosen:
|
||||
selected.append(
|
||||
{
|
||||
"skill_id": item["skill_id"],
|
||||
"category_id": category_id,
|
||||
"resolution_status": item["classification_details"][
|
||||
"resolution_status"
|
||||
],
|
||||
"description_status": item["description_status"],
|
||||
"split": (
|
||||
"validation"
|
||||
if item["skill_id"] in validation_ids
|
||||
else "development"
|
||||
),
|
||||
}
|
||||
)
|
||||
return selected
|
||||
|
||||
|
||||
def gold_candidate_set_sha256(labels: Iterable[dict[str, Any]]) -> str:
|
||||
"""Hash the frozen membership, baseline route, and published split."""
|
||||
|
||||
manifest = sorted(
|
||||
(
|
||||
{
|
||||
"skill_id": item["skill_id"],
|
||||
"baseline_predicted_category": item[
|
||||
"baseline_predicted_category"
|
||||
],
|
||||
"baseline_resolution_status": item[
|
||||
"baseline_resolution_status"
|
||||
],
|
||||
"split": item["split"],
|
||||
}
|
||||
for item in labels
|
||||
),
|
||||
key=lambda item: item["skill_id"],
|
||||
)
|
||||
payload = json.dumps(
|
||||
manifest, ensure_ascii=False, separators=(",", ":"), sort_keys=True
|
||||
).encode("utf-8")
|
||||
return hashlib.sha256(payload).hexdigest()
|
||||
|
||||
|
||||
def gold_label_set_sha256(labels: Iterable[dict[str, Any]]) -> str:
|
||||
"""Hash the reviewed annotation evidence independently of sample routing."""
|
||||
|
||||
fields = (
|
||||
"skill_id",
|
||||
"expected_category",
|
||||
"rationale",
|
||||
"confidence",
|
||||
"reviewers",
|
||||
"review_status",
|
||||
"reviewed_at",
|
||||
"source_sha256",
|
||||
)
|
||||
annotations = sorted(
|
||||
({field: item[field] for field in fields} for item in labels),
|
||||
key=lambda item: item["skill_id"],
|
||||
)
|
||||
payload = json.dumps(
|
||||
annotations, ensure_ascii=False, separators=(",", ":"), sort_keys=True
|
||||
).encode("utf-8")
|
||||
return hashlib.sha256(payload).hexdigest()
|
||||
|
||||
|
||||
def _load_frozen_baseline(root: Path, gold: dict[str, Any]) -> dict[str, Any]:
|
||||
revision = gold["sampling"]["baseCommit"]
|
||||
result = subprocess.run(
|
||||
["git", "show", f"{revision}:catalog/skill-index.json"],
|
||||
cwd=root,
|
||||
capture_output=True,
|
||||
check=False,
|
||||
)
|
||||
if result.returncode != 0:
|
||||
raise ValueError(f"Gold Set base commit is unavailable: {revision}")
|
||||
actual_digest = hashlib.sha256(result.stdout).hexdigest()
|
||||
if actual_digest != gold["sampling"]["baseCatalogSha256"]:
|
||||
raise ValueError("Gold Set base catalog digest does not match")
|
||||
return json.loads(result.stdout.decode("utf-8"))
|
||||
|
||||
|
||||
def _validate_gold_contract(
|
||||
root: Path, gold: dict[str, Any], categories: list[str]
|
||||
) -> None:
|
||||
labels = gold.get("labels", [])
|
||||
if len(labels) != 140:
|
||||
raise ValueError("Gold Set must contain exactly 140 labels")
|
||||
skill_ids = [item["skill_id"] for item in labels]
|
||||
if len(skill_ids) != len(set(skill_ids)):
|
||||
raise ValueError("Gold Set skill IDs must be unique")
|
||||
|
||||
actual_digest = gold_candidate_set_sha256(labels)
|
||||
expected_digest = gold.get("sampling", {}).get("candidateSetSha256")
|
||||
if actual_digest != expected_digest:
|
||||
raise ValueError("Gold Set candidate set digest does not match")
|
||||
actual_label_digest = gold_label_set_sha256(labels)
|
||||
expected_label_digest = gold.get("annotation", {}).get("labelSetSha256")
|
||||
if actual_label_digest != expected_label_digest:
|
||||
raise ValueError("Gold Set label set digest does not match")
|
||||
|
||||
baseline = _load_frozen_baseline(root, gold)
|
||||
frozen_sample = select_candidates(
|
||||
baseline,
|
||||
per_category=gold["sampling"]["perPredictedCategory"],
|
||||
seed=gold["sampling"]["seed"],
|
||||
)
|
||||
expected_candidates = {
|
||||
item["skill_id"]: (
|
||||
item["category_id"],
|
||||
item["resolution_status"],
|
||||
item["split"],
|
||||
)
|
||||
for item in frozen_sample
|
||||
}
|
||||
actual_candidates = {
|
||||
item["skill_id"]: (
|
||||
item["baseline_predicted_category"],
|
||||
item["baseline_resolution_status"],
|
||||
item["split"],
|
||||
)
|
||||
for item in labels
|
||||
}
|
||||
if actual_candidates != expected_candidates:
|
||||
raise ValueError("Gold Set candidates do not match the frozen baseline sample")
|
||||
|
||||
by_baseline_category: dict[str, list[dict[str, Any]]] = defaultdict(list)
|
||||
for label in labels:
|
||||
by_baseline_category[label["baseline_predicted_category"]].append(label)
|
||||
reviewers = label["reviewers"]
|
||||
status = label["review_status"]
|
||||
required_reviewers = {
|
||||
"primary": 1,
|
||||
"cross-reviewed": 2,
|
||||
"adjudicated": 3,
|
||||
}[status]
|
||||
if len(reviewers) < required_reviewers:
|
||||
raise ValueError(
|
||||
f"Gold label lacks review evidence: {label['skill_id']}"
|
||||
)
|
||||
needs_cross_review = (
|
||||
label["confidence"] != "high"
|
||||
or label["expected_category"]
|
||||
!= label["baseline_predicted_category"]
|
||||
)
|
||||
if needs_cross_review and status == "primary":
|
||||
raise ValueError(
|
||||
f"Gold label requires cross-review: {label['skill_id']}"
|
||||
)
|
||||
|
||||
if set(by_baseline_category) != set(categories):
|
||||
raise ValueError("Gold Set baseline category coverage does not match taxonomy")
|
||||
for category_id, category_labels in by_baseline_category.items():
|
||||
split_counts = {
|
||||
split: sum(item["split"] == split for item in category_labels)
|
||||
for split in ("development", "validation")
|
||||
}
|
||||
if len(category_labels) != 10 or split_counts != {
|
||||
"development": 8,
|
||||
"validation": 2,
|
||||
}:
|
||||
raise ValueError(
|
||||
"Gold Set requires 8 development and 2 validation labels "
|
||||
f"for baseline category {category_id}"
|
||||
)
|
||||
|
||||
|
||||
def _safe_ratio(numerator: int, denominator: int) -> float:
|
||||
return numerator / denominator if denominator else 0.0
|
||||
|
||||
|
||||
def classification_metrics(
|
||||
*, expected: Iterable[str], predicted: Iterable[str], categories: Iterable[str]
|
||||
) -> dict[str, Any]:
|
||||
expected_values = list(expected)
|
||||
predicted_values = list(predicted)
|
||||
category_values = list(categories)
|
||||
if len(expected_values) != len(predicted_values):
|
||||
raise ValueError("expected and predicted lengths differ")
|
||||
if len(category_values) != len(set(category_values)):
|
||||
raise ValueError("categories must be unique")
|
||||
|
||||
per_category: dict[str, dict[str, float | int]] = {}
|
||||
f1_values: list[float] = []
|
||||
for category_id in category_values:
|
||||
true_positive = sum(
|
||||
actual == category_id and guess == category_id
|
||||
for actual, guess in zip(expected_values, predicted_values, strict=True)
|
||||
)
|
||||
false_positive = sum(
|
||||
actual != category_id and guess == category_id
|
||||
for actual, guess in zip(expected_values, predicted_values, strict=True)
|
||||
)
|
||||
false_negative = sum(
|
||||
actual == category_id and guess != category_id
|
||||
for actual, guess in zip(expected_values, predicted_values, strict=True)
|
||||
)
|
||||
precision = _safe_ratio(true_positive, true_positive + false_positive)
|
||||
recall = _safe_ratio(true_positive, true_positive + false_negative)
|
||||
f1 = _safe_ratio(2 * precision * recall, precision + recall)
|
||||
f1_values.append(f1)
|
||||
per_category[category_id] = {
|
||||
"precision": round(precision, 6),
|
||||
"recall": round(recall, 6),
|
||||
"f1": round(f1, 6),
|
||||
"support": sum(value == category_id for value in expected_values),
|
||||
"predicted": sum(value == category_id for value in predicted_values),
|
||||
}
|
||||
|
||||
correct = sum(
|
||||
actual == guess
|
||||
for actual, guess in zip(expected_values, predicted_values, strict=True)
|
||||
)
|
||||
accuracy = _safe_ratio(correct, len(expected_values))
|
||||
macro_f1 = _safe_ratio(
|
||||
sum(f1_values),
|
||||
len(category_values),
|
||||
)
|
||||
return {
|
||||
"total": len(expected_values),
|
||||
"correct": correct,
|
||||
"accuracy": accuracy,
|
||||
"macro_f1": macro_f1,
|
||||
"per_category": per_category,
|
||||
}
|
||||
|
||||
|
||||
def wilson_lower_bound(successes: int, total: int, z: float = 1.959963984540054) -> float:
|
||||
if total <= 0:
|
||||
return 0.0
|
||||
proportion = successes / total
|
||||
denominator = 1 + z * z / total
|
||||
centre = proportion + z * z / (2 * total)
|
||||
margin = z * math.sqrt(
|
||||
(proportion * (1 - proportion) + z * z / (4 * total)) / total
|
||||
)
|
||||
return (centre - margin) / denominator
|
||||
|
||||
|
||||
def skill_source_digest(path: Path) -> str:
|
||||
return hashlib.sha256(path.read_bytes()).hexdigest()
|
||||
|
||||
|
||||
def evaluate_gold_set(
|
||||
root: Path,
|
||||
gold: dict[str, Any],
|
||||
index: dict[str, Any],
|
||||
taxonomy: dict[str, Any],
|
||||
) -> dict[str, Any]:
|
||||
root = root.resolve()
|
||||
categories = [item["id"] for item in taxonomy["categories"]]
|
||||
_validate_gold_contract(root, gold, categories)
|
||||
known_categories = set(categories)
|
||||
indexed = {item["skill_id"]: item for item in index["skills"]}
|
||||
expected: list[str] = []
|
||||
predicted: list[str] = []
|
||||
split_values: list[str] = []
|
||||
errors: list[dict[str, str]] = []
|
||||
|
||||
for label in gold["labels"]:
|
||||
skill_id = label["skill_id"]
|
||||
if skill_id not in indexed:
|
||||
raise ValueError(f"gold label references missing skill: {skill_id}")
|
||||
if label["expected_category"] not in known_categories:
|
||||
raise ValueError(f"gold label references unknown category: {skill_id}")
|
||||
current_digest = skill_source_digest(root / "skills" / skill_id / "SKILL.md")
|
||||
if label["source_sha256"] != current_digest:
|
||||
raise ValueError(f"gold label is stale: {skill_id}")
|
||||
actual = label["expected_category"]
|
||||
guess = indexed[skill_id]["category_id"]
|
||||
expected.append(actual)
|
||||
predicted.append(guess)
|
||||
split_values.append(label["split"])
|
||||
if actual != guess:
|
||||
errors.append(
|
||||
{
|
||||
"skill_id": skill_id,
|
||||
"expected_category": actual,
|
||||
"predicted_category": guess,
|
||||
"split": label["split"],
|
||||
}
|
||||
)
|
||||
|
||||
metrics = classification_metrics(
|
||||
expected=expected,
|
||||
predicted=predicted,
|
||||
categories=categories,
|
||||
)
|
||||
split_metrics = {}
|
||||
for split in ("development", "validation"):
|
||||
positions = [
|
||||
index for index, value in enumerate(split_values) if value == split
|
||||
]
|
||||
split_result = classification_metrics(
|
||||
expected=[expected[index] for index in positions],
|
||||
predicted=[predicted[index] for index in positions],
|
||||
categories=categories,
|
||||
)
|
||||
split_metrics[split] = {
|
||||
**split_result,
|
||||
"accuracyWilsonLower95": round(
|
||||
wilson_lower_bound(
|
||||
split_result["correct"], split_result["total"]
|
||||
),
|
||||
6,
|
||||
),
|
||||
}
|
||||
accuracy_gate = metrics["accuracy"] >= 0.80
|
||||
macro_f1_gate = metrics["macro_f1"] >= 0.80
|
||||
sample_gate = metrics["total"] >= 140
|
||||
coverage_gate = all(
|
||||
item["support"] > 0 for item in metrics["per_category"].values()
|
||||
)
|
||||
validation_gate = split_metrics["validation"]["accuracy"] >= 0.75
|
||||
validation_macro_f1_gate = (
|
||||
split_metrics["validation"]["macro_f1"] >= 0.75
|
||||
)
|
||||
validation_coverage_gate = all(
|
||||
item["support"] > 0
|
||||
for item in split_metrics["validation"]["per_category"].values()
|
||||
)
|
||||
raw_score = math.floor(
|
||||
100 * min(float(metrics["accuracy"]), float(metrics["macro_f1"]))
|
||||
)
|
||||
passed = (
|
||||
sample_gate
|
||||
and accuracy_gate
|
||||
and macro_f1_gate
|
||||
and coverage_gate
|
||||
and validation_gate
|
||||
and validation_macro_f1_gate
|
||||
and validation_coverage_gate
|
||||
)
|
||||
semantic_score = raw_score if passed else min(raw_score, 79)
|
||||
gold_path = root / GOLD_PATH
|
||||
return {
|
||||
"$schema": "../config/skill-taxonomy-evaluation.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"sampleSize": metrics["total"],
|
||||
"categoryCount": len(categories),
|
||||
"goldSetSha256": hashlib.sha256(gold_path.read_bytes()).hexdigest(),
|
||||
"annotationMode": gold["annotation"]["mode"],
|
||||
"humanApproved": gold["annotation"]["humanApproved"],
|
||||
"metrics": {
|
||||
**metrics,
|
||||
"accuracyWilsonLower95": round(
|
||||
wilson_lower_bound(metrics["correct"], metrics["total"]), 6
|
||||
),
|
||||
},
|
||||
"splits": split_metrics,
|
||||
"gates": {
|
||||
"sampleAtLeast140": sample_gate,
|
||||
"accuracyAtLeast80": accuracy_gate,
|
||||
"macroF1AtLeast80": macro_f1_gate,
|
||||
"allCategoriesRepresented": coverage_gate,
|
||||
"validationAccuracyAtLeast75": validation_gate,
|
||||
"validationMacroF1AtLeast75": validation_macro_f1_gate,
|
||||
"validationAllCategoriesRepresented": validation_coverage_gate,
|
||||
"passed": passed,
|
||||
},
|
||||
"reviewedSetAgreementScore": semantic_score,
|
||||
"scoreSemantics": "floored minimum of exact accuracy and macro-F1 on the fixed, manually reviewed Gold Set; not an inventory-wide confidence interval",
|
||||
"runtimeEvidenceIncluded": False,
|
||||
"errors": sorted(errors, key=lambda item: item["skill_id"]),
|
||||
}
|
||||
|
||||
|
||||
def _write_atomic(path: Path, content: str) -> None:
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
temporary: Path | None = None
|
||||
try:
|
||||
with tempfile.NamedTemporaryFile(
|
||||
mode="w",
|
||||
encoding="utf-8",
|
||||
dir=path.parent,
|
||||
prefix=f".{path.name}.",
|
||||
suffix=".tmp",
|
||||
delete=False,
|
||||
) as handle:
|
||||
handle.write(content)
|
||||
handle.flush()
|
||||
os.fsync(handle.fileno())
|
||||
temporary = Path(handle.name)
|
||||
os.replace(temporary, path)
|
||||
finally:
|
||||
if temporary is not None and temporary.exists():
|
||||
temporary.unlink()
|
||||
|
||||
|
||||
def main() -> 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")
|
||||
parser.add_argument("--sample", action="store_true")
|
||||
parser.add_argument("--shard", type=int, choices=range(1, 5))
|
||||
arguments = parser.parse_args()
|
||||
root = arguments.root.resolve()
|
||||
index = json.loads((root / INDEX_PATH).read_text(encoding="utf-8"))
|
||||
if arguments.sample:
|
||||
candidates = select_candidates(
|
||||
index, per_category=10, seed="semantic-gold-v1"
|
||||
)
|
||||
if arguments.shard:
|
||||
candidates = [
|
||||
item
|
||||
for position, item in enumerate(candidates)
|
||||
if position % 4 == arguments.shard - 1
|
||||
]
|
||||
print(json.dumps(candidates, ensure_ascii=False, indent=2))
|
||||
return 0
|
||||
|
||||
gold = json.loads((root / GOLD_PATH).read_text(encoding="utf-8"))
|
||||
taxonomy = json.loads((root / TAXONOMY_PATH).read_text(encoding="utf-8"))
|
||||
report = evaluate_gold_set(root, gold, index, taxonomy)
|
||||
content = json.dumps(report, ensure_ascii=False, indent=2, sort_keys=True) + "\n"
|
||||
report_path = root / REPORT_PATH
|
||||
if arguments.check:
|
||||
if not report_path.is_file() or report_path.read_text(encoding="utf-8") != content:
|
||||
print(f"STALE {report_path}")
|
||||
return 1
|
||||
else:
|
||||
_write_atomic(report_path, content)
|
||||
print(f"WROTE {report_path}")
|
||||
return 0 if report["gates"]["passed"] else 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
+1
-1
@@ -60,7 +60,7 @@ The checked [debt baseline](../config/skill-quality-baseline.json) allows findin
|
||||
|
||||
## 📦 Inventory contract
|
||||
|
||||
The canonical rules and active requirements live in [`config/team-manifest.json`](../config/team-manifest.json). Taxonomy rules live in [`config/skill-taxonomy.json`](../config/skill-taxonomy.json); generated counts are not maintained by hand.
|
||||
The canonical rules and active requirements live in [`config/team-manifest.json`](../config/team-manifest.json). Taxonomy rules live in [`config/skill-taxonomy.json`](../config/skill-taxonomy.json); generated counts are not maintained by hand. Primary-outcome classification is checked against a fixed [reviewed Gold Set](../docs/skill-taxonomy-gold-set.md) with a machine-readable [agreement report](../catalog/skill-taxonomy-evaluation.json). That score does not measure Skill quality, safety, or runtime success.
|
||||
|
||||
The validator counts only skills that are tracked by Git, physical rather than symlinked, present in the working tree, and backed by a top-level `SKILL.md`.
|
||||
|
||||
|
||||
@@ -60,6 +60,8 @@ class SkillCatalogTests(unittest.TestCase):
|
||||
for category in categories:
|
||||
for pattern in category["patterns"]:
|
||||
re.compile(pattern)
|
||||
for pattern in category["outcomePatterns"]:
|
||||
re.compile(pattern)
|
||||
known_categories = set(identifiers)
|
||||
self.assertTrue(set(self.taxonomy["overrides"].values()) <= known_categories)
|
||||
self.assertEqual(
|
||||
@@ -129,6 +131,39 @@ class SkillCatalogTests(unittest.TestCase):
|
||||
with self.subTest(skill=skill_id):
|
||||
self.assertIn(signal, by_id[skill_id].review_signals)
|
||||
|
||||
def test_primary_outcome_routes_beat_incidental_tokens(self) -> None:
|
||||
by_id = {entry.skill_id: entry for entry in self.entries}
|
||||
expected_categories = {
|
||||
"agent-browser": "apps-workflow-automation",
|
||||
"ai-marketing-videos": "content-media-publishing",
|
||||
"api-design-patterns": "software-engineering",
|
||||
"business-analyst": "data-analytics-research",
|
||||
"datadog-automation": "cloud-devops-reliability",
|
||||
"deepwork-tracker": "general-utilities",
|
||||
"evomap": "ai-agents-orchestration",
|
||||
"file-organizer": "general-utilities",
|
||||
"linkedin-cdp": "sales-crm-customer-success",
|
||||
"microservices-patterns": "cloud-devops-reliability",
|
||||
"provider-key-manager": "security-privacy-legal",
|
||||
"quality-convergence-engine": "general-utilities",
|
||||
"static-code-analysis": "software-engineering",
|
||||
"subagent-driven-development": "ai-agents-orchestration",
|
||||
"vcf-annotator": "data-analytics-research",
|
||||
}
|
||||
for skill_id, category_id in expected_categories.items():
|
||||
with self.subTest(skill=skill_id):
|
||||
self.assertEqual(by_id[skill_id].category_id, category_id)
|
||||
|
||||
def test_outcome_phrases_precede_weak_slug_tokens(self) -> None:
|
||||
category_id, method, details = self.builder._classify(
|
||||
"thinking-example",
|
||||
"Apply quantitative trading and portfolio risk principles.",
|
||||
self.taxonomy,
|
||||
)
|
||||
self.assertEqual(category_id, "finance-trading-markets")
|
||||
self.assertTrue(method.startswith("outcome:"))
|
||||
self.assertEqual(details["method"], "outcome")
|
||||
|
||||
def test_generated_catalog_is_current_and_uses_portable_links(self) -> None:
|
||||
result = subprocess.run(
|
||||
[sys.executable, str(BUILDER_PATH), "--root", str(ROOT), "--check"],
|
||||
@@ -176,7 +211,7 @@ class SkillCatalogTests(unittest.TestCase):
|
||||
for item in index["skills"]:
|
||||
decision = item["classification_details"]
|
||||
winner = decision["winner"]
|
||||
self.assertIn(decision["method"], {"slug", "description", "override", "fallback"})
|
||||
self.assertIn(decision["method"], {"outcome", "slug", "description", "override", "fallback"})
|
||||
self.assertIn(decision["resolution_status"], {"rule-match", "priority-tie", "override", "fallback"})
|
||||
self.assertEqual(decision["review_state"], "unreviewed")
|
||||
self.assertEqual(winner["category_id"], item["category_id"])
|
||||
@@ -210,7 +245,7 @@ class SkillCatalogTests(unittest.TestCase):
|
||||
self.assertFalse(winner["tie_detected"])
|
||||
if decision["method"] == "override":
|
||||
self.assertGreaterEqual(len(decision["rationale"]), 20)
|
||||
self.assertIn(decision["base_method"], {"slug", "description", "fallback"})
|
||||
self.assertIn(decision["base_method"], {"outcome", "slug", "description", "fallback"})
|
||||
self.assertIsInstance(decision["base_candidates"], list)
|
||||
|
||||
assignments = {
|
||||
@@ -233,12 +268,9 @@ class SkillCatalogTests(unittest.TestCase):
|
||||
|
||||
by_id = {item["skill_id"]: item for item in index["skills"]}
|
||||
api_design = by_id["api-design"]["classification_details"]
|
||||
self.assertEqual(api_design["resolution_status"], "priority-tie")
|
||||
self.assertTrue(
|
||||
any(
|
||||
item["category_id"] == "software-engineering" and item["tied_for_first"]
|
||||
for item in api_design["runner_ups"]
|
||||
)
|
||||
self.assertEqual(api_design["method"], "outcome")
|
||||
self.assertEqual(
|
||||
api_design["winner"]["category_id"], "software-engineering"
|
||||
)
|
||||
fallback = next(
|
||||
item for item in index["skills"]
|
||||
|
||||
@@ -0,0 +1,220 @@
|
||||
import hashlib
|
||||
import json
|
||||
import sys
|
||||
import unittest
|
||||
from copy import deepcopy
|
||||
from pathlib import Path
|
||||
|
||||
from jsonschema import Draft202012Validator, FormatChecker
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
SCRIPTS = ROOT / "scripts"
|
||||
if str(SCRIPTS) not in sys.path:
|
||||
sys.path.insert(0, str(SCRIPTS))
|
||||
|
||||
from build_skill_taxonomy_evaluation import ( # noqa: E402
|
||||
classification_metrics,
|
||||
evaluate_gold_set,
|
||||
gold_candidate_set_sha256,
|
||||
gold_label_set_sha256,
|
||||
select_candidates,
|
||||
skill_source_digest,
|
||||
wilson_lower_bound,
|
||||
)
|
||||
|
||||
|
||||
class SkillTaxonomyEvaluationTests(unittest.TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls) -> None:
|
||||
cls.index = json.loads(
|
||||
(ROOT / "catalog" / "skill-index.json").read_text(encoding="utf-8")
|
||||
)
|
||||
cls.taxonomy = json.loads(
|
||||
(ROOT / "config" / "skill-taxonomy.json").read_text(encoding="utf-8")
|
||||
)
|
||||
|
||||
def test_candidate_selection_is_deterministic_stratified_and_difficulty_aware(self) -> None:
|
||||
selected = select_candidates(
|
||||
self.index,
|
||||
per_category=10,
|
||||
seed="semantic-gold-v1",
|
||||
)
|
||||
reversed_index = {**self.index, "skills": list(reversed(self.index["skills"]))}
|
||||
selected_again = select_candidates(
|
||||
reversed_index,
|
||||
per_category=10,
|
||||
seed="semantic-gold-v1",
|
||||
)
|
||||
self.assertEqual(selected, selected_again)
|
||||
self.assertEqual(len(selected), 140)
|
||||
self.assertEqual(len(selected), len({item["skill_id"] for item in selected}))
|
||||
|
||||
counts = {}
|
||||
for item in selected:
|
||||
counts[item["category_id"]] = counts.get(item["category_id"], 0) + 1
|
||||
self.assertEqual(set(counts), {item["id"] for item in self.taxonomy["categories"]})
|
||||
self.assertTrue(all(count == 10 for count in counts.values()))
|
||||
split_counts = {
|
||||
split: sum(item["split"] == split for item in selected)
|
||||
for split in ("development", "validation")
|
||||
}
|
||||
self.assertEqual(split_counts, {"development": 112, "validation": 28})
|
||||
for category_id in counts:
|
||||
category_items = [
|
||||
item for item in selected if item["category_id"] == category_id
|
||||
]
|
||||
self.assertEqual(
|
||||
sum(item["split"] == "validation" for item in category_items), 2
|
||||
)
|
||||
hard = {
|
||||
"priority-tie",
|
||||
"override",
|
||||
"fallback",
|
||||
}
|
||||
self.assertGreaterEqual(
|
||||
sum(item["resolution_status"] in hard for item in selected),
|
||||
50,
|
||||
)
|
||||
|
||||
def test_metrics_and_wilson_bound_are_mathematically_stable(self) -> None:
|
||||
metrics = classification_metrics(
|
||||
expected=["a", "b", "b"],
|
||||
predicted=["a", "a", "b"],
|
||||
categories=["a", "b"],
|
||||
)
|
||||
self.assertAlmostEqual(metrics["accuracy"], 2 / 3)
|
||||
self.assertAlmostEqual(metrics["macro_f1"], 2 / 3)
|
||||
self.assertEqual(metrics["correct"], 2)
|
||||
self.assertEqual(metrics["total"], 3)
|
||||
self.assertAlmostEqual(wilson_lower_bound(80, 100), 0.7111708, places=6)
|
||||
self.assertEqual(wilson_lower_bound(0, 0), 0.0)
|
||||
|
||||
def test_gold_set_and_generated_report_are_schema_valid_and_fresh(self) -> None:
|
||||
gold_path = ROOT / "config" / "skill-taxonomy-gold.json"
|
||||
gold_schema_path = ROOT / "config" / "skill-taxonomy-gold.schema.json"
|
||||
report_path = ROOT / "catalog" / "skill-taxonomy-evaluation.json"
|
||||
report_schema_path = ROOT / "config" / "skill-taxonomy-evaluation.schema.json"
|
||||
|
||||
gold = json.loads(gold_path.read_text(encoding="utf-8"))
|
||||
gold_schema = json.loads(gold_schema_path.read_text(encoding="utf-8"))
|
||||
report = json.loads(report_path.read_text(encoding="utf-8"))
|
||||
report_schema = json.loads(report_schema_path.read_text(encoding="utf-8"))
|
||||
Draft202012Validator.check_schema(gold_schema)
|
||||
Draft202012Validator(
|
||||
gold_schema, format_checker=FormatChecker()
|
||||
).validate(gold)
|
||||
Draft202012Validator.check_schema(report_schema)
|
||||
Draft202012Validator(report_schema).validate(report)
|
||||
|
||||
self.assertGreaterEqual(len(gold["labels"]), 140)
|
||||
self.assertEqual(
|
||||
len(gold["labels"]),
|
||||
len({item["skill_id"] for item in gold["labels"]}),
|
||||
)
|
||||
known_categories = {item["id"] for item in self.taxonomy["categories"]}
|
||||
gold_categories = {item["expected_category"] for item in gold["labels"]}
|
||||
self.assertEqual(gold_categories, known_categories)
|
||||
self.assertEqual(len(gold["labels"]), 140)
|
||||
self.assertEqual(
|
||||
sum(item["split"] == "development" for item in gold["labels"]),
|
||||
112,
|
||||
)
|
||||
self.assertEqual(
|
||||
sum(item["split"] == "validation" for item in gold["labels"]),
|
||||
28,
|
||||
)
|
||||
self.assertEqual(
|
||||
gold["sampling"]["candidateSetSha256"],
|
||||
gold_candidate_set_sha256(gold["labels"]),
|
||||
)
|
||||
self.assertEqual(
|
||||
gold["annotation"]["labelSetSha256"],
|
||||
gold_label_set_sha256(gold["labels"]),
|
||||
)
|
||||
self.assertTrue(
|
||||
all(len(item["rationale"].strip()) >= 20 for item in gold["labels"])
|
||||
)
|
||||
for item in gold["labels"]:
|
||||
self.assertEqual(
|
||||
item["source_sha256"],
|
||||
skill_source_digest(ROOT / "skills" / item["skill_id"] / "SKILL.md"),
|
||||
)
|
||||
|
||||
evaluated = evaluate_gold_set(ROOT, gold, self.index, self.taxonomy)
|
||||
self.assertEqual(report, evaluated)
|
||||
self.assertGreaterEqual(report["metrics"]["accuracy"], 0.80)
|
||||
self.assertGreaterEqual(report["metrics"]["macro_f1"], 0.80)
|
||||
self.assertGreaterEqual(report["splits"]["validation"]["accuracy"], 0.75)
|
||||
self.assertTrue(report["gates"]["validationAccuracyAtLeast75"])
|
||||
self.assertTrue(report["gates"]["validationMacroF1AtLeast75"])
|
||||
self.assertTrue(
|
||||
report["gates"]["validationAllCategoriesRepresented"]
|
||||
)
|
||||
self.assertGreaterEqual(report["reviewedSetAgreementScore"], 80)
|
||||
self.assertFalse(report["runtimeEvidenceIncluded"])
|
||||
self.assertGreater(
|
||||
report["splits"]["validation"]["accuracyWilsonLower95"], 0
|
||||
)
|
||||
self.assertEqual(
|
||||
report["goldSetSha256"],
|
||||
hashlib.sha256(gold_path.read_bytes()).hexdigest(),
|
||||
)
|
||||
|
||||
def test_gold_contract_rejects_sample_growth_split_changes_and_label_drift(self) -> None:
|
||||
gold = json.loads(
|
||||
(ROOT / "config" / "skill-taxonomy-gold.json").read_text(
|
||||
encoding="utf-8"
|
||||
)
|
||||
)
|
||||
|
||||
expanded = deepcopy(gold)
|
||||
expanded["labels"].append(deepcopy(expanded["labels"][0]))
|
||||
expanded["labels"][-1]["skill_id"] = "not-a-real-gold-skill"
|
||||
with self.assertRaisesRegex(ValueError, "exactly 140"):
|
||||
evaluate_gold_set(ROOT, expanded, self.index, self.taxonomy)
|
||||
|
||||
moved = deepcopy(gold)
|
||||
moved["labels"][0]["split"] = "validation"
|
||||
with self.assertRaisesRegex(ValueError, "candidate set digest"):
|
||||
evaluate_gold_set(ROOT, moved, self.index, self.taxonomy)
|
||||
|
||||
relabeled_baseline = deepcopy(gold)
|
||||
relabeled_baseline["labels"][0]["baseline_predicted_category"] = (
|
||||
"general-utilities"
|
||||
)
|
||||
with self.assertRaisesRegex(ValueError, "candidate set digest"):
|
||||
evaluate_gold_set(
|
||||
ROOT, relabeled_baseline, self.index, self.taxonomy
|
||||
)
|
||||
|
||||
relabeled_gold = deepcopy(gold)
|
||||
relabeled_gold["labels"][0]["expected_category"] = "general-utilities"
|
||||
with self.assertRaisesRegex(ValueError, "label set digest"):
|
||||
evaluate_gold_set(ROOT, relabeled_gold, self.index, self.taxonomy)
|
||||
|
||||
def test_failed_validation_gate_caps_the_public_score(self) -> None:
|
||||
gold = json.loads(
|
||||
(ROOT / "config" / "skill-taxonomy-gold.json").read_text(
|
||||
encoding="utf-8"
|
||||
)
|
||||
)
|
||||
validation_ids = {
|
||||
item["skill_id"]
|
||||
for item in gold["labels"]
|
||||
if item["split"] == "validation"
|
||||
}
|
||||
degraded_index = deepcopy(self.index)
|
||||
for item in degraded_index["skills"]:
|
||||
if item["skill_id"] in validation_ids:
|
||||
item["category_id"] = "general-utilities"
|
||||
report = evaluate_gold_set(
|
||||
ROOT, gold, degraded_index, self.taxonomy
|
||||
)
|
||||
self.assertFalse(report["gates"]["passed"])
|
||||
self.assertFalse(report["gates"]["validationAccuracyAtLeast75"])
|
||||
self.assertLessEqual(report["reviewedSetAgreementScore"], 79)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user