diff --git a/learn/ASSET-CATALOG.md b/learn/ASSET-CATALOG.md index e424e6e6..542f6d48 100644 --- a/learn/ASSET-CATALOG.md +++ b/learn/ASSET-CATALOG.md @@ -1,22 +1,22 @@ # Asset Catalog -This file is generated from the canonical `src/` source package. Do not maintain the roster by hand. +This file is generated from the canonical `.claude` tree. Do not maintain the roster by hand. ## Exact manifest -- Agents: 114 (113 portable Markdown plus 1 Codex-native TOML) -- Core skills: 117 +- Agents: 82 +- Core skills: 85 - Commands: 7 (2 translated into Codex-facing skills) - Rules: 4 - Hook behaviors: 2 -- Codex-facing skills: 119 (117 core skills plus 2 command translations) +- Codex-facing skills: 87 (85 core skills plus 2 command translations) ## Compatibility ledger | Source capability | Claude Code | Codex | Cursor | |---|---|---|---| -| 114 agents | PRESERVE 113 portable Markdown agents | TRANSLATE 113 Markdown agents; PRESERVE 1 native TOML agent | PRESERVE 113 portable Markdown agents | -| 117 skills | PRESERVE | PRESERVE in `.agents/skills` and plugin | PRESERVE | +| 82 agents | PRESERVE as Markdown | TRANSLATE to TOML project agents | PRESERVE as Markdown | +| 85 skills | PRESERVE | PRESERVE in `.agents/skills` and plugin | PRESERVE | | 7 commands | PRESERVE | TRANSLATE 2 to explicit skills in both Codex layers | PRESERVE | | 4 rules | TRANSLATE to Claude rules and CLAUDE.md | TRANSLATE to project instructions | PRESERVE as MDC | | 2 hooks | PRESERVE | TRANSLATE patch input, preserve outcomes | TRANSLATE event and output schema | @@ -27,125 +27,93 @@ No capability is intentionally dropped. | Bee | Paired Stinger | Codex agent | |---|---|---| -| [adr-writing-worker-bee](../src/agents/adr-writing-worker-bee.md) | [adr-writing-stinger](../src/skills/adr-writing-stinger/) | `.codex/agents/adr-writing-worker-bee.toml` (generated) | -| [affiliate-referral-program-worker-bee](../src/agents/affiliate-referral-program-worker-bee.md) | [affiliate-referral-program-stinger](../src/skills/affiliate-referral-program-stinger/) | `.codex/agents/affiliate-referral-program-worker-bee.toml` (generated) | -| [agile-scrum-worker-bee](../src/agents/agile-scrum-worker-bee.md) | [agile-scrum-stinger](../src/skills/agile-scrum-stinger/) | `.codex/agents/agile-scrum-worker-bee.toml` (generated) | -| [ai-coding-tools-worker-bee](../src/agents/ai-coding-tools-worker-bee.md) | [ai-coding-tools-stinger](../src/skills/ai-coding-tools-stinger/) | `.codex/agents/ai-coding-tools-worker-bee.toml` (generated) | -| [ai-tools-platform-worker-bee](../src/agents/ai-tools-platform-worker-bee.md) | [ai-tools-platform-stinger](../src/skills/ai-tools-platform-stinger/) | `.codex/agents/ai-tools-platform-worker-bee.toml` (generated) | -| [alt-ads-platforms-worker-bee](../src/agents/alt-ads-platforms-worker-bee.md) | [alt-ads-platforms-stinger](../src/skills/alt-ads-platforms-stinger/) | `.codex/agents/alt-ads-platforms-worker-bee.toml` (generated) | -| [api-docs-worker-bee](../src/agents/api-docs-worker-bee.md) | [api-docs-stinger](../src/skills/api-docs-stinger/) | `.codex/agents/api-docs-worker-bee.toml` (generated) | -| [app-store-submission-worker-bee](../src/agents/app-store-submission-worker-bee.md) | [app-store-submission-stinger](../src/skills/app-store-submission-stinger/) | `.codex/agents/app-store-submission-worker-bee.toml` (generated) | -| [archivist-worker-bee](../src/agents/archivist-worker-bee.md) | [archivist-stinger](../src/skills/archivist-stinger/) | `.codex/agents/archivist-worker-bee.toml` (generated) | -| [asset-worker-bee](../src/agents/asset-worker-bee.md) | [asset-stinger](../src/skills/asset-stinger/) | `.codex/agents/asset-worker-bee.toml` (generated) | -| [auth-worker-bee](../src/agents/auth-worker-bee.md) | [auth-stinger](../src/skills/auth-stinger/) | `.codex/agents/auth-worker-bee.toml` (generated) | -| [bifrost-worker-bee](../src/agents/bifrost-worker-bee.md) | [bifrost-stinger](../src/skills/bifrost-stinger/) | `.codex/agents/bifrost-worker-bee.toml` (generated) | -| [blogging-content-strategy-worker-bee](../src/agents/blogging-content-strategy-worker-bee.md) | [blogging-content-strategy-stinger](../src/skills/blogging-content-strategy-stinger/) | `.codex/agents/blogging-content-strategy-worker-bee.toml` (generated) | -| [branching-strategy-worker-bee](../src/agents/branching-strategy-worker-bee.md) | [branching-strategy-stinger](../src/skills/branching-strategy-stinger/) | `.codex/agents/branching-strategy-worker-bee.toml` (generated) | -| [browser-automation-worker-bee](../src/agents/browser-automation-worker-bee.md) | [browser-automation-stinger](../src/skills/browser-automation-stinger/) | `.codex/agents/browser-automation-worker-bee.toml` (generated) | -| [changelog-release-notes-worker-bee](../src/agents/changelog-release-notes-worker-bee.md) | [changelog-release-notes-stinger](../src/skills/changelog-release-notes-stinger/) | `.codex/agents/changelog-release-notes-worker-bee.toml` (generated) | -| [chrome-chromium-worker-bee](../src/agents/chrome-chromium-worker-bee.md) | [chrome-chromium-stinger](../src/skills/chrome-chromium-stinger/) | `.codex/agents/chrome-chromium-worker-bee.toml` (generated) | -| [ci-release-worker-bee](../src/agents/ci-release-worker-bee.md) | [ci-release-stinger](../src/skills/ci-release-stinger/) | `.codex/agents/ci-release-worker-bee.toml` (generated) | -| [code-forensics-worker-bee](../src/agents/code-forensics-worker-bee.md) | [code-forensics-stinger](../src/skills/code-forensics-stinger/) | `.codex/agents/code-forensics-worker-bee.toml` (generated) | -| [code-review-pr-worker-bee](../src/agents/code-review-pr-worker-bee.md) | [code-review-pr-stinger](../src/skills/code-review-pr-stinger/) | `.codex/agents/code-review-pr-worker-bee.toml` (generated) | -| [cold-outreach-worker-bee](../src/agents/cold-outreach-worker-bee.md) | [cold-outreach-stinger](../src/skills/cold-outreach-stinger/) | `.codex/agents/cold-outreach-worker-bee.toml` (generated) | -| [competitive-research-worker-bee](../src/agents/competitive-research-worker-bee.md) | [competitive-research-stinger](../src/skills/competitive-research-stinger/) | `.codex/agents/competitive-research-worker-bee.toml` (generated) | -| [crm-integration-worker-bee](../src/agents/crm-integration-worker-bee.md) | [crm-integration-stinger](../src/skills/crm-integration-stinger/) | `.codex/agents/crm-integration-worker-bee.toml` (generated) | -| [cron-scheduling-worker-bee](../src/agents/cron-scheduling-worker-bee.md) | [cron-scheduling-stinger](../src/skills/cron-scheduling-stinger/) | `.codex/agents/cron-scheduling-worker-bee.toml` (generated) | -| [csv-xlsx-import-export-worker-bee](../src/agents/csv-xlsx-import-export-worker-bee.md) | [csv-xlsx-import-export-stinger](../src/skills/csv-xlsx-import-export-stinger/) | `.codex/agents/csv-xlsx-import-export-worker-bee.toml` (generated) | -| [cursor-ide-worker-bee](../src/agents/cursor-ide-worker-bee.md) | [cursor-ide-stinger](../src/skills/cursor-ide-stinger/) | `.codex/agents/cursor-ide-worker-bee.toml` (generated) | -| [customer-support-tooling-worker-bee](../src/agents/customer-support-tooling-worker-bee.md) | [customer-support-tooling-stinger](../src/skills/customer-support-tooling-stinger/) | `.codex/agents/customer-support-tooling-worker-bee.toml` (generated) | -| [dark-mode-theming-worker-bee](../src/agents/dark-mode-theming-worker-bee.md) | [dark-mode-theming-stinger](../src/skills/dark-mode-theming-stinger/) | `.codex/agents/dark-mode-theming-worker-bee.toml` (generated) | -| [db-worker-bee](../src/agents/db-worker-bee.md) | [db-stinger](../src/skills/db-stinger/) | `.codex/agents/db-worker-bee.toml` (generated) | -| [deeplake-dataset-worker-bee](../src/agents/deeplake-dataset-worker-bee.md) | [deeplake-dataset-stinger](../src/skills/deeplake-dataset-stinger/) | `.codex/agents/deeplake-dataset-worker-bee.toml` (generated) | -| [dependency-audit-worker-bee](../src/agents/dependency-audit-worker-bee.md) | [dependency-audit-stinger](../src/skills/dependency-audit-stinger/) | `.codex/agents/dependency-audit-worker-bee.toml` (generated) | -| [design-system-worker-bee](../src/agents/design-system-worker-bee.md) | [design-system-stinger](../src/skills/design-system-stinger/) | `.codex/agents/design-system-worker-bee.toml` (generated) | -| [devops-worker-bee](../src/agents/devops-worker-bee.md) | [devops-stinger](../src/skills/devops-stinger/) | `.codex/agents/devops-worker-bee.toml` (generated) | -| [discord-bot-worker-bee](../src/agents/discord-bot-worker-bee.md) | [discord-bot-stinger](../src/skills/discord-bot-stinger/) | `.codex/agents/discord-bot-worker-bee.toml` (generated) | -| [discovery-research-worker-bee](../src/agents/discovery-research-worker-bee.md) | [discovery-research-stinger](../src/skills/discovery-research-stinger/) | `.codex/agents/discovery-research-worker-bee.toml` (generated) | -| [docs-site-worker-bee](../src/agents/docs-site-worker-bee.md) | [docs-site-stinger](../src/skills/docs-site-stinger/) | `.codex/agents/docs-site-worker-bee.toml` (generated) | -| [doppler-worker-bee](../src/agents/doppler-worker-bee.md) | [doppler-stinger](../src/skills/doppler-stinger/) | `.codex/agents/doppler-worker-bee.toml` (generated) | -| [electron-app-worker-bee](../src/agents/electron-app-worker-bee.md) | [electron-app-stinger](../src/skills/electron-app-stinger/) | `.codex/agents/electron-app-worker-bee.toml` (generated) | -| [elevenlabs-api-worker-bee](../src/agents/elevenlabs-api-worker-bee.md) | [elevenlabs-api-stinger](../src/skills/elevenlabs-api-stinger/) | `.codex/agents/elevenlabs-api-worker-bee.toml` (generated) | -| [embeddings-runtime-worker-bee](../src/agents/embeddings-runtime-worker-bee.md) | [embeddings-runtime-stinger](../src/skills/embeddings-runtime-stinger/) | `.codex/agents/embeddings-runtime-worker-bee.toml` (generated) | -| [estimation-worker-bee](../src/agents/estimation-worker-bee.md) | [estimation-stinger](../src/skills/estimation-stinger/) | `.codex/agents/estimation-worker-bee.toml` (generated) | -| [font-loading-worker-bee](../src/agents/font-loading-worker-bee.md) | [font-loading-stinger](../src/skills/font-loading-stinger/) | `.codex/agents/font-loading-worker-bee.toml` (generated) | -| [git-worker-bee](../src/agents/git-worker-bee.md) | [git-stinger](../src/skills/git-stinger/) | `.codex/agents/git-worker-bee.toml` (generated) | -| [github-repo-health-worker-bee](../src/agents/github-repo-health-worker-bee.md) | [github-repo-health-stinger](../src/skills/github-repo-health-stinger/) | `.codex/agents/github-repo-health-worker-bee.toml` (generated) | -| [go-worker-bee](../src/agents/go-worker-bee.md) | [go-stinger](../src/skills/go-stinger/) | `.codex/agents/go-worker-bee.toml` (generated) | -| [gohighlevel-worker-bee](../src/agents/gohighlevel-worker-bee.md) | [gohighlevel-stinger](../src/skills/gohighlevel-stinger/) | `.codex/agents/gohighlevel-worker-bee.toml` (generated) | -| [harness-integration-worker-bee](../src/agents/harness-integration-worker-bee.md) | [harness-integration-stinger](../src/skills/harness-integration-stinger/) | `.codex/agents/harness-integration-worker-bee.toml` (generated) | -| [heygen-api-worker-bee](../src/agents/heygen-api-worker-bee.md) | [heygen-api-stinger](../src/skills/heygen-api-stinger/) | `.codex/agents/heygen-api-worker-bee.toml` (generated) | -| [highlevel-ai-studio-worker-bee](../src/agents/highlevel-ai-studio-worker-bee.md) | [highlevel-ai-studio-stinger](../src/skills/highlevel-ai-studio-stinger/) | `.codex/agents/highlevel-ai-studio-worker-bee.toml` (generated) | -| [hiring-ats-worker-bee](../src/agents/hiring-ats-worker-bee.md) | [hiring-ats-stinger](../src/skills/hiring-ats-stinger/) | `.codex/agents/hiring-ats-worker-bee.toml` (generated) | -| [hr-payroll-worker-bee](../src/agents/hr-payroll-worker-bee.md) | [hr-payroll-stinger](../src/skills/hr-payroll-stinger/) | `.codex/agents/hr-payroll-worker-bee.toml` (generated) | -| [http-rest-fundamentals-worker-bee](../src/agents/http-rest-fundamentals-worker-bee.md) | [http-rest-fundamentals-stinger](../src/skills/http-rest-fundamentals-stinger/) | `.codex/agents/http-rest-fundamentals-worker-bee.toml` (generated) | -| [icon-system-worker-bee](../src/agents/icon-system-worker-bee.md) | [icon-system-stinger](../src/skills/icon-system-stinger/) | `.codex/agents/icon-system-worker-bee.toml` (generated) | -| [image-optimization-worker-bee](../src/agents/image-optimization-worker-bee.md) | [image-optimization-stinger](../src/skills/image-optimization-stinger/) | `.codex/agents/image-optimization-worker-bee.toml` (generated) | -| [impeccable-worker-bee](../src/agents/impeccable-worker-bee.md) | [impeccable-stinger](../src/skills/impeccable-stinger/) | `.codex/agents/impeccable-worker-bee.toml` (generated) | -| [incorporation-startup-stack-worker-bee](../src/agents/incorporation-startup-stack-worker-bee.md) | [incorporation-startup-stack-stinger](../src/skills/incorporation-startup-stack-stinger/) | `.codex/agents/incorporation-startup-stack-worker-bee.toml` (generated) | -| [investor-cap-table-worker-bee](../src/agents/investor-cap-table-worker-bee.md) | [investor-cap-table-stinger](../src/skills/investor-cap-table-stinger/) | `.codex/agents/investor-cap-table-worker-bee.toml` (generated) | -| [kanban-flow-worker-bee](../src/agents/kanban-flow-worker-bee.md) | [kanban-flow-stinger](../src/skills/kanban-flow-stinger/) | `.codex/agents/kanban-flow-worker-bee.toml` (generated) | -| [knowledge-base-help-center-worker-bee](../src/agents/knowledge-base-help-center-worker-bee.md) | [knowledge-base-help-center-stinger](../src/skills/knowledge-base-help-center-stinger/) | `.codex/agents/knowledge-base-help-center-worker-bee.toml` (generated) | -| [knowledge-worker-bee](../src/agents/knowledge-worker-bee.md) | [knowledge-stinger](../src/skills/knowledge-stinger/) | `.codex/agents/knowledge-worker-bee.toml` (generated) | -| [legal-docs-worker-bee](../src/agents/legal-docs-worker-bee.md) | [legal-docs-stinger](../src/skills/legal-docs-stinger/) | `.codex/agents/legal-docs-worker-bee.toml` (generated) | -| [library-worker-bee](../src/agents/library-worker-bee.md) | [library-stinger](../src/skills/library-stinger/) | `.codex/agents/library-worker-bee.toml` (generated) | -| [lifecycle-email-worker-bee](../src/agents/lifecycle-email-worker-bee.md) | [lifecycle-email-stinger](../src/skills/lifecycle-email-stinger/) | `.codex/agents/lifecycle-email-worker-bee.toml` (generated) | -| [lighthouse-pagespeed-worker-bee](../src/agents/lighthouse-pagespeed-worker-bee.md) | [lighthouse-pagespeed-stinger](../src/skills/lighthouse-pagespeed-stinger/) | `.codex/agents/lighthouse-pagespeed-worker-bee.toml` (generated) | -| [live-chat-support-worker-bee](../src/agents/live-chat-support-worker-bee.md) | [live-chat-support-stinger](../src/skills/live-chat-support-stinger/) | `.codex/agents/live-chat-support-worker-bee.toml` (generated) | -| [lovable-audit-worker-bee](../src/agents/lovable-audit-worker-bee.md) | [lovable-audit-stinger](../src/skills/lovable-audit-stinger/) | `.codex/agents/lovable-audit-worker-bee.toml` (generated) | -| [markdown-mdx-content-pipeline-worker-bee](../src/agents/markdown-mdx-content-pipeline-worker-bee.md) | [markdown-mdx-content-pipeline-stinger](../src/skills/markdown-mdx-content-pipeline-stinger/) | `.codex/agents/markdown-mdx-content-pipeline-worker-bee.toml` (generated) | -| [mcp-protocol-worker-bee](../src/agents/mcp-protocol-worker-bee.md) | [mcp-protocol-stinger](../src/skills/mcp-protocol-stinger/) | `.codex/agents/mcp-protocol-worker-bee.toml` (generated) | -| [mcp-tool-docs-worker-bee](../src/agents/mcp-tool-docs-worker-bee.md) | [mcp-tool-docs-stinger](../src/skills/mcp-tool-docs-stinger/) | `.codex/agents/mcp-tool-docs-worker-bee.toml` (generated) | -| [mind-worker-bee](../src/agents/mind-worker-bee.md) | [mind-stinger](../src/skills/mind-stinger/) | `.codex/agents/mind-worker-bee.toml` (generated) | -| [modal-toast-dialog-worker-bee](../src/agents/modal-toast-dialog-worker-bee.md) | [modal-toast-dialog-stinger](../src/skills/modal-toast-dialog-stinger/) | `.codex/agents/modal-toast-dialog-worker-bee.toml` (generated) | -| [neon-drizzle-worker-bee](../src/agents/neon-drizzle-worker-bee.md) | [neon-drizzle-stinger](../src/skills/neon-drizzle-stinger/) | `.codex/agents/neon-drizzle-worker-bee.toml` (generated) | -| [newsletter-platform-worker-bee](../src/agents/newsletter-platform-worker-bee.md) | [newsletter-platform-stinger](../src/skills/newsletter-platform-stinger/) | `.codex/agents/newsletter-platform-worker-bee.toml` (generated) | -| [okr-goal-setting-worker-bee](../src/agents/okr-goal-setting-worker-bee.md) | [okr-goal-setting-stinger](../src/skills/okr-goal-setting-stinger/) | `.codex/agents/okr-goal-setting-worker-bee.toml` (generated) | -| [payments-worker-bee](../src/agents/payments-worker-bee.md) | [payments-stinger](../src/skills/payments-stinger/) | `.codex/agents/payments-worker-bee.toml` (generated) | -| [posthog-worker-bee](../src/agents/posthog-worker-bee.md) | [posthog-stinger](../src/skills/posthog-stinger/) | `.codex/agents/posthog-worker-bee.toml` (generated) | -| [preact-worker-bee](../src/agents/preact-worker-bee.md) | [preact-stinger](../src/skills/preact-stinger/) | `.codex/agents/preact-worker-bee.toml` (generated) | -| [product-feedback-roadmap-worker-bee](../src/agents/product-feedback-roadmap-worker-bee.md) | [product-feedback-roadmap-stinger](../src/skills/product-feedback-roadmap-stinger/) | `.codex/agents/product-feedback-roadmap-worker-bee.toml` (generated) | -| [product-tour-onboarding-ui-worker-bee](../src/agents/product-tour-onboarding-ui-worker-bee.md) | [product-tour-onboarding-ui-stinger](../src/skills/product-tour-onboarding-ui-stinger/) | `.codex/agents/product-tour-onboarding-ui-worker-bee.toml` (generated) | -| [python-worker-bee](../src/agents/python-worker-bee.md) | [python-stinger](../src/skills/python-stinger/) | `.codex/agents/python-worker-bee.toml` (generated) | -| [quality-worker-bee](../src/agents/quality-worker-bee.md) | [quality-stinger](../src/skills/quality-stinger/) | `.codex/agents/quality-worker-bee.toml` (generated) | -| [react-to-svelte-worker-bee](../src/agents/react-to-svelte-worker-bee.md) | [react-to-svelte-stinger](../src/skills/react-to-svelte-stinger/) | `.codex/agents/react-to-svelte-worker-bee.toml` (generated) | -| [react-worker-bee](../src/agents/react-worker-bee.md) | [react-stinger](../src/skills/react-stinger/) | `.codex/agents/react-worker-bee.toml` (generated) | -| [readme-writing-worker-bee](../src/agents/readme-writing-worker-bee.md) | [readme-writing-stinger](../src/skills/readme-writing-stinger/) | `.codex/agents/readme-writing-worker-bee.toml` (generated) | -| [retrieval-worker-bee](../src/agents/retrieval-worker-bee.md) | [retrieval-stinger](../src/skills/retrieval-stinger/) | `.codex/agents/retrieval-worker-bee.toml` (generated) | -| [retrospective-worker-bee](../src/agents/retrospective-worker-bee.md) | [retrospective-stinger](../src/skills/retrospective-stinger/) | `.codex/agents/retrospective-worker-bee.toml` (generated) | -| [review-funnels-g2-worker-bee](../src/agents/review-funnels-g2-worker-bee.md) | [review-funnels-g2-stinger](../src/skills/review-funnels-g2-stinger/) | `.codex/agents/review-funnels-g2-worker-bee.toml` (generated) | -| [runbook-writing-worker-bee](../src/agents/runbook-writing-worker-bee.md) | [runbook-writing-stinger](../src/skills/runbook-writing-stinger/) | `.codex/agents/runbook-writing-worker-bee.toml` (generated) | -| [rust-worker-bee](../src/agents/rust-worker-bee.md) | [rust-stinger](../src/skills/rust-stinger/) | `.codex/agents/rust-worker-bee.toml` (generated) | -| [security-worker-bee](../src/agents/security-worker-bee.md) | [security-stinger](../src/skills/security-stinger/) | `.codex/agents/security-worker-bee.toml` (generated) | -| [sentry-worker-bee](../src/agents/sentry-worker-bee.md) | [sentry-stinger](../src/skills/sentry-stinger/) | `.codex/agents/sentry-worker-bee.toml` (generated) | -| [seo-aeo-worker-bee](../src/agents/seo-aeo-worker-bee.md) | [seo-aeo-stinger](../src/skills/seo-aeo-stinger/) | `.codex/agents/seo-aeo-worker-bee.toml` (generated) | -| [shadcn-svelte-worker-bee](../src/agents/shadcn-svelte-worker-bee.md) | [shadcn-svelte-stinger](../src/skills/shadcn-svelte-stinger/) | `.codex/agents/shadcn-svelte-worker-bee.toml` (generated) | -| [slack-app-worker-bee](../src/agents/slack-app-worker-bee.md) | [slack-app-stinger](../src/skills/slack-app-stinger/) | `.codex/agents/slack-app-worker-bee.toml` (generated) | -| [social-media-marketing-organic-worker-bee](../src/agents/social-media-marketing-organic-worker-bee.md) | [social-media-marketing-organic-stinger](../src/skills/social-media-marketing-organic-stinger/) | `.codex/agents/social-media-marketing-organic-worker-bee.toml` (generated) | -| [status-page-worker-bee](../src/agents/status-page-worker-bee.md) | [status-page-stinger](../src/skills/status-page-stinger/) | `.codex/agents/status-page-worker-bee.toml` (generated) | -| [svelte-worker-bee](../src/agents/svelte-worker-bee.md) | [svelte-stinger](../src/skills/svelte-stinger/) | `.codex/agents/svelte-worker-bee.toml` (generated) | -| [tailscale-worker-bee](../src/agents/tailscale-worker-bee.md) | [tailscale-stinger](../src/skills/tailscale-stinger/) | `.codex/agents/tailscale-worker-bee.toml` (generated) | -| [tailwind-worker-bee](../src/agents/tailwind-worker-bee.md) | [tailwind-stinger](../src/skills/tailwind-stinger/) | `.codex/agents/tailwind-worker-bee.toml` (generated) | -| [tanstack-worker-bee](../src/agents/tanstack-worker-bee.md) | [tanstack-stinger](../src/skills/tanstack-stinger/) | `.codex/agents/tanstack-worker-bee.toml` (generated) | -| [tauri-worker-bee](../src/agents/tauri-worker-bee.md) | [tauri-stinger](../src/skills/tauri-stinger/) | `.codex/agents/tauri-worker-bee.toml` (generated) | -| [technical-writing-craft-worker-bee](../src/agents/technical-writing-craft-worker-bee.md) | [technical-writing-craft-stinger](../src/skills/technical-writing-craft-stinger/) | `.codex/agents/technical-writing-craft-worker-bee.toml` (generated) | -| [telegram-bot-worker-bee](../src/agents/telegram-bot-worker-bee.md) | [telegram-bot-stinger](../src/skills/telegram-bot-stinger/) | `.codex/agents/telegram-bot-worker-bee.toml` (generated) | -| [terminal-bash-worker-bee](../src/agents/terminal-bash-worker-bee.md) | [terminal-bash-stinger](../src/skills/terminal-bash-stinger/) | `.codex/agents/terminal-bash-worker-bee.toml` (generated) | -| [typescript-node-worker-bee](../src/agents/typescript-node-worker-bee.md) | [typescript-node-stinger](../src/skills/typescript-node-stinger/) | `.codex/agents/typescript-node-worker-bee.toml` (generated) | -| [typography-font-worker-bee](../src/agents/typography-font-worker-bee.md) | [typography-font-stinger](../src/skills/typography-font-stinger/) | `.codex/agents/typography-font-worker-bee.toml` (generated) | -| [ux-ui-svelte-worker-bee](../src/agents/ux-ui-svelte-worker-bee.md) | [ux-ui-svelte-stinger](../src/skills/ux-ui-svelte-stinger/) | `.codex/agents/ux-ui-svelte-worker-bee.toml` (generated) | -| [ux-ui-worker-bee](../src/agents/ux-ui-worker-bee.md) | [ux-ui-stinger](../src/skills/ux-ui-stinger/) | `.codex/agents/ux-ui-worker-bee.toml` (generated) | -| [vector-store-worker-bee](../src/agents/vector-store-worker-bee.md) | [vector-store-stinger](../src/skills/vector-store-stinger/) | `.codex/agents/vector-store-worker-bee.toml` (generated) | -| [vercel-worker-bee](../src/agents/vercel-worker-bee.md) | [vercel-stinger](../src/skills/vercel-stinger/) | `.codex/agents/vercel-worker-bee.toml` (generated) | -| [website-worker-bee](../src/agents/website-worker-bee.md) | [website-stinger](../src/skills/website-stinger/) | `.codex/agents/website-worker-bee.toml` (generated) | -| [wiki-worker-bee](../src/agents/wiki-worker-bee.md) | [wiki-stinger](../src/skills/wiki-stinger/) | `.codex/agents/wiki-worker-bee.toml` (generated) | -| [workos-worker-bee](../src/agents/workos-worker-bee.md) | [workos-stinger](../src/skills/workos-stinger/) | `.codex/agents/workos-worker-bee.toml` (generated) | -| [natural-photography-worker-bee](../src/agents/natural-photography-worker-bee.toml) | [natural-photography-stinger](../src/skills/natural-photography-stinger/) | Native TOML source; skill paths adapted on generation | +| [adr-writing-worker-bee](../.claude/agents/adr-writing-worker-bee.md) | [adr-writing-stinger](../.claude/skills/adr-writing-stinger/) | [TOML](../.codex/agents/adr-writing-worker-bee.toml) | +| [agile-scrum-worker-bee](../.claude/agents/agile-scrum-worker-bee.md) | [agile-scrum-stinger](../.claude/skills/agile-scrum-stinger/) | [TOML](../.codex/agents/agile-scrum-worker-bee.toml) | +| [ai-coding-tools-worker-bee](../.claude/agents/ai-coding-tools-worker-bee.md) | [ai-coding-tools-stinger](../.claude/skills/ai-coding-tools-stinger/) | [TOML](../.codex/agents/ai-coding-tools-worker-bee.toml) | +| [ai-tools-platform-worker-bee](../.claude/agents/ai-tools-platform-worker-bee.md) | [ai-tools-platform-stinger](../.claude/skills/ai-tools-platform-stinger/) | [TOML](../.codex/agents/ai-tools-platform-worker-bee.toml) | +| [api-docs-worker-bee](../.claude/agents/api-docs-worker-bee.md) | [api-docs-stinger](../.claude/skills/api-docs-stinger/) | [TOML](../.codex/agents/api-docs-worker-bee.toml) | +| [app-store-submission-worker-bee](../.claude/agents/app-store-submission-worker-bee.md) | [app-store-submission-stinger](../.claude/skills/app-store-submission-stinger/) | [TOML](../.codex/agents/app-store-submission-worker-bee.toml) | +| [archivist-worker-bee](../.claude/agents/archivist-worker-bee.md) | [archivist-stinger](../.claude/skills/archivist-stinger/) | [TOML](../.codex/agents/archivist-worker-bee.toml) | +| [asset-worker-bee](../.claude/agents/asset-worker-bee.md) | [asset-stinger](../.claude/skills/asset-stinger/) | [TOML](../.codex/agents/asset-worker-bee.toml) | +| [auth-worker-bee](../.claude/agents/auth-worker-bee.md) | [auth-stinger](../.claude/skills/auth-stinger/) | [TOML](../.codex/agents/auth-worker-bee.toml) | +| [branching-strategy-worker-bee](../.claude/agents/branching-strategy-worker-bee.md) | [branching-strategy-stinger](../.claude/skills/branching-strategy-stinger/) | [TOML](../.codex/agents/branching-strategy-worker-bee.toml) | +| [changelog-release-notes-worker-bee](../.claude/agents/changelog-release-notes-worker-bee.md) | [changelog-release-notes-stinger](../.claude/skills/changelog-release-notes-stinger/) | [TOML](../.codex/agents/changelog-release-notes-worker-bee.toml) | +| [ci-release-worker-bee](../.claude/agents/ci-release-worker-bee.md) | [ci-release-stinger](../.claude/skills/ci-release-stinger/) | [TOML](../.codex/agents/ci-release-worker-bee.toml) | +| [code-review-pr-worker-bee](../.claude/agents/code-review-pr-worker-bee.md) | [code-review-pr-stinger](../.claude/skills/code-review-pr-stinger/) | [TOML](../.codex/agents/code-review-pr-worker-bee.toml) | +| [competitive-research-worker-bee](../.claude/agents/competitive-research-worker-bee.md) | [competitive-research-stinger](../.claude/skills/competitive-research-stinger/) | [TOML](../.codex/agents/competitive-research-worker-bee.toml) | +| [cron-scheduling-worker-bee](../.claude/agents/cron-scheduling-worker-bee.md) | [cron-scheduling-stinger](../.claude/skills/cron-scheduling-stinger/) | [TOML](../.codex/agents/cron-scheduling-worker-bee.toml) | +| [csv-xlsx-import-export-worker-bee](../.claude/agents/csv-xlsx-import-export-worker-bee.md) | [csv-xlsx-import-export-stinger](../.claude/skills/csv-xlsx-import-export-stinger/) | [TOML](../.codex/agents/csv-xlsx-import-export-worker-bee.toml) | +| [cursor-ide-worker-bee](../.claude/agents/cursor-ide-worker-bee.md) | [cursor-ide-stinger](../.claude/skills/cursor-ide-stinger/) | [TOML](../.codex/agents/cursor-ide-worker-bee.toml) | +| [dark-mode-theming-worker-bee](../.claude/agents/dark-mode-theming-worker-bee.md) | [dark-mode-theming-stinger](../.claude/skills/dark-mode-theming-stinger/) | [TOML](../.codex/agents/dark-mode-theming-worker-bee.toml) | +| [db-worker-bee](../.claude/agents/db-worker-bee.md) | [db-stinger](../.claude/skills/db-stinger/) | [TOML](../.codex/agents/db-worker-bee.toml) | +| [dependency-audit-worker-bee](../.claude/agents/dependency-audit-worker-bee.md) | [dependency-audit-stinger](../.claude/skills/dependency-audit-stinger/) | [TOML](../.codex/agents/dependency-audit-worker-bee.toml) | +| [design-system-worker-bee](../.claude/agents/design-system-worker-bee.md) | [design-system-stinger](../.claude/skills/design-system-stinger/) | [TOML](../.codex/agents/design-system-worker-bee.toml) | +| [devops-worker-bee](../.claude/agents/devops-worker-bee.md) | [devops-stinger](../.claude/skills/devops-stinger/) | [TOML](../.codex/agents/devops-worker-bee.toml) | +| [discord-bot-worker-bee](../.claude/agents/discord-bot-worker-bee.md) | [discord-bot-stinger](../.claude/skills/discord-bot-stinger/) | [TOML](../.codex/agents/discord-bot-worker-bee.toml) | +| [docs-site-worker-bee](../.claude/agents/docs-site-worker-bee.md) | [docs-site-stinger](../.claude/skills/docs-site-stinger/) | [TOML](../.codex/agents/docs-site-worker-bee.toml) | +| [doppler-worker-bee](../.claude/agents/doppler-worker-bee.md) | [doppler-stinger](../.claude/skills/doppler-stinger/) | [TOML](../.codex/agents/doppler-worker-bee.toml) | +| [embeddings-runtime-worker-bee](../.claude/agents/embeddings-runtime-worker-bee.md) | [embeddings-runtime-stinger](../.claude/skills/embeddings-runtime-stinger/) | [TOML](../.codex/agents/embeddings-runtime-worker-bee.toml) | +| [estimation-worker-bee](../.claude/agents/estimation-worker-bee.md) | [estimation-stinger](../.claude/skills/estimation-stinger/) | [TOML](../.codex/agents/estimation-worker-bee.toml) | +| [font-loading-worker-bee](../.claude/agents/font-loading-worker-bee.md) | [font-loading-stinger](../.claude/skills/font-loading-stinger/) | [TOML](../.codex/agents/font-loading-worker-bee.toml) | +| [git-worker-bee](../.claude/agents/git-worker-bee.md) | [git-stinger](../.claude/skills/git-stinger/) | [TOML](../.codex/agents/git-worker-bee.toml) | +| [github-repo-health-worker-bee](../.claude/agents/github-repo-health-worker-bee.md) | [github-repo-health-stinger](../.claude/skills/github-repo-health-stinger/) | [TOML](../.codex/agents/github-repo-health-worker-bee.toml) | +| [gohighlevel-worker-bee](../.claude/agents/gohighlevel-worker-bee.md) | [gohighlevel-stinger](../.claude/skills/gohighlevel-stinger/) | [TOML](../.codex/agents/gohighlevel-worker-bee.toml) | +| [harness-integration-worker-bee](../.claude/agents/harness-integration-worker-bee.md) | [harness-integration-stinger](../.claude/skills/harness-integration-stinger/) | [TOML](../.codex/agents/harness-integration-worker-bee.toml) | +| [highlevel-ai-studio-worker-bee](../.claude/agents/highlevel-ai-studio-worker-bee.md) | [highlevel-ai-studio-stinger](../.claude/skills/highlevel-ai-studio-stinger/) | [TOML](../.codex/agents/highlevel-ai-studio-worker-bee.toml) | +| [http-rest-fundamentals-worker-bee](../.claude/agents/http-rest-fundamentals-worker-bee.md) | [http-rest-fundamentals-stinger](../.claude/skills/http-rest-fundamentals-stinger/) | [TOML](../.codex/agents/http-rest-fundamentals-worker-bee.toml) | +| [icon-system-worker-bee](../.claude/agents/icon-system-worker-bee.md) | [icon-system-stinger](../.claude/skills/icon-system-stinger/) | [TOML](../.codex/agents/icon-system-worker-bee.toml) | +| [image-optimization-worker-bee](../.claude/agents/image-optimization-worker-bee.md) | [image-optimization-stinger](../.claude/skills/image-optimization-stinger/) | [TOML](../.codex/agents/image-optimization-worker-bee.toml) | +| [impeccable-worker-bee](../.claude/agents/impeccable-worker-bee.md) | [impeccable-stinger](../.claude/skills/impeccable-stinger/) | [TOML](../.codex/agents/impeccable-worker-bee.toml) | +| [kanban-flow-worker-bee](../.claude/agents/kanban-flow-worker-bee.md) | [kanban-flow-stinger](../.claude/skills/kanban-flow-stinger/) | [TOML](../.codex/agents/kanban-flow-worker-bee.toml) | +| [knowledge-worker-bee](../.claude/agents/knowledge-worker-bee.md) | [knowledge-stinger](../.claude/skills/knowledge-stinger/) | [TOML](../.codex/agents/knowledge-worker-bee.toml) | +| [library-worker-bee](../.claude/agents/library-worker-bee.md) | [library-stinger](../.claude/skills/library-stinger/) | [TOML](../.codex/agents/library-worker-bee.toml) | +| [lifecycle-email-worker-bee](../.claude/agents/lifecycle-email-worker-bee.md) | [lifecycle-email-stinger](../.claude/skills/lifecycle-email-stinger/) | [TOML](../.codex/agents/lifecycle-email-worker-bee.toml) | +| [lighthouse-pagespeed-worker-bee](../.claude/agents/lighthouse-pagespeed-worker-bee.md) | [lighthouse-pagespeed-stinger](../.claude/skills/lighthouse-pagespeed-stinger/) | [TOML](../.codex/agents/lighthouse-pagespeed-worker-bee.toml) | +| [markdown-mdx-content-pipeline-worker-bee](../.claude/agents/markdown-mdx-content-pipeline-worker-bee.md) | [markdown-mdx-content-pipeline-stinger](../.claude/skills/markdown-mdx-content-pipeline-stinger/) | [TOML](../.codex/agents/markdown-mdx-content-pipeline-worker-bee.toml) | +| [mcp-protocol-worker-bee](../.claude/agents/mcp-protocol-worker-bee.md) | [mcp-protocol-stinger](../.claude/skills/mcp-protocol-stinger/) | [TOML](../.codex/agents/mcp-protocol-worker-bee.toml) | +| [mcp-tool-docs-worker-bee](../.claude/agents/mcp-tool-docs-worker-bee.md) | [mcp-tool-docs-stinger](../.claude/skills/mcp-tool-docs-stinger/) | [TOML](../.codex/agents/mcp-tool-docs-worker-bee.toml) | +| [mind-worker-bee](../.claude/agents/mind-worker-bee.md) | [mind-stinger](../.claude/skills/mind-stinger/) | [TOML](../.codex/agents/mind-worker-bee.toml) | +| [modal-toast-dialog-worker-bee](../.claude/agents/modal-toast-dialog-worker-bee.md) | [modal-toast-dialog-stinger](../.claude/skills/modal-toast-dialog-stinger/) | [TOML](../.codex/agents/modal-toast-dialog-worker-bee.toml) | +| [neon-drizzle-worker-bee](../.claude/agents/neon-drizzle-worker-bee.md) | [neon-drizzle-stinger](../.claude/skills/neon-drizzle-stinger/) | [TOML](../.codex/agents/neon-drizzle-worker-bee.toml) | +| [payments-worker-bee](../.claude/agents/payments-worker-bee.md) | [payments-stinger](../.claude/skills/payments-stinger/) | [TOML](../.codex/agents/payments-worker-bee.toml) | +| [posthog-worker-bee](../.claude/agents/posthog-worker-bee.md) | [posthog-stinger](../.claude/skills/posthog-stinger/) | [TOML](../.codex/agents/posthog-worker-bee.toml) | +| [preact-worker-bee](../.claude/agents/preact-worker-bee.md) | [preact-stinger](../.claude/skills/preact-stinger/) | [TOML](../.codex/agents/preact-worker-bee.toml) | +| [product-tour-onboarding-ui-worker-bee](../.claude/agents/product-tour-onboarding-ui-worker-bee.md) | [product-tour-onboarding-ui-stinger](../.claude/skills/product-tour-onboarding-ui-stinger/) | [TOML](../.codex/agents/product-tour-onboarding-ui-worker-bee.toml) | +| [python-worker-bee](../.claude/agents/python-worker-bee.md) | [python-stinger](../.claude/skills/python-stinger/) | [TOML](../.codex/agents/python-worker-bee.toml) | +| [quality-worker-bee](../.claude/agents/quality-worker-bee.md) | [quality-stinger](../.claude/skills/quality-stinger/) | [TOML](../.codex/agents/quality-worker-bee.toml) | +| [react-worker-bee](../.claude/agents/react-worker-bee.md) | [react-stinger](../.claude/skills/react-stinger/) | [TOML](../.codex/agents/react-worker-bee.toml) | +| [readme-writing-worker-bee](../.claude/agents/readme-writing-worker-bee.md) | [readme-writing-stinger](../.claude/skills/readme-writing-stinger/) | [TOML](../.codex/agents/readme-writing-worker-bee.toml) | +| [retrieval-worker-bee](../.claude/agents/retrieval-worker-bee.md) | [retrieval-stinger](../.claude/skills/retrieval-stinger/) | [TOML](../.codex/agents/retrieval-worker-bee.toml) | +| [retrospective-worker-bee](../.claude/agents/retrospective-worker-bee.md) | [retrospective-stinger](../.claude/skills/retrospective-stinger/) | [TOML](../.codex/agents/retrospective-worker-bee.toml) | +| [runbook-writing-worker-bee](../.claude/agents/runbook-writing-worker-bee.md) | [runbook-writing-stinger](../.claude/skills/runbook-writing-stinger/) | [TOML](../.codex/agents/runbook-writing-worker-bee.toml) | +| [rust-worker-bee](../.claude/agents/rust-worker-bee.md) | [rust-stinger](../.claude/skills/rust-stinger/) | [TOML](../.codex/agents/rust-worker-bee.toml) | +| [security-worker-bee](../.claude/agents/security-worker-bee.md) | [security-stinger](../.claude/skills/security-stinger/) | [TOML](../.codex/agents/security-worker-bee.toml) | +| [sentry-worker-bee](../.claude/agents/sentry-worker-bee.md) | [sentry-stinger](../.claude/skills/sentry-stinger/) | [TOML](../.codex/agents/sentry-worker-bee.toml) | +| [seo-aeo-worker-bee](../.claude/agents/seo-aeo-worker-bee.md) | [seo-aeo-stinger](../.claude/skills/seo-aeo-stinger/) | [TOML](../.codex/agents/seo-aeo-worker-bee.toml) | +| [shadcn-svelte-worker-bee](../.claude/agents/shadcn-svelte-worker-bee.md) | [shadcn-svelte-stinger](../.claude/skills/shadcn-svelte-stinger/) | [TOML](../.codex/agents/shadcn-svelte-worker-bee.toml) | +| [slack-app-worker-bee](../.claude/agents/slack-app-worker-bee.md) | [slack-app-stinger](../.claude/skills/slack-app-stinger/) | [TOML](../.codex/agents/slack-app-worker-bee.toml) | +| [status-page-worker-bee](../.claude/agents/status-page-worker-bee.md) | [status-page-stinger](../.claude/skills/status-page-stinger/) | [TOML](../.codex/agents/status-page-worker-bee.toml) | +| [svelte-worker-bee](../.claude/agents/svelte-worker-bee.md) | [svelte-stinger](../.claude/skills/svelte-stinger/) | [TOML](../.codex/agents/svelte-worker-bee.toml) | +| [tailscale-worker-bee](../.claude/agents/tailscale-worker-bee.md) | [tailscale-stinger](../.claude/skills/tailscale-stinger/) | [TOML](../.codex/agents/tailscale-worker-bee.toml) | +| [tailwind-worker-bee](../.claude/agents/tailwind-worker-bee.md) | [tailwind-stinger](../.claude/skills/tailwind-stinger/) | [TOML](../.codex/agents/tailwind-worker-bee.toml) | +| [tanstack-worker-bee](../.claude/agents/tanstack-worker-bee.md) | [tanstack-stinger](../.claude/skills/tanstack-stinger/) | [TOML](../.codex/agents/tanstack-worker-bee.toml) | +| [tauri-worker-bee](../.claude/agents/tauri-worker-bee.md) | [tauri-stinger](../.claude/skills/tauri-stinger/) | [TOML](../.codex/agents/tauri-worker-bee.toml) | +| [technical-writing-craft-worker-bee](../.claude/agents/technical-writing-craft-worker-bee.md) | [technical-writing-craft-stinger](../.claude/skills/technical-writing-craft-stinger/) | [TOML](../.codex/agents/technical-writing-craft-worker-bee.toml) | +| [telegram-bot-worker-bee](../.claude/agents/telegram-bot-worker-bee.md) | [telegram-bot-stinger](../.claude/skills/telegram-bot-stinger/) | [TOML](../.codex/agents/telegram-bot-worker-bee.toml) | +| [terminal-bash-worker-bee](../.claude/agents/terminal-bash-worker-bee.md) | [terminal-bash-stinger](../.claude/skills/terminal-bash-stinger/) | [TOML](../.codex/agents/terminal-bash-worker-bee.toml) | +| [typescript-node-worker-bee](../.claude/agents/typescript-node-worker-bee.md) | [typescript-node-stinger](../.claude/skills/typescript-node-stinger/) | [TOML](../.codex/agents/typescript-node-worker-bee.toml) | +| [typography-font-worker-bee](../.claude/agents/typography-font-worker-bee.md) | [typography-font-stinger](../.claude/skills/typography-font-stinger/) | [TOML](../.codex/agents/typography-font-worker-bee.toml) | +| [ux-ui-svelte-worker-bee](../.claude/agents/ux-ui-svelte-worker-bee.md) | [ux-ui-svelte-stinger](../.claude/skills/ux-ui-svelte-stinger/) | [TOML](../.codex/agents/ux-ui-svelte-worker-bee.toml) | +| [vector-store-worker-bee](../.claude/agents/vector-store-worker-bee.md) | [vector-store-stinger](../.claude/skills/vector-store-stinger/) | [TOML](../.codex/agents/vector-store-worker-bee.toml) | +| [vercel-worker-bee](../.claude/agents/vercel-worker-bee.md) | [vercel-stinger](../.claude/skills/vercel-stinger/) | [TOML](../.codex/agents/vercel-worker-bee.toml) | +| [website-worker-bee](../.claude/agents/website-worker-bee.md) | [website-stinger](../.claude/skills/website-stinger/) | [TOML](../.codex/agents/website-worker-bee.toml) | +| [wiki-worker-bee](../.claude/agents/wiki-worker-bee.md) | [wiki-stinger](../.claude/skills/wiki-stinger/) | [TOML](../.codex/agents/wiki-worker-bee.toml) | +| [workos-worker-bee](../.claude/agents/workos-worker-bee.md) | [workos-stinger](../.claude/skills/workos-stinger/) | [TOML](../.codex/agents/workos-worker-bee.toml) | ## Utility skills -- [beekeeper-suit](../src/skills/beekeeper-suit/) -- [get-started-stinger](../src/skills/get-started-stinger/) -- [queen-bee-stinger](../src/skills/queen-bee-stinger/) +- [beekeeper-suit](../.claude/skills/beekeeper-suit/) +- [get-started-stinger](../.claude/skills/get-started-stinger/) +- [queen-bee-stinger](../.claude/skills/queen-bee-stinger/) Regenerate with `python learn/scripts/generate-harnesses.py`. diff --git a/learn/scripts/generate-harnesses.py b/learn/scripts/generate-harnesses.py index 2cc9a232..1db1cd6c 100644 --- a/learn/scripts/generate-harnesses.py +++ b/learn/scripts/generate-harnesses.py @@ -186,7 +186,6 @@ def generate_agents() -> None: codex_agents = CODEX / "agents" repository_agents = AGENTS / "agents" agents = sorted((CLAUDE / "agents").glob("*.md")) - native_codex_agents = sorted((CLAUDE / "agents").glob("*.toml")) def populate_markdown_agents(target: Path, harness: str) -> None: for path in agents: @@ -205,21 +204,10 @@ def populate_repository_agents(target: Path) -> None: replace_generated_directory(repository_agents, populate_repository_agents) def populate_codex_agents(target: Path) -> None: - generated_names = {f"{path.stem}.toml" for path in agents} for path in agents: (target / f"{path.stem}.toml").write_text( codex_agent_text(path), encoding="utf-8" ) - for path in native_codex_agents: - if path.name in generated_names: - raise ValueError( - f"Native Codex agent conflicts with generated agent: {path.name}" - ) - require_plain_template_path(path, "native Codex agent source") - text = path.read_text(encoding="utf-8").replace( - "../skills/", ".agents/skills/" - ) - (target / path.name).write_text(text, encoding="utf-8") replace_generated_directory(codex_agents, populate_codex_agents) @@ -421,14 +409,13 @@ def generate_source_templates() -> None: def generate_catalog() -> None: agents = sorted((CLAUDE / "agents").glob("*.md")) - native_codex_agents = sorted((CLAUDE / "agents").glob("*.toml")) skills = sorted( path for path in (CLAUDE / "skills").iterdir() if path.is_dir() and (path / "SKILL.md").is_file() ) commands = sorted((CLAUDE / "commands").glob("*.md")) - agent_count = len(agents) + len(native_codex_agents) + agent_count = len(agents) core_skill_count = len(skills) command_count = len(commands) command_translation_count = len(CODEX_COMMAND_TRANSLATIONS) @@ -443,21 +430,11 @@ def generate_catalog() -> None: rows.append( f"| [{bee}](../src/agents/{agent.name}) | " f"[{expected}](../src/skills/{expected}/) | " - f"`.codex/agents/{agent.stem}.toml` (generated) |" - ) - for agent in native_codex_agents: - bee = agent.stem - expected = bee.removesuffix("-worker-bee") + "-stinger" - rows.append( - f"| [{bee}](../src/agents/{agent.name}) | " - f"[{expected}](../src/skills/{expected}/) | " - "Native TOML source; skill paths adapted on generation |" + f"[TOML](../.codex/agents/{agent.stem}.toml) |" ) - paired_skills = { - agent.stem.removesuffix("-worker-bee") + "-stinger" - for agent in (*agents, *native_codex_agents) - } - utilities = sorted(skill_names - paired_skills) + utilities = sorted(skill_names - { + agent.stem.removesuffix("-worker-bee") + "-stinger" for agent in agents + }) text = "\n".join([ "# Asset Catalog", "", @@ -465,11 +442,7 @@ def generate_catalog() -> None: "", "## Exact manifest", "", - ( - f"- Agents: {agent_count} " - f"({len(agents)} portable Markdown plus " - f"{len(native_codex_agents)} Codex-native TOML)" - ), + f"- Agents: {agent_count}", f"- Core skills: {core_skill_count}", ( f"- Commands: {command_count} " @@ -487,12 +460,7 @@ def generate_catalog() -> None: "", "| Source capability | Claude Code | Codex | Cursor |", "|---|---|---|---|", - ( - f"| {agent_count} agents | PRESERVE {len(agents)} portable Markdown agents | " - f"TRANSLATE {len(agents)} Markdown agents; PRESERVE " - f"{len(native_codex_agents)} native TOML agent | " - f"PRESERVE {len(agents)} portable Markdown agents |" - ), + f"| {agent_count} agents | PRESERVE as Markdown | TRANSLATE to TOML project agents | PRESERVE as Markdown |", f"| {core_skill_count} skills | PRESERVE | PRESERVE in `.agents/skills` and plugin | PRESERVE |", f"| {command_count} commands | PRESERVE | TRANSLATE {command_translation_count} to explicit skills in both Codex layers | PRESERVE |", "| 4 rules | TRANSLATE to Claude rules and CLAUDE.md | TRANSLATE to project instructions | PRESERVE as MDC |", diff --git a/src/agents/browser-automation-worker-bee.md b/src/agents/browser-automation-worker-bee.md deleted file mode 100644 index 8c16e0cc..00000000 --- a/src/agents/browser-automation-worker-bee.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: "browser-automation-worker-bee" -description: "Playwright and Puppeteer automation specialist for browser tests, scripts, traces, screenshots, browser installs, and CI reliability. Use for browser automation work." -tools: Read, Grep, Glob, Edit, Write, Bash -model: inherit ---- - -## Critical Directive - -- You must load your core skill now in advance of any planning or execution. Your core skill is: [browser-automation-stinger](../skills/browser-automation-stinger). -- You must read all files and context contained within your skill. -- In the event your core skill does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task. - -## Persona and mission - -Own browser automation as reproducible test or scripted evidence. Make browser provisioning explicit, keep automation bounded from unapproved real-world effects, and turn failures into inspectable artifacts rather than opaque timeouts. - -## Scope boundaries - -**This Bee owns:** Playwright, Puppeteer, browser binary provisioning, test isolation, diagnostics, and browser-specific CI reliability. - -**This Bee must NOT touch:** Chromium source builds, CDP protocol implementation, generic pipeline architecture, or non-browser application internals without the owning Bee. - -## Reporting expectations - -Write reports under the consumer repository's root `library/` path with browser channel, command, artifacts, result, and whether any production-like external effect was exercised. - -## Ship Gate - -Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so. diff --git a/src/agents/chrome-chromium-worker-bee.md b/src/agents/chrome-chromium-worker-bee.md deleted file mode 100644 index 98a50631..00000000 --- a/src/agents/chrome-chromium-worker-bee.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: "chrome-chromium-worker-bee" -description: "Chrome DevTools Protocol and Chromium specialist for remote debugging, developer profiles, protocol inspection, source builds, and browser-engine diagnosis. Use for Chrome or Chromium work." -tools: Read, Grep, Glob, Edit, Write, Bash -model: inherit ---- - -## Critical Directive - -- You must load your core skill now in advance of any planning or execution. Your core skill is: [chrome-chromium-stinger](../skills/chrome-chromium-stinger). -- You must read all files and context contained within your skill. -- In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task. - -## Persona and mission - -Own Chrome and Chromium engineering with disciplined treatment of profiles, protocol endpoints, machine requirements, and actual browser artifacts. Make unsafe debugger exposure visible and distinguish a DevTools observation from a browser-engine fix. - -## Scope boundaries - -**This Bee owns:** CDP integration, Chrome development profiles, DevTools inspection, Chromium checkout and build guidance, and browser-engine diagnosis. - -**This Bee must NOT touch:** Playwright or Puppeteer tests, Electron process architecture, or routine web application work with no browser-engine concern. - -## Reporting expectations - -Write reports in the consumer repository's root `library/` directory with machine prerequisites, debugging-port exposure, browser revision, commands, evidence, and unverified external requirements. - -## Ship Gate - -Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so. diff --git a/src/agents/electron-app-worker-bee.md b/src/agents/electron-app-worker-bee.md deleted file mode 100644 index b4f5837a..00000000 --- a/src/agents/electron-app-worker-bee.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: "electron-app-worker-bee" -description: "Electron desktop application specialist for main, preload, renderer, IPC, sandbox, permissions, packaging, and native verification. Use for Electron application work." -tools: Read, Grep, Glob, Edit, Write, Bash -model: inherit ---- - -## Critical Directive - -- You must load your core skill now in advance of any planning or execution. Your core skill is: [electron-app-stinger](../skills/electron-app-stinger). -- You must read all files and context contained within your skill. -- In the event your core skill does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task. - -## Persona and mission - -Own the Electron-specific desktop boundary. Make privilege flow from renderer to preload to main deliberately narrow, test actual native behavior, and report exactly what was verified in development and packaged forms. - -## Scope boundaries - -**This Bee owns:** Electron processes, preload, IPC, permissions, navigation policy, packaging configuration, and desktop verification. - -**This Bee must NOT touch:** Third-party reverse engineering, generic frontend architecture, Tauri internals, or final security acceptance. - -## Reporting expectations - -Write reports to the consumer repository's root `library/` directory, separating mocked, native development, packaged, and externally signed evidence. - -## Ship Gate - -Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so. diff --git a/src/agents/elevenlabs-api-worker-bee.md b/src/agents/elevenlabs-api-worker-bee.md deleted file mode 100644 index 29a07dad..00000000 --- a/src/agents/elevenlabs-api-worker-bee.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: "elevenlabs-api-worker-bee" -description: "ElevenLabs API integration specialist for speech, voices, streaming, usage telemetry, and safe server boundaries. Use for ElevenLabs API code or troubleshooting." -tools: Read, Grep, Glob, Edit, Write, Bash -model: inherit ---- - -## Critical Directive - -- You must load your core skill now in advance of any planning or execution. Your core skill is: [elevenlabs-api-stinger](../skills/elevenlabs-api-stinger). -- You must read all files and context contained within your skill. -- In the event your core skill does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task. - -## Persona and mission - -Own the ElevenLabs integration boundary from request validation through generated-media handling. Produce code and evidence that keeps provider credentials off the client, makes response and failure behavior explicit, and distinguishes documented provider behavior from local application policy. - -## Scope boundaries - -**This Bee owns:** ElevenLabs SDK and HTTP integration, streaming boundaries, voice and model lookup integration, usage metadata, and provider-specific troubleshooting. - -**This Bee must NOT touch:** General model selection, independent security acceptance, or unrelated frontend design. Hand those concerns to the relevant Bee. - -## Reporting expectations - -Write reports under the consumer repository's root `library/` directory with changed behavior, verification, credential boundary, and open provider-dependent items. - -## Ship Gate - -Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so. diff --git a/src/agents/heygen-api-worker-bee.md b/src/agents/heygen-api-worker-bee.md deleted file mode 100644 index 397475c8..00000000 --- a/src/agents/heygen-api-worker-bee.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: "heygen-api-worker-bee" -description: "HeyGen API integration specialist for asynchronous video jobs, avatars, assets, webhooks, limits, and safe delivery. Use for HeyGen API code or troubleshooting." -tools: Read, Grep, Glob, Edit, Write, Bash -model: inherit ---- - -## Critical Directive - -- You must load your core skill now in advance of any planning or execution. Your core skill is: [heygen-api-stinger](../skills/heygen-api-stinger). -- You must read all files and context contained within your skill. -- In the event your core skill does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task. - -## Persona and mission - -Own a HeyGen integration as an asynchronous, consent-aware video workflow. Make provider jobs observable, guard credentials and output access, and never represent a submitted request as a produced media artifact. - -## Scope boundaries - -**This Bee owns:** HeyGen API calls, job state, provider result mapping, assets, webhook integration, and provider-specific diagnosis. - -**This Bee must NOT touch:** Likeness consent decisions without authorization, generic webhook security acceptance, or unrelated image and frontend work. - -## Reporting expectations - -Write implementation and verification evidence under the consumer repository's root `library/` path, including jobs tested, callback policy, output access, and required human approvals. - -## Ship Gate - -Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so. diff --git a/src/skills/beekeeper-suit/PAIRING-AUDIT.md b/src/skills/beekeeper-suit/PAIRING-AUDIT.md index a199d815..694ee075 100644 --- a/src/skills/beekeeper-suit/PAIRING-AUDIT.md +++ b/src/skills/beekeeper-suit/PAIRING-AUDIT.md @@ -1,19 +1,19 @@ # Pairing audit -Ground truth pulled from the filesystem on 2026-09-05, after the API and browser-desktop forge pass. This file is a record of current state, refreshed whenever the colony changes. +Ground truth pulled from the filesystem on 2026-09-05, after the Rust and Tauri forge pass. This file is a record of current state, refreshed whenever the colony changes. ## Totals -- Active Bee files (`src/agents/*-worker-bee.{md,toml}`): **114** -- Active Stinger folders (`src/skills/*/SKILL.md`): **117** +- Bees (`.claude/agents/*.md`): **82** +- Stinger folders (`.claude/skills/*`): **85** - Orchestrator-level skills with no paired Bee by design: **3** (`beekeeper-suit`, `queen-bee-stinger`, `get-started-stinger`) -- Pairable Stingers: **114** +- Pairable Stingers: **82** ## Pairing integrity Clean. Every Bee has a matching Stinger and every pairable Stinger has a matching Bee, verified in both directions by naming convention. Zero orphans. -All 114 active Bee base names have matching pairable Stinger base names. The current Beekeeper roster has 87 registered routing guides. The remaining 27 active source-package pairs predate this forge and are not represented in the roster; they are an existing registration backlog, not evidence that the five pairs forged here are unregistered. +Every Bee also has a routing guide at `guides/.md`. 82 Bees, 82 guides, one-to-one. ## New additions @@ -21,8 +21,6 @@ All 114 active Bee base names have matching pairable Stinger base names. The cur `tauri-worker-bee` / `tauri-stinger` was forged in the 2026-09-03 research window: current Tauri 2 impact review, v1 migration, typed IPC, capabilities, plugins, sidecars, updater behavior, and desktop/mobile AI integration. It is deliberately bounded to the Tauri application boundary and hands general Rust implementation to `rust-worker-bee`. -`elevenlabs-api-worker-bee` / `elevenlabs-api-stinger`, `heygen-api-worker-bee` / `heygen-api-stinger`, `electron-app-worker-bee` / `electron-app-stinger`, `browser-automation-worker-bee` / `browser-automation-stinger`, and `chrome-chromium-worker-bee` / `chrome-chromium-stinger` were forged in the 2026-09-05 research window. Each carries a distinct primary-source archive, distillation, guide, and routing boundary. Docker and Compose remain owned by the existing `devops-worker-bee` / `devops-stinger` pair and were not duplicated. - The pre-existing `archivist-worker-bee` / `archivist-stinger` and `lifecycle-email-worker-bee` / `lifecycle-email-stinger` pairs now have their previously missing Beekeeper routing guides and roster rows. `competitive-research-worker-bee` / `competitive-research-stinger` now also has its missing routing guide. `impeccable-worker-bee` / `impeccable-stinger` was ported in from a prior fork and registered here: it operates the Impeccable design system (pbakaus/impeccable, Apache-2.0) as the frontend-design operating system. The Impeccable engine is installed per machine via `npx impeccable install --scope=global --providers=codex,claude,cursor`; it is not vendored in this repo. The stinger's pre-flight sync check (`scripts/sync-check.mjs`) verifies the installed engine is current. @@ -55,7 +53,7 @@ All routing references to the renamed `deeplake-dataset-worker-bee` were repaire ## Validation -All five new Stingers pass `per-type-validation.py --type skill --harness all` from the canonical source and generated `.agents/skills` and `.cursor/skills` mirrors with zero errors and warnings. Their Bee files pass the same validator with zero errors; the known Cursor advisory is that the Claude-compatible `tools` field is ignored by Cursor. The generated Codex TOML agent files parse successfully. Existing source-package coverage outside this forge remains a separate baseline audit concern. +All 85 Stingers pass `per-type-validation.py --type skill --harness all` with zero errors. All 82 Bees pass `--type agent --harness claude-code` with zero errors. Remaining warnings are repo-wide patterns, not defects: descriptions above Cowork's 200 character soft cap on some legacy skills, and the `proactive` frontmatter field, which every Bee in this colony uses. ## Dead reference repair diff --git a/src/skills/beekeeper-suit/SKILL.md b/src/skills/beekeeper-suit/SKILL.md index f4066f02..d2f20ecc 100644 --- a/src/skills/beekeeper-suit/SKILL.md +++ b/src/skills/beekeeper-suit/SKILL.md @@ -28,7 +28,7 @@ Three skills sit above the pairing law because they are orchestrator level, not ## Roster -87 Bees registered, sorted into domain groups. The Domain column is a one-line summary of the Bee's own frontmatter description. Trigger keywords are pulled from that same description, not invented. +82 Bees registered, sorted into domain groups. The Domain column is a one-line summary of the Bee's own frontmatter description. Trigger keywords are pulled from that same description, not invented. ### Stack and frameworks @@ -44,7 +44,6 @@ Three skills sit above the pairing law because they are orchestrator level, not | `python-worker-bee` | Python architecture: Django + Django Ninja + FastAPI + Celery + Channels + pytest + uv, ORM discipline, migrations, typed adoption | "review this Django code", "audit ORM patterns", "migrate DRF to Django Ninja", "set up Celery" | `python-stinger` | | `rust-worker-bee` | Rust implementation and code review for production Cargo workspaces, Tokio/Axum/Tower services, SQLx/SQLite state, Clap/Ratatui clients, Rust tests, and local packaging evidence | "implement this in Rust", "review this Cargo workspace", "fix this Tokio or SQLx service", "audit this SQLx transaction", "build the approved Rust PRD slice" | `rust-stinger` | | `tauri-worker-bee` | Tauri 2 application boundary: update reviews, v1 migration, typed IPC, capabilities, plugins, sidecars, updater behavior, and desktop/mobile AI integration | "build a Tauri 2 desktop app", "what changed in Tauri 2", "migrate Tauri v1 to v2", "bundle a local model sidecar" | `tauri-stinger` | -| `electron-app-worker-bee` | Electron desktop applications: main, preload, renderer, IPC, sandbox, permissions, packaging, and native verification | "build an Electron app", "Electron preload", "Electron IPC", "package Electron" | `electron-app-stinger` | | `ux-ui-svelte-worker-bee` | Enforces this repo's SvelteKit UI standard: shadcn-svelte on Bits UI plus Melt UI, Tailwind v4 token bridge, white-label brand contract. Impeccable remains the primary router for UI/design implementation | "add a Button", "copy in this shadcn-svelte component", "convert this bespoke style to Tailwind", "does the white-label still work" | `ux-ui-svelte-stinger` | | `dark-mode-theming-worker-bee` | Dark-mode theming: CSS variable token architecture, theme-provider wiring, FOWT prevention, SSR hydration safety, Tailwind v4 dark variant | "set up dark mode", "dark mode on SSR", "multi-brand theming", "FOWT fix" | `dark-mode-theming-stinger` | | `modal-toast-dialog-worker-bee` | Accessible overlay primitives: dialog, alert dialog, drawer, toast, command menu; focus trap, escape, scroll lock, aria contract | "choosing between overlay primitives", "debugging focus trap regressions", "building a command palette" | `modal-toast-dialog-stinger` | @@ -58,13 +57,6 @@ Three skills sit above the pairing law because they are orchestrator level, not | `http-rest-fundamentals-worker-bee` | HTTP/REST protocol correctness: method safety and idempotency, status-code honesty, headers, conditional and range requests | "is this status code correct", "why is CORS failing", "explain preflight", "PUT vs PATCH" | `http-rest-fundamentals-stinger` | | `image-optimization-worker-bee` | Image delivery: AVIF/WebP format selection, responsive srcset/sizes, blur placeholders, remote image config, CLI tooling | "optimize my images", "convert to AVIF", "fix layout shift from images", "audit our images" | `image-optimization-stinger` | -### Browser and desktop engineering - -| Bee | Domain | Trigger keywords | Paired Stinger | -|---|---|---|---| -| `browser-automation-worker-bee` | Playwright and Puppeteer automation: browser tests, scripts, traces, screenshots, browser installs, and CI reliability | "write a Playwright test", "Puppeteer script", "browser automation", "Playwright browser install" | `browser-automation-stinger` | -| `chrome-chromium-worker-bee` | Chrome DevTools Protocol and Chromium engineering: remote debugging, developer profiles, protocol inspection, source builds, and browser-engine diagnosis | "Chrome DevTools Protocol", "remote debugging Chrome", "Chromium build", "debug Chromium" | `chrome-chromium-stinger` | - ### Data and persistence | Bee | Domain | Trigger keywords | Paired Stinger | @@ -87,8 +79,6 @@ Three skills sit above the pairing law because they are orchestrator level, not |---|---|---|---| | `payments-worker-bee` | Stripe integration for SvelteKit on Vercel: custom checkout via Elements, Payment Intents, subscriptions, webhook verification | "integrate Stripe", "build a custom checkout", "add the Payment Element", "webhook isn't firing" | `payments-stinger` | | `gohighlevel-worker-bee` | GoHighLevel API integration: OAuth vs Private Integration Tokens, contacts/opportunities/pipelines, webhooks, workflows, Marketplace apps | "integrate GoHighLevel", "wire up a GHL webhook", "push leads into GoHighLevel", "GoHighLevel OAuth" | `gohighlevel-stinger` | -| `elevenlabs-api-worker-bee` | ElevenLabs API integration: speech, voices, streaming, usage metadata, and safe server boundaries | "integrate ElevenLabs", "ElevenLabs text to speech", "ElevenLabs streaming", "ElevenLabs API key" | `elevenlabs-api-stinger` | -| `heygen-api-worker-bee` | HeyGen API integration: asynchronous video jobs, avatars, assets, webhooks, limits, and safe delivery | "integrate HeyGen", "HeyGen API", "HeyGen video generation", "HeyGen webhook" | `heygen-api-stinger` | | `highlevel-ai-studio-worker-bee` | HighLevel AI Studio and AI creation: Vibe sites, Content AI selection, Visual Edits, Code Editor, forms, calendars, publishing, domains, SEO, and troubleshooting | "HighLevel AI Studio", "AI Content Studio", "AI website builder", "HighLevel vibe code", "AI Studio form" | `highlevel-ai-studio-stinger` | ### Communication and bots diff --git a/src/skills/beekeeper-suit/guides/browser-automation-worker-bee.md b/src/skills/beekeeper-suit/guides/browser-automation-worker-bee.md deleted file mode 100644 index 8acd4d2c..00000000 --- a/src/skills/beekeeper-suit/guides/browser-automation-worker-bee.md +++ /dev/null @@ -1,31 +0,0 @@ -# browser-automation-worker-bee - -## Domain - -This Bee owns Playwright and Puppeteer automation, browser provisioning, test isolation, traces and screenshots, and browser-specific CI reliability. It reports the exact browser and environment that produced an outcome. - -## Paired Stinger - -[browser-automation-stinger](../../browser-automation-stinger) - selection, setup, evidence, and failure-diagnosis guidance for Playwright and Puppeteer. - -## Trigger phrases - -- "write a Playwright test" -- "Puppeteer script" -- "browser automation" -- "Playwright browser install" -- "trace this browser test" - -## Do NOT route when - -- The work implements CDP directly or builds Chromium, which belongs to chrome-chromium-worker-bee. -- The work is Electron process design, which belongs to electron-app-worker-bee. -- The work is generic CI topology rather than browser-specific provisioning or test behavior, which belongs to ci-release-worker-bee or devops-worker-bee. - -## Inputs the Bee needs - -- Browser tool and version, channel, target URL, test data, external-effect authorization, CI environment, and desired artifacts. - -## Outputs - -- Stable test or script, explicit browser install, diagnostics, environment-scoped evidence, and a report under `library/`. diff --git a/src/skills/beekeeper-suit/guides/chrome-chromium-worker-bee.md b/src/skills/beekeeper-suit/guides/chrome-chromium-worker-bee.md deleted file mode 100644 index 7cc12804..00000000 --- a/src/skills/beekeeper-suit/guides/chrome-chromium-worker-bee.md +++ /dev/null @@ -1,31 +0,0 @@ -# chrome-chromium-worker-bee - -## Domain - -This Bee owns Chrome DevTools Protocol work, safe developer profiles, remote debugging, Chromium checkout and build orientation, and browser-engine diagnosis. It treats debugger WebSocket endpoints and separate browser profiles as security-sensitive development infrastructure. - -## Paired Stinger - -[chrome-chromium-stinger](../../chrome-chromium-stinger) - current primary-source guidance for CDP inspection and Chromium development workflows. - -## Trigger phrases - -- "Chrome DevTools Protocol" -- "remote debugging Chrome" -- "Chromium build" -- "Chrome user data dir" -- "debug Chromium" - -## Do NOT route when - -- The task writes Playwright or Puppeteer tests, which belongs to browser-automation-worker-bee. -- The task builds Electron process boundaries, which belongs to electron-app-worker-bee. -- The task is ordinary Chrome extension or web application product work without CDP or engine concerns. - -## Inputs the Bee needs - -- Browser channel, isolated profile path, debugging exposure boundary, protocol target, source checkout status, target platform, available disk and memory, and the expected evidence. - -## Outputs - -- Safe development setup, protocol or source-build diagnosis, command and artifact evidence, security notes, and a report under `library/`. diff --git a/src/skills/beekeeper-suit/guides/electron-app-worker-bee.md b/src/skills/beekeeper-suit/guides/electron-app-worker-bee.md deleted file mode 100644 index 0608b5d2..00000000 --- a/src/skills/beekeeper-suit/guides/electron-app-worker-bee.md +++ /dev/null @@ -1,31 +0,0 @@ -# electron-app-worker-bee - -## Domain - -This Bee owns Electron application engineering: main, preload, renderer, typed IPC, sandboxing, navigation and permission policy, packaging integration, and native desktop verification. It does not claim reverse-engineering ownership for third-party Electron binaries. - -## Paired Stinger - -[electron-app-stinger](../../electron-app-stinger) - current primary-source security and IPC patterns plus native evidence guidance. - -## Trigger phrases - -- "build an Electron app" -- "Electron IPC" -- "Electron preload" -- "Electron contextBridge" -- "package Electron" - -## Do NOT route when - -- The task is Tauri-specific, which belongs to tauri-worker-bee. -- The task reverse engineers an external Electron app, which belongs to the separately scoped Electron dissection material when available. -- The task is a final security acceptance review, which belongs to security-worker-bee. - -## Inputs the Bee needs - -- Electron version, target operating systems, loaded origins, privileged actions, preload and IPC files, packaging path, and required native evidence. - -## Outputs - -- Narrow process-boundary implementation, native and packaged test evidence, security handoff notes, and a report under `library/`. diff --git a/src/skills/beekeeper-suit/guides/elevenlabs-api-worker-bee.md b/src/skills/beekeeper-suit/guides/elevenlabs-api-worker-bee.md deleted file mode 100644 index 2b0e34d1..00000000 --- a/src/skills/beekeeper-suit/guides/elevenlabs-api-worker-bee.md +++ /dev/null @@ -1,31 +0,0 @@ -# elevenlabs-api-worker-bee - -## Domain - -This Bee owns ElevenLabs API integration for speech and media generation, streaming, voice and model lookup integration, usage metadata, and provider-specific request diagnosis. It keeps API credentials behind a trusted server boundary and reports media handling evidence without treating a provider response as a policy decision. - -## Paired Stinger - -[elevenlabs-api-stinger](../../elevenlabs-api-stinger) - primary-source-backed integration boundary, cost and request metadata, and verification guidance. - -## Trigger phrases - -- "integrate ElevenLabs" -- "ElevenLabs text to speech" -- "ElevenLabs streaming" -- "ElevenLabs API key" -- "ElevenLabs voice API" - -## Do NOT route when - -- The request is general AI provider or model selection, which belongs to ai-tools-platform-worker-bee. -- The request is a final secret, privacy, or authorization audit, which belongs to security-worker-bee. -- The request is purely UI rendering of already approved media, which belongs to the relevant UI Bee. - -## Inputs the Bee needs - -- Provider endpoint or feature, server runtime, requester authorization, media destination, and whether streaming is required. - -## Outputs - -- Server-safe provider integration, usage observability, error mapping, verification evidence, and a report under the consumer repository `library/` directory. diff --git a/src/skills/beekeeper-suit/guides/heygen-api-worker-bee.md b/src/skills/beekeeper-suit/guides/heygen-api-worker-bee.md deleted file mode 100644 index f9c7cee6..00000000 --- a/src/skills/beekeeper-suit/guides/heygen-api-worker-bee.md +++ /dev/null @@ -1,31 +0,0 @@ -# heygen-api-worker-bee - -## Domain - -This Bee owns HeyGen API integration as an observable asynchronous video workflow: request submission, provider job mapping, status or webhook completion, output access control, asset integration, and provider-specific failure recovery. It flags consent and likeness authorization as required human-owned inputs. - -## Paired Stinger - -[heygen-api-stinger](../../heygen-api-stinger) - primary-source-backed request, job lifecycle, webhook, limits, and delivery guidance. - -## Trigger phrases - -- "integrate HeyGen" -- "HeyGen API" -- "HeyGen video generation" -- "HeyGen webhook" -- "HeyGen avatar API" - -## Do NOT route when - -- Consent, likeness rights, or legal approval is missing. Stop for explicit authorization. -- The request is a generic webhook security audit, which belongs to security-worker-bee. -- The request is generic image generation or frontend media presentation after a completed result exists. - -## Inputs the Bee needs - -- Approved avatar or asset rights, target HeyGen feature, requester, lifecycle completion method, destination access policy, and retry policy. - -## Outputs - -- Server-safe API integration, durable job state, controlled delivery, callback policy, verification evidence, and a report under `library/`. diff --git a/src/skills/browser-automation-stinger/SKILL.md b/src/skills/browser-automation-stinger/SKILL.md deleted file mode 100644 index 4261ec9b..00000000 --- a/src/skills/browser-automation-stinger/SKILL.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -name: "browser-automation-stinger" -description: "Playwright and Puppeteer automation for deterministic browser tests, debugging, downloads, screenshots, and browser lifecycle control. Use for browser automation work." -license: MIT -compatibility: Claude Code, Cursor, ChatGPT Codex, Claude Cowork. -metadata: - hive-bee: browser-automation-worker-bee - domain: browser-automation - pair-bee: browser-automation-worker-bee - research-window: 2026-03-05 to 2026-09-05 ---- - -# Browser Automation Stinger - -## Purpose - -Guide testable Playwright and Puppeteer automation without conflating their APIs or assuming a browser binary is installed on every host. It covers framework selection, browser installation, isolation, selectors, diagnostics, downloads, external-effect boundaries, and CI evidence. - -## When to use - -- Writing, debugging, or reviewing Playwright tests or scripts -- Writing, debugging, or reviewing Puppeteer automation -- Setting up browser binaries, traces, screenshots, UI mode, or browser automation CI - -## When not to use - -- Implementing Chrome DevTools Protocol directly or building Chromium, use [chrome-chromium-stinger](../chrome-chromium-stinger). -- Browser performance or SEO analysis without automation code, use the appropriate performance or SEO Stinger. - -## Procedure - -1. Read [guides/01-select-and-operate.md](guides/01-select-and-operate.md). -2. Choose Playwright for a test-runner workflow and cross-browser project configuration. Choose Puppeteer for a focused JavaScript browser-control task, after checking its documented browser support. -3. Install the required browser binaries explicitly in local and CI environments. Do not rely on a developer machine cache. -4. Prefer semantic, stable locators and explicit expected conditions. Isolate test data and block unapproved external effects. -5. Capture trace, screenshot, video, console, and network evidence proportionate to the failure, then verify the exact browser and channel used. - -## References map - -- [references/REFERENCE.md](references/REFERENCE.md), load for selection and evidence table. -- [references/research/distilled-browser-automation.md](references/research/distilled-browser-automation.md), load to verify facts. -- `references/research/raw/`, load for primary source captures. -- [guides/01-select-and-operate.md](guides/01-select-and-operate.md), load before implementation. - -## Related bees and stingers - -- [browser-automation-worker-bee](../../agents/browser-automation-worker-bee.md) - paired implementation specialist. -- [chrome-chromium-stinger](../chrome-chromium-stinger) - CDP and Chromium engineering. -- [ci-release-stinger](../ci-release-stinger) - CI architecture beyond the browser-specific job. - -## Critical Directive - -- You must read all files and context contained within your skill. -- In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task. -- Additional related skills can be found here: - - [chrome-chromium-stinger](../chrome-chromium-stinger) - protocol and browser-engine ownership. - - [ci-release-stinger](../ci-release-stinger) - workflow design. - -## Ship Gate - -Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The sub-agent should make every effort to reinforce to the orchestrating agent to load this skill prior to committing or pushing code to the repository. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so. diff --git a/src/skills/browser-automation-stinger/guides/01-select-and-operate.md b/src/skills/browser-automation-stinger/guides/01-select-and-operate.md deleted file mode 100644 index 66a7dac3..00000000 --- a/src/skills/browser-automation-stinger/guides/01-select-and-operate.md +++ /dev/null @@ -1,15 +0,0 @@ -# Select and operate browser automation - -Playwright's installation flow offers TypeScript or JavaScript, a tests directory, an optional GitHub Actions workflow, and browser installation. Treat browser installation as a required environment dependency rather than an incidental local cache. [raw/playwright-installation.md] - -Puppeteer's official introduction identifies it as a JavaScript library for browser automation and presents browser support as a first-class documentation topic. Do not silently substitute a Chromium binary or version without confirming the chosen Puppeteer package's documented support. [raw/puppeteer-overview.md] - -Use this decision rule: - -| Need | Default | -|---|---| -| E2E suite, UI mode, cross-browser execution, test fixtures | Playwright | -| Small browser-control script or an existing Puppeteer codebase | Puppeteer | -| Direct CDP domain command or Chromium build and debugging | Chrome Chromium Stinger | - -For either tool, pin the test target and inputs, avoid arbitrary production mutations, and save diagnostics on failure. A passed automation job is evidence only for the browser, channel, data, and environment that actually ran. diff --git a/src/skills/browser-automation-stinger/references/REFERENCE.md b/src/skills/browser-automation-stinger/references/REFERENCE.md deleted file mode 100644 index 4525cbca..00000000 --- a/src/skills/browser-automation-stinger/references/REFERENCE.md +++ /dev/null @@ -1,10 +0,0 @@ -# Browser automation reference - -| Evidence | Minimum record | -|---|---| -| Test result | Tool version, browser channel, target URL, test revision, exit status | -| Failure | Screenshot or trace, console and network context with secrets redacted | -| CI | Browser installation step, cache policy, artifact retention, retry policy | -| External effect | Explicit authorization and a unique test fixture or idempotency guard | - -Source basis: [distilled-browser-automation.md](research/distilled-browser-automation.md). diff --git a/src/skills/browser-automation-stinger/references/research/distilled-browser-automation.md b/src/skills/browser-automation-stinger/references/research/distilled-browser-automation.md deleted file mode 100644 index aaab3745..00000000 --- a/src/skills/browser-automation-stinger/references/research/distilled-browser-automation.md +++ /dev/null @@ -1,9 +0,0 @@ -# Browser automation, distilled on 2026-09-05 - -| Claim | Evidence | -|---|---| -| Playwright's initializer offers to install browsers and add a GitHub Actions workflow. | [raw/playwright-installation.md](raw/playwright-installation.md) | -| Playwright documents UI mode with watch mode, step view, time-travel debugging, and trace integration. | [raw/playwright-ui-mode.md](raw/playwright-ui-mode.md) | -| Puppeteer identifies browser support as a discrete concern in its documentation. | [raw/puppeteer-overview.md](raw/puppeteer-overview.md) | - -The exact package versions and supported browser revisions are mutable. Consult current official docs or the installed package before pinning them. diff --git a/src/skills/browser-automation-stinger/references/research/raw/playwright-installation.md b/src/skills/browser-automation-stinger/references/research/raw/playwright-installation.md deleted file mode 100644 index 6e212c2e..00000000 --- a/src/skills/browser-automation-stinger/references/research/raw/playwright-installation.md +++ /dev/null @@ -1,7 +0,0 @@ -# Primary-source capture: Playwright installation - -- URL: https://playwright.dev/docs/intro -- Fetch date: 2026-09-05 -- Source type: official Playwright documentation - -The official initializer lists a TypeScript or JavaScript choice, tests directory, optional GitHub Actions workflow, and an option to install Playwright browsers. The page says rerunning the command does not overwrite existing tests. diff --git a/src/skills/browser-automation-stinger/references/research/raw/playwright-ui-mode.md b/src/skills/browser-automation-stinger/references/research/raw/playwright-ui-mode.md deleted file mode 100644 index 88c53082..00000000 --- a/src/skills/browser-automation-stinger/references/research/raw/playwright-ui-mode.md +++ /dev/null @@ -1,11 +0,0 @@ -# Primary-source capture: Playwright UI mode - -- URL: https://playwright.dev/docs/intro -- Fetch date: 2026-09-05 -- Source type: official Playwright documentation - -Selected primary-source capture: - -> Run tests with UI Mode for watch mode, live step view, time travel debugging and more. - -The page shows `npx playwright test --ui` and points to trace integration. diff --git a/src/skills/browser-automation-stinger/references/research/raw/puppeteer-overview.md b/src/skills/browser-automation-stinger/references/research/raw/puppeteer-overview.md deleted file mode 100644 index 06c0cde1..00000000 --- a/src/skills/browser-automation-stinger/references/research/raw/puppeteer-overview.md +++ /dev/null @@ -1,7 +0,0 @@ -# Primary-source capture: Puppeteer overview - -- URL: https://pptr.dev/guides/what-is-puppeteer -- Fetch date: 2026-09-05 -- Source type: official Puppeteer documentation - -The official documentation navigation separates installation, getting started, system requirements, core concepts, WebDriver BiDi support, and supported browsers. The fetched page identified version 25.10.0, which this skill treats only as a dated observation. diff --git a/src/skills/chrome-chromium-stinger/SKILL.md b/src/skills/chrome-chromium-stinger/SKILL.md deleted file mode 100644 index fb0b1a26..00000000 --- a/src/skills/chrome-chromium-stinger/SKILL.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -name: "chrome-chromium-stinger" -description: "Chrome DevTools Protocol and Chromium development for remote debugging, profiles, protocol inspection, source builds, and browser-engine diagnosis. Use for Chrome or Chromium engineering." -license: MIT -compatibility: Claude Code, Cursor, ChatGPT Codex, Claude Cowork. -metadata: - hive-bee: chrome-chromium-worker-bee - domain: chrome-chromium - pair-bee: chrome-chromium-worker-bee - research-window: 2026-03-05 to 2026-09-05 ---- - -# Chrome Chromium Stinger - -## Purpose - -Guide Chrome developer tooling and Chromium engineering: isolated browser profiles, remote-debugging safety, Chrome DevTools Protocol inspection, Chromium checkout and build orientation, and diagnosis of browser-specific behavior. Browser automation clients remain in the Browser Automation Stinger. - -## When to use - -- Inspecting or integrating Chrome DevTools Protocol directly -- Creating a safe Chrome development profile or remote-debugging session -- Checking out, building, or debugging Chromium source -- Diagnosing Chrome or Chromium behavior that needs browser-engine evidence - -## When not to use - -- Playwright or Puppeteer test authoring, use [browser-automation-stinger](../browser-automation-stinger). -- Browser extension product design or web application UI work without protocol or engine concerns. -- Electron application process and IPC work, use [electron-app-stinger](../electron-app-stinger). - -## Procedure - -1. Read [guides/01-devtools-and-chromium-workflow.md](guides/01-devtools-and-chromium-workflow.md). -2. Use a dedicated `--user-data-dir` for development. Never point experiments or remote debugging at an everyday profile. -3. Treat a debugging port and its WebSocket endpoints as sensitive local control surfaces. Bind and expose them only when explicitly required. -4. For protocol work, discover the active target and browser metadata before assuming a command or domain is supported. -5. For Chromium source, verify host OS, storage, RAM, checkout path, toolchain, target, and build configuration before the long-running build. - -## References map - -- [references/REFERENCE.md](references/REFERENCE.md), load for CDP and source-build decisions. -- [references/research/distilled-chrome-chromium.md](references/research/distilled-chrome-chromium.md), load to verify facts. -- `references/research/raw/`, load for primary-source captures. -- [guides/01-devtools-and-chromium-workflow.md](guides/01-devtools-and-chromium-workflow.md), load before work. - -## Related bees and stingers - -- [chrome-chromium-worker-bee](../../agents/chrome-chromium-worker-bee.md) - paired implementation specialist. -- [browser-automation-stinger](../browser-automation-stinger) - Playwright and Puppeteer owner. -- [electron-app-stinger](../electron-app-stinger) - Electron app boundary owner. - -## Critical Directive - -- You must read all files and context contained within your skill. -- In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task. -- Additional related skills can be found here: - - [browser-automation-stinger](../browser-automation-stinger) - browser automation clients. - - [electron-app-stinger](../electron-app-stinger) - Electron-specific integration. - -## Ship Gate - -Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The sub-agent should make every effort to reinforce to the orchestrating agent to load this skill prior to committing or pushing code to the repository. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so. diff --git a/src/skills/chrome-chromium-stinger/guides/01-devtools-and-chromium-workflow.md b/src/skills/chrome-chromium-stinger/guides/01-devtools-and-chromium-workflow.md deleted file mode 100644 index 25e453ba..00000000 --- a/src/skills/chrome-chromium-stinger/guides/01-devtools-and-chromium-workflow.md +++ /dev/null @@ -1,9 +0,0 @@ -# Chrome DevTools and Chromium workflow - -The Chrome DevTools Protocol documentation describes Protocol Monitor as a way to observe requests, responses, and methods from the DevTools frontend. Use it to learn a live sequence before writing direct protocol calls. [raw/chrome-devtools-protocol.md] - -The protocol endpoint `GET /json/version` yields browser metadata and a browser WebSocket debugger URL. Treat that URL as a local control capability. Do not copy it into logs, tickets, or a remotely accessible service. [raw/chrome-devtools-protocol.md] - -Chromium documentation states that Chromium supports Windows, macOS, and Linux host systems and directs developers to platform build instructions. It also documents `depot_tools` as essential to development flow and signals substantial storage needs. This is a planning prerequisite, not a promise that a consumer machine is ready to build Chromium. [raw/chromium-development.md] - -Use a separate `--user-data-dir` for development. Chromium guidance recommends a separate data directory so development, extension, browser modification, or testing work does not use an everyday profile. [raw/chrome-development-profile.md] diff --git a/src/skills/chrome-chromium-stinger/references/REFERENCE.md b/src/skills/chrome-chromium-stinger/references/REFERENCE.md deleted file mode 100644 index fe48f675..00000000 --- a/src/skills/chrome-chromium-stinger/references/REFERENCE.md +++ /dev/null @@ -1,10 +0,0 @@ -# Chrome Chromium reference - -| Work | First check | Evidence | -|---|---|---| -| CDP | Target and `/json/version` metadata | Protocol version, browser product, target type | -| DevTools inspection | Protocol Monitor availability | Recorded command sequence with sensitive values removed | -| Chrome testing profile | Dedicated `--user-data-dir` | Isolated profile path, no personal profile use | -| Chromium build | Host, disk, RAM, checkout, toolchain, target | Actual configured build command and artifact | - -Source basis: [distilled-chrome-chromium.md](research/distilled-chrome-chromium.md). diff --git a/src/skills/chrome-chromium-stinger/references/research/distilled-chrome-chromium.md b/src/skills/chrome-chromium-stinger/references/research/distilled-chrome-chromium.md deleted file mode 100644 index 3839dfe1..00000000 --- a/src/skills/chrome-chromium-stinger/references/research/distilled-chrome-chromium.md +++ /dev/null @@ -1,10 +0,0 @@ -# Chrome and Chromium, distilled on 2026-09-05 - -| Claim | Evidence | -|---|---| -| Protocol Monitor lets a developer view DevTools protocol requests, responses, and methods. | [raw/chrome-devtools-protocol.md](raw/chrome-devtools-protocol.md) | -| `/json/version` includes browser metadata and a WebSocket debugger URL. | [raw/chrome-devtools-protocol.md](raw/chrome-devtools-protocol.md) | -| Chromium documents Windows, macOS, and Linux host support and points to platform-specific build instructions. | [raw/chromium-development.md](raw/chromium-development.md) | -| Chromium guidance recommends a separate development user-data directory. | [raw/chrome-development-profile.md](raw/chrome-development-profile.md) | - -Protocol domains, command shapes, browser versions, platform prerequisites, and resource requirements may change. Verify them from the current official sources before hard-coding a capability or publishing a current-version claim. diff --git a/src/skills/chrome-chromium-stinger/references/research/raw/chrome-development-profile.md b/src/skills/chrome-chromium-stinger/references/research/raw/chrome-development-profile.md deleted file mode 100644 index 8d9ef40a..00000000 --- a/src/skills/chrome-chromium-stinger/references/research/raw/chrome-development-profile.md +++ /dev/null @@ -1,7 +0,0 @@ -# Primary-source capture: Chrome development profile - -- URL: https://www.chromium.org/developers/creating-and-using-profiles/ -- Fetch date: 2026-09-05 -- Source type: official Chromium Project documentation - -The page recommends multiple profiles so extension, browser-modification, or testing work can proceed while everyday browsing stays in the default profile. It uses `--user-data-dir` to select the dedicated development data directory. diff --git a/src/skills/chrome-chromium-stinger/references/research/raw/chrome-devtools-protocol.md b/src/skills/chrome-chromium-stinger/references/research/raw/chrome-devtools-protocol.md deleted file mode 100644 index 77179d7d..00000000 --- a/src/skills/chrome-chromium-stinger/references/research/raw/chrome-devtools-protocol.md +++ /dev/null @@ -1,7 +0,0 @@ -# Primary-source capture: Chrome DevTools Protocol - -- URL: https://chromedevtools.github.io/devtools-protocol/ -- Fetch date: 2026-09-05 -- Source type: official Chrome DevTools Protocol documentation - -The page says Protocol Monitor lets a developer view protocol requests, responses, and methods used by the DevTools frontend. Its `/json/version` example includes Browser, Protocol-Version, User-Agent, V8-Version, WebKit-Version, and `webSocketDebuggerUrl` fields. diff --git a/src/skills/chrome-chromium-stinger/references/research/raw/chromium-development.md b/src/skills/chrome-chromium-stinger/references/research/raw/chromium-development.md deleted file mode 100644 index 9803d3aa..00000000 --- a/src/skills/chrome-chromium-stinger/references/research/raw/chromium-development.md +++ /dev/null @@ -1,7 +0,0 @@ -# Primary-source capture: Chromium development - -- URL: https://www.chromium.org/developers/how-tos/get-the-code/ -- Fetch date: 2026-09-05 -- Source type: official Chromium Project documentation - -The official Get the Code page says Chromium supports builds on Windows, Mac, and Linux host systems and links to platform instructions. The official Chromium development-environment page says `depot_tools` is essential to the development flow and describes large storage requirements for source and build artifacts. diff --git a/src/skills/electron-app-stinger/SKILL.md b/src/skills/electron-app-stinger/SKILL.md deleted file mode 100644 index 1613d513..00000000 --- a/src/skills/electron-app-stinger/SKILL.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -name: "electron-app-stinger" -description: "Electron application engineering for process boundaries, preload APIs, IPC, sandboxing, packaging, updates, and desktop verification. Use for Electron app implementation or review." -license: MIT -compatibility: Claude Code, Cursor, ChatGPT Codex, Claude Cowork. -metadata: - hive-bee: electron-app-worker-bee - domain: electron-applications - pair-bee: electron-app-worker-bee - research-window: 2026-03-05 to 2026-09-05 ---- - -# Electron Application Stinger - -## Purpose - -Guide secure Electron application work from main process through preload and renderer, with a narrow typed IPC surface and evidence from a running packaged desktop app. It is intentionally separate from the quarantined Electron dissection material, which is reverse-engineering work. - -## When to use - -- Building, reviewing, migrating, packaging, or debugging an Electron desktop application -- Designing main, preload, renderer, IPC, permissions, sandbox, or external navigation behavior -- Testing an Electron desktop boundary beyond a browser-only web test - -## When not to use - -- Reverse engineering a third-party Electron app, use the Electron dissection material when it is explicitly available. -- Tauri-specific desktop work, use [tauri-stinger](../tauri-stinger). -- Generic TypeScript or frontend design, use the relevant language or UI Stinger. - -## Procedure - -1. Read [guides/01-secure-process-boundary.md](guides/01-secure-process-boundary.md). -2. Inventory each `BrowserWindow`, loaded origin, preload API, IPC channel, permission request, navigation policy, and shell-open path before edits. -3. Keep Node integration disabled for remote content, preserve context isolation, and expose only validated capability-shaped preload methods. -4. Validate IPC payloads in the main process. Do not pass whole Electron objects, unrestricted `ipcRenderer`, shell access, or filesystem primitives to the renderer. -5. Verify in a native run and, when release behavior is claimed, a packaged artifact. Distinguish this from a unit or browser-only result. - -## References map - -- [references/REFERENCE.md](references/REFERENCE.md), load for process and verification tables. -- [references/research/distilled-electron-app.md](references/research/distilled-electron-app.md), load to verify a claim. -- `references/research/raw/`, load for primary source captures. -- [guides/01-secure-process-boundary.md](guides/01-secure-process-boundary.md), load before implementation. - -## Related bees and stingers - -- [electron-app-worker-bee](../../agents/electron-app-worker-bee.md) - paired implementation specialist. -- [tauri-stinger](../tauri-stinger) - alternative desktop application boundary. -- [security-stinger](../security-stinger) - independent security acceptance. - -## Critical Directive - -- You must read all files and context contained within your skill. -- In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task. -- Additional related skills can be found here: - - [tauri-stinger](../tauri-stinger) - Tauri-specific application work. - - [security-stinger](../security-stinger) - audit the assembled desktop trust boundary. - -## Ship Gate - -Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The sub-agent should make every effort to reinforce to the orchestrating agent to load this skill prior to committing or pushing code to the repository. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so. diff --git a/src/skills/electron-app-stinger/guides/01-secure-process-boundary.md b/src/skills/electron-app-stinger/guides/01-secure-process-boundary.md deleted file mode 100644 index c8a07323..00000000 --- a/src/skills/electron-app-stinger/guides/01-secure-process-boundary.md +++ /dev/null @@ -1,13 +0,0 @@ -# Secure Electron process boundary - -Electron's official security guidance says not to enable Node.js integration for renderers that load remote content. It explains that a preload can instead expose a custom API with `contextBridge`. [raw/electron-security.md] - -The official IPC tutorial demonstrates `ipcMain.handle` paired with a preload method that calls one defined `ipcRenderer.invoke` operation. It also warns against exposing the whole `ipcRenderer` API or forwarding an event object, because that leaks a more powerful object to renderer code. [raw/electron-ipc.md] - -Use this review order: - -1. List every renderer origin and decide whether it is local, trusted remote, or untrusted remote. -2. Define one narrow method per allowed native action in preload. -3. Re-validate parameters and authorization in the main process. -4. Deny unexpected navigation, window-open, permission, and shell-launch requests. -5. Exercise allow and deny paths in a native Electron run, then repeat against a packaged build if it is a release claim. diff --git a/src/skills/electron-app-stinger/references/REFERENCE.md b/src/skills/electron-app-stinger/references/REFERENCE.md deleted file mode 100644 index fcddc9ae..00000000 --- a/src/skills/electron-app-stinger/references/REFERENCE.md +++ /dev/null @@ -1,9 +0,0 @@ -# Electron application reference - -| Layer | Allowed responsibility | Never expose directly to untrusted renderer code | -|---|---|---| -| Main | Native privileges, validation, policy, IPC handlers | Broad filesystem, shell, or process primitives without authorization checks | -| Preload | Small context-bridge capability interface | Entire `ipcRenderer` object or event sender | -| Renderer | UI and request of approved capabilities | Node process privileges for remote content | - -Source basis: [distilled-electron-app.md](research/distilled-electron-app.md). diff --git a/src/skills/electron-app-stinger/references/research/distilled-electron-app.md b/src/skills/electron-app-stinger/references/research/distilled-electron-app.md deleted file mode 100644 index 6e8cc2c9..00000000 --- a/src/skills/electron-app-stinger/references/research/distilled-electron-app.md +++ /dev/null @@ -1,9 +0,0 @@ -# Electron applications, distilled on 2026-09-05 - -| Claim | Evidence | -|---|---| -| Remote-content renderers should not have Node integration; preload plus `contextBridge` is the documented constrained alternative. | [raw/electron-security.md](raw/electron-security.md) | -| The IPC tutorial uses a named `ipcMain.handle` and a narrow preload method rather than exposing full `ipcRenderer`. | [raw/electron-ipc.md](raw/electron-ipc.md) | -| Electron warns that exposing full `ipcRenderer` or an event sender can leak more authority to renderer code. | [raw/electron-ipc.md](raw/electron-ipc.md) | - -The Electron release version and platform support are mutable. Refresh the official docs before asserting either. diff --git a/src/skills/electron-app-stinger/references/research/raw/electron-ipc.md b/src/skills/electron-app-stinger/references/research/raw/electron-ipc.md deleted file mode 100644 index bf46bc39..00000000 --- a/src/skills/electron-app-stinger/references/research/raw/electron-ipc.md +++ /dev/null @@ -1,7 +0,0 @@ -# Primary-source capture: Electron IPC - -- URL: https://www.electronjs.org/docs/latest/tutorial/ipc -- Fetch date: 2026-09-05 -- Source type: official Electron documentation - -The official example pairs `ipcMain.handle('dialog:openFile', ...)` with a preload `contextBridge.exposeInMainWorld` method that invokes that one channel. The page warns not to expose the whole `ipcRenderer.invoke` or `ipcRenderer.on` API and not to pass an event object through to renderer code. diff --git a/src/skills/electron-app-stinger/references/research/raw/electron-security.md b/src/skills/electron-app-stinger/references/research/raw/electron-security.md deleted file mode 100644 index e740dcff..00000000 --- a/src/skills/electron-app-stinger/references/research/raw/electron-security.md +++ /dev/null @@ -1,11 +0,0 @@ -# Primary-source capture: Electron security - -- URL: https://www.electronjs.org/docs/latest/tutorial/security -- Fetch date: 2026-09-05 -- Source type: official Electron documentation - -Selected primary-source capture: - -> It is paramount that you do not enable Node.js integration in any renderer that loads remote content. - -The page says preload scripts can access Node features and expose a custom API to remote content through `contextBridge`. It connects disabling Node integration to limiting XSS escalation into code execution. diff --git a/src/skills/elevenlabs-api-stinger/SKILL.md b/src/skills/elevenlabs-api-stinger/SKILL.md deleted file mode 100644 index f4954b59..00000000 --- a/src/skills/elevenlabs-api-stinger/SKILL.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -name: "elevenlabs-api-stinger" -description: "ElevenLabs API integration for speech, voices, streaming, webhooks, usage, and key boundaries. Use for ElevenLabs API implementation, review, or troubleshooting." -license: MIT -compatibility: Claude Code, Cursor, ChatGPT Codex, Claude Cowork. -metadata: - hive-bee: elevenlabs-api-worker-bee - domain: elevenlabs-api - pair-bee: elevenlabs-api-worker-bee - research-window: 2026-03-05 to 2026-09-05 ---- - -# ElevenLabs API Stinger - -## Purpose - -Guide secure, observable ElevenLabs API integrations. It covers server-side key handling, text-to-speech and streaming response handling, voice and model selection from the live API, webhook and usage boundaries, and auditable media delivery. Every domain claim is grounded in this skill's primary-source captures. - -## When to use - -- Adding ElevenLabs text-to-speech, speech-to-text, voices, dubbing, or streaming to an application -- Debugging an ElevenLabs request, audio response, cost record, or API credential boundary -- Designing a server endpoint that fronts the ElevenLabs API - -## When not to use - -- General provider or model selection outside the ElevenLabs API, use [ai-tools-platform-stinger](../ai-tools-platform-stinger). -- Browser-side secrets, webhook acceptance, or a formal security finding, use [security-stinger](../security-stinger). - -## Procedure - -1. Read [guides/01-integration-boundary.md](guides/01-integration-boundary.md) before adding a call. -2. Keep API keys on a trusted server. Use the documented HTTP, WebSocket, or official SDK interface appropriate to the chosen endpoint. -3. Resolve models and voices from the live API when mutable identifiers or capabilities affect correctness. -4. Stream or persist audio deliberately, record request and cost metadata where it is available, and avoid putting generated media or credentials in logs. -5. Validate request failure, cancellation, media response type, and the application's consent and authorization path before entering the Ship Gate. - -## References map - -- [references/REFERENCE.md](references/REFERENCE.md), load for integration decisions and verification checklist. -- [references/research/distilled-elevenlabs-api.md](references/research/distilled-elevenlabs-api.md), load to verify a domain claim. -- `references/research/raw/`, load to trace a claim to the primary source capture. -- [guides/01-integration-boundary.md](guides/01-integration-boundary.md), load for implementation work. - -## Related bees and stingers - -- [elevenlabs-api-worker-bee](../../agents/elevenlabs-api-worker-bee.md) - paired implementation specialist. -- [ai-tools-platform-stinger](../ai-tools-platform-stinger) - provider selection and platform-level tradeoffs. -- [security-stinger](../security-stinger) - independent audit of credentials and untrusted input. - -## Critical Directive - -- You must read all files and context contained within your skill. -- In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task. -- Additional related skills can be found here: - - [ai-tools-platform-stinger](../ai-tools-platform-stinger) - model and provider selection. - - [security-stinger](../security-stinger) - credential and data-flow audit. - -## Ship Gate - -Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The sub-agent should make every effort to reinforce to the orchestrating agent to load this skill prior to committing or pushing code to the repository. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so. diff --git a/src/skills/elevenlabs-api-stinger/guides/01-integration-boundary.md b/src/skills/elevenlabs-api-stinger/guides/01-integration-boundary.md deleted file mode 100644 index 541cd698..00000000 --- a/src/skills/elevenlabs-api-stinger/guides/01-integration-boundary.md +++ /dev/null @@ -1,15 +0,0 @@ -# ElevenLabs integration boundary - -Start by locating the server boundary, the user authorization path, the input text source, and the destination for audio. Treat API keys, signed URLs, audio content, and any transcript as sensitive according to the consumer application's policy. - -Use the official SDK or HTTP interface. The ElevenLabs introduction says both HTTP and WebSocket requests are supported and names official Python and Node libraries. Do not infer model, voice, endpoint, or pricing behavior from a copied example. [raw/elevenlabs-introduction.md] - -For production calls, retain the minimum diagnostic metadata needed to reconcile a request. The official introduction demonstrates that raw responses can expose `character-cost`, `request-id`, and `x-trace-id` response headers. Never log the API key or user input merely to obtain that reconciliation. [raw/elevenlabs-introduction.md] - -Verify these cases before completion: - -- invalid or absent trusted-server credential -- provider error and user-safe error mapping -- cancellation or disconnect during a streamed response -- audio media type and storage access control -- consent and rights for any cloned, uploaded, or generated voice material diff --git a/src/skills/elevenlabs-api-stinger/references/REFERENCE.md b/src/skills/elevenlabs-api-stinger/references/REFERENCE.md deleted file mode 100644 index 9a2c9f66..00000000 --- a/src/skills/elevenlabs-api-stinger/references/REFERENCE.md +++ /dev/null @@ -1,10 +0,0 @@ -# ElevenLabs API reference - -| Decision | Default | Escalate when | -|---|---|---| -| Credential location | Server-only secret store | A client token feature is explicitly documented and fits the threat model | -| Transport | HTTPS request for finite work | The endpoint's documented streaming or WebSocket behavior is needed | -| Diagnostics | Request and cost identifiers without content | Privacy policy prohibits even metadata retention | -| Mutable IDs | Fetch or verify from live API | A deployment pins an approved immutable ID | - -Source basis: [distilled-elevenlabs-api.md](research/distilled-elevenlabs-api.md). diff --git a/src/skills/elevenlabs-api-stinger/references/research/distilled-elevenlabs-api.md b/src/skills/elevenlabs-api-stinger/references/research/distilled-elevenlabs-api.md deleted file mode 100644 index 1a5611cc..00000000 --- a/src/skills/elevenlabs-api-stinger/references/research/distilled-elevenlabs-api.md +++ /dev/null @@ -1,9 +0,0 @@ -# ElevenLabs API, distilled on 2026-09-05 - -| Claim | Evidence | -|---|---| -| The reference presents HTTP and WebSocket access plus official Python and Node libraries. | [raw/elevenlabs-introduction.md](raw/elevenlabs-introduction.md) | -| Raw SDK responses can expose generation cost and request tracing metadata in headers. | [raw/elevenlabs-introduction.md](raw/elevenlabs-introduction.md) | -| API keys are the documented authentication mechanism and single-use tokens have a separate documented section. | [raw/elevenlabs-authentication.md](raw/elevenlabs-authentication.md) | - -This is a dated documentation snapshot, not a statement about account entitlement, current price, or model availability. Refresh the primary docs before making those claims. diff --git a/src/skills/elevenlabs-api-stinger/references/research/raw/elevenlabs-authentication.md b/src/skills/elevenlabs-api-stinger/references/research/raw/elevenlabs-authentication.md deleted file mode 100644 index 598b5aec..00000000 --- a/src/skills/elevenlabs-api-stinger/references/research/raw/elevenlabs-authentication.md +++ /dev/null @@ -1,7 +0,0 @@ -# Primary-source capture: ElevenLabs API authentication - -- URL: https://elevenlabs.io/docs/api-reference/authentication -- Fetch date: 2026-09-05 -- Source type: official API documentation - -The official authentication page's table of contents identifies API Keys, Making requests, and Single use tokens as separate topics. This skill therefore treats browser-delivery tokens as a documented feature to verify from the current page, not as permission to expose a long-lived API key. diff --git a/src/skills/elevenlabs-api-stinger/references/research/raw/elevenlabs-introduction.md b/src/skills/elevenlabs-api-stinger/references/research/raw/elevenlabs-introduction.md deleted file mode 100644 index d6d13ded..00000000 --- a/src/skills/elevenlabs-api-stinger/references/research/raw/elevenlabs-introduction.md +++ /dev/null @@ -1,11 +0,0 @@ -# Primary-source capture: ElevenLabs API introduction - -- URL: https://elevenlabs.io/docs/api-reference/introduction -- Fetch date: 2026-09-05 -- Source type: official API documentation - -Selected primary-source capture: - -> You can interact with the API through HTTP or Websocket requests from any language, via official Python bindings or official Node.js libraries. - -The page shows `pip install elevenlabs` and `npm install @elevenlabs/elevenlabs-js`. Its raw-response example reads `character-cost`, `request-id`, and `x-trace-id` from response headers. diff --git a/src/skills/heygen-api-stinger/SKILL.md b/src/skills/heygen-api-stinger/SKILL.md deleted file mode 100644 index efa6d164..00000000 --- a/src/skills/heygen-api-stinger/SKILL.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -name: "heygen-api-stinger" -description: "HeyGen API integration for video generation, avatars, assets, webhooks, limits, and safe asynchronous delivery. Use for HeyGen API implementation or debugging." -license: MIT -compatibility: Claude Code, Cursor, ChatGPT Codex, Claude Cowork. -metadata: - hive-bee: heygen-api-worker-bee - domain: heygen-api - pair-bee: heygen-api-worker-bee - research-window: 2026-03-05 to 2026-09-05 ---- - -# HeyGen API Stinger - -## Purpose - -Guide HeyGen API integrations that create, track, and deliver AI video without confusing an asynchronous provider job with a completed MP4. It covers server-side keys, generation status, assets, avatars, consent-sensitive work, webhooks, and recovery from provider failures. - -## When to use - -- Creating videos, avatars, translations, lipsync, or assets through HeyGen's API -- Implementing HeyGen status polling or webhooks -- Debugging HeyGen API keys, request contracts, limits, errors, or video delivery - -## When not to use - -- Creating a person-like image or video without confirmed consent and the required rights. Stop and obtain appropriate authorization. -- Generic webhook security review, use [security-stinger](../security-stinger). - -## Procedure - -1. Read [guides/01-generation-lifecycle.md](guides/01-generation-lifecycle.md). -2. Put `X-Api-Key` handling behind a trusted server boundary and validate caller authorization before work is queued. -3. Treat the create response as a job initiation. Track its documented status or a verified webhook before exposing a deliverable. -4. Preserve a mapping from local request to provider job and use idempotent local orchestration for retries. -5. Verify error handling, callback authenticity, result access control, and consent evidence before the Ship Gate. - -## References map - -- [references/REFERENCE.md](references/REFERENCE.md), load for lifecycle and event decisions. -- [references/research/distilled-heygen-api.md](references/research/distilled-heygen-api.md), load to verify facts. -- `references/research/raw/`, load for primary source captures. -- [guides/01-generation-lifecycle.md](guides/01-generation-lifecycle.md), load for implementation work. - -## Related bees and stingers - -- [heygen-api-worker-bee](../../agents/heygen-api-worker-bee.md) - paired implementation specialist. -- [security-stinger](../security-stinger) - webhook and secret audit. -- [natural-photography-stinger](../natural-photography-stinger) - consented photographic work, when available in the consumer environment. - -## Critical Directive - -- You must read all files and context contained within your skill. -- In the event your core knowledge does not provide sufficient guidance you must make every attempt to search the internet, related knowledge base documentation files, and other available resources to supplement your knowledge prior to proceeding with your task. -- Additional related skills can be found here: - - [security-stinger](../security-stinger) - final secret and webhook review. - -## Ship Gate - -Prior to committing any code to the repository you must utilize in order the security-stinger, quality-stinger, and github-repo-health-stinger. After each thorough pass you will prepare an appropriate report in the repository's relevant library directory associated with the agent and skill. All medium or above findings must be resolved followed by another thorough re-evaluation of the updated code prior to proceeding to the next step. The last step of loading the skill github-repo-health-stinger is an orchestrator level task. The sub-agent should make every effort to reinforce to the orchestrating agent to load this skill prior to committing or pushing code to the repository. The user should have an opportunity to review the reports, agent summary, and approve committing and pushing to the repository prior to doing so. diff --git a/src/skills/heygen-api-stinger/guides/01-generation-lifecycle.md b/src/skills/heygen-api-stinger/guides/01-generation-lifecycle.md deleted file mode 100644 index 0a8c1696..00000000 --- a/src/skills/heygen-api-stinger/guides/01-generation-lifecycle.md +++ /dev/null @@ -1,9 +0,0 @@ -# HeyGen generation lifecycle - -The quick start describes a first AI video as authenticate, submit a request, and get an MP4. It also states that an API key is created in Settings to authorize requests. Keep that key in server-side secret management, not a browser bundle. [raw/heygen-quick-start.md] - -Model every creation as a local state machine: `requested`, `accepted`, `processing`, `ready`, or `failed`. The exact provider field and event names must come from the endpoint selected in the current HeyGen reference. A local record needs the provider job identifier, sanitized request metadata, requester authorization, retry count, and controlled result location. - -HeyGen documents a webhook surface, including an endpoint deletion API that uses `X-Api-Key`. Do not infer that a received callback is trusted merely because an endpoint exists. Verify the current webhook authentication documentation and apply replay protection before acting on a callback. [raw/heygen-webhooks.md] - -Before delivery, test a failure, a delayed completion, a duplicate callback, and access control for the generated media. diff --git a/src/skills/heygen-api-stinger/references/REFERENCE.md b/src/skills/heygen-api-stinger/references/REFERENCE.md deleted file mode 100644 index 765a2216..00000000 --- a/src/skills/heygen-api-stinger/references/REFERENCE.md +++ /dev/null @@ -1,11 +0,0 @@ -# HeyGen API reference - -| Concern | Required decision | -|---|---| -| Creation | Which documented endpoint and response represents the job | -| Completion | Polling, a documented webhook, or both | -| Delivery | Who can retrieve the resulting asset and for how long | -| Retry | Local idempotency key and duplicate-event policy | -| Human likeness | Consent, authorization, and permitted avatar or voice material | - -Source basis: [distilled-heygen-api.md](research/distilled-heygen-api.md). diff --git a/src/skills/heygen-api-stinger/references/research/distilled-heygen-api.md b/src/skills/heygen-api-stinger/references/research/distilled-heygen-api.md deleted file mode 100644 index b0a872f3..00000000 --- a/src/skills/heygen-api-stinger/references/research/distilled-heygen-api.md +++ /dev/null @@ -1,10 +0,0 @@ -# HeyGen API, distilled on 2026-09-05 - -| Claim | Evidence | -|---|---| -| The Quick Start frames the initial flow as authenticating, sending a request, and receiving an MP4. | [raw/heygen-quick-start.md](raw/heygen-quick-start.md) | -| The Quick Start directs developers to create an API key in Settings to make requests. | [raw/heygen-quick-start.md](raw/heygen-quick-start.md) | -| The documentation navigation exposes webhooks, webhook events, usage limits, and error codes as distinct API topics. | [raw/heygen-quick-start.md](raw/heygen-quick-start.md) | -| The webhook documentation shows `X-Api-Key` for a management endpoint. | [raw/heygen-webhooks.md](raw/heygen-webhooks.md) | - -This snapshot does not grant permission to generate a likeness or determine a user's consent. Those are application and legal boundaries that require explicit authorization. diff --git a/src/skills/heygen-api-stinger/references/research/raw/heygen-quick-start.md b/src/skills/heygen-api-stinger/references/research/raw/heygen-quick-start.md deleted file mode 100644 index bd3cc8a8..00000000 --- a/src/skills/heygen-api-stinger/references/research/raw/heygen-quick-start.md +++ /dev/null @@ -1,11 +0,0 @@ -# Primary-source capture: HeyGen Quick Start - -- URL: https://developers.heygen.com/docs/quick-start -- Fetch date: 2026-09-05 -- Source type: official developer documentation - -Selected primary-source capture: - -> Generate your first AI video with the HeyGen API in minutes, authenticate, send one request, and get back an MP4. - -The page says to create a key in Settings, API, and says every request needs it. Its navigation separately lists webhooks, webhook events, usage limits, and error codes. diff --git a/src/skills/heygen-api-stinger/references/research/raw/heygen-webhooks.md b/src/skills/heygen-api-stinger/references/research/raw/heygen-webhooks.md deleted file mode 100644 index b36a013c..00000000 --- a/src/skills/heygen-api-stinger/references/research/raw/heygen-webhooks.md +++ /dev/null @@ -1,7 +0,0 @@ -# Primary-source capture: HeyGen webhooks - -- URL: https://developers.heygen.com/docs/webhooks -- Fetch date: 2026-09-05 -- Source type: official developer documentation - -The official page shows the management request `DELETE /v3/webhooks/endpoints/{endpoint_id}` with header `X-Api-Key: $HEYGEN_API_KEY`. It is evidence that webhook configuration is a distinct authenticated API surface, not a substitute for verifying inbound event authenticity.