From d21303145f357a3c748df65d8ec634586ee470d0 Mon Sep 17 00:00:00 2001 From: Gaurav Patidar Date: Fri, 3 Jul 2026 10:14:27 +0530 Subject: [PATCH 01/12] fix docs --- .claude/commands/seo-auditor.md | 8 ++++---- docs/skills/product-team/product-team.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.claude/commands/seo-auditor.md b/.claude/commands/seo-auditor.md index a740f0fe..910b3a34 100644 --- a/.claude/commands/seo-auditor.md +++ b/.claude/commands/seo-auditor.md @@ -37,7 +37,7 @@ For each file with YAML frontmatter: Run SEO checker on built HTML pages: ```bash -python3 marketing-skill/seo-audit/scripts/seo_checker.py --file site/{path}/index.html +python3 marketing-skill/skills/seo-audit/scripts/seo_checker.py --file site/{path}/index.html ``` ## Phase 3: Content Quality @@ -46,13 +46,13 @@ python3 marketing-skill/seo-audit/scripts/seo_checker.py --file site/{path}/inde **Readability:** Run content scorer: ```bash -python3 marketing-skill/content-production/scripts/content_scorer.py {file} +python3 marketing-skill/skills/content-production/scripts/content_scorer.py {file} ``` Target: readability ≥ 70, structure ≥ 60. **AI detection** (on non-generated files only): ```bash -python3 marketing-skill/content-humanizer/scripts/humanizer_scorer.py {file} +python3 marketing-skill/skills/content-humanizer/scripts/humanizer_scorer.py {file} ``` Flag pages < 50. Fix AI clichés: "delve", "leverage", "it's important to note", "comprehensive". @@ -87,7 +87,7 @@ mkdocs build Analyze the sitemap: ```bash -python3 marketing-skill/site-architecture/scripts/sitemap_analyzer.py site/sitemap.xml +python3 marketing-skill/skills/site-architecture/scripts/sitemap_analyzer.py site/sitemap.xml ``` Verify all pages appear, no duplicates, no broken URLs. diff --git a/docs/skills/product-team/product-team.md b/docs/skills/product-team/product-team.md index 00be9122..16060f10 100644 --- a/docs/skills/product-team/product-team.md +++ b/docs/skills/product-team/product-team.md @@ -22,7 +22,7 @@ description: "10 product agent skills and plugins for Claude Code, Codex, Gemini ### Claude Code ``` -/read product-team/product-manager-toolkit/SKILL.md +/read product-team/skills/product-manager-toolkit/SKILL.md ``` ### Codex CLI From 0a5d18ceba2888cf2789d67fbd649029386db5e2 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 3 Jul 2026 06:01:43 +0000 Subject: [PATCH 02/12] feat(engineering): agent-harness skill + agentic-readiness audit of both engineering domains MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deep-audit both engineering folders (engineering/ + engineering-team/) against the June 2026 baseline and score every skill on a new 6-dimension agentic-readiness rubric (goal intake, decomposition, deterministic execution, verification, loop discipline, close-out). Combined: 26 HARNESS-READY, 39 LOOP-CAPABLE, 43 TOOL-ONLY, 7 PROSE-ONLY. Headline finding: loop discipline (AR5) is the repo-wide gap. Ship engineering/agent-harness — the thin unifying layer that turns any of the repo's 18 domains into a bounded, self-verifying agent loop: - harness_manifest_builder.py: scan a domain -> manifest.v1 (skills, tools, checks, signals) - goal_compiler.py: goal + manifest -> plan.v1; refuses vague goals (exit 3) / no-match (4) - loop_controller.py: init/next/record/verify/close state machine; runs checks itself via subprocess (no verification theater), caps attempts+iterations with escalation, refuses to close while any task is unverified; atomic state writes - 18 committed per-domain manifests, JSON schema, harness-runner agent, /cs:harness command, 3 references citing the 2024-2026 harness canon - reuses agenthub / autoresearch locked-evaluator / tc-tracker / loop-library primitives Audit record under audit/engineering-agentic-2026-07/ (master + 2 domain reports + improvement-fields rollup + research digest + rubric). Counters: 82->83 plugins, 354->355 skills, 593->596 tools, 722->725 refs (derive_counters --check passes). All CI gates green: plugin.json, smoke --help/--sample, JSON output, path linter, dual-publish, counters. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01L4JerbGv6vqitUMhqHPA9g --- .claude-plugin/marketplace.json | 83 +- CLAUDE.md | 17 +- README.md | 14 +- .../engineering-agentic-2026-07/00-MASTER.md | 137 + audit/engineering-agentic-2026-07/RUBRIC.md | 41 + .../engineering-team.md | 130 + .../engineering.md | 190 + .../improvement-fields.md | 88 + .../research-digest.md | 85 + .../agent-harness/.claude-plugin/plugin.json | 13 + engineering/agent-harness/README.md | 33 + .../agent-harness/agents/harness-runner.md | 35 + .../agent-harness/commands/cs-harness.md | 34 + .../skills/agent-harness/SKILL.md | 126 + .../assets/harness_manifest.schema.json | 65 + .../assets/harnesses/business-growth.json | 220 ++ .../assets/harnesses/business-operations.json | 451 +++ .../assets/harnesses/c-level-advisor.json | 1893 ++++++++++ .../assets/harnesses/commercial.json | 521 +++ .../assets/harnesses/compliance-os.json | 199 + .../assets/harnesses/engineering-team.json | 2022 ++++++++++ .../assets/harnesses/engineering.json | 3356 +++++++++++++++++ .../assets/harnesses/finance.json | 167 + .../assets/harnesses/loop-library.json | 34 + .../assets/harnesses/markdown-html.json | 357 ++ .../assets/harnesses/marketing-skill.json | 1617 ++++++++ .../assets/harnesses/marketing.json | 87 + .../assets/harnesses/product-team.json | 559 +++ .../assets/harnesses/productivity.json | 568 +++ .../assets/harnesses/project-management.json | 321 ++ .../assets/harnesses/ra-qm-team.json | 848 +++++ .../assets/harnesses/research-ops.json | 495 +++ .../assets/harnesses/research.json | 560 +++ .../references/agentic_loop_canon.md | 89 + .../references/domain_harness_design.md | 93 + .../references/verification_discipline.md | 72 + .../agent-harness/scripts/goal_compiler.py | 221 ++ .../scripts/harness_manifest_builder.py | 247 ++ .../agent-harness/scripts/loop_controller.py | 409 ++ 39 files changed, 16457 insertions(+), 40 deletions(-) create mode 100644 audit/engineering-agentic-2026-07/00-MASTER.md create mode 100644 audit/engineering-agentic-2026-07/RUBRIC.md create mode 100644 audit/engineering-agentic-2026-07/engineering-team.md create mode 100644 audit/engineering-agentic-2026-07/engineering.md create mode 100644 audit/engineering-agentic-2026-07/improvement-fields.md create mode 100644 audit/engineering-agentic-2026-07/research-digest.md create mode 100644 engineering/agent-harness/.claude-plugin/plugin.json create mode 100644 engineering/agent-harness/README.md create mode 100644 engineering/agent-harness/agents/harness-runner.md create mode 100644 engineering/agent-harness/commands/cs-harness.md create mode 100644 engineering/agent-harness/skills/agent-harness/SKILL.md create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harness_manifest.schema.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/business-growth.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/business-operations.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/c-level-advisor.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/commercial.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/compliance-os.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/engineering-team.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/engineering.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/finance.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/loop-library.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/markdown-html.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/marketing-skill.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/marketing.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/product-team.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/productivity.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/project-management.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/ra-qm-team.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/research-ops.json create mode 100644 engineering/agent-harness/skills/agent-harness/assets/harnesses/research.json create mode 100644 engineering/agent-harness/skills/agent-harness/references/agentic_loop_canon.md create mode 100644 engineering/agent-harness/skills/agent-harness/references/domain_harness_design.md create mode 100644 engineering/agent-harness/skills/agent-harness/references/verification_discipline.md create mode 100644 engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py create mode 100644 engineering/agent-harness/skills/agent-harness/scripts/harness_manifest_builder.py create mode 100644 engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index f225d3b2..72e50643 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -4,11 +4,11 @@ "name": "Alireza Rezvani", "url": "https://alirezarezvani.com" }, - "description": "348 production-ready skill packages for Claude AI across 18 domains: engineering advanced (78, incl. v2.9.0 workflow-builder for Claude Code Workflow-tool authoring), engineering core (51), marketing (46 \u2014 incl. AEO/Answer Engine Optimization), c-level advisory (66), product (17), regulatory/QMS (18), compliance-os (9), project management (9), business growth (5), finance (4), productivity (6), marketing top-level (1), research (8), research-ops (5, v2.9.0), business-operations (7), commercial (8), markdown-html (5, v2.10.3 \u2014 markdown-to-interactive-HTML converter complete: orchestrator + design-system + md-document long-form + md-review code-review + md-slides slide-deck), and loop-library (1 \u2014 vendored Forward Future Loop Library skill). Includes 586 Python tools, 713 reference documents, 94 agents, 100 slash commands across 79 marketplace plugins.", + "description": "348 production-ready skill packages for Claude AI across 18 domains: engineering advanced (78, incl. v2.9.0 workflow-builder for Claude Code Workflow-tool authoring), engineering core (51), marketing (46 — incl. AEO/Answer Engine Optimization), c-level advisory (66), product (17), regulatory/QMS (18), compliance-os (9), project management (9), business growth (5), finance (4), productivity (6), marketing top-level (1), research (8), research-ops (5, v2.9.0), business-operations (7), commercial (8), markdown-html (5, v2.10.3 — markdown-to-interactive-HTML converter complete: orchestrator + design-system + md-document long-form + md-review code-review + md-slides slide-deck), and loop-library (1 — vendored Forward Future Loop Library skill). Includes 586 Python tools, 713 reference documents, 94 agents, 100 slash commands across 79 marketplace plugins.", "homepage": "https://github.com/alirezarezvani/claude-skills", "repository": "https://github.com/alirezarezvani/claude-skills", "metadata": { - "description": "354 production-ready skills across 18 domains (engineering, engineering-core, marketing, product, c-level, compliance-os, project management, RA/QM, business growth, finance, productivity, marketing top-level, research, research-ops, business-operations, commercial, markdown-html, loop-library, plus standards). 593 Python tools, 722 reference guides, 96 agents (cs-* + personas), 102 slash commands across 82 marketplace plugins. v2.10.3 completes the markdown-html domain with md-slides \u2014 slide-deck converter (arrow-key / Space / PgDn / Home/End / P keyboard navigation + presenter mode with split-view clock + speaker notes + next-slide preview + URL-hash deep linking like #3 for direct slide jumps + @media print page-per-slide for browser-native PDF export). Reuses md-document's markdown parser; vanilla JS only (no framework runtime); Prism.js opt-in via --syntax. Joins md-review (v2.10.2 code-review converter), md-document (v2.10.1 long-form converter), and the v2.10.0 foundation (orchestrator + design-system). Compatible with Claude Code, Codex CLI, Gemini CLI, Cursor, OpenClaw, Hermes Agent, Mistral Vibe, and 5 more coding agents.", + "description": "355 production-ready skills across 18 domains (engineering, engineering-core, marketing, product, c-level, compliance-os, project management, RA/QM, business growth, finance, productivity, marketing top-level, research, research-ops, business-operations, commercial, markdown-html, loop-library, plus standards). 596 Python tools, 725 reference guides, 97 agents (cs-* + personas), 103 slash commands across 83 marketplace plugins. v2.10.3 completes the markdown-html domain with md-slides — slide-deck converter (arrow-key / Space / PgDn / Home/End / P keyboard navigation + presenter mode with split-view clock + speaker notes + next-slide preview + URL-hash deep linking like #3 for direct slide jumps + @media print page-per-slide for browser-native PDF export). Reuses md-document's markdown parser; vanilla JS only (no framework runtime); Prism.js opt-in via --syntax. Joins md-review (v2.10.2 code-review converter), md-document (v2.10.1 long-form converter), and the v2.10.0 foundation (orchestrator + design-system). Compatible with Claude Code, Codex CLI, Gemini CLI, Cursor, OpenClaw, Hermes Agent, Mistral Vibe, and 5 more coding agents.", "version": "2.10.3" }, "plugins": [ @@ -61,7 +61,7 @@ { "name": "c-level-agents", "source": "./c-level-advisor/c-level-agents", - "description": "Founder-mode executive team plugin: 13 cs-* C-suite agents (CFO, CMO, CRO, CPO, COO, CHRO, CISO, Chief of Staff, General Counsel, Chief Data Officer, Chief AI Officer, Chief Customer Officer, VP of Engineering) with distinct cognitive voices, plus 21 /cs:* slash commands \u2014 forcing-question office hours (CFO/CMO/CPO/CRO/CTO/CISO/GC/CDO/CAIO/CCO/VPE reviews), strategic sprint pipeline (brief \u2192 boardroom \u2192 decide \u2192 execute \u2192 post-mortem), and meta routing (/cs:founder-mode auto-router, /cs:onboard, /cs:cross-eval multi-model consensus, /cs:freeze cooldown lock). Wraps the 33 c-level skills with cognitive gearing, persona voice, and artifact-driven handoffs. The business-domain answer to YC Garry Tan's gstack.", + "description": "Founder-mode executive team plugin: 13 cs-* C-suite agents (CFO, CMO, CRO, CPO, COO, CHRO, CISO, Chief of Staff, General Counsel, Chief Data Officer, Chief AI Officer, Chief Customer Officer, VP of Engineering) with distinct cognitive voices, plus 21 /cs:* slash commands — forcing-question office hours (CFO/CMO/CPO/CRO/CTO/CISO/GC/CDO/CAIO/CCO/VPE reviews), strategic sprint pipeline (brief → boardroom → decide → execute → post-mortem), and meta routing (/cs:founder-mode auto-router, /cs:onboard, /cs:cross-eval multi-model consensus, /cs:freeze cooldown lock). Wraps the 33 c-level skills with cognitive gearing, persona voice, and artifact-driven handoffs. The business-domain answer to YC Garry Tan's gstack.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -111,7 +111,7 @@ { "name": "general-counsel-advisor", "source": "./c-level-advisor/general-counsel-advisor", - "description": "General Counsel advisory for startups: contract risk scanner (12 founder-killer patterns: auto-renew traps, uncapped indemnity, vague IP, MFN pricing, missing DPA, one-sided venue, broad non-solicit, perpetual license-back, etc.) and term sheet analyzer (0-100 founder-friendliness across 12 dimensions). 3 in-depth references: contracts playbook (7 startup contract types), IP + regulatory landscape mapping (HIPAA, GDPR, FDA, fintech, EU AI Act, SOC 2 \u2192 ISO sequencing), term sheet decoder (full glossary + founder-friendly defaults). Standalone-installable; also bundled in c-level-skills. Stdlib-only. NOT a substitute for licensed counsel.", + "description": "General Counsel advisory for startups: contract risk scanner (12 founder-killer patterns: auto-renew traps, uncapped indemnity, vague IP, MFN pricing, missing DPA, one-sided venue, broad non-solicit, perpetual license-back, etc.) and term sheet analyzer (0-100 founder-friendliness across 12 dimensions). 3 in-depth references: contracts playbook (7 startup contract types), IP + regulatory landscape mapping (HIPAA, GDPR, FDA, fintech, EU AI Act, SOC 2 → ISO sequencing), term sheet decoder (full glossary + founder-friendly defaults). Standalone-installable; also bundled in c-level-skills. Stdlib-only. NOT a substitute for licensed counsel.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -133,7 +133,7 @@ { "name": "arquiteto-de-empresa", "source": "./c-level-advisor/arquiteto-de-empresa", - "description": "Arquiteto de Empresa (PT-BR): constr\u00f3i um neg\u00f3cio do zero como um bundle OKF (Open Knowledge Format) \u2014 \u00e1rvore de arquivos .md version\u00e1veis com frontmatter type, links formando grafo, e index.md/log.md reservados, leg\u00edvel por humanos e por agentes. Conduz o fundador por uma entrevista de 12 fases (funda\u00e7\u00e3o, estrat\u00e9gia, mercado, financeiro, comercial, marketing, produto, opera\u00e7\u00f5es, tech, pessoas, jur\u00eddico, governan\u00e7a), uma fase por vez, e gera os conceitos markdown conformantes. 3 ferramentas stdlib: scaffold_bundle (andaime), okf_linter (valida type/reservados/links), index_generator (regenera os index.md). Standalone-installable; tamb\u00e9m empacotado em c-level-skills. Em portugu\u00eas do Brasil.", + "description": "Arquiteto de Empresa (PT-BR): constrói um negócio do zero como um bundle OKF (Open Knowledge Format) — árvore de arquivos .md versionáveis com frontmatter type, links formando grafo, e index.md/log.md reservados, legível por humanos e por agentes. Conduz o fundador por uma entrevista de 12 fases (fundação, estratégia, mercado, financeiro, comercial, marketing, produto, operações, tech, pessoas, jurídico, governança), uma fase por vez, e gera os conceitos markdown conformantes. 3 ferramentas stdlib: scaffold_bundle (andaime), okf_linter (valida type/reservados/links), index_generator (regenera os index.md). Standalone-installable; também empacotado em c-level-skills. Em português do Brasil.", "version": "2.10.3", "author": { "name": "leoal" @@ -155,7 +155,7 @@ { "name": "chief-data-officer-advisor", "source": "./c-level-advisor/chief-data-officer-advisor", - "description": "Chief Data Officer advisory for startups: AI training data audit (origin \u00d7 class \u00d7 use-case matrix with GDPR Art. 6 + EU AI Act citations), data product strategy picker (warehouse vs lakehouse vs mesh + 6-layer build-vs-buy + 12-month sequencing), data asset valuator (strategic value 0-10 + M&A multiplier with carve-out penalties + 3 ranked productization paths). 4 references answering one decision each: training rights, data product strategy, customer-data-as-asset, data team org evolution. Standalone-installable; also bundled in c-level-skills. Strategic only \u2014 does not duplicate engineering data skills.", + "description": "Chief Data Officer advisory for startups: AI training data audit (origin × class × use-case matrix with GDPR Art. 6 + EU AI Act citations), data product strategy picker (warehouse vs lakehouse vs mesh + 6-layer build-vs-buy + 12-month sequencing), data asset valuator (strategic value 0-10 + M&A multiplier with carve-out penalties + 3 ranked productization paths). 4 references answering one decision each: training rights, data product strategy, customer-data-as-asset, data team org evolution. Standalone-installable; also bundled in c-level-skills. Strategic only — does not duplicate engineering data skills.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -177,7 +177,7 @@ { "name": "vpe-advisor", "source": "./c-level-advisor/vpe-advisor", - "description": "VP of Engineering advisory: delivery throughput analyzer (DORA 4 metrics + cycle-time bottleneck identification with typical fixes per stage), engineering hiring funnel calculator (7-stage conversion + pipeline gap + weakest-stage fixes from sourcing to offer-accept), engineering team structure designer (squad/tribe model + manager-trigger + director-trigger + span-of-control). 4 in-depth references citing DORA / Spotify / Conway / Google SRE / Larson / Fournier. Standalone-installable; also bundled in c-level-skills. NOT a CTO skill \u2014 VPE owns how the team ships; CTO owns what to build.", + "description": "VP of Engineering advisory: delivery throughput analyzer (DORA 4 metrics + cycle-time bottleneck identification with typical fixes per stage), engineering hiring funnel calculator (7-stage conversion + pipeline gap + weakest-stage fixes from sourcing to offer-accept), engineering team structure designer (squad/tribe model + manager-trigger + director-trigger + span-of-control). 4 in-depth references citing DORA / Spotify / Conway / Google SRE / Larson / Fournier. Standalone-installable; also bundled in c-level-skills. NOT a CTO skill — VPE owns how the team ships; CTO owns what to build.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -201,7 +201,7 @@ { "name": "chief-customer-officer-advisor", "source": "./c-level-advisor/chief-customer-officer-advisor", - "description": "Chief Customer Officer advisory: retention decomposition analyzer (honest GRR vs NRR; 7-category churn taxonomy with preventable% scoring), customer segmentation designer (4-tier framework, ICP fit scoring across 7 weighted signals, kill list + upgrade candidates), CS coverage calculator (pooled vs named CSM ratio math + 12-month hiring plan with quarterly sequencing). 4 in-depth references each citing 5+ authoritative sources. Standalone-installable; also bundled in c-level-skills. Strategic only \u2014 does not duplicate business-growth tactical CS skills.", + "description": "Chief Customer Officer advisory: retention decomposition analyzer (honest GRR vs NRR; 7-category churn taxonomy with preventable% scoring), customer segmentation designer (4-tier framework, ICP fit scoring across 7 weighted signals, kill list + upgrade candidates), CS coverage calculator (pooled vs named CSM ratio math + 12-month hiring plan with quarterly sequencing). 4 in-depth references each citing 5+ authoritative sources. Standalone-installable; also bundled in c-level-skills. Strategic only — does not duplicate business-growth tactical CS skills.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -223,7 +223,7 @@ { "name": "chief-ai-officer-advisor", "source": "./c-level-advisor/chief-ai-officer-advisor", - "description": "Chief AI Officer advisory for startups: model build-vs-buy calculator (API vs fine-tune vs build with 3-year TCO across 6 paths + breakeven that balances economics with practical feasibility), AI risk classifier (EU AI Act tier with 7 Article citations + US state patchwork: NYC LL 144, CO AI Act, IL HB 53, CA SB 1001, IL BIPA + industry overlays for FDA AI/ML, CFPB Circular 2023-03, NYDFS Reg 23, NAIC, ECOA, Fed SR 11-7), AI cost economics (API vs self-hosted breakeven with 2026 pricing across A100/H100, utilization reality, hidden costs). 4 in-depth references each citing 5+ authoritative sources. Standalone-installable; also bundled in c-level-skills. Strategic only \u2014 does not duplicate engineering AI/ML skills.", + "description": "Chief AI Officer advisory for startups: model build-vs-buy calculator (API vs fine-tune vs build with 3-year TCO across 6 paths + breakeven that balances economics with practical feasibility), AI risk classifier (EU AI Act tier with 7 Article citations + US state patchwork: NYC LL 144, CO AI Act, IL HB 53, CA SB 1001, IL BIPA + industry overlays for FDA AI/ML, CFPB Circular 2023-03, NYDFS Reg 23, NAIC, ECOA, Fed SR 11-7), AI cost economics (API vs self-hosted breakeven with 2026 pricing across A100/H100, utilization reality, hidden costs). 4 in-depth references each citing 5+ authoritative sources. Standalone-installable; also bundled in c-level-skills. Strategic only — does not duplicate engineering AI/ML skills.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -269,7 +269,7 @@ { "name": "engineering-skills", "source": "./engineering-team", - "description": "32 engineering skills: architecture, frontend, backend, fullstack, QA, DevOps, security, AI/ML, data engineering, Playwright (9 sub-skills), self-improving agent, Stripe integration, TDD guide, tech stack evaluator, Google Workspace CLI, a11y audit (WCAG 2.2), Azure cloud architect, GCP cloud architect, security pen testing, Snowflake development, adversarial-reviewer, ai-security, cloud-security, incident-response, red-team, threat-detection. v2.8.1 audits senior-fullstack / senior-frontend / senior-backend against karpathy-coder + Matt Pocock \u2014 each ships a 7-question forcing-question library, 4 customization profiles (JSON), deterministic decision engine, composition map into POWERFUL specialists, plus cs-fullstack-engineer / cs-frontend-engineer / cs-backend-engineer orchestrator agents (context: fork) + /cs:fullstack-review, /cs:frontend-review, /cs:backend-review, /cs:engineer-grill slash commands.", + "description": "32 engineering skills: architecture, frontend, backend, fullstack, QA, DevOps, security, AI/ML, data engineering, Playwright (9 sub-skills), self-improving agent, Stripe integration, TDD guide, tech stack evaluator, Google Workspace CLI, a11y audit (WCAG 2.2), Azure cloud architect, GCP cloud architect, security pen testing, Snowflake development, adversarial-reviewer, ai-security, cloud-security, incident-response, red-team, threat-detection. v2.8.1 audits senior-fullstack / senior-frontend / senior-backend against karpathy-coder + Matt Pocock — each ships a 7-question forcing-question library, 4 customization profiles (JSON), deterministic decision engine, composition map into POWERFUL specialists, plus cs-fullstack-engineer / cs-frontend-engineer / cs-backend-engineer orchestrator agents (context: fork) + /cs:fullstack-review, /cs:frontend-review, /cs:backend-review, /cs:engineer-grill slash commands.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -437,7 +437,7 @@ { "name": "autoresearch-agent", "source": "./engineering/autoresearch-agent", - "description": "Autonomous experiment loop \u2014 optimize any file by a measurable metric. 5 slash commands (/ar:setup, /ar:run, /ar:loop, /ar:status, /ar:resume), 8 built-in evaluators, configurable loop intervals (10min to monthly).", + "description": "Autonomous experiment loop — optimize any file by a measurable metric. 5 slash commands (/ar:setup, /ar:run, /ar:loop, /ar:status, /ar:resume), 8 built-in evaluators, configurable loop intervals (10min to monthly).", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -502,7 +502,7 @@ { "name": "agenthub", "source": "./engineering/agenthub", - "description": "Multi-agent collaboration \u2014 spawn N parallel subagents that compete on code optimization, content drafts, research approaches, or any task that benefits from diverse solutions. 7 slash commands (/hub:init, /hub:spawn, /hub:status, /hub:eval, /hub:merge, /hub:board, /hub:run), agent templates, DAG-based orchestration, LLM judge mode, message board coordination.", + "description": "Multi-agent collaboration — spawn N parallel subagents that compete on code optimization, content drafts, research approaches, or any task that benefits from diverse solutions. 7 slash commands (/hub:init, /hub:spawn, /hub:status, /hub:eval, /hub:merge, /hub:board, /hub:run), agent templates, DAG-based orchestration, LLM judge mode, message board coordination.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -561,7 +561,7 @@ { "name": "docker-development", "source": "./engineering/docker-development", - "description": "Docker and container development \u2014 Dockerfile optimization, docker-compose orchestration, multi-stage builds, security hardening, and CI/CD container pipelines.", + "description": "Docker and container development — Dockerfile optimization, docker-compose orchestration, multi-stage builds, security hardening, and CI/CD container pipelines.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -578,7 +578,7 @@ { "name": "helm-chart-builder", "source": "./engineering/helm-chart-builder", - "description": "Helm chart development \u2014 chart scaffolding, values design, template patterns, dependency management, and Kubernetes deployment strategies.", + "description": "Helm chart development — chart scaffolding, values design, template patterns, dependency management, and Kubernetes deployment strategies.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -595,7 +595,7 @@ { "name": "terraform-patterns", "source": "./engineering/terraform-patterns", - "description": "Terraform infrastructure-as-code \u2014 module design patterns, state management, provider configuration, CI/CD integration, and multi-environment strategies.", + "description": "Terraform infrastructure-as-code — module design patterns, state management, provider configuration, CI/CD integration, and multi-environment strategies.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -612,7 +612,7 @@ { "name": "research-summarizer", "source": "./product-team/research-summarizer", - "description": "Structured research summarization \u2014 summarize academic papers, market research, user interviews, and competitive analysis into actionable insights.", + "description": "Structured research summarization — summarize academic papers, market research, user interviews, and competitive analysis into actionable insights.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -629,7 +629,7 @@ { "name": "code-tour", "source": "./engineering/code-tour", - "description": "Create CodeTour .tour files \u2014 persona-targeted, step-by-step walkthroughs that link to real files and line numbers. 10 developer personas, all CodeTour step types, SMIG description formula.", + "description": "Create CodeTour .tour files — persona-targeted, step-by-step walkthroughs that link to real files and line numbers. 10 developer personas, all CodeTour step types, SMIG description formula.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -782,7 +782,7 @@ { "name": "kubernetes-operator", "source": "./engineering/kubernetes-operator", - "description": "End-to-end Kubernetes Operator discipline: CRD design, reconcile-loop patterns, and OperatorHub Capability Levels. Ships CRD validator, reconcile-loop linter, and capability auditor (3 stdlib Python tools), 4 references on the operator pattern + CRD design + reconcile patterns + framework comparison (controller-runtime/kubebuilder/operator-sdk/metacontroller/KOPF), CRD + Go controller skeletons, and /operator-audit slash command. NOT a generic k8s skill \u2014 specifically the Operator pattern.", + "description": "End-to-end Kubernetes Operator discipline: CRD design, reconcile-loop patterns, and OperatorHub Capability Levels. Ships CRD validator, reconcile-loop linter, and capability auditor (3 stdlib Python tools), 4 references on the operator pattern + CRD design + reconcile patterns + framework comparison (controller-runtime/kubebuilder/operator-sdk/metacontroller/KOPF), CRD + Go controller skeletons, and /operator-audit slash command. NOT a generic k8s skill — specifically the Operator pattern.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -847,7 +847,7 @@ { "name": "write-a-skill", "source": "./engineering/write-a-skill", - "description": "Skill-author skill: create new agent skills with proper structure, progressive disclosure, and bundled resources. Derived from Matt Pocock's MIT-licensed write-a-skill with: (1) 3 stdlib Python validation tools (description validator, structure validator, review-checklist runner \u2014 all enforcing Matt's 6-item checklist), (2) 4 references citing 7-8 authoritative sources each (progressive disclosure principles, description design patterns, quality gates, companion tooling), (3) cs-skill-author persona agent + /cs:write-a-skill slash command. Matt's voice and 3-phase workflow (Gather \u2192 Draft \u2192 Review) preserved verbatim per MIT.", + "description": "Skill-author skill: create new agent skills with proper structure, progressive disclosure, and bundled resources. Derived from Matt Pocock's MIT-licensed write-a-skill with: (1) 3 stdlib Python validation tools (description validator, structure validator, review-checklist runner — all enforcing Matt's 6-item checklist), (2) 4 references citing 7-8 authoritative sources each (progressive disclosure principles, description design patterns, quality gates, companion tooling), (3) cs-skill-author persona agent + /cs:write-a-skill slash command. Matt's voice and 3-phase workflow (Gather → Draft → Review) preserved verbatim per MIT.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -921,6 +921,27 @@ ], "category": "development" }, + { + "name": "agent-harness", + "source": "./engineering/agent-harness", + "description": "Turn any domain folder of skills into a bounded agentic loop: a manifest builder inventories a domain's skills/tools/checks, a goal compiler turns a goal into a verifiable task plan (refusing vague goals with forcing questions), and a JSON-backed loop controller drives execute->verify->close with retry caps, controller-run verification (no verification theater), human escalation on exhausted budgets, and a close gate that refuses while any task is unverified or unwaived. Ships 3 stdlib Python tools, 18 committed per-domain harness manifests + JSON schema, 3 references citing the 2024-2026 agent-harness canon (Anthropic long-running harnesses, verifier's law, SWE-agent, Ralph loop, Cognition), harness-runner agent + /cs:harness command. Use when an agent or subagent should pick up a goal, define its tasks, complete and verify them, and close the loop.", + "version": "1.0.0", + "author": { + "name": "Alireza Rezvani" + }, + "keywords": [ + "agent-harness", + "agentic-loop", + "verification-gate", + "goal-compiler", + "loop-controller", + "stop-conditions", + "escalation", + "multi-agent", + "engineering" + ], + "category": "development" + }, { "name": "grill-me", "source": "./engineering/grill-me", @@ -943,7 +964,7 @@ { "name": "handoff-engineering", "source": "./engineering/handoff", - "description": "Conversation-handoff document generator. Compacts the current session into a markdown handoff for a fresh agent \u2014 references existing artifacts (PRDs, plans, ADRs, issues, commits) by path/URL instead of duplicating them. Derived from Matt Pocock's MIT-licensed handoff with: (1) 3 stdlib Python tools (template generator tailored to 5 next-session emphases, artifact deduplicator across 5 categories of duplication, skill recommender matching content to 14 skills in this repo), (2) 4 references citing 7-8 sources (handoff structure, deduplication discipline, next-session skill matching, companion tooling), (3) cs-handoff-author persona agent + /cs:handoff slash command. Matt's no-duplication discipline + mktemp convention preserved verbatim per MIT.", + "description": "Conversation-handoff document generator. Compacts the current session into a markdown handoff for a fresh agent — references existing artifacts (PRDs, plans, ADRs, issues, commits) by path/URL instead of duplicating them. Derived from Matt Pocock's MIT-licensed handoff with: (1) 3 stdlib Python tools (template generator tailored to 5 next-session emphases, artifact deduplicator across 5 categories of duplication, skill recommender matching content to 14 skills in this repo), (2) 4 references citing 7-8 sources (handoff structure, deduplication discipline, next-session skill matching, companion tooling), (3) cs-handoff-author persona agent + /cs:handoff slash command. Matt's no-duplication discipline + mktemp convention preserved verbatim per MIT.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -981,7 +1002,7 @@ { "name": "capture-skill", "source": "./productivity/capture", - "description": "Brain-dump-to-action workspace skill. Routes vague captures into discoverable actions via classify\u2192cluster\u2192connect\u2192clarify intake. Path-B from megaprompt 05.", + "description": "Brain-dump-to-action workspace skill. Routes vague captures into discoverable actions via classify→cluster→connect→clarify intake. Path-B from megaprompt 05.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -1075,7 +1096,7 @@ { "name": "roast", "source": "./productivity/roast", - "description": "Pressure-test a business idea before you build it. Convenes a 5-angle adversarial panel \u2014 The Critic (what kills this?), The Champion (the 10x upside?), The Analyst (does the logic hold?), The Investigator (what does the market say?), The Customer (would I actually pay?) \u2014 fired in parallel as independent reviewers, then a Judge synthesizes one GO / RESHAPE / KILL verdict with explicit confidence and the cheapest 48-hour test to de-risk it. Never averages the scores: a weighted synthesizer with demand/fatal-flaw/logic veto gates produces the call, backed by deterministic stdlib tools.", + "description": "Pressure-test a business idea before you build it. Convenes a 5-angle adversarial panel — The Critic (what kills this?), The Champion (the 10x upside?), The Analyst (does the logic hold?), The Investigator (what does the market say?), The Customer (would I actually pay?) — fired in parallel as independent reviewers, then a Judge synthesizes one GO / RESHAPE / KILL verdict with explicit confidence and the cheapest 48-hour test to de-risk it. Never averages the scores: a weighted synthesizer with demand/fatal-flaw/logic veto gates produces the call, backed by deterministic stdlib tools.", "version": "2.10.3", "author": { "name": "Alireza Rezvani" @@ -1134,7 +1155,7 @@ { "name": "deep-research", "source": "./research/deep-research", - "description": "Disciplined multi-source meta-research for high-stakes questions \u2014 the heavyweight alternative to the fast research router. 9-phase pipeline (reframe into falsifiable hypotheses, plan, capability discovery, parallel sub-agent fan-out, score & triangulate, synthesize + adversarial pass, verify, refresh targets). Triangulates every thesis against >=3 independent differently-typed sources; per-source files with verbatim quotes; never fabricates a citation. Auditable, reusable folder + delta-update refresh protocol. Contributed via PR #851.", + "description": "Disciplined multi-source meta-research for high-stakes questions — the heavyweight alternative to the fast research router. 9-phase pipeline (reframe into falsifiable hypotheses, plan, capability discovery, parallel sub-agent fan-out, score & triangulate, synthesize + adversarial pass, verify, refresh targets). Triangulates every thesis against >=3 independent differently-typed sources; per-source files with verbatim quotes; never fabricates a citation. Auditable, reusable folder + delta-update refresh protocol. Contributed via PR #851.", "version": "2.10.3", "author": { "name": "Alireza Rezvani" @@ -1294,7 +1315,7 @@ { "name": "aeo", "source": "./marketing-skill/skills/aeo", - "description": "Answer Engine Optimization (AEO) skill \u2014 optimize content to be cited by AI language models (ChatGPT, Perplexity, Claude, Gemini, Mistral) as authoritative sources. Distinct from SEO (which optimizes for search rankings), AEO optimizes for citation in LLM-generated responses. 3 stdlib Python tools (aeo_audit, aeo_optimizer, citation_tracker), 3 references citing 8 sources each, industry-aware thresholds for 8 industries (saas/healthcare/finance/legal/ecommerce/b2b/media/education). Ported from alirezarezvani/aeo-box.", + "description": "Answer Engine Optimization (AEO) skill — optimize content to be cited by AI language models (ChatGPT, Perplexity, Claude, Gemini, Mistral) as authoritative sources. Distinct from SEO (which optimizes for search rankings), AEO optimizes for citation in LLM-generated responses. 3 stdlib Python tools (aeo_audit, aeo_optimizer, citation_tracker), 3 references citing 8 sources each, industry-aware thresholds for 8 industries (saas/healthcare/finance/legal/ecommerce/b2b/media/education). Ported from alirezarezvani/aeo-box.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -1316,7 +1337,7 @@ { "name": "security-guidance", "source": "./engineering/security-guidance", - "description": "PreToolUse security reminder hook for Claude Code. Catches 12 common security anti-patterns in Edit/Write/MultiEdit operations BEFORE they happen \u2014 command injection (exec, os.system, subprocess shell=True), XSS (innerHTML, dangerouslySetInnerHTML, document.write), SQL injection (f-string queries, .format), unsafe deserialization (pickle, yaml.unsafe_load), code injection (eval, new Function), and GitHub Actions workflow injection. Session-state caching prevents duplicate warnings; 30-day auto-cleanup. Disable per-session with ENABLE_SECURITY_REMINDER=0. Ported from David Dworken at Anthropic.", + "description": "PreToolUse security reminder hook for Claude Code. Catches 12 common security anti-patterns in Edit/Write/MultiEdit operations BEFORE they happen — command injection (exec, os.system, subprocess shell=True), XSS (innerHTML, dangerouslySetInnerHTML, document.write), SQL injection (f-string queries, .format), unsafe deserialization (pickle, yaml.unsafe_load), code injection (eval, new Function), and GitHub Actions workflow injection. Session-state caching prevents duplicate warnings; 30-day auto-cleanup. Disable per-session with ENABLE_SECURITY_REMINDER=0. Ported from David Dworken at Anthropic.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -1437,7 +1458,7 @@ { "name": "research-ops-skills", "source": "./research-ops", - "description": "Enterprise / cross-functional Research Operations domain \u2014 the managed counterpart to the academic research/ domain. v2.9.0 ships 5 skills: orchestrator (context: fork) + clinical-research (study design: protocol synopsis + endpoint selection + sample-size/power for means/proportions/survival + phase-gate feasibility) + research-finance (R&D program budgeting with F&A split + burn/runway + capitalize-vs-expense routing + portfolio ROI) + market-research (TAM/SAM/SOM computed both top-down and bottoms-up + survey sampling with FPC and per-segment minima + Kotler segmentation scoring) + product-research (goal-matched study design + method-based saturation with confidence + insight synthesis that flags single-source anecdotes). Hard rules: clinical outputs are estimates with a named clinical owner (never fact), finance outputs surface assumptions and route capex-vs-opex to a named finance owner (never auto-decide), market sizes show method + assumptions (never a single number), product insights require recurrence across independent participants. Each sub-skill ships per-skill onboarding questions (onboard.py), a customization config consumed by every tool, and an isolated opt-in autoresearch evaluator (ar_evaluator.py) bridging to engineering/autoresearch-agent. 24 stdlib Python tools (12 analysis + 12 onboarding/customization/autoresearch), 12 reference docs. Distinct from ra-qm-team (regulatory/QM submission), finance (corporate close/valuation), research/grants (funding discovery), product-team (persona/journey/live experiments), marketing-skill (campaign analytics).", + "description": "Enterprise / cross-functional Research Operations domain — the managed counterpart to the academic research/ domain. v2.9.0 ships 5 skills: orchestrator (context: fork) + clinical-research (study design: protocol synopsis + endpoint selection + sample-size/power for means/proportions/survival + phase-gate feasibility) + research-finance (R&D program budgeting with F&A split + burn/runway + capitalize-vs-expense routing + portfolio ROI) + market-research (TAM/SAM/SOM computed both top-down and bottoms-up + survey sampling with FPC and per-segment minima + Kotler segmentation scoring) + product-research (goal-matched study design + method-based saturation with confidence + insight synthesis that flags single-source anecdotes). Hard rules: clinical outputs are estimates with a named clinical owner (never fact), finance outputs surface assumptions and route capex-vs-opex to a named finance owner (never auto-decide), market sizes show method + assumptions (never a single number), product insights require recurrence across independent participants. Each sub-skill ships per-skill onboarding questions (onboard.py), a customization config consumed by every tool, and an isolated opt-in autoresearch evaluator (ar_evaluator.py) bridging to engineering/autoresearch-agent. 24 stdlib Python tools (12 analysis + 12 onboarding/customization/autoresearch), 12 reference docs. Distinct from ra-qm-team (regulatory/QM submission), finance (corporate close/valuation), research/grants (funding discovery), product-team (persona/journey/live experiments), marketing-skill (campaign analytics).", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -1484,7 +1505,7 @@ { "name": "markdown-html-skills", "source": "./markdown-html", - "description": "Convert long markdown files into world-class single-file interactive HTML \u2014 DOMAIN COMPLETE at v2.10.3 (5 skills). v2.10.3 adds md-slides \u2014 the slide-deck converter (arrow-key / Space / PgDn / Home / End / P keyboard navigation + presenter mode with split-view clock + speaker notes + next-slide preview + URL-hash deep linking like #3 + @media print page-per-slide for browser-native PDF export; reuses md-document's markdown parser; vanilla JS only; Prism.js opt-in via --syntax for code-heavy decks). Joins md-review (v2.10.2 code-review converter: 2-col diff + severity-tagged margin annotations + WCAG-1.4.1 badges + mandatory named reviewer footer), md-document (v2.10.1 long-form converter: sticky TOC + scrollspy + search + code-copy + Prism autoloader), markdown-html-orchestrator (v2.10.0 context: fork; deterministic doc-type classifier; refuses < 100 lines per Shihipar; refuses without onboarding), and design-system (v2.10.0 10-question onboarding wizard; WCAG-AA 12-token palette; project > global > defaults precedence; MARKDOWN_HTML_NO_CONFIG=1 bypass). 15 stdlib-only Python tools, 15 references citing 5-7 sources each, 4 template/schema assets. Inspired by Thariq Shihipar's Claude Code HTML output essay (Medium, 2026).", + "description": "Convert long markdown files into world-class single-file interactive HTML — DOMAIN COMPLETE at v2.10.3 (5 skills). v2.10.3 adds md-slides — the slide-deck converter (arrow-key / Space / PgDn / Home / End / P keyboard navigation + presenter mode with split-view clock + speaker notes + next-slide preview + URL-hash deep linking like #3 + @media print page-per-slide for browser-native PDF export; reuses md-document's markdown parser; vanilla JS only; Prism.js opt-in via --syntax for code-heavy decks). Joins md-review (v2.10.2 code-review converter: 2-col diff + severity-tagged margin annotations + WCAG-1.4.1 badges + mandatory named reviewer footer), md-document (v2.10.1 long-form converter: sticky TOC + scrollspy + search + code-copy + Prism autoloader), markdown-html-orchestrator (v2.10.0 context: fork; deterministic doc-type classifier; refuses < 100 lines per Shihipar; refuses without onboarding), and design-system (v2.10.0 10-question onboarding wizard; WCAG-AA 12-token palette; project > global > defaults precedence; MARKDOWN_HTML_NO_CONFIG=1 bypass). 15 stdlib-only Python tools, 15 references citing 5-7 sources each, 4 template/schema assets. Inspired by Thariq Shihipar's Claude Code HTML output essay (Medium, 2026).", "version": "2.10.3", "author": { "name": "Alireza Rezvani" @@ -1511,7 +1532,7 @@ { "name": "youtube-full", "source": "./marketing-skill/skills/youtube-full", - "description": "YouTube transcripts, video search, channel browsing, playlist extraction, and upload monitoring via TranscriptAPI. BYOK \u2014 100 free credits. OSS fallbacks: youtube-transcript-api / yt-dlp.", + "description": "YouTube transcripts, video search, channel browsing, playlist extraction, and upload monitoring via TranscriptAPI. BYOK — 100 free credits. OSS fallbacks: youtube-transcript-api / yt-dlp.", "version": "2.9.0", "author": { "name": "therohitdas" @@ -1532,7 +1553,7 @@ { "name": "compliance-os", "source": "./compliance-os", - "description": "Compliance OS \u2014 meta-orchestrator for multi-framework compliance programs spanning 9 frameworks (ISO 27001, ISO 13485, ISO 42001, ISO 14971, EU AI Act, MDR 745, GDPR, SOC 2, FDA QSR). Framework selector, cross-framework control mapper, audit simulator, and consolidated evidence-pool generator (stdlib Python), plus 3 cs-* compliance agents and 3 /cs:* readiness commands.", + "description": "Compliance OS — meta-orchestrator for multi-framework compliance programs spanning 9 frameworks (ISO 27001, ISO 13485, ISO 42001, ISO 14971, EU AI Act, MDR 745, GDPR, SOC 2, FDA QSR). Framework selector, cross-framework control mapper, audit simulator, and consolidated evidence-pool generator (stdlib Python), plus 3 cs-* compliance agents and 3 /cs:* readiness commands.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -1572,7 +1593,7 @@ { "name": "behuman", "source": "./engineering/behuman", - "description": "Self-Mirror consciousness loop for human-like AI responses. Adds inner dialogue (Self \u2192 Mirror \u2192 Conscious Response) to make AI output feel authentic, not robotic. Zero dependencies \u2014 pure prompt technique.", + "description": "Self-Mirror consciousness loop for human-like AI responses. Adds inner dialogue (Self → Mirror → Conscious Response) to make AI output feel authentic, not robotic. Zero dependencies — pure prompt technique.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" @@ -1606,7 +1627,7 @@ { "name": "grill-with-docs", "source": "./engineering/grill-with-docs", - "description": "Docs-anchored grilling session \u2014 interrogates a plan against the project's existing language (CONTEXT.md) and recorded decisions (docs/adr/), updating those files inline as terminology and decisions crystallise. Derived from Matt Pocock's MIT-licensed grill-with-docs with stdlib validators (CONTEXT.md linter, ADR scanner, glossary-code consistency), reference docs, cs-grill-with-docs agent, and /cs:grill-with-docs command.", + "description": "Docs-anchored grilling session — interrogates a plan against the project's existing language (CONTEXT.md) and recorded decisions (docs/adr/), updating those files inline as terminology and decisions crystallise. Derived from Matt Pocock's MIT-licensed grill-with-docs with stdlib validators (CONTEXT.md linter, ADR scanner, glossary-code consistency), reference docs, cs-grill-with-docs agent, and /cs:grill-with-docs command.", "version": "2.9.0", "author": { "name": "Alireza Rezvani" diff --git a/CLAUDE.md b/CLAUDE.md index 60ce3894..3945a2a9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -6,7 +6,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co This is a **comprehensive skills library** for Claude AI and Claude Code - reusable, production-ready skill packages that bundle domain expertise, best practices, analysis tools, and strategic frameworks. The repository provides modular skills that teams can download and use directly in their workflows. -**Current Scope:** 354 production-ready skills across 18 domains with 593 Python automation tools, 722 reference guides, 96 agents (cs-* + 7 personas), and 102 slash commands, distributed as 82 marketplace plugins. Headline counters are derived from the tree by `scripts/derive_counters.py` (run with `--check` to verify the docs still match). **v2.9.0 (complete)** added the **research-ops/** top-level domain — enterprise Research Operations (orchestrator + clinical-research + research-finance + market-research + product-research), the managed counterpart to the academic research/ domain, with `context: fork` orchestration and a Matt Pocock "Forcing-question library" in every SKILL.md plus `/cs:grill-research-ops`. **v2.8.0 (complete)** added 2 new top-level domains — **business-operations/** (7 internal-ops skills: orchestrator + process-mapper + vendor-management + capacity-planner + internal-comms + knowledge-ops + procurement-optimizer) and **commercial/** (8 per-deal-economics skills: orchestrator + pricing-strategist + deal-desk + partnerships-architect + channel-economics + commercial-policy + rfp-responder + commercial-forecaster) — with orchestrator skills using `context: fork` for chaining, Matt Pocock docs-anchored "Forcing-question library" in every SKILL.md, plus `/cs:grill-bizops` and `/cs:grill-commercial`. **v2.8.2** adds a productivity-shaped `handoff` skill (sibling to engineering/handoff) inspired by Matt Pocock — first-run setup with configurable save location, redaction linter, SessionStart + SessionEnd hooks, fidelity self-check, `--refresh` flag. **v2.8.1** upgraded the engineering role-skills (senior-fullstack / senior-frontend / senior-backend) with karpathy-coder + Matt Pocock decision engines + per-role forcing questions. v2.7.3 ports `alirezarezvani/aeo-box` — AEO (Answer Engine Optimization) skill into marketing-skill/ + security-guidance PreToolUse hook into engineering/. v2.7.0 added 13 Path-B skills across 3 top-level domains (productivity, marketing, research). v2.6.0 added 4 Matt Pocock-derived productivity skills. +**Current Scope:** 355 production-ready skills across 18 domains with 596 Python automation tools, 725 reference guides, 97 agents (cs-* + 7 personas), and 103 slash commands, distributed as 83 marketplace plugins. Headline counters are derived from the tree by `scripts/derive_counters.py` (run with `--check` to verify the docs still match). **v2.9.0 (complete)** added the **research-ops/** top-level domain — enterprise Research Operations (orchestrator + clinical-research + research-finance + market-research + product-research), the managed counterpart to the academic research/ domain, with `context: fork` orchestration and a Matt Pocock "Forcing-question library" in every SKILL.md plus `/cs:grill-research-ops`. **v2.8.0 (complete)** added 2 new top-level domains — **business-operations/** (7 internal-ops skills: orchestrator + process-mapper + vendor-management + capacity-planner + internal-comms + knowledge-ops + procurement-optimizer) and **commercial/** (8 per-deal-economics skills: orchestrator + pricing-strategist + deal-desk + partnerships-architect + channel-economics + commercial-policy + rfp-responder + commercial-forecaster) — with orchestrator skills using `context: fork` for chaining, Matt Pocock docs-anchored "Forcing-question library" in every SKILL.md, plus `/cs:grill-bizops` and `/cs:grill-commercial`. **v2.8.2** adds a productivity-shaped `handoff` skill (sibling to engineering/handoff) inspired by Matt Pocock — first-run setup with configurable save location, redaction linter, SessionStart + SessionEnd hooks, fidelity self-check, `--refresh` flag. **v2.8.1** upgraded the engineering role-skills (senior-fullstack / senior-frontend / senior-backend) with karpathy-coder + Matt Pocock decision engines + per-role forcing questions. v2.7.3 ports `alirezarezvani/aeo-box` — AEO (Answer Engine Optimization) skill into marketing-skill/ + security-guidance PreToolUse hook into engineering/. v2.7.0 added 13 Path-B skills across 3 top-level domains (productivity, marketing, research). v2.6.0 added 4 Matt Pocock-derived productivity skills. **Key Distinction**: This is NOT a traditional application. It's a library of skill packages meant to be extracted and deployed by users into their own Claude workflows. @@ -61,7 +61,7 @@ claude-code-skills/ ├── agents/ # 32 standalone agents (cs-* + 7 personas); 51+ cs-* agents repo-wide ├── commands/ # slash commands (changelog, tdd, saas-health, prd, code-to-prd, plugin-audit, sprint-plan, slo-design, etc.); 87+ repo-wide ├── engineering-team/ # 51 core engineering skills + Playwright Pro + Self-Improving Agent + Security Suite -├── engineering/ # 78 POWERFUL-tier advanced skills (incl. AgentHub, autoresearch-agent, self-eval, llm-wiki, tc-tracker, ship-gate, slo-architect, write-a-skill, caveman, grill-me, handoff) +├── engineering/ # 81 POWERFUL-tier advanced skills (incl. AgentHub, autoresearch-agent, self-eval, llm-wiki, tc-tracker, ship-gate, slo-architect, write-a-skill, caveman, grill-me, handoff, agent-harness) ├── product-team/ # 17 product skills (incl. apple-hig-expert) + Python tools ├── marketing-skill/ # 46 marketing skills (8 pods) + Python tools ├── c-level-advisor/ # 66 C-level advisory skills (full C-suite + founder-mode agents + orchestration) @@ -159,6 +159,19 @@ See [standards/git/git-workflow-standards.md](standards/git/git-workflow-standar ## Current Version +**Version:** v2.11.0 (agent-harness — turn any domain into a bounded, self-verifying agent loop + engineering agentic-readiness audit) + +**v2.11.0 highlights — agent-harness skill + AR audit of both engineering folders:** + +New `engineering/agent-harness/` skill — the thin unifying layer that lets an agent or subagent pick up a goal for any of the repo's 18 domains, decompose it into verifiable tasks, execute them with the domain's own tools, verify each with machine-run checks, retry within caps, escalate to a human on exhausted budgets, and refuse to close until every task is verified or explicitly waived. + +- **3 stdlib tools:** `harness_manifest_builder.py` (scans a domain folder → `manifest.v1` JSON: skills, tools, exact `--help`/`--sample` checks, static agentic signals), `goal_compiler.py` (goal + manifest → `plan.v1` task plan via deterministic keyword scoring; refuses vague goals exit 3 with forcing questions, no-match exit 4 with nearest candidates), `loop_controller.py` (JSON-backed `init/next/record/verify/close/status` state machine — runs verification checks itself via subprocess to prevent verification theater, caps attempts + iterations with escalation, refuses close while any task is unverified; atomic state writes via `os.replace`). +- **18 committed per-domain manifests** under `assets/harnesses/` (the whole repo, machine-readable), a JSON schema, `harness-runner` agent, `/cs:harness ` command, and 3 references citing the 2024–2026 harness canon (Anthropic long-running-agents harness, verifier's law, SWE-agent, Ralph loop, Cognition serialize-writers, plus the repo's own tc-tracker / autoresearch locked-evaluator / loop-library stop-state primitives — reuse, not reinvention). +- **Agentic-readiness audit** at `audit/engineering-agentic-2026-07/` — both `engineering/` (63 skills) and `engineering-team/` (52 skills) re-scored on a 6-dimension AR rubric (goal intake, decomposition, deterministic execution, verification, loop discipline, close-out) plus a delta check against the June 2026 baseline. Combined: 26 HARNESS-READY · 39 LOOP-CAPABLE · 43 TOOL-ONLY · 7 PROSE-ONLY. Headline finding: **AR5 (loop discipline) is the repo-wide gap** — a one-sentence iteration-cap sweep across ~15 skills would roughly double HARNESS-READY. New defects logged (ship-gate orphaned scanner + table drift, senior-data-engineer CLI mismatch, senior-ml-engineer stale 2024 pricing). +- **Marketplace + counters:** 82 → 83 plugins; skills 354 → 355; tools 593 → 596; refs 722 → 725 (derived via `scripts/derive_counters.py --check`). + +--- + **Version:** v2.10.3 (md-slides — slide-deck converter; completes the markdown-html/ domain) **v2.10.3 highlights — md-slides (markdown deck → single-file HTML presentation):** diff --git a/README.md b/README.md index 5c44d80a..39242b47 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Claude Code Skills & Plugins — Agent Skills for Every Coding Tool -**354 production-ready Claude Code skills, plugins, and agent skills for 13 AI coding tools.** +**355 production-ready Claude Code skills, plugins, and agent skills for 13 AI coding tools.** The most comprehensive open-source library of Claude Code skills and agent plugins — also works with OpenAI Codex, Gemini CLI, Cursor, and 9 more coding agents. Reusable expertise packages covering engineering, DevOps, marketing (incl. AEO — Answer Engine Optimization for LLM citation), security (PreToolUse hooks), compliance, C-level advisory (incl. founder-mode CFO/CMO/CRO/CPO/COO/CHRO/CISO/GC/CDO/CAIO/CCO/VPE personas + 21 /cs:* slash commands), productivity (capture/email/reflect), an academic research stack (litreview/grants/dossier/patent/syllabus/pulse/notebooklm/deep-research + hybrid router), and enterprise Research Operations (clinical-research/research-finance/market-research/product-research, v2.9.0). @@ -10,7 +10,7 @@ The most comprehensive open-source library of Claude Code skills and agent plugi [^vibe]: Mistral Vibe is also **BYO-sync tier**: the repo ships a pre-generated `.vibe/skills/claude-skills/` tree, run `./scripts/vibe-install.sh` once locally to install into `~/.vibe/skills/`. Same agentskills.io SKILL.md standard — no format conversion. Docs: . [![License: MIT](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](https://opensource.org/licenses/MIT) -[![Skills](https://img.shields.io/badge/Skills-354-brightgreen?style=for-the-badge)](#skills-overview) +[![Skills](https://img.shields.io/badge/Skills-355-brightgreen?style=for-the-badge)](#skills-overview) [![Agents](https://img.shields.io/badge/Agents-96-blue?style=for-the-badge)](#agents) [![Personas](https://img.shields.io/badge/Personas-7-purple?style=for-the-badge)](#personas) [![Commands](https://img.shields.io/badge/Commands-102-orange?style=for-the-badge)](#commands) @@ -26,10 +26,10 @@ The most comprehensive open-source library of Claude Code skills and agent plugi Claude Code skills (also called agent skills or coding agent plugins) are modular instruction packages that give AI coding agents domain expertise they don't have out of the box. Each skill includes: - **SKILL.md** — structured instructions, workflows, and decision frameworks -- **Python tools** — 593 CLI scripts (all stdlib-only, zero pip installs) +- **Python tools** — 596 CLI scripts (all stdlib-only, zero pip installs) - **Reference docs** — 711 templates, checklists, and domain-specific knowledge files -**One repo, thirteen platforms.** Works natively as Claude Code plugins, Codex agent skills, Gemini CLI skills, Hermes Agent skills, Mistral Vibe skills, and converts to more tools via `scripts/convert.sh`. All 593 Python tools run anywhere Python runs. +**One repo, thirteen platforms.** Works natively as Claude Code plugins, Codex agent skills, Gemini CLI skills, Hermes Agent skills, Mistral Vibe skills, and converts to more tools via `scripts/convert.sh`. All 596 Python tools run anywhere Python runs. ### Skills vs Agents vs Personas @@ -150,12 +150,12 @@ Run `./scripts/convert.sh --tool all` to generate tool-specific outputs locally. ## Skills Overview -**354 skills across 18 domains:** +**355 skills across 18 domains:** | Domain | Skills | Highlights | Details | |--------|--------|------------|---------| | **🔧 Engineering — Core** | 52 | Architecture, frontend, backend, fullstack, QA, DevOps, SecOps, AI/ML, data, Playwright Pro (test gen, flaky fix, migrations), self-improving agent (auto-memory curation), security suite, a11y audit, **named-persona-adversarial-review** (review via named engineering philosophies) | [engineering-team/](engineering-team/) | -| **⚡ Engineering — POWERFUL** | 80 | Agent designer, RAG architect, database designer, CI/CD builder, security auditor, MCP builder, AgentHub, Helm charts, Terraform, self-eval, llm-wiki, tc-tracker, autoresearch-agent, **reliability portfolio** (feature-flags-architect, kubernetes-operator, chaos-engineering, slo-architect), ship-gate, security-guidance PreToolUse hook, **Matt Pocock skills** (write-a-skill, caveman, grill-me, handoff, grill-with-docs), **zero-hallucination-coder** (Discuss→Map→Decompose→Execute→Verify) | [engineering/](engineering/) | +| **⚡ Engineering — POWERFUL** | 81 | Agent designer, RAG architect, database designer, CI/CD builder, security auditor, MCP builder, AgentHub, Helm charts, Terraform, self-eval, llm-wiki, tc-tracker, autoresearch-agent, **reliability portfolio** (feature-flags-architect, kubernetes-operator, chaos-engineering, slo-architect), ship-gate, security-guidance PreToolUse hook, **Matt Pocock skills** (write-a-skill, caveman, grill-me, handoff, grill-with-docs), **zero-hallucination-coder** (Discuss→Map→Decompose→Execute→Verify), **agent-harness** (goal→plan→execute→verify→close loops over any domain) | [engineering/](engineering/) | | **🎯 Product** | 17 | Product manager, agile PO, strategist, UX researcher, UI design, landing pages, SaaS scaffolder, analytics, experiment designer, discovery, roadmap communicator, code-to-prd, apple-hig-expert | [product-team/](product-team/) | | **📣 Marketing** | 48 | 8 pods: Content, SEO + AEO (`aeo` — E-E-A-T audit, citation tracking across 5 LLMs) + local (`local-seo-manager` — GBP/NAP/Map-Pack), CRO, Channels, Growth, Intelligence, Sales + context foundation + orchestration router | [marketing-skill/](marketing-skill/) | | **🚀 Productivity** | 7 | `capture` (brain-dump-to-action), `email` pair (inbox-setup + inbox-triage), `reflect` (journal), `handoff` (Matt Pocock-inspired), `andreessen` (market-first decision mode), `roast` (5-angle idea panel → GO/RESHAPE/KILL) | [productivity/](productivity/) | @@ -354,7 +354,7 @@ Yes. Skills work natively with 13 tools: Claude Code, OpenAI Codex, Gemini CLI, No. We follow semantic versioning and maintain backward compatibility within patch releases. Existing script arguments, plugin source paths, and SKILL.md structures are never changed in patch versions. See the [CHANGELOG](CHANGELOG.md) for details on each release. **Are the Python tools dependency-free?** -Yes. All 593 Python CLI tools use the standard library only — zero pip installs required. Every script is verified to run with `--help`. +Yes. All 596 Python CLI tools use the standard library only — zero pip installs required. Every script is verified to run with `--help`. **How do I create my own Claude Code skill?** Each skill is a folder with a `SKILL.md` (frontmatter + instructions), optional `scripts/`, `references/`, and `assets/`. See the [Skills & Agents Factory](https://github.com/alirezarezvani/claude-code-skills-agents-factory) for a step-by-step guide. diff --git a/audit/engineering-agentic-2026-07/00-MASTER.md b/audit/engineering-agentic-2026-07/00-MASTER.md new file mode 100644 index 00000000..1963a5bb --- /dev/null +++ b/audit/engineering-agentic-2026-07/00-MASTER.md @@ -0,0 +1,137 @@ +# Master report — Engineering agentic-loop audit + agent-harness framework + +**Audited:** 2026-07-03 · **Branch:** `claude/engineering-audit-agentic-loops-hv9x9m` · +**Scope:** both engineering domain folders — `engineering/` (63 skills) and +`engineering-team/` (52 skills incl. sub-skills) — re-audited against the June 2026 baseline +AND scored on a new **agentic-readiness** rubric. Plus: a new `engineering/agent-harness` +skill that turns any of the repo's 18 domains into a bounded, self-verifying agent loop. + +**Method:** (1) read the June `audit/newgen-2026-06/` reports; (2) two parallel deep-dive +agents re-read every SKILL.md, re-ran the June "Verify" criteria, and smoke-tested ~90 +scripts; (3) one research agent web-verified the 2025–2026 agent-harness canon +([research-digest.md](research-digest.md)); (4) one explorer mapped the repo's existing +loop infrastructure so the new skill reuses rather than duplicates it. + +--- + +## 1. The two questions + +June asked: **does each skill earn its context window?** (trigger quality, wiring, +freshness). That audit drove a wave of fixes — REWRITEs, a phantom-path sweep, orphan-script +wiring, a 100-line ceiling. + +This audit asks the next question: **can an agent pick a skill up with a goal and drive it +to a verified close?** — the gather→act→verify→repeat loop the harness literature converged +on. The rubric ([RUBRIC.md](RUBRIC.md)) scores six dimensions 0–2: goal intake (AR1), task +decomposition (AR2), deterministic execution (AR3), verification (AR4), loop discipline +(AR5), close-out (AR6). + +--- + +## 2. Combined scorecard (115 skills across both folders) + +| Class | engineering/ | engineering-team/ | Total | Meaning | +|---|---|---|---|---| +| **HARNESS-READY** (≥9, AR4≥1, AR5≥1) | 22 | 4 | **26** | An agent can loop this today | +| **LOOP-CAPABLE** (6–8) | 23 | 16 | **39** | One or two additions away | +| **TOOL-ONLY** (3–5) | 16 | 27 | **43** | Good tools, no loop spine | +| **PROSE-ONLY** (0–2) | 2 | 5 | **7** | Needs structural rebuild | + +**Delta vs June** (35 non-KEEP verdicts across both folders): RESOLVED 16 · +PARTIALLY-RESOLVED 10 · STILL-OPEN 9. The June wave landed most of its wiring and +correctness fixes; what remains is structural (deferred merges/dedupes) and the *new* +dimension this audit adds. + +--- + +## 3. The single biggest finding: AR5 (loop discipline) is the repo-wide gap + +The June wiring epidemic is largely cured — AR3 (deterministic execution) is now the median +strength. But **loop discipline is the weakest dimension in both folders.** Skills describe +"re-run until clean" with no iteration cap, or have no stop condition at all. Only the +v2.4+/Pocock/orchestrator generation (agenthub, autoresearch, chaos-engineering, +grill-with-docs, workflow-builder, playwright-pro/fix, the upgraded senior-* trio) carries +caps and escalation thresholds. + +**Why it matters most for autonomous work:** a skill with great intake and tools but no +verification gate or stop condition is *more* dangerous in a loop, not less — it runs +confidently and forever, and (per the reward-hacking literature) may learn to game its own +checks. That is exactly why the AR class gate requires AR4≥1 **and** AR5≥1 before a skill +counts as harness-ready regardless of total score. + +**Cheapest high-leverage fix:** a one-sentence loop-cap pattern — +*"max N fix-rerun cycles, then escalate to a human"* — ported across the ~15 skills sitting +at 7–8 points would roughly double the HARNESS-READY count. The pattern already exists +in-house (playwright-pro/fix, spec-driven-workflow, focused-fix's 3-strike rule). + +Second gap: **AR1 (goal intake).** Most tool-rich skills accept any input silently. The +decision-engine "refuse without required inputs" pattern from the upgraded senior-* trio and +grill-me is the cheapest fix to propagate. + +--- + +## 4. What this PR ships: the agent-harness framework + +Rather than hand-fix 100 skills, this PR builds the **thin unifying layer** the explorer +found missing — each existing loop primitive (agenthub, autoresearch, tc-tracker, +workflow-builder, the fork-orchestrators) ships its own state dir, state machine, and eval +contract, with nothing that lets an agent pick up an arbitrary goal for an arbitrary domain +and drive it to a verified close. `engineering/agent-harness` is that layer: + +- **`harness_manifest_builder.py`** scans a domain folder → a `manifest.v1` JSON inventory + (every skill, its tools, the exact `--help`/`--sample` checks that prove each tool works, + and static `agentic_signals` mapping to AR1/AR4/AR5/AR6). **18 domain manifests are + committed** under the skill's `assets/harnesses/` — the whole repo, machine-readable. +- **`goal_compiler.py`** turns a goal + manifest into a `plan.v1` task plan (deterministic + keyword scoring, no LLM call). **Refuses vague goals (exit 3)** with forcing questions and + **refuses no-match (exit 4)** with nearest candidates — the harness never runs on fuzz. +- **`loop_controller.py`** is the JSON-backed state machine: `init → next → record → + verify → close`. It **runs verification checks itself via subprocess** (no verification + theater), **caps attempts and iterations** (escalates instead of looping forever), and + **refuses to close** while any task is unverified and unwaived (exit 4, no force flag). + +Plus `harness-runner` agent (stateless one-task-per-invocation executor), `/cs:harness` +command, a JSON schema, and 3 references citing the canon. Every design decision traces to a +source: verifier's law, SWE-agent's write-time feedback, Ralph fresh-context iteration, +Cognition's serialize-writers rule, Anthropic's long-running-agents harness, and this repo's +own tc-tracker / autoresearch locked-evaluator / loop-library stop-state taxonomy. + +**Reuse, not reinvention.** The harness routes to agenthub for N-agent tournaments, to +autoresearch for metric optimization, and adopts tc-tracker's atomic-write + handoff schema +and autoresearch's "never modify the evaluator" invariant. See the reuse map in the skill's +`references/domain_harness_design.md`. + +--- + +## 5. Per-domain reports + +- [engineering.md](engineering.md) — 63 skills, full delta + AR table + 10 exemplars. +- [engineering-team.md](engineering-team.md) — 52 skills, delta + AR table + the two- + generation role-skill split + 1 new P1 (senior-data-engineer CLI mismatch). +- [improvement-fields.md](improvement-fields.md) — the eight fields where investment moves + the most skills, ordered by leverage (the "what to improve, per field" rollup). +- [research-digest.md](research-digest.md) — the web-verified harness canon. +- [RUBRIC.md](RUBRIC.md) — the AR scoring rubric. + +--- + +## 6. Recommended follow-up PRs (in leverage order) + +1. **Loop-cap sweep** — one-sentence stop-condition + iteration cap across the ~15 + LOOP-CAPABLE skills at 7–8 points. Cheapest path to ~doubling HARNESS-READY. Use each + domain report's "Top improvement" column as the work list. +2. **Intake sweep** — port the decision-engine "refuse on missing required input" pattern to + the tool-rich TOOL-ONLY skills (AR1 0→2). +3. **Bind the gates** — make described validators *required* (exit-code gate before + proceeding) in llm-wiki, karpathy-coder, docker-development, helm-chart-builder. +4. **New defects** — wire ship-gate's orphaned scanner + fix its 84→89 table; fix + senior-data-engineer's documented CLI; strip senior-ml-engineer's 2024 pricing; fix + claude-coach's 3 June defects; document workflow-builder's by-design `--sample` exit 1. +5. **Deferred structural verdicts** — dedupe the 4 dual-published pairs; merge/retire the + database trio; register named-persona-adversarial-review in the indexes. +6. **CI gate** — add a manifest-drift check (`harness_manifest_builder.py --all + --no-timestamp` + `git diff --exit-code`) so the harness manifests stay true to the tree, + mirroring `derive_counters.py --check`. + +Every item above has an executable acceptance criterion in the per-domain reports — the same +"definition of done" discipline the June audit established. diff --git a/audit/engineering-agentic-2026-07/RUBRIC.md b/audit/engineering-agentic-2026-07/RUBRIC.md new file mode 100644 index 00000000..160e9b4e --- /dev/null +++ b/audit/engineering-agentic-2026-07/RUBRIC.md @@ -0,0 +1,41 @@ +# Agentic-Readiness Rubric (AR v1) + +Audit date: 2026-07-03 · Branch: `claude/engineering-audit-agentic-loops-hv9x9m` + +The June 2026 audit ([../newgen-2026-06/RUBRIC.md](../newgen-2026-06/RUBRIC.md)) asked +"does this skill earn its context window?" This follow-up asks the next question: +**can an agent pick this skill up with a goal and drive it to a verified close?** — the +gather-context → take-action → verify-work → repeat loop the 2024–2026 harness canon +converged on (see [research-digest.md](research-digest.md)). + +## The six dimensions (0–2 each, total 0–12) + +| # | Dimension | 0 | 1 | 2 | +|---|---|---|---|---| +| AR1 | **Goal intake** | Accepts any input silently | Asks context questions | Forcing questions / intake tool / refuses vague input (exit-code gate) | +| AR2 | **Task decomposition** | No plan step | Prose phases | Explicit planning step or tool whose output the workflow consumes | +| AR3 | **Deterministic execution** | No wired tools | Tools named, CLIs incomplete | Exact runnable CLIs; output consumed by a named next step | +| AR4 | **Verification** | None | Checklist prose | Machine-checkable gate (exit codes, JSON assertions) the workflow REQUIRES before proceeding | +| AR5 | **Loop discipline** | No retry/stop rules | "Re-run until clean" without a cap | Iteration caps, stop conditions, escalation thresholds | +| AR6 | **Close-out** | Work just ends | Informal done statement | Definition of done + state persistence or handoff artifact | + +## Classes + +| Class | Criteria | Meaning | +|---|---|---| +| **HARNESS-READY** | total ≥ 9 AND AR4 ≥ 1 AND AR5 ≥ 1 | An agent can run this skill inside a bounded loop today | +| **LOOP-CAPABLE** | total 6–8 (or ≥9 failing an AR4/AR5 gate) | One or two targeted additions from harness-ready | +| **TOOL-ONLY** | total 3–5 | Good tools, no loop spine | +| **PROSE-ONLY** | total 0–2 | Knowledge dump; needs structural rebuild | + +The AR4/AR5 gate is deliberate: a skill with perfect intake and tools but no verification +gate or stop condition is *more* dangerous in an autonomous loop, not less — it runs +confidently and forever. + +## Executable enforcement + +The rubric is now mechanized: `engineering/agent-harness/skills/agent-harness/scripts/harness_manifest_builder.py` +records per-skill `agentic_signals` (static evidence for AR1/AR4/AR5/AR6) in every domain +manifest, and `loop_controller.py` enforces AR4/AR5/AR6 at run time regardless of the +skill's own discipline. Improvement PRs should move skills up this ladder; the manifests +make regressions diffable. diff --git a/audit/engineering-agentic-2026-07/engineering-team.md b/audit/engineering-agentic-2026-07/engineering-team.md new file mode 100644 index 00000000..07fdb6d5 --- /dev/null +++ b/audit/engineering-agentic-2026-07/engineering-team.md @@ -0,0 +1,130 @@ +# Domain re-audit: engineering-team/ — delta vs June 2026 + agentic readiness + +Audited: 2026-07-03 · 33 `skills/` + 5 standalone packages (52 distinct skills incl. +playwright-pro and self-improving-agent sub-skills). Rubric: [RUBRIC.md](RUBRIC.md). +June baseline: [../newgen-2026-06/engineering-team.md](../newgen-2026-06/engineering-team.md). + +## Summary stats + +**Delta resolution (16 non-KEEP June verdicts):** RESOLVED 7 · PARTIALLY-RESOLVED 4 · +STILL-OPEN 5. + +- All 4 P0 corrupted-literal sites fixed: grep for `zstringmin1max100` / + `cdnexamplecom` / `click-mei-tobeinthedocument` → **0 hits**. +- google-workspace-cli P0 fixed: `@anthropic/gws` gone; recoordinated to + `npm install -g @googleworkspace/cli`, every reference carries a "verify against your + installed version / pre-v1.0" disclaimer, and `gws_doctor.py` runs gracefully in demo + mode (exit 0). +- 18 stale `.zip` archives at domain root: **deleted** (0 remain). +- **1 NEW P1 defect found** (senior-data-engineer, below). **1 NEW skill found** + (named-persona-adversarial-review — in no index or manifest). + +**Agentic-readiness distribution (52 skills):** HARNESS-READY **4** · LOOP-CAPABLE **16** · +TOOL-ONLY **27** · PROSE-ONLY **5**. + +## Scorecard + +AR1 intake / AR2 decomposition / AR3 deterministic exec / AR4 verification gate / AR5 loop +discipline / AR6 close-out (0–2 each). Delta status only for skills with non-KEEP June +verdicts. Entries marked \* score ≥9 but fail the HARNESS-READY gate because AR5 = 0. + +| Skill | June | Delta | AR1-6 | Tot | Class | Top improvement | +|---|---|---|---|---|---|---| +| senior-fullstack | KEEP | — | 2/2/2/2/1/1 | 10 | **HARNESS-READY** | Add re-run rule after kill-criterion fix ("re-run engine, assert `kill_criteria_tripped` empty") to lift AR5 to 2 | +| tdd-guide | KEEP | — | 1/1/2/2/2/1 | 9 | **HARNESS-READY** | "Bounded Autonomy Rules" + threshold exits are the loop template; add state persistence (write cycle log) for AR6=2 | +| senior-security | CUT-OR-MERGE | **RESOLVED** (rewritten as 64-line STRIDE + router; re-run-is-the-done-signal gate) | 1/1/2/2/1/2 | 9 | **HARNESS-READY** | Add DREAD≥7-without-owner as a machine check (`jq` assertion on threats.json) | +| playwright-pro/fix | KEEP | — | 0/1/2/2/2/2 | 9 | **HARNESS-READY** | Best loop in the domain ("all 10 must pass, else back to step 3"); add an iteration cap (max 3 fix rounds → escalate) | +| red-team | KEEP | — | 2/2/2/2/0/2 | 10\* | LOOP-CAPABLE\* | Add explicit retry/stop rules per engagement phase (e.g., abort criteria on detection) | +| ai-security | KEEP | — | 2/1/2/2/0/1 | 8 | LOOP-CAPABLE | Add remediate→re-scan loop: "re-run scanner after fixes, exit 0 required" | +| security-pen-testing | KEEP | — | 1/2/2/2/0/2 | 9\* | LOOP-CAPABLE\* | AR5=0 blocks HARNESS; add rescan-until-clean loop with cap | +| senior-secops | KEEP | — | 1/2/2/2/1/1 | 9\* | LOOP-CAPABLE\* | Add CVE-SLA-driven stop condition to formalize AR5 | +| threat-detection | KEEP | — | 1/2/2/2/0/1 | 8 | LOOP-CAPABLE | Add tuning loop (adjust baseline, re-run until FP rate < target) | +| cloud-security | KEEP | — | 1/2/2/2/0/1 | 8 | LOOP-CAPABLE | Add fix→re-check-until-exit-0 loop; add close-out DoD | +| incident-response | KEEP | — | 1/2/2/2/0/1 | 8 | LOOP-CAPABLE | Add containment-verification re-run gate | +| code-reviewer | KEEP | — | 1/1/2/2/0/1 | 7 | LOOP-CAPABLE | Regression-fixture pattern is exemplary; add re-review-after-fix loop | +| senior-frontend | OPTIMIZE | **RESOLVED** (corrupted config fixed; decision engine + forcing questions present) | 2/1/2/2/1/1 | 9 | **HARNESS-READY** | Still 572 lines — move React/Next patterns to references/ per June Verify | +| senior-backend | OPTIMIZE | **RESOLVED** (Zod literal fixed; decision engine refuses on missing inputs) | 2/2/2/1/0/1 | 8 | LOOP-CAPABLE | Add executable SLO-floor verification gate + re-run loop (AR4→2, AR5) | +| senior-qa | OPTIMIZE | **PARTIALLY** (corrupted snippets fixed; still `msw rest.` v1 API L274 + `upload-artifact@v3` L220) | 1/1/2/2/0/1 | 7 | LOOP-CAPABLE | Bump msw to `http`/`HttpResponse`, artifact@v4; add TS-block parse gate | +| senior-architect | OPTIMIZE | **PARTIALLY** (tools well-wired; workflow still ends at "document decision") | 1/1/2/1/0/1 | 6 | LOOP-CAPABLE | Add "re-run dependency_analyzer, assert circular=0" close-out gate (AR4/AR5) | +| senior-ml-engineer | OPTIMIZE | **STILL-OPEN** (12 stale-model hits: GPT-4/3.5/Claude-3 2024 pricing in SKILL.md L154-157 + llm_integration_guide.md L181-251) | 1/1/1/2/2/0 | 7 | LOOP-CAPABLE | Strip 2024 pricing/context tables → model-agnostic; wire tool output→next-step | +| senior-prompt-engineer | REWRITE | **RESOLVED** (0 stale-model hits; workflows end in executable eval gates with ≥baseline loop) | 1/1/2/2/2/0 | 8 | LOOP-CAPABLE | Add AR6 close-out (persist eval baseline as DoD artifact); intake forcing questions | +| senior-data-scientist | OPTIMIZE | **RESOLVED** (phantom scripts replaced by real ones) | 1/1/1/1/0/2 | 6 | LOOP-CAPABLE | Add exact CLI invocations + machine-checkable eval gate | +| senior-data-engineer | OPTIMIZE | **STILL-OPEN + NEW P1** (see below) | 0/1/1/0/0/0 | 2 | **PROSE-ONLY** | Fix documented CLI to match actual argparse; add a verification gate | +| stripe-integration-expert | OPTIMIZE | **STILL-OPEN** (pinned `apiVersion: "2024-04-10"` L72; 0 scripts/refs; 476-line code dump) | 0/0/0/0/1/0 | 1 | **PROSE-ONLY** | Replace pinned version with placeholder+instruction; add `stripe trigger` smoke gate | +| email-template-builder | OPTIMIZE | **STILL-OPEN** (439-line single-file dump; no executable gate) | 0/0/0/0/0/2 | 2 | **PROSE-ONLY** | Invert code:rules ratio, move code to references/, add `react-email` render gate | +| incident-commander | OPTIMIZE | **RESOLVED** (3 scripts all wired; security-triage disambiguation added) | 1/1/2/2/0/1 | 7 | LOOP-CAPABLE | Add re-run gate + iteration cap on timeline reconstruction | +| ms365-tenant-manager | OPTIMIZE | **RESOLVED** (all 3 scripts referenced with exact paths) | 1/1/2/1/0/2 | 7 | LOOP-CAPABLE | Add machine-checkable verify gate (CA report-only assertion) | +| tech-stack-evaluator | OPTIMIZE | **STILL-OPEN** (no `data_as_of` field; embedded ecosystem data undated) | 0/0/2/0/0/0 | 2 | **PROSE-ONLY** | Add `data_as_of` to JSON output; wire all 7 scripts; add TCO regression gate | +| engineering-skills (index) | OPTIMIZE | **PARTIALLY** (32 vs actual 33 after new skill; named-persona absent from every index) | 0/0/0/0/0/0 | 0 | **PROSE-ONLY** (index by design) | Retrue to 33; add named-persona row; single source of truth | +| adversarial-reviewer | KEEP | — | 1/2/0/0/1/1 | 5 | TOOL-ONLY | Add a scored verdict tool + machine gate | +| named-persona-adversarial-review | **NEW (not in June)** | n/a | 1/2/0/1/1/1 | 6 | LOOP-CAPABLE | No scripts; has BLOCKER promotion + re-review exit condition. Add a verdict-emitting tool; register in indexes | +| aws-solution-architect | KEEP | — | 1/2/2/1/1/1 | 8 | LOOP-CAPABLE | Add `cfn-lint`/validate-template close-out gate | +| azure-cloud-architect | KEEP | — | 1/2/2/0/0/1 | 6 | LOOP-CAPABLE | Add `az bicep build` verification gate | +| gcp-cloud-architect | KEEP | — | 1/2/2/0/0/2 | 7 | LOOP-CAPABLE | Add IaC validate gate + retry loop | +| epic-design | KEEP | — | 1/2/0/0/0/2 | 5 | TOOL-ONLY | Wire inspect-assets.py output into a pass/fail gate | +| senior-computer-vision | KEEP | — | 1/2/2/0/0/0 | 5 | TOOL-ONLY | Add eval-metric gate (mAP threshold) + close-out | +| senior-devops | KEEP | — | 1/1/2/1/0/0 | 5 | TOOL-ONLY | Add `terraform validate` gate + healthz retry loop as explicit AR5 | +| snowflake-development | KEEP | — | 1/2/1/1/0/0 | 5 | TOOL-ONLY | Add SQL-lint/dry-run gate | +| a11y-audit | KEEP | — | 1/1/1/2/1/1 | 7 | LOOP-CAPABLE | Baseline-compare loop present; add iteration cap | +| google-workspace-cli | REWRITE | **PARTIALLY** (coordinates fixed + disclaimers; tool provenance still unverifiable) | 1/2/2/0/0/0 | 5 | TOOL-ONLY | Add `gws --version` precondition gate; recipe-vs-`--help` validation step | +| playwright-pro/pw | KEEP | — | 0/1/1/2/1/0 | 5 | TOOL-ONLY | Router; fine as-is | +| playwright-pro/init | KEEP | — | 0/1/1/1/1/0 | 4 | TOOL-ONLY | Add config-assertion gate (retries=2 in CI) | +| playwright-pro/generate | KEEP | — | 0/1/1/2/1/0 | 5 | TOOL-ONLY | Strong (reporter=list gate before done); add iteration cap | +| playwright-pro/review | KEEP | — | 0/1/0/2/0/0 | 3 | TOOL-ONLY | Add fix-loop handoff to /pw:fix | +| playwright-pro/migrate | KEEP | — | 0/1/1/0/0/0 | 2 | PROSE-ONLY | Add parity-check gate before decommission (June Verify) | +| playwright-pro/coverage | KEEP | — | 0/2/0/0/0/0 | 2 | PROSE-ONLY | Wire a coverage-report tool + priority-ranked gate | +| playwright-pro/report | KEEP | — | 0/1/1/0/1/1 | 4 | TOOL-ONLY | Add absent-input error gate | +| playwright-pro/testrail | KEEP | — | 0/0/1/0/0/0 | 1 | PROSE-ONLY | Env-var precondition refusal is the AR1 win; document it as a gate | +| playwright-pro/browserstack | KEEP | — | 0/0/1/0/0/0 | 1 | PROSE-ONLY | Same as testrail | +| self-improving-agent (root) | KEEP | — | 0/0/0/0/0/0 | 0 | PROSE-ONLY (overview by design) | No executable surface | +| si/review | KEEP | — | 0/2/0/0/0/0 | 2 | PROSE-ONLY | Add bucket-count assertion gate | +| si/promote | KEEP | — | 1/2/0/0/0/1 | 4 | TOOL-ONLY | Both-halves check (write + remove source) should be a machine gate | +| si/extract | KEEP | — | 0/2/0/0/0/0 | 2 | PROSE-ONLY | Wire `audit_skills.py` no-FAIL gate (June Verify) explicitly | +| si/remember | KEEP | — | 0/2/0/0/0/1 | 3 | TOOL-ONLY | Add timestamp+category write assertion | +| si/status | KEEP | — | 0/2/0/0/0/1 | 3 | TOOL-ONLY | Add 200-line-budget overflow gate | + +## Systemic findings + +1. **Loop discipline (AR5) is the domain-wide bottleneck.** The security suite (red-team + 10, security-pen-testing 9, senior-secops 9) and cloud architects have excellent intake, + deterministic tools, and exit-code gates but almost no explicit retry/stop-condition/ + iteration-cap language. Adding a single "remediate → re-run tool → exit 0 required, max + N rounds then escalate" block would promote ~6 skills to HARNESS-READY at low cost. +2. **Best harness exemplars (template these):** playwright-pro/fix ("run `--repeat-each=10`, + all 10 must pass, else back to step 3" — the cleanest verify+loop in the domain); + senior-fullstack (decision engine that *refuses* on missing inputs + forcing-question + library + kill criteria — the new-gen role template); code-reviewer (committed regression + fixtures with expected `--json` output); senior-security rewritten ("the re-run is the + done signal, not the document" — model close-out phrasing); senior-prompt-engineer + (every workflow now ends in an executable gate — a genuine REWRITE→RESOLVED turnaround). +3. **Role skills split into two generations.** UPGRADED (decision engine + forcing questions + + kill criteria): senior-fullstack, senior-frontend, senior-backend. UN-UPGRADED (no + forcing questions, no decision engine, workflows end at "document"): senior-architect, + senior-devops, senior-qa, senior-data-engineer, senior-data-scientist, + senior-ml-engineer, senior-computer-vision, senior-secops, senior-prompt-engineer. The + three upgraded roles should export a shared loop template — `Assumptions → decision + engine (refuse on missing input) → forcing questions with kill criteria → execute → + re-run engine/tool → assert gate → DoD` — and the nine un-upgraded roles should adopt + it. senior-architect and senior-devops are the highest-value targets. +4. **NEW P1 — senior-data-engineer documents a CLI the tool doesn't have.** SKILL.md L74 + shows `data_quality_validator.py validate --checks freshness,completeness,uniqueness + --input …`, but the shipped `validate` subcommand has **no `--checks` and no `--input`** + (input is positional). SKILL.md also invokes `etl_performance_optimizer.py`, which is + **not present** in `scripts/`. Any agent following the docs emits failing commands. +5. **STILL-OPEN staleness — senior-ml-engineer.** 12 hits of GPT-4 / GPT-3.5 / Claude 3 + Opus 2024 pricing and "GPT-4 8,192 context" presented as current. The parallel A6 fix + landed for senior-prompt-engineer (0 hits) but not here. +6. **Count drift persists + new skill unregistered.** Actual `skills/` dir = 33 (June said + 32). named-persona-adversarial-review (PR #867) appears in **no** index — not + engineering-skills SKILL.md, README, START_HERE, or plugin.json `skills`. + engineering-team/CLAUDE.md still lists **8 phantom script filenames** + (`fullstack_scaffolder.py`, `statistical_analyzer.py`, `etl_generator.py`, + `mlops_setup_tool.py`, `llm_integration_builder.py`, `rag_system_builder.py`, + `video_processor.py`) — June finding #6 unresolved. +7. **Three PROSE-ONLY skills need structural rebuild, not tuning:** stripe-integration-expert + (1/12), email-template-builder (2/12), tech-stack-evaluator (2/12). All were OPTIMIZE in + June and are STILL-OPEN — code/prose dumps with no wired-tool→gate→loop spine. +8. **Intake (AR1) is near-universally absent.** Only 5 skills score AR1≥2 (the upgraded + role trio via decision-engine refusal; red-team, ai-security via authorization gates). + 40+ skills have zero forcing-question/refusal-on-vague-input intake. The decision-engine + "refuse without required inputs" pattern is the cheapest AR1 fix to propagate. diff --git a/audit/engineering-agentic-2026-07/engineering.md b/audit/engineering-agentic-2026-07/engineering.md new file mode 100644 index 00000000..15c3efe9 --- /dev/null +++ b/audit/engineering-agentic-2026-07/engineering.md @@ -0,0 +1,190 @@ +# Domain re-audit: engineering/ — delta vs June 2026 + agentic readiness + +Audited: 2026-07-03 · 63 distinct skills under `engineering/` · Method: full SKILL.md +reads, June "Verify" criteria re-run, ~30 script smoke tests (all exit codes checked). +Rubric: [RUBRIC.md](RUBRIC.md). June baseline: [../newgen-2026-06/engineering.md](../newgen-2026-06/engineering.md). + +## Summary stats + +**Delta resolution (19 non-KEEP June verdicts):** + +- **RESOLVED: 9** — agent-designer, dependency-auditor, rag-architect, skill-tester, + tech-debt-tracker (REWRITEs); command-guide (deleted); release-manager (merged into + changelog-generator, hotfix/rollback tables absorbed); engineering-advanced-skills + (counters now 37=37=37, paths fixed); universal-scraping-architect (all 3 scripts wired, + agent/command rebuilt, layout normalized). +- **PARTIALLY-RESOLVED: 6** — migration-architect, observability-designer (CLIs + gates + added but textbook bodies never pruned); database-designer (wired, not merged); + agent-workflow-designer, api-design-reviewer, runbook-generator. +- **STILL-OPEN: 4** — database-schema-designer (no merge, zero scripts, broken seed example + at L154 persists), codebase-onboarding, interview-system-designer, claude-coach (all 3 + June defects untouched: dup frontmatter keys `Name:`+`name:` / `1.0.0`+`2.9.0`, README + paste L145–205, unwired classifier). +- Side-asks: 5 orphan plugins now marketplace-registered ✅ · 4 dual-published duplicates + (slo/chaos/k8s/flags) still undeduped (byte-identical, `diff -rq` clean) ❌ · autoresearch + evaluator `--help`-exception sentence never added ❌ · env-secrets-manager dead cross-refs + persist ❌ · focused-fix `superpowers:*` still "REQUIRED SUB-SKILL" ❌. + +**Agentic-readiness distribution (63 skills):** HARNESS-READY **22** · LOOP-CAPABLE **23** +· TOOL-ONLY **16** · PROSE-ONLY **2**. Weakest dimensions: **AR5 loop discipline** +(caps/stop conditions rare outside v2.4+ skills) and **AR1 goal intake** (most tool-rich +skills accept any input silently). + +**KEEP spot-checks (~25 contracts re-run):** PASS except — **ship-gate** (category table 84 +vs checks.md 89), **write-a-skill** (fails its own checklist runner: 141 lines vs its <100 +rule, exit 1), **workflow-builder** (`--sample` exits 1 *by design* — June criterion wrong, +needs one doc sentence), **focused-fix** (superpowers refs unresolved), +**env-secrets-manager** (all 5 cross-ref paths fail `ls`). Verified anchors reproduce: slo +error-budget 43.20 min, statistical-analyst +1.2pp, tc-tracker rejects `planned→deployed` +(exit 2), commit_linter/mcp_validator `--strict` exit 1 correctly. + +## Per-skill table + +Scores AR1·AR2·AR3·AR4·AR5·AR6. Class: HR=HARNESS-READY, LC=LOOP-CAPABLE, TO=TOOL-ONLY, +PO=PROSE-ONLY. Delta "—" = KEEP verdict holding. + +| Skill | June | Delta | AR1-6 | Tot | Class | Top improvement | +|---|---|---|---|---|---|---| +| skills/agent-designer | REWRITE | RESOLVED | 1·2·2·2·1·2 | 10 | HR | Cap the step-4 re-evaluate loop (max 3 pilot re-runs, then escalate) | +| skills/agent-workflow-designer | OPTIMIZE | PARTIAL | 0·1·2·1·0·0 | 4 | TO | Add June-mandated "When NOT to use → workflow-builder" block + JSON-validity gate on scaffolder output | +| skills/api-design-reviewer | OPTIMIZE | PARTIAL | 0·1·2·2·1·1 | 7 | LC | Cut L31-349 textbook REST to references/ (body ≤200); cap lint-fix cycles at 3 | +| skills/api-test-suite-builder | KEEP | — | 0·1·2·0·0·0 | 3 | TO | Add gate: generated suite must pass `npx vitest run`/`pytest -x` with 0 collection errors; coverage contract per route | +| skills/browser-automation | KEEP | — | 1·1·1·1·1·0 | 5 | TO | Full runnable CLIs in Quick Start; require `anti_detection_checker.py` exit-0 pre-run; retry cap 3 on 429/403 | +| skills/changelog-generator | KEEP | — (merge done) | 1·1·2·2·1·2 | 9 | HR | State retry cap for lint-fix cycle | +| skills/chaos-engineering | KEEP | dedupe open | 2·2·2·2·2·2 | 12 | HR | Deduplicate bundle/standalone copies | +| skills/ci-cd-pipeline-builder | KEEP | — | 0·1·2·1·0·1 | 5 | TO | Require `yaml.safe_load` exit-0 gate on generated pipeline; intake (platform/targets/branches) | +| skills/codebase-onboarding | OPTIMIZE | STILL-OPEN | 0·1·2·1·0·1 | 5 | TO | Add June-mandated gate: execute every setup command in the doc once, 0 ❌ before done | +| skills/database-designer | CUT-OR-MERGE | PARTIAL | 1·1·2·2·1·1 | 8 | LC | Execute the merge into sql-database-assistant (or add explicit routing); cap analyze-fix at 2 cycles | +| skills/database-schema-designer | CUT-OR-MERGE | STILL-OPEN | 0·1·0·1·0·0 | 2 | PO | Retire per June verdict: migrate RLS block + pitfalls table, delete broken L154 seed example | +| skills/dependency-auditor | REWRITE | RESOLVED | 0·1·2·2·1·1 | 7 | LC | Intake (ecosystem/policy/threshold); cap upgrade-rescan at 2 cycles | +| skills/engineering-advanced-skills | OPTIMIZE | RESOLVED | 0·0·0·0·0·0 | 0 | PO (index by design) | Optionally add "state which skill you loaded and why" routing rule | +| skills/env-secrets-manager | KEEP | cross-refs STILL-OPEN | 0·1·2·1·1·1 | 6 | LC | Fix 5 dead cross-ref paths; make `env_auditor.py` 0-critical a binding close gate | +| skills/feature-flags-architect | KEEP | dedupe open | 1·2·2·2·2·2 | 11 | HR | Deduplicate copies | +| skills/focused-fix | KEEP | PARTIAL | 2·2·1·2·2·2 | 11 | HR | Reword `superpowers:*` as optional externals; drop phantom `scope` skill ref (L308) | +| skills/full-page-screenshot | KEEP | — | 1·1·2·2·1·1 | 8 | LC | Hard gate: `file out.png` = PNG & height>viewport; stop after 2 `--wait` increases | +| skills/git-worktree-manager | KEEP | — | 1·1·2·2·1·1 | 8 | LC | Make Validation Checklist a required exit gate with one recovery pass then escalate | +| skills/interview-system-designer | OPTIMIZE | STILL-OPEN | 0·1·1·1·0·0 | 3 | TO | Wire or delete the 3 orphan root-level scripts; relocate out of engineering per June misfit note | +| skills/kubernetes-operator | KEEP | dedupe open | 1·1·2·2·1·2 | 9 | HR | Cap validator fix-rerun cycles at 3; deduplicate copies | +| skills/mcp-server-builder | KEEP | — | 1·1·2·2·0·1 | 7 | LC | Loop rule: fix + re-run `mcp_validator.py --strict` until exit 0, max 3 cycles; done contract (paths + JSON keys) | +| skills/migration-architect | REWRITE | PARTIAL | 1·2·2·2·1·1 | 9 | HR | Cut L55-429 textbook to references/ (Verify cap ≤200); stop condition: 3 failed gate revisions → escalate | +| skills/monorepo-navigator | KEEP | — | 1·0·2·0·0·0 | 3 | TO | Numbered workflow + gate (analyzer JSON `cycles` empty; affected-only CI filter); artifact = workspace map | +| skills/observability-designer | REWRITE | PARTIAL | 1·1·2·1·1·1 | 7 | LC | Prune L35-273 golden-signals brochure; make alert loop a hard gate (duplicate count = 0) with 1-rotation stop | +| skills/performance-profiler | KEEP | — | 1·1·2·1·0·1 | 6 | LC | Before/after numbers as required artifact (<10% improvement → revert); one-bottleneck-at-a-time stop rule | +| skills/pr-review-expert | KEEP | — | 1·1·2·1·0·1 | 6 | LC | Verdict gate (BLOCK on MUST-FIX or coverage < −5%); re-review loop max 3 rounds then human | +| skills/rag-architect | REWRITE | RESOLVED | 1·2·2·2·2·2 | 11 | HR | Move 3 root scripts into scripts/ (layout anomaly only) | +| skills/runbook-generator | OPTIMIZE | PARTIAL | 1·1·2·1·0·1 | 6 | LC | Add June-required post-generation checklist as refusal gate (rollback non-empty, every step has verify line) | +| skills/secrets-vault-manager | KEEP | — | 1·1·1·1·0·0 | 4 | TO | Exact CLIs for all 3 scripts; gate: audit_log_analyzer shows zero old-credential usage before rotation done | +| skills/self-eval | KEEP | — | 1·1·0·2·1·2 | 7 | LC | Prompt-only by design; optional tiny `scores_check.py` JSONL assertion to formalize AR3 | +| skills/ship-gate | KEEP | table-drift FAIL | 2·2·0·2·2·2 | 10 | HR | Wire the fully orphaned `ship_gate_scanner.py` (~1230 LOC) as Step 2 with exit-code verdict; true-up table 84→89 | +| skills/skill-security-auditor | KEEP | — | 1·1·2·2·0·1 | 7 | LC | Remediate→re-scan loop until PASS (max 3); attach JSON report to install decision | +| skills/skill-tester | REWRITE | RESOLVED | 1·1·2·2·2·1 | 9 | HR | Recalibrate `skill_validator.py` tier minimums (still scores new-style <100-line skills POOR) | +| skills/slo-architect | KEEP | dedupe open | 2·1·2·2·1·2 | 10 | HR | Deduplicate copies (bundle Quick Start points at standalone path — deleting standalone breaks bundle docs) | +| skills/spec-driven-workflow | KEEP | — | 2·2·1·2·2·2 | 11 | HR | Fix pathless CLIs (`python spec_validator.py` → `python3 scripts/spec_validator.py`, L151/177/324-333) → AR3=2 | +| skills/sql-database-assistant | KEEP | — | 0·1·2·1·0·0 | 4 | TO | Gate every generated query through `query_optimizer.py` (score <70 → rewrite); fix phantom `observability-platform` ref | +| skills/tc-tracker | KEEP | — | 1·1·2·2·1·2 | 9 | HR | Already strong; add explicit iteration cap on validation-fix loop | +| skills/tech-debt-tracker | REWRITE | RESOLVED | 1·1·2·2·1·1 | 8 | LC | Stop condition (2 flat snapshots → re-prioritize) + sprint artifact contract → ≥9 | +| agenthub (8 sub-skills) | KEEP | — | 2·2·2·2·2·2 | 12 | HR | Wire orphaned `dry_run.py` as mandatory pre-spawn gate in /hub:run; explicit max-attempt cap | +| autoresearch-agent (6) | KEEP | doc-ask STILL-OPEN | 2·2·2·2·2·2 | 12 | HR | Add evaluator `--help`-exception sentence (June ask); replace stale CronCreate/CronDelete tool names | +| behuman | KEEP | registered ✅ | 1·1·0·1·1·1 | 5 | TO | Ship a mirror-check lint as pre-output gate; cap the rewrite loop | +| caveman | KEEP | — | 0·0·1·1·1·1 | 4 | TO | Inline the 3 exact `caveman_lint.py` invocations (now only in companion_tooling.md); require PASS/WARN before sending | +| claude-coach | OPTIMIZE | STILL-OPEN (all 3) | 2·1·1·1·2·1 | 8 | LC | Fix dup frontmatter + delete L145-205 README paste; wire `coach_tip_classifier.py` as Rule-5 gate → HR | +| code-tour | KEEP | — | 1·1·0·1·0·2 | 5 | TO | Add `tour_validator.py` (schema + file/line existence, exit 0 before save); max 2 re-verify passes | +| collab-proof | NEW | — | 2·2·2·2·1·2 | 11 | HR | Add retry/cap rule for token-collection fallback; translate leftover Korean rubric phrases | +| data-quality-auditor | KEEP | — | 1·1·2·2·0·2 | 8 | LC | Remediate→re-profile loop with DQS delta report, cap 3 cycles → HR | +| demo-video | KEEP | — | 1·1·0·1·0·2 | 5 | TO | Ship scenes.json validator required before build.sh; exact ffmpeg fallback commands | +| docker-development | KEEP | — | 0·1·2·2·0·1 | 6 | LC | Intake (Dockerfile path + size/speed/security target); analyzer-score-must-improve loop, max 3 passes | +| grill-me | KEEP | — | 2·2·1·1·2·2 | 10 | HR | Exact flags for extractor/generator CLIs; machine gate = session JSON all branches `resolved` | +| grill-with-docs | KEEP | registered ✅ | 2·2·2·2·2·2 | 12 | HR | None blocking — exemplar | +| handoff (engineering) | KEEP | — | 1·1·1·0·0·2 | 5 | TO | Wire 3 scripts with exact CLIs; port sibling productivity/handoff `handoff_self_check.py` 6-check gate | +| helm-chart-builder | KEEP | — | 1·1·2·2·0·1 | 7 | LC | Fix-and-revalidate loop (`chart_analyzer.py` 0 CRITICAL, cap 3); intake (workload/namespace/secrets) | +| karpathy-coder | KEEP | — | 1·2·1·1·1·0 | 6 | LC | Exact CLIs in SKILL.md (only agent/command carry them); make pre-commit check a required gate not warn-only | +| llm-cost-optimizer | KEEP | registered ✅ | 2·1·0·2·1·1 | 7 | LC | Add one stdlib script (savings estimator) with CLI; before/after cost-JSON gate between techniques | +| llm-wiki | KEEP | — | 1·1·2·1·0·2 | 7 | LC | Make `lint_wiki.py` exit code a required post-ingest gate (now "periodic"); fix 4 phantom related-skill refs | +| prompt-governance | KEEP | registered ✅ | 2·1·0·1·1·1 | 6 | LC | Ship registry-YAML validator; golden-dataset minimum (20) as Mode-2 refusal gate | +| security-guidance | KEEP | — | 0·0·1·2·0·1 | 5 | TO (hook by design) | Optional `--scan ` manual mode for deterministic re-run-to-exit-0 | +| statistical-analyst | KEEP | — | 2·1·2·2·1·1 | 9 | HR | Add H1 heading (currently none); cap extend/re-test loop at one extension | +| terraform-patterns | KEEP | — | 0·1·2·1·0·1 | 5 | TO | Gate: 0 Critical from `tf_security_scanner.py --strict` before apply; fix `./scripts/convert.sh` path | +| universal-scraping-architect | OPTIMIZE | RESOLVED | 1·1·2·2·1·1 | 8 | LC | Promote agent's intake to SKILL.md forcing questions; cap re-extraction at 2 attempts → HR | +| workflow-builder | KEEP | — (contract nuance) | 2·2·2·2·2·1 | 11 | HR | Document that `validate_workflow.py --sample` exits 1 by design; add done digest | +| write-a-skill | KEEP | self-check FAIL | 2·1·2·2·1·2 | 10 | HR | Trim own SKILL.md to <100 lines so it passes its own checklist runner; make runner exit-0 a blocking Phase-3 gate | +| zero-hallucination-coder | NEW | — | 2·2·0·2·2·2 | 10 | HR | Add one stdlib plan-linter (scan for unresolved `[UNKNOWN]`/TODO, exit 1) — AR3=0 is the only gap | + +(`named-persona-adversarial-review` is scored in [engineering-team.md](engineering-team.md) — +it lives at `engineering-team/skills/`.) + +## Systemic findings + +### Patterns + +1. **The REWRITE wave worked, but two were patches, not rewrites.** Brochure headings + ("Future Enhancements"/"Conclusion"/"Planned Features") are now zero across engineering/; + 5 of 7 REWRITEs fully resolved. migration-architect (429 lines) and observability-designer + (272) got a wired Quick Start + gate bolted onto an unpruned textbook body — the June + Verify line caps remain unmet. +2. **AR5 (loop discipline) is the domain's weakest muscle.** Only v2.4+/Pocock/orchestrator- + generation skills state iteration caps or stop conditions. ~20 skills have a "re-run until + clean" instruction with no cap; ~25 have none at all. A single sentence pattern ("max N + fix-rerun cycles, then escalate") would lift 8 skills sitting at 7–8 into HARNESS-READY. +3. **AR1 (goal intake) missing from tool-rich skills.** The wiring epidemic was fixed (AR3 + median is now 2), but most wired skills run on whatever input arrives — no forcing + questions, no refusal on vague goals. The intake patterns already exist in-house + (workflow-builder, grill-me, zero-hallucination-coder) and just need porting. +4. **Gates exist but aren't binding.** Many skills *describe* a validator yet don't + *require* its exit code before proceeding (llm-wiki "periodic" lint, karpathy-coder + warn-only hook, docker/helm validate-steps without loop closure). +5. **Orphan scripts persist even in KEEP skills** — new cases surfaced: **ship-gate's + `ship_gate_scanner.py` (~1230 LOC, full exit-code contract, never mentioned in SKILL.md — + the model is told to scan manually)**, agenthub's `dry_run.py`, interview-system-designer's + 3 root scripts, secrets-vault-manager's 3 unwired tools, handoff's 3 tools. +6. **Dead cross-references survived the phantom-path sweep** because they're skill-name + table refs, not file paths: env-secrets-manager (5 dead), sql-database-assistant + (`observability-platform`), llm-wiki (4 phantom related skills), focused-fix (`scope` + + `superpowers:*` as REQUIRED). +7. **Dual-published dedupe (June finding #4) not executed.** All 4 pairs remain + byte-identical (no divergence yet); trap: bundle copies' Quick Starts reference the + *standalone* paths, so naive deletion of standalone copies breaks the bundle's own docs. +8. **Database-trio merge (June finding #3a) not executed** — database-designer got wired + instead of merged; database-schema-designer remains the domain's worst skill (PROSE-ONLY, + broken seed example intact). + +### New defects found this audit + +- ship-gate: orphaned scanner + category-table drift (SKILL.md 84 vs checks.md 89) — its + KEEP contract now FAILS. +- write-a-skill: fails its own checklist runner (141 lines vs its <100 rule; exit 1) — + the meta-skill doesn't dogfood. +- autoresearch loop sub-skill: instructs stale `CronCreate`/`CronDelete` tool names and a + 10-min interval that conflicts with the current hourly-minimum trigger surface — broken + as written. +- claude-coach: zero progress on all 3 June defects (conflicting `Version: 1.0.0` / + `version: 2.9.0` still parses ambiguously). +- workflow-builder: `validate_workflow.py --sample` exits 1 *by design* (intentionally + broken sample) — the June KEEP criterion assumed 0; needs one documenting sentence. +- database-schema-designer: broken seed example at L154 persists (explicit June Verify item). +- collab-proof: untranslated Korean rubric phrases from the upstream Vela source. +- terraform-patterns: `./scripts/convert.sh` invocation resolves only from repo root; repo + version `2.9.0` leaked into an Infracost policy example. +- statistical-analyst: no H1 heading; "You are an expert…" opener also in + data-quality-auditor. +- skill-tester's `skill_validator.py` still penalizes new-style <100-line skills (scores + self-eval "POOR 33.3") despite the doc-level scope note. +- No broken scripts: all ~60 `--help`/`--sample`/pipe invocations exited per contract + (non-zero only where documented). + +### Top-10 harness-ready exemplars + +**agenthub (12)**, **autoresearch-agent (12)**, **chaos-engineering (12)**, +**grill-with-docs (12)**, **collab-proof (11)**, **feature-flags-architect (11)**, +**spec-driven-workflow (11)**, **workflow-builder (11)**, **rag-architect (11)**, +**focused-fix (11)**. Honorable mentions at 10: slo-architect, ship-gate, grill-me, +zero-hallucination-coder, write-a-skill — each one small fix from exemplar status. + +### Highest-leverage next PRs + +1. Wire ship-gate's scanner + fix its category table. +2. One-sentence loop-cap sweep across the eight 7–8-point LOOP-CAPABLE skills + (claude-coach, data-quality-auditor, universal-scraping-architect, docker-development, + helm-chart-builder, mcp-server-builder, tech-debt-tracker, skill-security-auditor) — + the cheapest path to ~30 HARNESS-READY. +3. Execute the deferred structural verdicts: dedupe the 4 dual-published pairs, merge/retire + the database trio, fix claude-coach. diff --git a/audit/engineering-agentic-2026-07/improvement-fields.md b/audit/engineering-agentic-2026-07/improvement-fields.md new file mode 100644 index 00000000..ab7c1087 --- /dev/null +++ b/audit/engineering-agentic-2026-07/improvement-fields.md @@ -0,0 +1,88 @@ +# Improvement fields — what to fix, per field, across both engineering domains + +The per-skill line items live in [engineering.md](engineering.md) and +[engineering-team.md](engineering-team.md). This file rolls them up into the **eight +fields** where investment moves the most skills, ordered by leverage (skills lifted per +unit of work). Distribution today, 115 distinct skills across both domains: +**26 HARNESS-READY · 39 LOOP-CAPABLE · 43 TOOL-ONLY · 7 PROSE-ONLY.** + +## Field 1 — Loop discipline (AR5): the single biggest lever + +~45 skills either say "re-run until clean" with no cap or have no retry/stop language at +all. The fix is one standardized block per skill: + +> Remediate → re-run `` → exit 0 required. Max **3** cycles; a repeat failure for the +> same reason after 2 attempts means a structural assumption is wrong — stop and escalate +> with the evidence log. + +- Cheapest wins (already 7–8 points, one sentence from HARNESS-READY): + claude-coach, data-quality-auditor, universal-scraping-architect, docker-development, + helm-chart-builder, mcp-server-builder, tech-debt-tracker, skill-security-auditor + (engineering/); ai-security, threat-detection, cloud-security, incident-response, + senior-secops, red-team, security-pen-testing (engineering-team/). +- Estimated movement: **~15 skills → HARNESS-READY** from this field alone. + +## Field 2 — Goal intake (AR1): refuse to run on fuzz + +40+ skills accept any input silently. Three proven in-house patterns to propagate: +1. Decision-engine refusal (senior-fullstack/frontend/backend): refuse when required + inputs are missing, list them. +2. Forcing-question library with recommended answers (grill-me, the fork-orchestrators, + zero-hallucination-coder). +3. Exit-code intake gates (agent-harness `goal_compiler.py` exits 3 on vague goals). + +Priority targets: every security skill (authorization scope!), ci-cd-pipeline-builder, +docker-development, helm-chart-builder, dependency-auditor, sql-database-assistant. + +## Field 3 — Binding verification (AR4): described ≠ required + +Validators exist but their exit codes aren't load-bearing. Convert "run the validator" +into "the workflow does not proceed past step N until `` exits 0": +- llm-wiki (`lint_wiki.py` is "periodic"), karpathy-coder (warn-only pre-commit), + docker/helm (validate steps without loop closure), senior-architect ("document decision" + instead of "re-run dependency_analyzer, assert circular=0"), cloud architects (no + `cfn-lint` / `az bicep build` / terraform-validate gates), api-test-suite-builder + (generated suite never executed). + +## Field 4 — Orphan and mismatched tooling (AR3): the recurring A3 debt + +- **New P1:** senior-data-engineer's documented CLI doesn't match the shipped argparse + (`--checks`/`--input` don't exist; `etl_performance_optimizer.py` missing). +- **Worst orphan:** ship-gate's `ship_gate_scanner.py` (~1230 LOC, full exit-code contract, + never mentioned in its SKILL.md). +- Others: agenthub `dry_run.py`, interview-system-designer (3 root scripts), + secrets-vault-manager (3), engineering/handoff (3), spec-driven-workflow (pathless CLIs). +- Prevention: extend CI gate G2 to assert every `scripts/*.py` basename appears in its + SKILL.md (the harness manifests already record `wired: true/false` per tool — a + one-line CI check over the manifests catches this class forever). + +## Field 5 — Close-out & state (AR6): make "done" an artifact + +Most skills just end. Adopt tc-tracker's handoff block or the agent-harness close contract +(`close` refuses while unverified; emits evidence log + waivers). Targets: performance- +profiler (before/after numbers as required artifact), senior-prompt-engineer (persist eval +baseline), monorepo-navigator (workspace map artifact), all nine un-upgraded senior-* roles. + +## Field 6 — Structural verdicts deferred since June + +1. Dedupe the 4 dual-published pairs (slo/chaos/k8s/flags) — mind the trap: bundle Quick + Starts reference standalone paths. +2. Merge/retire the database trio (database-schema-designer is still PROSE-ONLY with the + broken L154 seed example). +3. Rebuild the three engineering-team PROSE-ONLY dumps: stripe-integration-expert, + email-template-builder, tech-stack-evaluator. +4. claude-coach's three June defects (dup frontmatter, README paste, unwired classifier). + +## Field 7 — Freshness & correctness spot-fixes + +- senior-ml-engineer: 12 stale-model hits (2024 GPT-4/Claude-3 pricing as current). +- senior-qa: msw v1 API + `upload-artifact@v3`. +- autoresearch loop sub-skill: stale `CronCreate`/`CronDelete` tool names + interval below + the current hourly trigger minimum. +- stripe-integration-expert: pinned `apiVersion: "2024-04-10"`. +- collab-proof: untranslated Korean rubric phrases. +- Registry drift: named-persona-adversarial-review in zero indexes; engineering-team + CLAUDE.md lists 8 phantom script names; ship-gate table 84 vs 89. +- write-a-skill fails its own checklist runner (dogfooding gap). + +## Field 8 — Role-skill loop template (engineering-team's bi \ No newline at end of file diff --git a/audit/engineering-agentic-2026-07/research-digest.md b/audit/engineering-agentic-2026-07/research-digest.md new file mode 100644 index 00000000..c5d4abfb --- /dev/null +++ b/audit/engineering-agentic-2026-07/research-digest.md @@ -0,0 +1,85 @@ +# Research digest: agent harnesses & agentic loops, 2025–2026 best practice + +Compiled 2026-07-03 from web-verified sources. This digest informed the AR rubric +([RUBRIC.md](RUBRIC.md)) and the `engineering/agent-harness` skill's design; the full +per-source treatment lives in that skill's `references/` (3 docs, 21 citations). + +## 1. The canonical loop + +- **Anthropic, "Building Effective Agents" (Schluntz & Zhang, Dec 2024)** — workflows + (predefined code paths) vs agents (model directs its own process); patterns: prompt + chaining with gates, routing, parallelization, orchestrator-workers, evaluator-optimizer + ("only when clear evaluation criteria exist"). Start simple; stopping conditions mandatory. +- **Anthropic, Claude Agent SDK (Sep 2025)** — the loop is **gather context → take action → + verify work → repeat**; filesystem as context store; verification ladder: rules-based > + visual > LLM-as-judge. +- **Anthropic, multi-agent research system (Jun 2025)** — subagent specs need objective, + output format, tool guidance, and boundaries; effort scaled by rule (simple = 1 agent, + 3–10 calls) because early agents "spawned 50 subagents for simple queries". +- **Anthropic, "Effective harnesses for long-running agents" (Nov 2025)** — initializer + expands the goal into `feature-list.json` (description + acceptance criteria + status); + a worker wakes repeatedly, one feature per fresh-context session; all state on disk/git. +- **Anthropic, Agent Skills (Oct 2025)** — progressive disclosure (metadata → SKILL.md → + files on demand); deterministic scripts for anything reliably automatable; build skills + from observed agent failures. + +## 2. Verification discipline + +- **Jason Wei, "verifier's law" (Jul 2025)** — training/iterating AI on a task is + proportional to its verifiability; invest in checks before agents. +- **SWE-agent (NeurIPS 2024)** — the highest-value guardrail was a linter rejecting invalid + edits at write time; agents fail when the environment gives no feedback. +- **SWE-bench Verified (OpenAI 2024)** — even benchmark tests were too noisy without human + validation; checks need declared reliability classes. +- **Claude Code best practices (Cherny, Apr 2025)** — strongest loop is test-driven: write + the check first, confirm it fails, iterate against it. +- **Reflexion (Shinn 2023) + Huang et al. (ICLR 2024)** — self-critique helps only when + grounded in external feedback; intrinsic self-correction often degrades answers. + ⇒ **Deterministic validators are the primary gate; LLM-as-judge is a fallback.** +- **Anthropic reward-hacking research (Nov 2025)** — agents that game their checks + generalize to worse behavior ⇒ the worker must never adjudicate or modify its own gates. + +## 3. Loop patterns in production + +- **Ralph Wiggum loop (Huntley, Jul 2025; now an official Claude Code plugin)** — same + prompt to a fresh-context agent in a `while true` loop; filesystem + TODO + git as memory. + Fresh context each iteration is the point; caps and completion criteria are added by + practice. +- **Cognition, "Don't Build Multi-Agents" (Jun 2025)** — conflicting parallel decisions are + the dominant multi-agent failure ⇒ **fan out readers/judges, serialize writers**. +- Caps as runtime errors: OpenAI Agents SDK `max_turns` / guardrail tripwires; LangGraph + `recursion_limit`; Anthropic effort budgets. + +## 4. State + memory + +- Single JSON state file, atomic writes, schema version; narrative handoff separate from + machine state; git as checkpoint layer; compaction with explicit preserve-lists + (Anthropic context-engineering, Sep 2025; LangGraph checkpointers). + +## 5. Failure modes → mitigations + +| Failure | Mitigation | +|---|---| +| Infinite loops / runaway effort | Triple cap: iterations, wall-clock, budget — breach = terminal state, never silent | +| Verification theater / reward hacking | Gates read-only to the worker; controller re-runs checks itself; diff-scan for edits to test/gate paths | +| Goal drift / conflicting decisions | Single-writer rule; full-context handoffs | +| Context rot / silent truncation | Fresh-context iterations against durable disk state | + +## 6. Manifest designs (goals → skills → verifications) + +- **AGENTS.md** (agents.md, Aug 2025; Agentic AI Foundation / Linux Foundation, Dec 2025) — + prose manifest for "how to build and verify here". +- **feature-list.json** (Anthropic long-running harness) — the closest published + goal→tasks→verification manifest. +- **MCP** — declared tool registries as the harness's action space. +- GitHub Agentic Workflows / claude-code-action — declarative agent jobs with permissions + + tool allowlists. + +## Consensus (what this repo now implements) + +Compile goals into explicit task lists with acceptance criteria; run stateless +fresh-context iterations against durable disk/git state; gate every promotion on +deterministic, agent-untouchable checks; serialize writes, parallelize reads; cap +everything; declare the goal→skill→verification mapping in a per-domain manifest. +Implemented as `engineering/agent-harness` (manifest builder + goal compiler + loop +controller, 18 committed domain manifests). diff --git a/engineering/agent-harness/.claude-plugin/plugin.json b/engineering/agent-harness/.claude-plugin/plugin.json new file mode 100644 index 00000000..5364f8e3 --- /dev/null +++ b/engineering/agent-harness/.claude-plugin/plugin.json @@ -0,0 +1,13 @@ +{ + "name": "agent-harness", + "description": "Turn any domain folder of skills into a bounded agentic loop: a manifest builder inventories a domain's skills/tools/checks, a goal compiler turns a goal into a verifiable task plan (refusing vague goals with forcing questions), and a JSON-backed loop controller drives execute->verify->close with retry caps, controller-run verification (no verification theater), human escalation on exhausted budgets, and a close gate that refuses while any task is unverified. Ships 3 stdlib Python tools, 18 committed per-domain harness manifests + JSON schema, 3 references citing the 2024-2026 agent-harness canon, harness-runner agent + /cs:harness command. Use when an agent should pick up a goal and drive it to a verified close across a domain.", + "version": "1.0.0", + "author": { + "name": "Alireza Rezvani", + "url": "https://alirezarezvani.com" + }, + "homepage": "https://github.com/alirezarezvani/claude-skills/tree/main/engineering/agent-harness", + "repository": "https://github.com/alirezarezvani/claude-skills", + "license": "MIT", + "skills": ["./skills/agent-harness"] +} diff --git a/engineering/agent-harness/README.md b/engineering/agent-harness/README.md new file mode 100644 index 00000000..9594606a --- /dev/null +++ b/engineering/agent-harness/README.md @@ -0,0 +1,33 @@ +# agent-harness + +Turn any domain folder of this repo into a **bounded agentic loop**: pick up a goal, +compile it into tasks with machine-run verification, execute, verify, retry with caps, +escalate to a human when budgets exhaust, and close only when everything is verified. + +``` +GOAL → goal_compiler → PLAN → loop_controller: [execute → verify]* → CLOSE + ↑ retry ≤ caps, changed approach + └ ESCALATE — never fake success +``` + +## What ships + +| Piece | Purpose | +|---|---| +| `scripts/harness_manifest_builder.py` | Scan a domain folder → `manifest.v1` JSON (skills, tools, checks, agentic signals) | +| `scripts/goal_compiler.py` | Goal + manifest → `plan.v1` task plan; refuses vague goals (exit 3, forcing questions) | +| `scripts/loop_controller.py` | `init/next/record/verify/close/status` state machine; controller runs checks itself | +| `assets/harnesses/*.json` | 18 committed per-domain manifests (regenerable, diff-stable) | +| `assets/harness_manifest.schema.json` | Manifest schema | +| `references/` | Agentic-loop canon, verification discipline, domain-harness design (cited) | +| `agents/harness-runner.md` | Stateless one-task-per-invocation executor | +| `commands/cs-harness.md` | `/cs:harness ` end-to-end driver | + +All tools are stdlib-only, pass `--help` and `--sample`, and emit JSON. + +## Design lineage + +Anthropic's long-running-agents harness (feature-list + stateless shifts), verifier's law, +SWE-agent's environment-feedback lesson, Ralph-loop fresh-context iteration, Cognition's +serialize-writers rule, and this repo's own tc-tracker / autoresearch locked-evaluator / +loop-library stop-state primitives. See `skills/agent-harness/references/`. diff --git a/engineering/agent-harness/agents/harness-runner.md b/engineering/agent-harness/agents/harness-runner.md new file mode 100644 index 00000000..01f95df6 --- /dev/null +++ b/engineering/agent-harness/agents/harness-runner.md @@ -0,0 +1,35 @@ +--- +name: harness-runner +description: Drives one agent-harness loop iteration to completion — reads the plan and state files, executes exactly one task with the task skill's own tools, lets the controller verify it, and reports the directive. Use when a goal has been compiled into an agent-harness plan and tasks need executing ("run the next harness task", "drive this loop until it escalates or closes"). Use PROACTIVELY after goal_compiler.py writes a plan. NOT for compiling goals (main session does that), authoring workflows (cs-workflow-architect), or tournaments (hub-coordinator). +tools: Read, Bash, Grep, Glob, Edit, Write +--- + +# Harness Runner + +You execute ONE task per invocation from an agent-harness loop. You are a stateless shift +worker: everything you need is in the plan and state files; everything you learned goes back +into them via the controller. You never carry context between invocations. + +## Workflow + +1. `python3 /scripts/loop_controller.py next --state ` — obey the directive. + If it says `escalate` or `close`, report that verbatim and STOP. +2. For `execute T`: open the task's `skill_path` SKILL.md, follow that skill's own + workflow with its own tools toward the task `objective`. Respect the goal's no-touch + constraints. Then `record --task T --phase execute --exit-code `. +3. For `verify T`: run `loop_controller.py verify --state --task T --cwd `. + If a `manual-evidence` check remains, gather the observable evidence and + `record --phase verify --exit-code 0 --evidence ""`. +4. Report: task id, resulting status, the controller's next directive, and (on failure) + the failing check's output tail plus what you will change on the retry. + +## Hard rules + +- Never edit a verification command, a manifest, or the plan to make a check pass. +- Never record a verify pass you did not observe. Fabricated evidence is the one + unforgivable failure mode. +- Never start a second task in the same invocation, even if the first finishes quickly — + serialized writes are the point. +- If the same check fails twice for the same reason, say what structural assumption is + wrong instead of trying a third cosmetic variation (3-strike rule, per focused-fix). +- On exit 2/5 from the controller: stop immediately and surface the evidence log path. diff --git a/engineering/agent-harness/commands/cs-harness.md b/engineering/agent-harness/commands/cs-harness.md new file mode 100644 index 00000000..6f9c73dc --- /dev/null +++ b/engineering/agent-harness/commands/cs-harness.md @@ -0,0 +1,34 @@ +--- +description: Compile a goal into a verified agent-harness loop for a domain and drive it to close — /cs:harness +argument-hint: +--- + +# /cs:harness — run a goal through a domain's agent harness + +Parse `$ARGUMENTS`: the first token is the domain (one of the 18 manifest names under +`engineering/agent-harness/skills/agent-harness/assets/harnesses/`); the rest is the goal. +If the domain token doesn't match a manifest file, list the available manifests and ask. + +## Sequence (gates are blocking — never skip forward) + +1. **Compile** — + `python3 engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py --goal "" --manifest engineering/agent-harness/skills/agent-harness/assets/harnesses/.json --out .agent-harness/plan.json` + - Exit 3: relay the forcing questions to the user one at a time (recommended answer + first), then recompile with the enriched goal. Do not proceed on a vague goal. + - Exit 4: show `nearest_candidates`, ask whether to switch domain or refine the goal. +2. **Review the plan with the user** — show tasks, verifications, and caps. Confirm before + initializing: this is the only approval gate in the loop. +3. **Init** — `python3 .../scripts/loop_controller.py init --plan .agent-harness/plan.json --state .agent-harness/state.json` +4. **Drive** — repeat: `next` → execute the task per its skill's SKILL.md → `record` → + `verify`. For long goals, spawn the `harness-runner` agent per task instead of executing + inline, one at a time (writes stay serialized). +5. **On exit 2 or 5** — stop, show `status` and the failing evidence; the user decides: + fix and continue, waive with a reason, or abandon. +6. **Close** — `close --state .agent-harness/state.json`; paste the handoff block + (tasks, statuses, evidence, waivers) as the deliverable summary. + +## Rules + +- Never edit checks, manifests, or the plan mid-loop to make verification pass. +- Never report an exhausted budget as success. +- `.agent-harness/` is git-ignorable working state; the handoff block is the record. diff --git a/engineering/agent-harness/skills/agent-harness/SKILL.md b/engineering/agent-harness/skills/agent-harness/SKILL.md new file mode 100644 index 00000000..962dcc54 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/SKILL.md @@ -0,0 +1,126 @@ +--- +name: agent-harness +description: "Turn any domain folder of skills into a bounded agentic loop: compile a goal into a verifiable task plan, execute tasks with the domain's own tools, verify every task with machine-run checks, retry with caps, escalate to a human when budgets exhaust, and refuse to close until everything is verified or explicitly waived. Use when you want an agent or subagent to pick up a goal and drive it to a verified close across one of this repo's 18 domains ('run this goal through the engineering harness', 'set up an agentic loop for marketing work', 'make the finance domain self-verifying'). NOT for authoring Claude Code Workflow-tool .js scripts (workflow-builder), N-agent tournaments on one task (agenthub), single-file metric optimization (autoresearch-agent), or discovering published loop recipes (loop-library)." +--- + +# Agent Harness + +You are a harness operator, not a hero. The loop — not your optimism — decides when work +is done. Your job: compile the goal into tasks with checks, execute one task at a time, +let the controller adjudicate verification, and stop when the state machine says stop. + +## The contract + +``` +GOAL → goal_compiler → PLAN → loop_controller: [execute → verify]* → CLOSE + ↑______retry (≤ max_attempts, changed approach) + └── ESCALATE on exhausted budgets — never fake success +``` + +Three layers, all JSON: a committed per-domain **manifest** (what skills/tools/checks +exist), a per-goal **plan** (which tasks, which verifications, what "done" means), and a +per-run **state file** (the single source of truth; a fresh session resumes from it alone). + +## Quick start + +```bash +# 0. Pick the domain manifest (18 committed under assets/harnesses/, e.g. engineering-team.json) +ls assets/harnesses/ + +# 1. Compile the goal (refuses vague goals with exit 3 + forcing questions) +python3 scripts/goal_compiler.py \ + --goal "audit the payments service and design an SLO with an error budget" \ + --manifest assets/harnesses/engineering.json --out plan.json + +# 2. Initialize the loop state +python3 scripts/loop_controller.py init --plan plan.json --state .agent-harness/state.json + +# 3. Drive the loop — repeat until directive is "close" or "escalate" +python3 scripts/loop_controller.py next --state .agent-harness/state.json +# → {"action": "execute", "task": "T1", ...}: open the task's skill (SKILL.md at +# skill_path), do the work with its tools, then: +python3 scripts/loop_controller.py record --state .agent-harness/state.json \ + --task T1 --phase execute --exit-code 0 +# → the controller runs the task's checks ITSELF (subprocess, timeout, evidence log): +python3 scripts/loop_controller.py verify --state .agent-harness/state.json --task T1 --cwd + +# 4. Close — refused (exit 4) while any task is unverified and unwaived +python3 scripts/loop_controller.py close --state .agent-harness/state.json +``` + +Regenerate a manifest after skills change (diff-stable, CI-checkable): + +```bash +python3 scripts/harness_manifest_builder.py --domain engineering-team \ + --repo-root --out-dir assets/harnesses --no-timestamp +``` + +## Hard rules + +1. **Never adjudicate your own verification.** `verify` runs the checks via subprocess; + a passing `record --phase verify` without `--evidence` is rejected (exit 6). You do not + get to declare a task verified. +2. **Never modify a gate you are judged by.** Check commands come from the manifest/plan. + Editing a check to make it pass is the reward-hacking failure mode + (see [references/verification_discipline.md](references/verification_discipline.md)) — same + invariant as autoresearch-agent's locked evaluator. +3. **One task at a time, writes serialized.** Parallelize reading and judging, never two + tasks writing the same artifact ([references/agentic_loop_canon.md](references/agentic_loop_canon.md)). +4. **Retry means a changed approach.** Same command + same input = same failure. The retry + directive says so; honor it. +5. **Budgets are terminal states, not suggestions.** `max_attempts_per_task` → escalated + (exit 2); `max_loop_iterations` → escalate (exit 5). Exhausted budgets are never + reported as success — a human waives (`close --waive T3 --reason "..."`), you don't. +6. **Fresh context beats long context.** Every `next` directive is executable by a new + session reading only the plan + state files. Long-running goals: run each iteration as + its own session against the durable state. +7. **State lives in `.agent-harness/`** — never in `.agenthub/`, `.autoresearch/`, or + `docs/TC/` (those belong to sibling skills). + +## Forcing questions (ask before compiling; one per turn, with a recommended answer) + +| # | Question | Recommended answer | Why (canon) | +|---|---|---|---| +| 1 | What single observable outcome means DONE? | A named artifact + a command that exits 0 against it | Verifier's law: invest in verifiability first | +| 2 | Which domain harness applies? | The domain whose skills name the deliverable; if two, run two sequential loops | Orchestrator-workers: scoped objectives beat mega-goals | +| 3 | What must NOT change? | List no-touch paths; put them in the goal text so the compiler's plan inherits them | Boundaries are part of a subagent spec | +| 4 | Who reviews escalations, and how fast? | A named human; escalations block the loop by design | Approval-required is a terminal state, not a nuisance | +| 5 | What is the iteration budget? | Default 12 loop iterations / 3 attempts per task; raise only with a reason | Caps are runtime errors, not advice (OpenAI SDK `max_turns`) | + +## Exit codes (branch on these mechanically) + +| Code | Tool | Meaning | +|---|---|---| +| 0 | all | OK / directive emitted | +| 2 | loop_controller | Escalation required — a human must review the evidence log | +| 3 | goal_compiler | Goal too vague — answer the forcing questions, recompile | +| 4 | goal_compiler / loop_controller | No skill matched / close refused (unverified tasks) | +| 5 | loop_controller | Global iteration cap reached | +| 6 | loop_controller | Invalid transition (recording on verified task, evidence missing, unknown task) | + +## Verifiable success + +- `python3 scripts/harness_manifest_builder.py --sample`, `scripts/goal_compiler.py --sample`, + and `scripts/loop_controller.py --sample` all exit 0. +- A vague goal (`--goal "make it better"`) exits 3 and prints forcing questions. +- `loop_controller.py close` on a state with an unverified task exits 4. +- The demo loop in `loop_controller.py --sample` shows a verify failure consuming an attempt + and the loop still closing only after a passing verify with evidence. + +## Related skills + +- **workflow-builder**: authoring deterministic `.js` scripts for Claude Code's Workflow + tool. NOT for goal-to-close loop state (this skill). +- **agenthub**: N parallel agents competing on ONE task in git worktrees. Use it *inside* a + harness task that wants competing attempts. +- **autoresearch-agent**: metric optimization of a single file against a locked evaluator. + Use it when a task's done_when is "metric improves". +- **tc-tracker**: per-code-change lifecycle records. Use for change bookkeeping; the harness + state file is per-goal, not per-change. +- **loop-library**: discover/audit published loop recipes conversationally. This skill is the + executable enforcement of that vocabulary. +- **ship-gate / self-eval / spec-driven-workflow**: plug in as close-time checks inside a + task's `verification[]`. + +See [references/domain_harness_design.md](references/domain_harness_design.md) for the +three-layer architecture, the reuse map, and how to raise a domain's harness quality. diff --git a/engineering/agent-harness/skills/agent-harness/assets/harness_manifest.schema.json b/engineering/agent-harness/skills/agent-harness/assets/harness_manifest.schema.json new file mode 100644 index 00000000..d09dff3d --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harness_manifest.schema.json @@ -0,0 +1,65 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "agent-harness domain manifest (agent-harness/manifest.v1)", + "description": "Machine-readable inventory of one domain folder: every skill, its tools, its verification checks, and its agentic signals. Produced by harness_manifest_builder.py; consumed by goal_compiler.py. Regenerate after any skill change — never hand-edit.", + "type": "object", + "required": ["schema", "domain", "skill_count", "loop_defaults", "skills"], + "properties": { + "schema": { "const": "agent-harness/manifest.v1" }, + "domain": { "type": "string", "description": "Domain folder relative to repo root, e.g. 'engineering-team'." }, + "skill_count": { "type": "integer", "minimum": 0 }, + "generated_at": { "type": "string", "description": "UTC ISO-8601; omitted when built with --no-timestamp for diff-stable commits." }, + "loop_defaults": { + "type": "object", + "required": ["max_attempts_per_task", "max_loop_iterations", "escalate_on"], + "properties": { + "max_attempts_per_task": { "type": "integer", "minimum": 1 }, + "max_loop_iterations": { "type": "integer", "minimum": 1 }, + "escalate_on": { "type": "array", "items": { "type": "string" } } + } + }, + "skills": { + "type": "array", + "items": { + "type": "object", + "required": ["name", "path", "description", "tools", "agentic_signals"], + "properties": { + "name": { "type": "string" }, + "path": { "type": "string", "description": "Skill dir (contains SKILL.md) relative to repo root." }, + "description": { "type": "string", "maxLength": 600 }, + "tools": { + "type": "array", + "items": { + "type": "object", + "required": ["script", "wired", "supports_sample", "verification"], + "properties": { + "script": { "type": "string" }, + "wired": { "type": "boolean", "description": "True if the script basename appears in the skill's SKILL.md (A3 wiring)." }, + "supports_sample": { "type": "boolean" }, + "verification": { + "type": "array", + "items": { + "type": "object", + "required": ["cmd", "expect_exit", "kind"], + "properties": { + "cmd": { "type": "string" }, + "expect_exit": { "type": "integer" }, + "kind": { "enum": ["smoke", "sample", "manual-evidence"] } + } + } + } + } + } + }, + "agentic_signals": { + "type": "object", + "description": "Static evidence of agentic structure in SKILL.md (maps to audit dimensions AR1/AR4/AR5/AR6).", + "required": ["goal_intake", "refusal_gate", "verification", "loop_discipline", "close_out"], + "additionalProperties": { "type": "boolean" } + }, + "references": { "type": "array", "items": { "type": "string" } } + } + } + } + } +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/business-growth.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/business-growth.json new file mode 100644 index 00000000..d7402d0c --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/business-growth.json @@ -0,0 +1,220 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "business-growth", + "skill_count": 5, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "business-growth-skills", + "path": "business-growth/skills/business-growth-skills", + "description": "Router/index for the 4 business & growth skills bundled in this plugin: customer-success-manager (health scoring, churn risk, expansion), sales-engineer (RFP analysis, competitive matrices, PoC planning), revenue-operations (pipeline, forecast accuracy, GTM efficiency), and contract-and-proposal-writer. Use when a growth/revenue request doesn't obviously match one skill and you need to pick the right one (e.g., 'which accounts are at risk', 'should we bid on this RFP').", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "contract-and-proposal-writer", + "path": "business-growth/skills/contract-and-proposal-writer", + "description": "Generate professional, jurisdiction-aware business documents: freelance contracts, project proposals, SOWs, NDAs, and MSAs. Structured Markdown output with docx conversion instructions. Covers US (Delaware), EU (GDPR), UK, and DACH (German law) jurisdictions. Not a substitute for legal counsel \u2014 use as strong starting points. Use when drafting a freelance contract, preparing a client proposal, writing an SOW for a new engagement, or producing an NDA before sharing sensitive material.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "customer-success-manager", + "path": "business-growth/skills/customer-success-manager", + "description": "Monitors customer health, predicts churn risk, and identifies expansion opportunities using weighted scoring models for SaaS customer success. Use when analyzing customer accounts, reviewing retention metrics, scoring at-risk customers, or when the user mentions churn, customer health scores, upsell opportunities, expansion revenue, retention analysis, or customer analytics. Runs three Python CLI tools to produce deterministic health scores, churn risk tiers, and prioritized expansion recommendations across Enterprise, Mid-Market, and SMB segments.", + "tools": [ + { + "script": "business-growth/skills/customer-success-manager/scripts/churn_risk_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 business-growth/skills/customer-success-manager/scripts/churn_risk_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "business-growth/skills/customer-success-manager/scripts/expansion_opportunity_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 business-growth/skills/customer-success-manager/scripts/expansion_opportunity_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "business-growth/skills/customer-success-manager/scripts/health_score_calculator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-growth/skills/customer-success-manager/scripts/health_score_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-growth/skills/customer-success-manager/scripts/health_score_calculator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "cs-metrics-benchmarks.md", + "cs-playbooks.md", + "health-scoring-framework.md" + ] + }, + { + "name": "revenue-operations", + "path": "business-growth/skills/revenue-operations", + "description": "Analyzes sales pipeline health, revenue forecasting accuracy, and go-to-market efficiency metrics for SaaS revenue optimization. Use when analyzing sales pipeline coverage, forecasting revenue, evaluating go-to-market performance, reviewing sales metrics, assessing pipeline analysis, tracking forecast accuracy with MAPE, calculating GTM efficiency, or measuring sales efficiency and unit economics for SaaS teams.", + "tools": [ + { + "script": "business-growth/skills/revenue-operations/scripts/forecast_accuracy_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 business-growth/skills/revenue-operations/scripts/forecast_accuracy_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "business-growth/skills/revenue-operations/scripts/gtm_efficiency_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 business-growth/skills/revenue-operations/scripts/gtm_efficiency_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "business-growth/skills/revenue-operations/scripts/pipeline_analyzer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-growth/skills/revenue-operations/scripts/pipeline_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-growth/skills/revenue-operations/scripts/pipeline_analyzer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "gtm-efficiency-benchmarks.md", + "pipeline-management-framework.md", + "revops-metrics-guide.md" + ] + }, + { + "name": "sales-engineer", + "path": "business-growth/skills/sales-engineer", + "description": "Analyzes RFP/RFI responses for coverage gaps, builds competitive feature comparison matrices, and plans proof-of-concept (POC) engagements for pre-sales engineering. Use when responding to RFPs, bids, or proposal requests; comparing product features against competitors; planning or scoring a customer POC or sales demo; preparing a technical proposal; or performing win/loss competitor analysis. Handles tasks described as 'RFP response', 'bid response', 'proposal response', 'competitor comparison', 'feature matrix', 'POC planning', 'sales demo prep', or 'pre-sales engineering'.", + "tools": [ + { + "script": "business-growth/skills/sales-engineer/scripts/competitive_matrix_builder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 business-growth/skills/sales-engineer/scripts/competitive_matrix_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "business-growth/skills/sales-engineer/scripts/poc_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 business-growth/skills/sales-engineer/scripts/poc_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "business-growth/skills/sales-engineer/scripts/rfp_response_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 business-growth/skills/sales-engineer/scripts/rfp_response_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "competitive-positioning-framework.md", + "poc-best-practices.md", + "rfp-response-guide.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/business-operations.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/business-operations.json new file mode 100644 index 00000000..d79533ee --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/business-operations.json @@ -0,0 +1,451 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "business-operations", + "skill_count": 7, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "business-operations-skills", + "path": "business-operations/skills/business-operations-skills", + "description": "Use when running, diagnosing, or designing internal business operations \u2014 process documentation, vendor SLAs, capacity planning, internal comms, SOP/runbook authoring, procurement spend. Triggers on \"BizOps review\", \"where's the bottleneck\", \"vendor health\", \"internal SOP\", \"all-hands deck\", \"spend categorization\", \"capacity for Q3\", \"process mapping\". Forks context to route to one of six BizOps sub-skills (process-mapper, vendor-management, capacity-planner, internal-comms, knowledge-ops, procurement-optimizer) and returns a digest. Distinct from business-growth (external sales motion) and c-", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": true + }, + "references": [] + }, + { + "name": "capacity-planner", + "path": "business-operations/skills/capacity-planner", + "description": "Use when an ops leader (Director of CX, Head of Support, VP Ops, Head of BizOps, Head of IT ops, Head of Finance ops) is sizing ops capacity, building a headcount plan, modeling utilization risk, planning Q3 capacity or annual support capacity, or designing CS coverage \u2014 and needs Erlang-C queueing math, P90 demand sizing, shrinkage-adjusted FTE, manager-trigger thresholds, and a quarterly hiring sequence with ramp + attrition. Apply when sustained team utilization is above 80% or when the team is growing >50% in 12 months. Run before committing the headcount budget. This is NOT engineering ca", + "tools": [ + { + "script": "business-operations/skills/capacity-planner/scripts/capacity_modeler.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/capacity-planner/scripts/capacity_modeler.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/capacity-planner/scripts/capacity_modeler.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/capacity-planner/scripts/hiring_sequencer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/capacity-planner/scripts/hiring_sequencer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/capacity-planner/scripts/hiring_sequencer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/capacity-planner/scripts/utilization_analyzer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/capacity-planner/scripts/utilization_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/capacity-planner/scripts/utilization_analyzer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "capacity_anti_patterns.md", + "ops_workforce_planning_canon.md", + "queueing_theory_canon.md" + ] + }, + { + "name": "internal-comms", + "path": "business-operations/skills/internal-comms", + "description": "Use when a Head of People Ops, BizOps lead, or Internal Communications owner needs to draft and sequence an internal-only change-management communication \u2014 a re-org announcement, a tool rollout, a policy change, a leadership transition, a layoff, an acquisition close, or an internal product launch \u2014 and the audience is employees (not customers). Pairs Prosci ADKAR and Kotter's 8-step change model with deterministic stdlib-only Python tools to produce a sequenced touchpoint calendar, a Kotter-compliant primary announcement, an audience-segmented FAQ, and manager cascade talking points; industry", + "tools": [ + { + "script": "business-operations/skills/internal-comms/scripts/change_announcement_builder.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/internal-comms/scripts/change_announcement_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/internal-comms/scripts/change_announcement_builder.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/internal-comms/scripts/comms_calendar_builder.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/internal-comms/scripts/comms_calendar_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/internal-comms/scripts/comms_calendar_builder.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/internal-comms/scripts/comms_template_filler.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/internal-comms/scripts/comms_template_filler.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/internal-comms/scripts/comms_template_filler.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "announcement_anti_patterns.md", + "change_management_canon.md", + "internal_comms_canon.md" + ] + }, + { + "name": "knowledge-ops", + "path": "business-operations/skills/knowledge-ops", + "description": "Use when a Head of Ops, Knowledge Manager, or TPM-Internal needs to author, validate, or clean up company SOPs and internal runbooks (procurement intake, vendor offboarding, incident-comms cascade, employee onboarding) \u2014 including 5W2H completeness checks (Who-What-When-Where-Why-How-HowMuch), cross-link and orphan-page validation across a sprawling Notion/Confluence/Obsidian wiki, KB ingestion + hygiene reporting, and runbook step verification (named owner, expected duration, observable success signal, rollback path, escalation contact). Pairs Ishikawa's 5W2H method, Gawande's *The Checklist ", + "tools": [ + { + "script": "business-operations/skills/knowledge-ops/scripts/kb_ingester.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/knowledge-ops/scripts/kb_ingester.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/knowledge-ops/scripts/kb_ingester.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/knowledge-ops/scripts/runbook_validator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/knowledge-ops/scripts/runbook_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/knowledge-ops/scripts/runbook_validator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/knowledge-ops/scripts/sop_generator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/knowledge-ops/scripts/sop_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/knowledge-ops/scripts/sop_generator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "5w2h_sop_canon.md", + "kb_hygiene_anti_patterns.md", + "runbook_canon.md" + ] + }, + { + "name": "process-mapper", + "path": "business-operations/skills/process-mapper", + "description": "Use when a BizOps lead, COO, or process-improvement owner needs to document an end-to-end business process (procurement, employee onboarding, incident handoff, customer-onboarding, claims adjudication) in BPMN-style notation, measure cycle times by stage, surface where work spends most of its time waiting vs. being worked, and quantify the gap between processing time and total elapsed time. Pairs Lean / Six Sigma / Theory-of-Constraints canon with deterministic stdlib-only Python tools to produce a process map, a ranked bottleneck list (with severity + root-cause hypothesis), and a cycle-time ", + "tools": [ + { + "script": "business-operations/skills/process-mapper/scripts/bottleneck_detector.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/process-mapper/scripts/bottleneck_detector.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/process-mapper/scripts/bottleneck_detector.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/process-mapper/scripts/cycle_time_analyzer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/process-mapper/scripts/cycle_time_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/process-mapper/scripts/cycle_time_analyzer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/process-mapper/scripts/process_documenter.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/process-mapper/scripts/process_documenter.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/process-mapper/scripts/process_documenter.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "bottleneck_anti_patterns.md", + "bpmn_essentials.md", + "lean_six_sigma_canon.md" + ] + }, + { + "name": "procurement-optimizer", + "path": "business-operations/skills/procurement-optimizer", + "description": "Use when running an annual SaaS audit, doing category-level spend review, or rationalizing the supplier base \u2014 when the user needs a spend audit, spend categorization (UNSPSC-aligned with Pareto breakdown and industry profiles), purchasing-cycle analysis (bottleneck categories per Goldratt's Theory of Constraints), or risk-balanced supplier consolidation that refuses single-source recommendations for tier-1 categories without a documented break-glass plan. Triggers on \"spend audit\", \"SaaS audit\", \"spend categorization\", \"supplier rationalization\", \"supplier consolidation\", \"category strategy\",", + "tools": [ + { + "script": "business-operations/skills/procurement-optimizer/scripts/purchasing_cycle_analyzer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/purchasing_cycle_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/purchasing_cycle_analyzer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/procurement-optimizer/scripts/spend_categorizer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/spend_categorizer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/spend_categorizer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/procurement-optimizer/scripts/supplier_consolidation.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/supplier_consolidation.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/procurement-optimizer/scripts/supplier_consolidation.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "procurement_anti_patterns.md", + "saas_management_canon.md", + "spend_management_canon.md" + ] + }, + { + "name": "vendor-management", + "path": "business-operations/skills/vendor-management", + "description": "Use when reviewing, scoring, or auditing third-party SaaS / vendor relationships \u2014 running a vendor scorecard with industry tuning, tracking SLA compliance with credit-claim flags, classifying third-party risk across 4 risk vectors, preparing a tier-1 vendor review, or auditing the SaaS portfolio. Forks context so large vendor catalogs (50-500 line items) and SLA logs don't pollute the parent thread. Triggers on \"vendor SLA\", \"vendor scorecard\", \"third-party risk\", \"TPRM\", \"vendor review\", \"supplier performance\", \"vendor health check\", \"renewal review\".", + "tools": [ + { + "script": "business-operations/skills/vendor-management/scripts/sla_compliance_tracker.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/vendor-management/scripts/sla_compliance_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/vendor-management/scripts/sla_compliance_tracker.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/vendor-management/scripts/vendor_risk_classifier.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/vendor-management/scripts/vendor_risk_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/vendor-management/scripts/vendor_risk_classifier.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "business-operations/skills/vendor-management/scripts/vendor_scorer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 business-operations/skills/vendor-management/scripts/vendor_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 business-operations/skills/vendor-management/scripts/vendor_scorer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "sla_design_patterns.md", + "vendor_management_canon.md", + "vendor_risk_anti_patterns.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/c-level-advisor.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/c-level-advisor.json new file mode 100644 index 00000000..188434a9 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/c-level-advisor.json @@ -0,0 +1,1893 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "c-level-advisor", + "skill_count": 68, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "arquiteto-de-empresa", + "path": "c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa", + "description": "Arquiteto de Empresa: constr\u00f3i um neg\u00f3cio do zero como bundle OKF (Open Knowledge Format) \u2014 uma \u00e1rvore de arquivos .md version\u00e1veis com frontmatter type, links formando grafo, e index.md/log.md reservados, leg\u00edvel por humanos e por agentes. Conduz o fundador por uma entrevista de 12 fases (funda\u00e7\u00e3o, estrat\u00e9gia, mercado, financeiro, comercial, marketing, produto, opera\u00e7\u00f5es, tech, pessoas, jur\u00eddico, governan\u00e7a), uma fase por vez, poucas perguntas por bloco, e gera os conceitos como markdown conformante. Acione quando o usu\u00e1rio quiser criar, estruturar ou documentar uma empresa inteira em pastas ", + "tools": [ + { + "script": "c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa/scripts/index_generator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa/scripts/index_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa/scripts/index_generator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa/scripts/okf_linter.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa/scripts/okf_linter.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa/scripts/okf_linter.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa/scripts/scaffold_bundle.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa/scripts/scaffold_bundle.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 c-level-advisor/arquiteto-de-empresa/skills/arquiteto-de-empresa/scripts/scaffold_bundle.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "okf_conformance.md", + "phase_playbook.md", + "type_vocabulary.md" + ] + }, + { + "name": "boardroom", + "path": "c-level-advisor/c-level-agents/skills/boardroom", + "description": "/cs:boardroom \u2014 6-phase multi-role deliberation across the C-suite with Phase 2 isolation, critic pre-screen, and synthesis. Outputs a board memo. Use when a decision spans multiple executive domains \u2014 e.g. a pricing change touching finance, positioning, and product, or a raise-vs-cut runway call.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": true + }, + "references": [] + }, + { + "name": "brief", + "path": "c-level-advisor/c-level-agents/skills/brief", + "description": "/cs:brief \u2014 Generate a one-page strategy brief from an office-hours intake. First step in the strategic sprint pipeline. Use when a strategic question needs to be framed before boardroom deliberation \u2014 e.g. locking options, assumptions, and success criteria for a pricing change or a market-entry decision.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": true + }, + "references": [] + }, + { + "name": "c-level-agents", + "path": "c-level-advisor/c-level-agents/skills/c-level-agents", + "description": "Founder-mode executive team. 13 cs-* C-suite agents (CFO, CMO, CRO, CPO, COO, CHRO, CISO, GC, CDO, CAIO, CCO, VPE, Chief of Staff) and 21 /cs:* slash commands for forcing-question office hours, multi-role boardroom deliberation, strategic sprint pipeline, and meta routing. Use when the founder needs a virtual executive team, when invoking /cs:* commands, or when orchestrating multi-role decisions.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "caio-review", + "path": "c-level-advisor/c-level-agents/skills/caio-review", + "description": "/cs:caio-review \u2014 Eval-demanding Chief AI Officer interrogation of any plan that involves AI: model selection, risk classification, cost economics, or AI hiring. Use when shipping an AI feature without an eval set, choosing between API, fine-tune, and self-hosted, or classifying a use case under the EU AI Act.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "cco-review", + "path": "c-level-advisor/c-level-agents/skills/cco-review", + "description": "/cs:cco-review \u2014 Retention-obsessed Chief Customer Officer interrogation of any plan that touches customer retention, segmentation, CS team sizing, or CS team hiring. Use when gross retention is slipping, before approving CSM headcount, or when deciding which customer segments to keep or fire.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": true + }, + "references": [] + }, + { + "name": "cdo-review", + "path": "c-level-advisor/c-level-agents/skills/cdo-review", + "description": "/cs:cdo-review \u2014 Decision-driven Chief Data Officer interrogation of any plan that touches training data, data architecture, data productization, or data team hiring. Use when validating training-data rights before model work, choosing warehouse vs lakehouse vs mesh, or valuing data assets for productization or M&A.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "cfo-review", + "path": "c-level-advisor/c-level-agents/skills/cfo-review", + "description": "/cs:cfo-review \u2014 Numerate-skeptic interrogation of any plan that touches money. Unit economics, runway, dilution, capital allocation. Use when a plan commits meaningful spend \u2014 e.g. a hiring wave, a fundraise decision, or a new channel budget.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "ciso-review", + "path": "c-level-advisor/c-level-agents/skills/ciso-review", + "description": "/cs:ciso-review \u2014 Risk-paranoid interrogation of any plan that touches data, compliance, or production access. Use when launching features that handle customer data, before a SOC 2 / ISO audit, or after any incident or near-miss.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "cmo-review", + "path": "c-level-advisor/c-level-agents/skills/cmo-review", + "description": "/cs:cmo-review \u2014 Narrative-first interrogation of positioning, ICP, message house, and channel mix. Use when launching a campaign or repositioning, or when CAC is rising and the one-sentence positioning test fails.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "cpo-review", + "path": "c-level-advisor/c-level-agents/skills/cpo-review", + "description": "/cs:cpo-review \u2014 JTBD-driven interrogation of product roadmap, PMF signal, and portfolio focus. Use when committing a quarter's roadmap, deciding whether to kill a feature, or claiming PMF without a retention curve.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "cro-review", + "path": "c-level-advisor/c-level-agents/skills/cro-review", + "description": "/cs:cro-review \u2014 Pipeline-paranoid interrogation of revenue, win rate, NRR, and ramp time. Use when the forecast misses pipeline coverage, win rates drop, or before scaling the sales team.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "cross-eval", + "path": "c-level-advisor/c-level-agents/skills/cross-eval", + "description": "/cs:cross-eval \u2014 Multi-model consensus on a board memo or strategy brief. Claude + Codex + Gemini cross-review with graceful degradation. Use when a high-stakes memo needs an independent sanity check before the boardroom \u2014 e.g. a bet-the-company pivot or fundraise terms.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "cto-review", + "path": "c-level-advisor/c-level-agents/skills/cto-review", + "description": "/cs:cto-review \u2014 Architecture and scaling interrogation. Tech debt, scaling cliffs, team scaling, build-vs-buy. Use when committing to an architecture, planning for 10x load, or weighing a rebuild against a vendor.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "decide", + "path": "c-level-advisor/c-level-agents/skills/decide", + "description": "/cs:decide \u2014 Log a decision to two-layer memory via decision-logger. Approved memo becomes durable; raw transcripts kept for reference. Use when the founder has approved a boardroom memo and the decision must become durable company memory \u2014 e.g. right after /cs:boardroom concludes.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "execute", + "path": "c-level-advisor/c-level-agents/skills/execute", + "description": "/cs:execute \u2014 Generate a 90-day execution plan with weekly milestones, DRIs, and check-in cadence from an approved decision. Use when a logged decision needs to become an operating plan \u2014 e.g. turning an approved market-entry call into weekly milestones with DRIs.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "founder-mode", + "path": "c-level-advisor/c-level-agents/skills/founder-mode", + "description": "/cs:founder-mode \u2014 Auto-routes any founder question to the right C-role advisor or to /cs:boardroom for multi-role topics. The single-command entry point. Use when a founder asks any strategic question without knowing which advisor or command fits \u2014 e.g. 'runway pressure' routes to the CFO, 'gross retention dropped' routes to the CCO.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "freeze", + "path": "c-level-advisor/c-level-agents/skills/freeze", + "description": "/cs:freeze \u2014 Lock a strategic decision for a cooldown period to prevent impulse reversal. Mirrors gstack's safety primitives for the business layer. Use when an irreversible decision was made under pressure \u2014 e.g. a layoff plan or multi-year contract \u2014 and deserves a cooling-off lock before execution.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "gc-review", + "path": "c-level-advisor/c-level-agents/skills/gc-review", + "description": "/cs:gc-review \u2014 General Counsel interrogation of contracts, IP, regulatory, term sheets, and employment-law surface. Use when reviewing a term sheet before signing, redlining a customer MSA, or checking IP assignment and regulatory exposure on a new product.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "office-hours", + "path": "c-level-advisor/c-level-agents/skills/office-hours", + "description": "/cs:office-hours \u2014 YC-style 6-question founder interrogation before any advice. Forces clarity on problem, customer, distribution, defensibility, capital, and founder fit. Use when a founder question is too vague to route \u2014 e.g. 'should we grow faster?' \u2014 or before drafting a strategy brief.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "onboard", + "path": "c-level-advisor/c-level-agents/skills/onboard", + "description": "/cs:onboard \u2014 Founder interview that populates ~/.claude/company-context.md using the canonical 7-dimension cs-onboard schema. The first command to run when starting with c-level-agents. Use when setting up the virtual C-suite for a new company, or when advisors lack company context \u2014 e.g. before a first /cs:boardroom or after a fundraise changes the numbers.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "post-mortem", + "path": "c-level-advisor/c-level-agents/skills/post-mortem", + "description": "/cs:post-mortem \u2014 Honest retrospective on an executed decision, scored against original assumptions and dissent. Closes the strategic sprint loop. Use when a decision hits its 90-day review checkpoint or its kill criteria trigger \u2014 e.g. scoring last quarter's pricing change against its pre-committed success metrics.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "vpe-review", + "path": "c-level-advisor/c-level-agents/skills/vpe-review", + "description": "/cs:vpe-review \u2014 Throughput-first VP of Engineering interrogation of any plan that touches delivery, eng hiring, team structure, or production discipline. Use when cycle time balloons, DORA metrics slide, or before committing to an eng hiring wave or a reorg.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "chief-ai-officer-advisor", + "path": "c-level-advisor/chief-ai-officer-advisor/skills/chief-ai-officer-advisor", + "description": "Chief AI Officer advisory for startups: model build-vs-buy decisions (API vs fine-tune vs in-house), AI risk classification under EU AI Act + US state patchwork, AI cost economics (API-to-self-hosted breakeven), and AI team org evolution. Use when deciding whether to call an API or fine-tune, classifying AI use cases for regulatory risk, calculating when self-hosting pays off, sequencing AI hires, or when user mentions CAIO, AI strategy, model selection, foundation model, fine-tuning, EU AI Act, NIST AI RMF, AI governance, model risk, or AI economics. Strategic only \u2014 does not duplicate engine", + "tools": [ + { + "script": "c-level-advisor/chief-ai-officer-advisor/skills/chief-ai-officer-advisor/scripts/ai_cost_economics.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/chief-ai-officer-advisor/skills/chief-ai-officer-advisor/scripts/ai_cost_economics.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/chief-ai-officer-advisor/skills/chief-ai-officer-advisor/scripts/ai_risk_classifier.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/chief-ai-officer-advisor/skills/chief-ai-officer-advisor/scripts/ai_risk_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/chief-ai-officer-advisor/skills/chief-ai-officer-advisor/scripts/model_buildvsbuy_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/chief-ai-officer-advisor/skills/chief-ai-officer-advisor/scripts/model_buildvsbuy_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "ai_cost_economics.md", + "ai_risk_governance.md", + "ai_team_org_evolution.md", + "model_buildvsbuy_strategy.md" + ] + }, + { + "name": "chief-customer-officer-advisor", + "path": "c-level-advisor/chief-customer-officer-advisor/skills/chief-customer-officer-advisor", + "description": "Chief Customer Officer advisory for startups: retention decomposition (gross retention vs NRR honesty, churn root-cause taxonomy), customer segmentation strategy (differential investment across tiers + ICP fit scoring), CS team coverage model (pooled vs named CSM thresholds + ratio math), and CS team org evolution (CS vs Support vs AM distinctions). Use when designing retention strategy, segmenting customers for differential investment, sizing CS team, or sequencing CS hires. Strategic only \u2014 does not duplicate engineering/business-growth tactical skills.", + "tools": [ + { + "script": "c-level-advisor/chief-customer-officer-advisor/skills/chief-customer-officer-advisor/scripts/cs_coverage_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/chief-customer-officer-advisor/skills/chief-customer-officer-advisor/scripts/cs_coverage_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/chief-customer-officer-advisor/skills/chief-customer-officer-advisor/scripts/customer_segmentation_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/chief-customer-officer-advisor/skills/chief-customer-officer-advisor/scripts/customer_segmentation_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/chief-customer-officer-advisor/skills/chief-customer-officer-advisor/scripts/retention_decomposition_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/chief-customer-officer-advisor/skills/chief-customer-officer-advisor/scripts/retention_decomposition_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "cs_coverage_model.md", + "cs_team_org_evolution.md", + "customer_segmentation_strategy.md", + "retention_decomposition.md" + ] + }, + { + "name": "chief-data-officer-advisor", + "path": "c-level-advisor/chief-data-officer-advisor/skills/chief-data-officer-advisor", + "description": "Chief Data Officer advisory for startups: AI training data rights and consent provenance, data product strategy (warehouse vs lakehouse vs mesh, build-vs-buy), B2B customer-data-as-asset valuation and M&A readiness, data team org evolution. Use when deciding whether to train models on customer data, choosing data architecture, valuing data for fundraising or M&A, sequencing data hires, or when user mentions CDO, chief data officer, data strategy, data mesh, lakehouse, training data, data product, data monetization, or customer data asset. NOT a tactical data engineering skill \u2014 strategic decis", + "tools": [ + { + "script": "c-level-advisor/chief-data-officer-advisor/skills/chief-data-officer-advisor/scripts/ai_training_data_audit.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/chief-data-officer-advisor/skills/chief-data-officer-advisor/scripts/ai_training_data_audit.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/chief-data-officer-advisor/skills/chief-data-officer-advisor/scripts/data_asset_valuator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/chief-data-officer-advisor/skills/chief-data-officer-advisor/scripts/data_asset_valuator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/chief-data-officer-advisor/skills/chief-data-officer-advisor/scripts/data_product_strategy_picker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/chief-data-officer-advisor/skills/chief-data-officer-advisor/scripts/data_product_strategy_picker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "ai_training_data_rights.md", + "customer_data_as_asset.md", + "data_product_strategy.md", + "data_team_org_evolution.md" + ] + }, + { + "name": "board-prep", + "path": "c-level-advisor/executive-mentor/skills/board-prep", + "description": "Board meeting preparation for the adversarial scenario, not the friendly one. Forces numbers-cold mastery, anticipates hard questions, builds a narrative that acknowledges weakness without losing the room. Use when preparing for a board meeting, an investor update, fundraising presentation, or any high-stakes adversarial review where every number must live in your head not just on a slide.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "challenge", + "path": "c-level-advisor/executive-mentor/skills/challenge", + "description": "Pre-mortem plan analysis. Imagine the plan failed 12 months from now and work backwards to find the weaknesses. Surfaces assumptions, dependencies, and execution risks before committing resources. Use when before significant resource commitment, before presenting to a board or investors, when feedback has been one-sidedly positive, or when there is pressure to move fast and figure it out later.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "executive-mentor", + "path": "c-level-advisor/executive-mentor/skills/executive-mentor", + "description": "Adversarial thinking partner for founders and executives. Stress-tests plans, prepares for brutal board meetings, dissects decisions with no good options, and forces honest post-mortems. Use when you need someone to find the holes before the board does, make a decision you've been avoiding, or understand what actually went wrong.", + "tools": [ + { + "script": "c-level-advisor/executive-mentor/skills/executive-mentor/scripts/decision_matrix_scorer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 c-level-advisor/executive-mentor/skills/executive-mentor/scripts/decision_matrix_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 c-level-advisor/executive-mentor/skills/executive-mentor/scripts/decision_matrix_scorer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "c-level-advisor/executive-mentor/skills/executive-mentor/scripts/stakeholder_mapper.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 c-level-advisor/executive-mentor/skills/executive-mentor/scripts/stakeholder_mapper.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 c-level-advisor/executive-mentor/skills/executive-mentor/scripts/stakeholder_mapper.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "board_dynamics.md", + "crisis_playbook.md", + "hard_things.md" + ] + }, + { + "name": "hard-call", + "path": "c-level-advisor/executive-mentor/skills/hard-call", + "description": "/em:hard-call \u2014 Framework for decisions with no good options. Use when every option is painful and a structured 10/10/10 + regret-minimization pass is needed \u2014 e.g. choosing between a layoff and a down round, or killing a beloved product line.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "postmortem", + "path": "c-level-advisor/executive-mentor/skills/postmortem", + "description": "/em:postmortem \u2014 Honest analysis of what went wrong. Use after a failed launch, missed quarter, or bad hire to run a blameless 5-Whys retrospective with a change register \u2014 e.g. dissecting why the Q3 release slipped six weeks.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "stress-test", + "path": "c-level-advisor/executive-mentor/skills/stress-test", + "description": "/em:stress-test \u2014 Business assumption stress testing. Use before betting on a plan whose core assumptions are unvalidated \u2014 e.g. stress-testing 'enterprise buyers will tolerate a 6-month pilot' or a hockey-stick revenue model.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "general-counsel-advisor", + "path": "c-level-advisor/general-counsel-advisor/skills/general-counsel-advisor", + "description": "General Counsel advisory for startups: contract review (MSA, SaaS, NDA, DPA, employment), IP strategy, term sheet decoding, and regulatory landscape mapping. Use when reviewing any contract or term sheet, deciding when to engage outside counsel, defining IP strategy, evaluating regulatory exposure (HIPAA, GDPR, FDA, fintech), or when user mentions general counsel, GC, legal review, contract risk, term sheet, IP assignment, or regulatory exposure. NOT a substitute for licensed counsel \u2014 surfaces questions to bring to qualified attorneys.", + "tools": [ + { + "script": "c-level-advisor/general-counsel-advisor/skills/general-counsel-advisor/scripts/contract_risk_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/general-counsel-advisor/skills/general-counsel-advisor/scripts/contract_risk_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/general-counsel-advisor/skills/general-counsel-advisor/scripts/term_sheet_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/general-counsel-advisor/skills/general-counsel-advisor/scripts/term_sheet_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "contracts_playbook.md", + "ip_and_regulatory.md", + "term_sheet_decoder.md" + ] + }, + { + "name": "agent-protocol", + "path": "c-level-advisor/skills/agent-protocol", + "description": "Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, and response formats. Use when C-suite agents need to query each other, coordinate cross-functional analysis, or run board meetings with multiple agent roles.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "invocation-patterns.md" + ] + }, + { + "name": "arquiteto-de-empresa", + "path": "c-level-advisor/skills/arquiteto-de-empresa", + "description": "Arquiteto de Empresa: constr\u00f3i um neg\u00f3cio do zero como bundle OKF (Open Knowledge Format) \u2014 uma \u00e1rvore de arquivos .md version\u00e1veis com frontmatter type, links formando grafo, e index.md/log.md reservados, leg\u00edvel por humanos e por agentes. Conduz o fundador por uma entrevista de 12 fases (funda\u00e7\u00e3o, estrat\u00e9gia, mercado, financeiro, comercial, marketing, produto, opera\u00e7\u00f5es, tech, pessoas, jur\u00eddico, governan\u00e7a), uma fase por vez, poucas perguntas por bloco, e gera os conceitos como markdown conformante. Acione quando o usu\u00e1rio quiser criar, estruturar ou documentar uma empresa inteira em pastas ", + "tools": [ + { + "script": "c-level-advisor/skills/arquiteto-de-empresa/scripts/index_generator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/arquiteto-de-empresa/scripts/index_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 c-level-advisor/skills/arquiteto-de-empresa/scripts/index_generator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "c-level-advisor/skills/arquiteto-de-empresa/scripts/okf_linter.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/arquiteto-de-empresa/scripts/okf_linter.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 c-level-advisor/skills/arquiteto-de-empresa/scripts/okf_linter.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "c-level-advisor/skills/arquiteto-de-empresa/scripts/scaffold_bundle.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/arquiteto-de-empresa/scripts/scaffold_bundle.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 c-level-advisor/skills/arquiteto-de-empresa/scripts/scaffold_bundle.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "okf_conformance.md", + "phase_playbook.md", + "type_vocabulary.md" + ] + }, + { + "name": "board-deck-builder", + "path": "c-level-advisor/skills/board-deck-builder", + "description": "Assembles comprehensive board and investor update decks by pulling perspectives from all C-suite roles. Use when preparing board meetings, investor updates, quarterly business reviews, or fundraising narratives. Covers structure, narrative framework, bad news delivery, and common mistakes.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "deck-frameworks.md" + ] + }, + { + "name": "board-meeting", + "path": "c-level-advisor/skills/board-meeting", + "description": "Multi-agent board meeting protocol for strategic decisions. Runs a structured 6-phase deliberation: context loading, independent C-suite contributions (isolated, no cross-pollination), critic analysis, synthesis, founder review, and decision extraction. Use when the user invokes /cs:boardroom, calls a board meeting, or wants structured multi-perspective executive deliberation on a strategic question.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "meeting-facilitation.md" + ] + }, + { + "name": "c-level-skills", + "path": "c-level-advisor/skills/c-level-skills", + "description": "Index and router for the C-level advisory bundle: 33 skills covering 14 C-suite roles, orchestration, cross-cutting capabilities, and culture. Use when exploring what the c-level-advisor bundle contains, deciding which advisor skill fits a question, or finding the entry points (cs-onboard interview, chief-of-staff routing, board-meeting protocol).", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "ceo-advisor", + "path": "c-level-advisor/skills/ceo-advisor", + "description": "Executive leadership guidance for strategic decision-making, organizational development, and stakeholder management. Use when planning strategy, preparing board presentations, managing investors, developing organizational culture, making executive decisions, fundraising, or when user mentions CEO, strategic planning, board meetings, investor updates, organizational leadership, or executive strategy.", + "tools": [ + { + "script": "c-level-advisor/skills/ceo-advisor/scripts/financial_scenario_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/ceo-advisor/scripts/financial_scenario_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/ceo-advisor/scripts/strategy_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/ceo-advisor/scripts/strategy_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "board_governance_investor_relations.md", + "executive_decision_framework.md", + "leadership_organizational_culture.md" + ] + }, + { + "name": "cfo-advisor", + "path": "c-level-advisor/skills/cfo-advisor", + "description": "Financial leadership for startups and scaling companies. Financial modeling, unit economics, fundraising strategy, cash management, and board financial packages. Use when building financial models, analyzing unit economics, planning fundraising, managing cash runway, preparing board materials, or when user mentions CFO, burn rate, runway, fundraising, unit economics, LTV, CAC, term sheets, or financial strategy.", + "tools": [ + { + "script": "c-level-advisor/skills/cfo-advisor/scripts/burn_rate_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/cfo-advisor/scripts/burn_rate_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/cfo-advisor/scripts/fundraising_model.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/cfo-advisor/scripts/fundraising_model.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/cfo-advisor/scripts/unit_economics_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/cfo-advisor/scripts/unit_economics_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "cash_management.md", + "financial_planning.md", + "fundraising_playbook.md" + ] + }, + { + "name": "change-management", + "path": "c-level-advisor/skills/change-management", + "description": "Framework for rolling out organizational changes without chaos. Covers the ADKAR model adapted for startups, communication templates, resistance patterns, and change fatigue management. Handles process changes, org restructures, strategy pivots, and culture changes. Use when announcing a reorg, switching tools, pivoting strategy, killing a product, changing leadership, or when user mentions change management, change rollout, managing resistance, org change, reorg, or pivot communication.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "change-playbook.md" + ] + }, + { + "name": "chief-ai-officer-advisor", + "path": "c-level-advisor/skills/chief-ai-officer-advisor", + "description": "Chief AI Officer advisory for startups: model build-vs-buy decisions (API vs fine-tune vs in-house), AI risk classification under EU AI Act + US state patchwork, AI cost economics (API-to-self-hosted breakeven), and AI team org evolution. Use when deciding whether to call an API or fine-tune, classifying AI use cases for regulatory risk, calculating when self-hosting pays off, sequencing AI hires, or when user mentions CAIO, AI strategy, model selection, foundation model, fine-tuning, EU AI Act, NIST AI RMF, AI governance, model risk, or AI economics. Strategic only \u2014 does not duplicate engine", + "tools": [ + { + "script": "c-level-advisor/skills/chief-ai-officer-advisor/scripts/ai_cost_economics.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/chief-ai-officer-advisor/scripts/ai_cost_economics.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/chief-ai-officer-advisor/scripts/ai_risk_classifier.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/chief-ai-officer-advisor/scripts/ai_risk_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/chief-ai-officer-advisor/scripts/model_buildvsbuy_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/chief-ai-officer-advisor/scripts/model_buildvsbuy_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "ai_cost_economics.md", + "ai_risk_governance.md", + "ai_team_org_evolution.md", + "model_buildvsbuy_strategy.md" + ] + }, + { + "name": "chief-customer-officer-advisor", + "path": "c-level-advisor/skills/chief-customer-officer-advisor", + "description": "Chief Customer Officer advisory for startups: retention decomposition (gross retention vs NRR honesty, churn root-cause taxonomy), customer segmentation strategy (differential investment across tiers + ICP fit scoring), CS team coverage model (pooled vs named CSM thresholds + ratio math), and CS team org evolution (CS vs Support vs AM distinctions). Use when designing retention strategy, segmenting customers for differential investment, sizing CS team, or sequencing CS hires. Strategic only \u2014 does not duplicate engineering/business-growth tactical skills.", + "tools": [ + { + "script": "c-level-advisor/skills/chief-customer-officer-advisor/scripts/cs_coverage_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/chief-customer-officer-advisor/scripts/cs_coverage_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/chief-customer-officer-advisor/scripts/customer_segmentation_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/chief-customer-officer-advisor/scripts/customer_segmentation_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/chief-customer-officer-advisor/scripts/retention_decomposition_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/chief-customer-officer-advisor/scripts/retention_decomposition_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "cs_coverage_model.md", + "cs_team_org_evolution.md", + "customer_segmentation_strategy.md", + "retention_decomposition.md" + ] + }, + { + "name": "chief-data-officer-advisor", + "path": "c-level-advisor/skills/chief-data-officer-advisor", + "description": "Chief Data Officer advisory for startups: AI training data rights and consent provenance, data product strategy (warehouse vs lakehouse vs mesh, build-vs-buy), B2B customer-data-as-asset valuation and M&A readiness, data team org evolution. Use when deciding whether to train models on customer data, choosing data architecture, valuing data for fundraising or M&A, sequencing data hires, or when user mentions CDO, chief data officer, data strategy, data mesh, lakehouse, training data, data product, data monetization, or customer data asset. NOT a tactical data engineering skill \u2014 strategic decis", + "tools": [ + { + "script": "c-level-advisor/skills/chief-data-officer-advisor/scripts/ai_training_data_audit.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/chief-data-officer-advisor/scripts/ai_training_data_audit.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/chief-data-officer-advisor/scripts/data_asset_valuator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/chief-data-officer-advisor/scripts/data_asset_valuator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/chief-data-officer-advisor/scripts/data_product_strategy_picker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/chief-data-officer-advisor/scripts/data_product_strategy_picker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "ai_training_data_rights.md", + "customer_data_as_asset.md", + "data_product_strategy.md", + "data_team_org_evolution.md" + ] + }, + { + "name": "chief-of-staff", + "path": "c-level-advisor/skills/chief-of-staff", + "description": "C-suite orchestration layer. Routes founder questions to the right advisor role(s), triggers multi-role board meetings for complex decisions, synthesizes outputs, and tracks decisions. Every C-suite interaction starts here. Loads company context automatically. Use when a founder question needs routing to the right advisor \u2014 e.g. 'should we raise now or cut burn?' \u2014 or when a multi-domain decision needs a board meeting convened.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "routing-matrix.md", + "synthesis-framework.md" + ] + }, + { + "name": "chro-advisor", + "path": "c-level-advisor/skills/chro-advisor", + "description": "People leadership for scaling companies. Hiring strategy, compensation design, org structure, culture, and retention. Use when building hiring plans, designing comp frameworks, restructuring teams, managing performance, building culture, or when user mentions CHRO, HR, people strategy, talent, headcount, compensation, org design, retention, or performance management.", + "tools": [ + { + "script": "c-level-advisor/skills/chro-advisor/scripts/comp_benchmarker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/chro-advisor/scripts/comp_benchmarker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/chro-advisor/scripts/hiring_plan_modeler.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/chro-advisor/scripts/hiring_plan_modeler.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "comp_frameworks.md", + "org_design.md", + "people_strategy.md" + ] + }, + { + "name": "ciso-advisor", + "path": "c-level-advisor/skills/ciso-advisor", + "description": "Security leadership for growth-stage companies. Risk quantification in dollars, compliance roadmap (SOC 2/ISO 27001/HIPAA/GDPR), security architecture strategy, incident response leadership, and board-level security reporting. Use when building security programs, justifying security budget, selecting compliance frameworks, managing incidents, assessing vendor risk, or when user mentions CISO, security strategy, compliance roadmap, zero trust, or board security reporting.", + "tools": [ + { + "script": "c-level-advisor/skills/ciso-advisor/scripts/compliance_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/ciso-advisor/scripts/compliance_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/ciso-advisor/scripts/risk_quantifier.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/ciso-advisor/scripts/risk_quantifier.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "compliance_roadmap.md", + "incident_response.md", + "security_strategy.md" + ] + }, + { + "name": "cmo-advisor", + "path": "c-level-advisor/skills/cmo-advisor", + "description": "Marketing leadership for scaling companies. Brand positioning, growth model design, marketing budget allocation, and marketing org design. Use when designing brand strategy, selecting growth models (PLG vs sales-led vs community-led), allocating marketing budgets, building marketing teams, or when user mentions CMO, brand strategy, growth model, CAC, LTV, channel mix, or marketing ROI.", + "tools": [ + { + "script": "c-level-advisor/skills/cmo-advisor/scripts/growth_model_simulator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/cmo-advisor/scripts/growth_model_simulator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/cmo-advisor/scripts/marketing_budget_modeler.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/cmo-advisor/scripts/marketing_budget_modeler.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "brand_positioning.md", + "growth_frameworks.md", + "marketing_org.md" + ] + }, + { + "name": "company-os", + "path": "c-level-advisor/skills/company-os", + "description": "The meta-framework for how a company runs \u2014 the connective tissue between all C-suite roles. Covers operating system selection (EOS, Scaling Up, OKR-native, hybrid), accountability charts, scorecards, meeting pulse, issue resolution, and 90-day rocks. Use when setting up company operations, selecting a management framework, designing meeting rhythms, building accountability systems, implementing OKRs, or when user mentions EOS, Scaling Up, operating system, L10 meetings, rocks, scorecard, accountability chart, or quarterly planning.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "implementation-guide.md", + "os-comparison.md" + ] + }, + { + "name": "competitive-intel", + "path": "c-level-advisor/skills/competitive-intel", + "description": "Systematic competitor tracking that feeds CMO positioning, CRO battlecards, and CPO roadmap decisions. Use when analyzing competitors, building sales battlecards, tracking market moves, positioning against alternatives, or when user mentions competitive intelligence, competitive analysis, competitor research, battlecards, win/loss, or market positioning.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "ci-playbook.md" + ] + }, + { + "name": "context-engine", + "path": "c-level-advisor/skills/context-engine", + "description": "Loads and manages company context for all C-suite advisor skills. Reads ~/.claude/company-context.md, detects stale context (>90 days), enriches context during conversations, and enforces privacy/anonymization rules before external API calls. Use when starting any C-suite advisor session, when context looks stale or missing, or before sending company data to an external service.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "anonymization-protocol.md" + ] + }, + { + "name": "coo-advisor", + "path": "c-level-advisor/skills/coo-advisor", + "description": "Operations leadership for scaling companies. Process design, OKR execution, operational cadence, and scaling playbooks. Use when designing operations, setting up OKRs, building processes, scaling teams, analyzing bottlenecks, planning operational cadence, or when user mentions COO, operations, process improvement, OKRs, scaling, operational efficiency, or execution.", + "tools": [ + { + "script": "c-level-advisor/skills/coo-advisor/scripts/okr_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/coo-advisor/scripts/okr_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/coo-advisor/scripts/ops_efficiency_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/coo-advisor/scripts/ops_efficiency_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "ops_cadence.md", + "process_frameworks.md", + "scaling_playbook.md" + ] + }, + { + "name": "cpo-advisor", + "path": "c-level-advisor/skills/cpo-advisor", + "description": "Product leadership for scaling companies. Product vision, portfolio strategy, product-market fit, and product org design. Use when setting product vision, managing a product portfolio, measuring PMF, designing product teams, prioritizing at the portfolio level, reporting to the board on product, or when user mentions CPO, product strategy, product-market fit, product organization, portfolio prioritization, or roadmap strategy.", + "tools": [ + { + "script": "c-level-advisor/skills/cpo-advisor/scripts/pmf_scorer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/cpo-advisor/scripts/pmf_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 c-level-advisor/skills/cpo-advisor/scripts/pmf_scorer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "c-level-advisor/skills/cpo-advisor/scripts/portfolio_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/cpo-advisor/scripts/portfolio_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "pmf_playbook.md", + "product_org_design.md", + "product_strategy.md" + ] + }, + { + "name": "cro-advisor", + "path": "c-level-advisor/skills/cro-advisor", + "description": "Revenue leadership for B2B SaaS companies. Revenue forecasting, sales model design, pricing strategy, net revenue retention, and sales team scaling. Use when designing the revenue engine, setting quotas, modeling NRR, evaluating pricing, building board forecasts, or when user mentions CRO, chief revenue officer, revenue strategy, sales model, ARR growth, NRR, expansion revenue, churn, pricing strategy, or sales capacity.", + "tools": [ + { + "script": "c-level-advisor/skills/cro-advisor/scripts/churn_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/cro-advisor/scripts/churn_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/cro-advisor/scripts/revenue_forecast_model.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/cro-advisor/scripts/revenue_forecast_model.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "nrr_playbook.md", + "pricing_strategy.md", + "sales_playbook.md" + ] + }, + { + "name": "cs-onboard", + "path": "c-level-advisor/skills/cs-onboard", + "description": "Founder onboarding interview that captures company context across 7 dimensions. Invoke with /cs:setup for initial interview or /cs:update for quarterly refresh. Generates ~/.claude/company-context.md used by all C-suite advisor skills. Use when setting up the C-suite advisors for the first time, or when company context is missing or more than 90 days old \u2014 e.g. after a fundraise or pivot.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "interview-guide.md" + ] + }, + { + "name": "cto-advisor", + "path": "c-level-advisor/skills/cto-advisor", + "description": "Technical leadership guidance for engineering teams, architecture decisions, and technology strategy. Use when assessing technical debt, scaling engineering teams, evaluating technologies, making architecture decisions, establishing engineering metrics, or when user mentions CTO, tech debt, technical debt, team scaling, architecture decisions, technology evaluation, engineering metrics, DORA metrics, or technology strategy.", + "tools": [ + { + "script": "c-level-advisor/skills/cto-advisor/scripts/team_scaling_calculator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/cto-advisor/scripts/team_scaling_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 c-level-advisor/skills/cto-advisor/scripts/team_scaling_calculator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "c-level-advisor/skills/cto-advisor/scripts/tech_debt_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/cto-advisor/scripts/tech_debt_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "architecture_decision_records.md", + "engineering_metrics.md", + "technology_evaluation_framework.md" + ] + }, + { + "name": "culture-architect", + "path": "c-level-advisor/skills/culture-architect", + "description": "Build, measure, and evolve company culture as operational behavior \u2014 not wall posters. Covers mission/vision/values workshops, values-to-behaviors translation, culture code creation, culture health assessment, and cultural rituals by stage. Use when building company values, assessing culture health, designing cultural rituals, creating culture codes, handling culture clashes, or when user mentions culture, values, culture debt, founder culture, or culture code.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "culture-playbook.md" + ] + }, + { + "name": "decision-logger", + "path": "c-level-advisor/skills/decision-logger", + "description": "Two-layer memory architecture for board meeting decisions. Manages raw transcripts (Layer 1) and approved decisions (Layer 2). Use when logging decisions after a board meeting, reviewing past decisions with /cs:decisions, or checking overdue action items with /cs:review. Invoked automatically by the board-meeting skill after Phase 5 founder approval.", + "tools": [ + { + "script": "c-level-advisor/skills/decision-logger/scripts/decision_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/decision-logger/scripts/decision_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "founder-coach", + "path": "c-level-advisor/skills/founder-coach", + "description": "Personal leadership development for founders and first-time CEOs. Covers founder archetype identification, delegation frameworks, energy management, CEO calendar audits, leadership style evolution, blind spot identification, imposter syndrome, founder mental health, and succession planning. Use when a founder feels like the bottleneck, struggles to delegate, is burning out, transitioning from IC to executive, managing a board, or when user mentions founder mode, CEO growth, leadership development, delegation, burnout, or imposter syndrome.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "founder-toolkit.md", + "leadership-growth.md" + ] + }, + { + "name": "general-counsel-advisor", + "path": "c-level-advisor/skills/general-counsel-advisor", + "description": "General Counsel advisory for startups: contract review (MSA, SaaS, NDA, DPA, employment), IP strategy, term sheet decoding, and regulatory landscape mapping. Use when reviewing any contract or term sheet, deciding when to engage outside counsel, defining IP strategy, evaluating regulatory exposure (HIPAA, GDPR, FDA, fintech), or when user mentions general counsel, GC, legal review, contract risk, term sheet, IP assignment, or regulatory exposure. NOT a substitute for licensed counsel \u2014 surfaces questions to bring to qualified attorneys.", + "tools": [ + { + "script": "c-level-advisor/skills/general-counsel-advisor/scripts/contract_risk_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/general-counsel-advisor/scripts/contract_risk_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/general-counsel-advisor/scripts/term_sheet_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/general-counsel-advisor/scripts/term_sheet_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "contracts_playbook.md", + "ip_and_regulatory.md", + "term_sheet_decoder.md" + ] + }, + { + "name": "internal-narrative", + "path": "c-level-advisor/skills/internal-narrative", + "description": "Build and maintain one coherent company story across all audiences \u2014 employees, investors, customers, candidates, and partners. Detects narrative contradictions and ensures the same truth is framed for each audience's needs. Use when preparing investor updates, all-hands presentations, board communications, recruiting narratives, crisis communications, or when user mentions company narrative, messaging consistency, storytelling, all-hands, investor update, or crisis communication.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "narrative-frameworks.md" + ] + }, + { + "name": "intl-expansion", + "path": "c-level-advisor/skills/intl-expansion", + "description": "International market expansion strategy. Market selection, entry modes, localization, regulatory compliance, and go-to-market by region. Use when expanding to new countries, evaluating international markets, planning localization, or building regional teams.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "market-entry-playbook.md", + "regional-guide.md" + ] + }, + { + "name": "ma-playbook", + "path": "c-level-advisor/skills/ma-playbook", + "description": "M&A strategy for acquiring companies or being acquired. Due diligence, valuation, integration, and deal structure. Use when evaluating acquisitions, preparing for acquisition, M&A due diligence, integration planning, or deal negotiation.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "due-diligence-checklist.md", + "integration-playbook.md" + ] + }, + { + "name": "org-health-diagnostic", + "path": "c-level-advisor/skills/org-health-diagnostic", + "description": "Cross-functional organizational health check combining signals from all C-suite roles. Scores 8 dimensions on a traffic-light scale with drill-down recommendations. Use when assessing overall company health, preparing for board reviews, identifying at-risk functions, or when user mentions org health, health check, or health dashboard.", + "tools": [ + { + "script": "c-level-advisor/skills/org-health-diagnostic/scripts/health_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/org-health-diagnostic/scripts/health_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "health-benchmarks.md" + ] + }, + { + "name": "scenario-war-room", + "path": "c-level-advisor/skills/scenario-war-room", + "description": "Cross-functional what-if modeling for cascading multi-variable scenarios. Unlike single-assumption stress testing, this models compound adversity across all business functions simultaneously. Use when facing complex risk scenarios, strategic decisions with major downside, or when the user asks 'what if X AND Y both happen?", + "tools": [ + { + "script": "c-level-advisor/skills/scenario-war-room/scripts/scenario_modeler.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/scenario-war-room/scripts/scenario_modeler.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "scenario-planning.md" + ] + }, + { + "name": "strategic-alignment", + "path": "c-level-advisor/skills/strategic-alignment", + "description": "Cascades strategy from boardroom to individual contributor. Detects and fixes misalignment between company goals and team execution. Covers strategy articulation, cascade mapping, orphan goal detection, silo identification, communication gap analysis, and realignment protocols. Use when teams are pulling in different directions, OKRs don't connect, departments optimize locally at company expense, or when user mentions alignment, strategy cascade, silo, conflicting OKRs, or strategy communication.", + "tools": [ + { + "script": "c-level-advisor/skills/strategic-alignment/scripts/alignment_checker.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/strategic-alignment/scripts/alignment_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 c-level-advisor/skills/strategic-alignment/scripts/alignment_checker.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "alignment-playbook.md" + ] + }, + { + "name": "vpe-advisor", + "path": "c-level-advisor/skills/vpe-advisor", + "description": "VP of Engineering advisory for startups: delivery throughput (DORA 4 metrics + bottleneck identification), engineering hiring funnel (sourcing \u2192 screen \u2192 onsite \u2192 offer conversion + time-to-fill + pipeline gap), engineering team structure (squad/tribe/chapter design + tech-lead manager-trigger thresholds), and production discipline (on-call, deployment cadence, postmortem culture). Use when sprint velocity is dropping, eng hiring is broken, team structure is unclear, or deciding when to add a tech-lead manager. NOT a CTO skill (which owns architecture) \u2014 VPE owns delivery operations and how th", + "tools": [ + { + "script": "c-level-advisor/skills/vpe-advisor/scripts/delivery_throughput_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/vpe-advisor/scripts/delivery_throughput_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/vpe-advisor/scripts/eng_hiring_funnel_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/vpe-advisor/scripts/eng_hiring_funnel_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/skills/vpe-advisor/scripts/eng_team_structure_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/skills/vpe-advisor/scripts/eng_team_structure_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "delivery_throughput.md", + "eng_team_structure.md", + "engineering_hiring_funnel.md", + "production_discipline.md" + ] + }, + { + "name": "vpe-advisor", + "path": "c-level-advisor/vpe-advisor/skills/vpe-advisor", + "description": "VP of Engineering advisory for startups: delivery throughput (DORA 4 metrics + bottleneck identification), engineering hiring funnel (sourcing \u2192 screen \u2192 onsite \u2192 offer conversion + time-to-fill + pipeline gap), engineering team structure (squad/tribe/chapter design + tech-lead manager-trigger thresholds), and production discipline (on-call, deployment cadence, postmortem culture). Use when sprint velocity is dropping, eng hiring is broken, team structure is unclear, or deciding when to add a tech-lead manager. NOT a CTO skill (which owns architecture) \u2014 VPE owns delivery operations and how th", + "tools": [ + { + "script": "c-level-advisor/vpe-advisor/skills/vpe-advisor/scripts/delivery_throughput_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/vpe-advisor/skills/vpe-advisor/scripts/delivery_throughput_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/vpe-advisor/skills/vpe-advisor/scripts/eng_hiring_funnel_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/vpe-advisor/skills/vpe-advisor/scripts/eng_hiring_funnel_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "c-level-advisor/vpe-advisor/skills/vpe-advisor/scripts/eng_team_structure_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 c-level-advisor/vpe-advisor/skills/vpe-advisor/scripts/eng_team_structure_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "delivery_throughput.md", + "eng_team_structure.md", + "engineering_hiring_funnel.md", + "production_discipline.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/commercial.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/commercial.json new file mode 100644 index 00000000..e935a80c --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/commercial.json @@ -0,0 +1,521 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "commercial", + "skill_count": 8, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "channel-economics", + "path": "commercial/skills/channel-economics", + "description": "Use when reviewing or rebalancing direct vs. partner-led channel economics \u2014 computing fully-loaded cost-to-serve per channel, channel ROI with cash / LTV / marginal lenses, and optimal channel mix subject to constraints. For Head of Commercial, RevOps, and VP Sales doing quarterly channel review when pipeline is mixed (e.g., 60% direct + 40% partner-led) and nobody actually knows which channel makes money after CAC, support load, partner discount, deal-velocity differences, retention differential, and overhead allocation are all loaded in. Outputs cost to serve, channel ROI verdicts (DOUBLE-D", + "tools": [ + { + "script": "commercial/skills/channel-economics/scripts/channel_mix_optimizer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/channel-economics/scripts/channel_mix_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/channel-economics/scripts/channel_mix_optimizer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/channel-economics/scripts/channel_roi_analyzer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/channel-economics/scripts/channel_roi_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/channel-economics/scripts/channel_roi_analyzer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/channel-economics/scripts/cost_to_serve_calculator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/channel-economics/scripts/cost_to_serve_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/channel-economics/scripts/cost_to_serve_calculator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "channel_anti_patterns.md", + "channel_economics_canon.md", + "cost_to_serve_canon.md" + ] + }, + { + "name": "commercial-forecaster", + "path": "commercial/skills/commercial-forecaster", + "description": "Use when building a quarterly bookings forecast, ARR projection, pipeline forecast, NRR projection, or commit/best-case/pipe-only board number \u2014 especially when the CRO needs to walk the board through funnel math + cohort ARR + per-stage conversion assumptions without the theatre of a single undefended number. Decomposes pipeline into commit, best-case, and pipe-only tiers; projects cohort-level NRR/GRR to surface leaky cohorts before they show up in the consolidated number; scores per-stage funnel confidence so soft-floor stages get treated differently from high-confidence ones. Every output ", + "tools": [ + { + "script": "commercial/skills/commercial-forecaster/scripts/bookings_forecaster.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/commercial-forecaster/scripts/bookings_forecaster.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/commercial-forecaster/scripts/bookings_forecaster.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/commercial-forecaster/scripts/cohort_arr_projector.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/commercial-forecaster/scripts/cohort_arr_projector.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/commercial-forecaster/scripts/cohort_arr_projector.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/commercial-forecaster/scripts/funnel_confidence_scorer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/commercial-forecaster/scripts/funnel_confidence_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/commercial-forecaster/scripts/funnel_confidence_scorer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "cohort_analysis_canon.md", + "forecast_anti_patterns.md", + "saas_forecasting_canon.md" + ] + }, + { + "name": "commercial-policy", + "path": "commercial/skills/commercial-policy", + "description": "Use when designing or revising a company's commercial policy \u2014 the rules of engagement governing discounts off list price, approver thresholds, exception flows, and the deal framework that Deal Desk and AEs operate under. Covers discount matrix design (ARR band x term length x payment terms x strategic value), commercial policy design, exception policy, discount governance, approval thresholds, deal framework structure, and policy linting (contradictions, gaps, cliff edges, gaming surfaces). For Head of Commercial, Head of Deal Desk, VP Sales, or RevOps at the policy-design moment \u2014 NOT per-de", + "tools": [ + { + "script": "commercial/skills/commercial-policy/scripts/discount_matrix_builder.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/commercial-policy/scripts/discount_matrix_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/commercial-policy/scripts/discount_matrix_builder.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/commercial-policy/scripts/exception_router.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/commercial-policy/scripts/exception_router.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/commercial-policy/scripts/exception_router.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/commercial-policy/scripts/policy_linter.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/commercial-policy/scripts/policy_linter.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/commercial-policy/scripts/policy_linter.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "discount_governance_canon.md", + "policy_anti_patterns.md", + "policy_design_canon.md" + ] + }, + { + "name": "commercial-skills", + "path": "commercial/skills/commercial-skills", + "description": "Use when reviewing, approving, or designing commercial motion \u2014 pricing models, deal review, discount approval, partnership economics, channel mix, commercial policy, RFP/RFI response, bookings forecast. Triggers on \"review this deal\", \"should we discount\", \"pricing model\", \"partner economics\", \"RFP response\", \"bookings forecast\", \"channel mix\". Forks context to route to one of seven Commercial sub-skills (pricing-strategist, deal-desk, partnerships-architect, channel-economics, commercial-policy, rfp-responder, commercial-forecaster) and returns a digest. Distinct from business-growth (sales ", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "deal-desk", + "path": "commercial/skills/deal-desk", + "description": "Use when reviewing a specific inbound deal before close \u2014 when sales has asked for a discount that exceeds AE authority, when the customer has redlined the MSA, when per-deal economics (margin after discount, multi-year payment shape, indemnity exposure) need to be quantified, or when discount approval needs to be routed to a named human approver (Sales Director, VP Sales, CFO, CRO, General Counsel). Covers deal review, discount approval routing, per-deal margin scoring, deal exception handling, MSA redline triage, contract landmine detection (uncapped indemnity, MFN, perpetual license-back, m", + "tools": [ + { + "script": "commercial/skills/deal-desk/scripts/deal_scorer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/deal-desk/scripts/deal_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/deal-desk/scripts/deal_scorer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/deal-desk/scripts/discount_approval_router.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/deal-desk/scripts/discount_approval_router.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/deal-desk/scripts/discount_approval_router.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/deal-desk/scripts/terms_redliner.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/deal-desk/scripts/terms_redliner.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/deal-desk/scripts/terms_redliner.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "contract_landmines.md", + "deal_desk_canon.md", + "discount_economics.md" + ] + }, + { + "name": "partnerships-architect", + "path": "commercial/skills/partnerships-architect", + "description": "Use when a startup is approached by a prospective partner and someone has to decide should we sign this partner, at what partner tier (referral / reseller / OEM / SI-consulting / strategic alliance), with what joint GTM commitment, and at what revshare. Classifies partner tier from independent-demand evidence vs. preferential-terms hunting, designs a 90-day joint GTM plan, models revshare against direct-sale margin, and surfaces kill criteria for unwinding under-performing partnerships. For Head of Partnerships, Head of BD, and Founder-CEOs doing reseller agreement, OEM deal, or strategic alli", + "tools": [ + { + "script": "commercial/skills/partnerships-architect/scripts/joint_gtm_planner.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/partnerships-architect/scripts/joint_gtm_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/partnerships-architect/scripts/joint_gtm_planner.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/partnerships-architect/scripts/partner_tier_classifier.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/partnerships-architect/scripts/partner_tier_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/partnerships-architect/scripts/partner_tier_classifier.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/partnerships-architect/scripts/revshare_modeler.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/partnerships-architect/scripts/revshare_modeler.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/partnerships-architect/scripts/revshare_modeler.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "channel_partner_canon.md", + "joint_gtm_canon.md", + "partnership_anti_patterns.md" + ] + }, + { + "name": "pricing-strategist", + "path": "commercial/skills/pricing-strategist", + "description": "Use when designing or revisiting product pricing \u2014 selecting a pricing model (subscription seat-based, usage-based, value-based, freemium, or hybrid), running Van Westendorp Price Sensitivity Meter analysis on WTP survey data, or designing Good/Better/Best packaging tiers. Recommends a model and a price range with trade-offs, never a single number. For Commercial leads, Product Marketing, and CMOs at the pricing-design moment \u2014 not deal-by-deal discounting, not brand positioning.", + "tools": [ + { + "script": "commercial/skills/pricing-strategist/scripts/packaging_designer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/pricing-strategist/scripts/packaging_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/pricing-strategist/scripts/packaging_designer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/pricing-strategist/scripts/pricing_model_picker.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/pricing-strategist/scripts/pricing_model_picker.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/pricing-strategist/scripts/pricing_model_picker.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/pricing-strategist/scripts/wtp_analyzer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/pricing-strategist/scripts/wtp_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/pricing-strategist/scripts/wtp_analyzer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "packaging_anti_patterns.md", + "saas_pricing_canon.md", + "van_westendorp_methodology.md" + ] + }, + { + "name": "rfp-responder", + "path": "commercial/skills/rfp-responder", + "description": "Use when an RFP, RFI, RFQ, security questionnaire, vendor questionnaire, or proposal request arrives and the team needs a structured response \u2014 parsing multi-section buyer-dictated requirements (MANDATORY vs WEIGHTED vs NICE-TO-HAVE), building a Shipley-method proof-point matrix mapping each requirement to a verifiable proof point, articulating 3-5 win-themes that ladder up across requirements, and producing a Shipley-derived winrate estimate that informs a bid / no-bid / partner-bid recommendation. For Bid Managers, Proposal Leads, Directors of Sales, and Sales Engineers at the response-strat", + "tools": [ + { + "script": "commercial/skills/rfp-responder/scripts/response_drafter.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/rfp-responder/scripts/response_drafter.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/rfp-responder/scripts/response_drafter.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/rfp-responder/scripts/rfp_parser.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/rfp-responder/scripts/rfp_parser.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/rfp-responder/scripts/rfp_parser.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "commercial/skills/rfp-responder/scripts/winrate_predictor.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 commercial/skills/rfp-responder/scripts/winrate_predictor.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 commercial/skills/rfp-responder/scripts/winrate_predictor.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "rfp_anti_patterns.md", + "rfp_strategy_canon.md", + "shipley_method_canon.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/compliance-os.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/compliance-os.json new file mode 100644 index 00000000..2b3e6713 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/compliance-os.json @@ -0,0 +1,199 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "compliance-os", + "skill_count": 9, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "ai-act-readiness", + "path": "compliance-os/skills/ai-act-readiness", + "description": "/cs:ai-act-readiness \u2014 EU AI Act 6-question forcing interrogation. Use during AI-system intake, before EU deployment, or during annual compliance refresh as Article 113 obligations phase in (2025-02-02 / 2025-08-02 / 2026-08-02 / 2027-08-02).", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "aims-audit", + "path": "compliance-os/skills/aims-audit", + "description": "/cs:aims-audit \u2014 ISO/IEC 42001 AIMS internal-audit 6-question forcing interrogation. Use before certification stage 1, before annual internal audit cycles, or when onboarding a new AI system into an existing AIMS.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "compliance-os", + "path": "compliance-os/skills/compliance-os", + "description": "Compliance OS \u2014 meta-orchestrator that lets compliance teams CONFIGURE which frameworks apply, COMPUTE cross-framework control overlap, SIMULATE internal audits, and CONSOLIDATE evidence across multiple frameworks. Four decisions: (1) Given a company profile, which of the 12 supported frameworks apply (ISO 27001/13485/42001/14971, EU AI Act, MDR 745, GDPR, SOC 2, FDA QSR, NIST CSF 2.0, NIS2, HIPAA)? (2) Across selected frameworks, which controls overlap and how much evidence reuses? (3) For a given framework + scope, what does a realistic mock audit produce \u2014 drawing from the 205-scenario libr", + "tools": [ + { + "script": "compliance-os/skills/compliance-os/scripts/audit_simulator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 compliance-os/skills/compliance-os/scripts/audit_simulator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "compliance-os/skills/compliance-os/scripts/cross_framework_mapper.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 compliance-os/skills/compliance-os/scripts/cross_framework_mapper.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "compliance-os/skills/compliance-os/scripts/evidence_pool_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 compliance-os/skills/compliance-os/scripts/evidence_pool_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "compliance-os/skills/compliance-os/scripts/framework_selector.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 compliance-os/skills/compliance-os/scripts/framework_selector.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "audit_simulation_methodology.md", + "compliance_os_pattern.md", + "cross_framework_overlap.md", + "evidence_artifact_reuse_index.md", + "evidence_management.md", + "multi_framework_audit_playbook.md" + ] + }, + { + "name": "compliance-readiness", + "path": "compliance-os/skills/compliance-readiness", + "description": "/cs:compliance-readiness \u2014 Multi-framework compliance officer 6-question forcing interrogation of any compliance program. Use before starting a new framework, planning the annual audit calendar, or preparing for certification stage 1.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "fda-qsr-audit-prep", + "path": "compliance-os/skills/fda-qsr-audit-prep", + "description": "/cs:fda-qsr-audit-prep \u2014 FDA 21 CFR 820 (QSR / QMSR) audit 6-question forcing interrogation. Post-Feb 2026 substantially harmonized with ISO 13485. Use before annual internal QSR audit, pre-FDA-inspection readiness, or Form 483 response.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "gdpr-audit-prep", + "path": "compliance-os/skills/gdpr-audit-prep", + "description": "/cs:gdpr-audit-prep \u2014 GDPR audit 6-question Article-cited forcing interrogation. Use before annual internal GDPR review, post-breach internal audit, DPA investigation readiness, or acquisition due diligence.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "iso13485-audit-prep", + "path": "compliance-os/skills/iso13485-audit-prep", + "description": "/cs:iso13485-audit-prep \u2014 ISO 13485 QMS audit 6-question forcing interrogation. Design controls + CAPA + post-market focused. Use before Clause 8.2.4 internal audit, MDR / FDA QSR alignment review, or product-launch DHF closure audit.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "iso27001-audit-prep", + "path": "compliance-os/skills/iso27001-audit-prep", + "description": "/cs:iso27001-audit-prep \u2014 ISO 27001 ISMS audit readiness 6-question forcing interrogation. Use before annual Clause 9.2 internal audit, surveillance audit prep, or stage 1 certification readiness.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "soc2-audit-prep", + "path": "compliance-os/skills/soc2-audit-prep", + "description": "/cs:soc2-audit-prep \u2014 SOC 2 Type II readiness 6-question forcing interrogation. Observation-period focused. Use before Type II observation begins, mid-period checkpoint, or pre-field-test month-10 readiness.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/engineering-team.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/engineering-team.json new file mode 100644 index 00000000..d5d3b205 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/engineering-team.json @@ -0,0 +1,2022 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "engineering-team", + "skill_count": 52, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "a11y-audit", + "path": "engineering-team/a11y-audit/skills/a11y-audit", + "description": "Accessibility audit skill for scanning, fixing, and verifying WCAG 2.2 Level A and AA compliance across React, Next.js, Vue, Angular, Svelte, and plain HTML codebases. Use when auditing accessibility, fixing a11y violations, checking color contrast, generating compliance reports, or integrating accessibility checks into CI/CD pipelines.", + "tools": [ + { + "script": "engineering-team/a11y-audit/skills/a11y-audit/scripts/a11y_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/a11y-audit/skills/a11y-audit/scripts/a11y_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/a11y-audit/skills/a11y-audit/scripts/contrast_checker.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering-team/a11y-audit/skills/a11y-audit/scripts/contrast_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering-team/a11y-audit/skills/a11y-audit/scripts/contrast_checker.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "aria-patterns.md", + "audit-report-template.md", + "ci-cd-integration.md", + "color-contrast-guide.md", + "examples-by-framework.md", + "framework-a11y-patterns.md", + "testing-checklist.md", + "wcag-22-new-criteria.md", + "wcag-quick-ref.md" + ] + }, + { + "name": "google-workspace-cli", + "path": "engineering-team/google-workspace-cli/skills/google-workspace-cli", + "description": "Google Workspace administration via the gws CLI (github.com/googleworkspace/cli). Install, authenticate, and automate Gmail, Drive, Sheets, Calendar, Docs, Chat, and Tasks. Run security audits and use local recipe templates and persona bundles. Use for Google Workspace admin, gws CLI setup, Gmail automation, Drive management, or Calendar scheduling.", + "tools": [ + { + "script": "engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/auth_setup_guide.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/auth_setup_guide.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/gws_doctor.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/gws_doctor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/gws_recipe_runner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/gws_recipe_runner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/output_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/output_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/workspace_audit.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/google-workspace-cli/skills/google-workspace-cli/scripts/workspace_audit.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "gws-command-reference.md", + "recipes-cookbook.md", + "troubleshooting.md" + ] + }, + { + "name": "browserstack", + "path": "engineering-team/playwright-pro/skills/browserstack", + "description": ">- Run tests on BrowserStack. Use when user mentions \"browserstack\", \"cross-browser\", \"cloud testing\", \"browser matrix\", \"test on safari\", \"test on firefox\", or \"browser compatibility\".", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "coverage", + "path": "engineering-team/playwright-pro/skills/coverage", + "description": ">- Analyze test coverage gaps. Use when user says \"test coverage\", \"what's not tested\", \"coverage gaps\", \"missing tests\", \"coverage report\", or \"what needs testing\".", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "fix", + "path": "engineering-team/playwright-pro/skills/fix", + "description": ">- Fix failing or flaky Playwright tests. Use when user says \"fix test\", \"flaky test\", \"test failing\", \"debug test\", \"test broken\", \"test passes sometimes\", or \"intermittent failure\".", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "generate", + "path": "engineering-team/playwright-pro/skills/generate", + "description": ">- Generate Playwright tests. Use when user says \"write tests\", \"generate tests\", \"add tests for\", \"test this component\", \"e2e test\", \"create test for\", \"test this page\", or \"test this feature\".", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "init", + "path": "engineering-team/playwright-pro/skills/init", + "description": ">- Set up Playwright in a project. Use when user says \"set up playwright\", \"add e2e tests\", \"configure playwright\", \"testing setup\", \"init playwright\", or \"add test infrastructure\".", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "migrate", + "path": "engineering-team/playwright-pro/skills/migrate", + "description": ">- Migrate from Cypress or Selenium to Playwright. Use when user mentions \"cypress\", \"selenium\", \"migrate tests\", \"convert tests\", \"switch to playwright\", \"move from cypress\", or \"replace selenium\".", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "playwright-pro", + "path": "engineering-team/playwright-pro/skills/pw", + "description": "Production-grade Playwright testing toolkit. Use when the user mentions Playwright tests, end-to-end testing, browser automation, fixing flaky tests, test migration, CI/CD testing, or test suites. Generate tests, fix flaky failures, migrate from Cypress/Selenium, sync with TestRail, run on BrowserStack. 55 templates, 3 agents, smart reporting.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "report", + "path": "engineering-team/playwright-pro/skills/report", + "description": ">- Generate test report. Use when user says \"test report\", \"results summary\", \"test status\", \"show results\", \"test dashboard\", or \"how did tests go\".", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "review", + "path": "engineering-team/playwright-pro/skills/review", + "description": ">- Review Playwright tests for quality. Use when user says \"review tests\", \"check test quality\", \"audit tests\", \"improve tests\", \"test code review\", or \"playwright best practices check\".", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "testrail", + "path": "engineering-team/playwright-pro/skills/testrail", + "description": ">- Sync tests with TestRail. Use when user mentions \"testrail\", \"test management\", \"test cases\", \"test run\", \"sync test cases\", \"push results to testrail\", or \"import from testrail\".", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "extract", + "path": "engineering-team/self-improving-agent/skills/extract", + "description": "Turn a proven pattern or debugging solution into a standalone reusable skill with SKILL.md, reference docs, and examples. Use when the user runs /si:extract or asks to package a recurring solution from memory into a skill.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "promote", + "path": "engineering-team/self-improving-agent/skills/promote", + "description": "Graduate a proven pattern from auto-memory (MEMORY.md) to CLAUDE.md or .claude/rules/ for permanent enforcement. Use when the user runs /si:promote or asks to make a learned behavior permanent.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "remember", + "path": "engineering-team/self-improving-agent/skills/remember", + "description": "Explicitly save important knowledge to auto-memory with timestamp and context. Use when a discovery is too important to rely on auto-capture.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "review", + "path": "engineering-team/self-improving-agent/skills/review", + "description": "Analyze auto-memory for promotion candidates, stale entries, consolidation opportunities, and health metrics. Use when the user runs /si:review or asks what has been learned and what should be promoted or pruned.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "self-improving-agent", + "path": "engineering-team/self-improving-agent/skills/self-improving-agent", + "description": "Curate Claude Code's auto-memory into durable project knowledge. Analyze MEMORY.md for patterns, promote proven learnings to CLAUDE.md and .claude/rules/, extract recurring solutions into reusable skills. Use when: (1) reviewing what Claude has learned about your project, (2) graduating a pattern from notes to enforced rules, (3) turning a debugging solution into a skill, (4) checking memory health and capacity.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "status", + "path": "engineering-team/self-improving-agent/skills/status", + "description": "Memory health dashboard showing line counts, topic files, capacity, stale entries, and recommendations. Use when the user runs /si:status or asks how full or healthy the agent memory is.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "adversarial-reviewer", + "path": "engineering-team/skills/adversarial-reviewer", + "description": "Adversarial code review that breaks the self-review monoculture. Use when you want a genuinely critical review of recent changes, before merging a PR, or when you suspect Claude is being too agreeable about code quality. Forces perspective shifts through hostile reviewer personas that catch blind spots the author's mental model shares with the reviewer.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "ai-security", + "path": "engineering-team/skills/ai-security", + "description": "Use when assessing AI/ML systems for prompt injection, jailbreak vulnerabilities, model inversion risk, data poisoning exposure, or agent tool abuse. Covers MITRE ATLAS technique mapping, injection signature detection, and adversarial robustness scoring.", + "tools": [ + { + "script": "engineering-team/skills/ai-security/scripts/ai_threat_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/ai-security/scripts/ai_threat_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "atlas-coverage.md" + ] + }, + { + "name": "aws-solution-architect", + "path": "engineering-team/skills/aws-solution-architect", + "description": "Design AWS architectures for startups using serverless patterns and IaC templates. Use when asked to design serverless architecture, create CloudFormation templates, optimize AWS costs, set up CI/CD pipelines, or migrate to AWS. Covers Lambda, API Gateway, DynamoDB, ECS, Aurora, and cost optimization.", + "tools": [ + { + "script": "engineering-team/skills/aws-solution-architect/scripts/architecture_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/aws-solution-architect/scripts/architecture_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/aws-solution-architect/scripts/cost_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/aws-solution-architect/scripts/cost_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/aws-solution-architect/scripts/serverless_stack.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/aws-solution-architect/scripts/serverless_stack.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "architecture_patterns.md", + "best_practices.md", + "service_selection.md" + ] + }, + { + "name": "azure-cloud-architect", + "path": "engineering-team/skills/azure-cloud-architect", + "description": "Design Azure architectures for startups and enterprises. Use when asked to design Azure infrastructure, create Bicep/ARM templates, optimize Azure costs, set up Azure DevOps pipelines, or migrate to Azure. Covers AKS, App Service, Azure Functions, Cosmos DB, and cost optimization.", + "tools": [ + { + "script": "engineering-team/skills/azure-cloud-architect/scripts/architecture_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/azure-cloud-architect/scripts/architecture_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/azure-cloud-architect/scripts/bicep_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/azure-cloud-architect/scripts/bicep_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/azure-cloud-architect/scripts/cost_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/azure-cloud-architect/scripts/cost_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "architecture_patterns.md", + "best_practices.md", + "service_selection.md" + ] + }, + { + "name": "cloud-security", + "path": "engineering-team/skills/cloud-security", + "description": "Use when assessing cloud infrastructure for security misconfigurations, IAM privilege escalation paths, S3 public exposure, open security group rules, or IaC security gaps. Covers AWS, Azure, and GCP posture assessment with MITRE ATT&CK mapping.", + "tools": [ + { + "script": "engineering-team/skills/cloud-security/scripts/cloud_posture_check.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/cloud-security/scripts/cloud_posture_check.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "cspm-checks.md" + ] + }, + { + "name": "code-reviewer", + "path": "engineering-team/skills/code-reviewer", + "description": "Code review automation for TypeScript, JavaScript, Python, Go, Swift, Kotlin, C#, .NET, Java, C, C++, Rust, Ruby, PHP, and Dart/Flutter. Analyzes PRs for complexity and risk, checks code quality for SOLID violations and code smells, generates review reports. Use when reviewing pull requests, analyzing code quality, identifying issues, generating review checklists.", + "tools": [ + { + "script": "engineering-team/skills/code-reviewer/scripts/code_quality_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/code-reviewer/scripts/code_quality_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/code-reviewer/scripts/pr_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/code-reviewer/scripts/pr_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/code-reviewer/scripts/review_report_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/code-reviewer/scripts/review_report_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "email-template-builder", + "path": "engineering-team/skills/email-template-builder", + "description": "Build complete transactional email systems: React Email templates, provider integration (Resend, Postmark, SendGrid, AWS SES), preview server, i18n support, dark mode, spam optimization, analytics tracking. Use when adding transactional email to a new product, migrating between email providers, refactoring legacy email templates for accessibility, or adding internationalization to existing templates.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "engineering-skills", + "path": "engineering-team/skills/engineering-skills", + "description": "Index of the engineering-team skills bundle for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw, and 6 more tools. Architecture, frontend, backend, QA, DevOps, security, AI/ML, data engineering, Playwright, Stripe, AWS, MS365 (stdlib-only Python tools). Use when browsing or choosing among engineering-team role skills \u2014 load only the one specialist SKILL.md you need, never bulk-load the bundle.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "epic-design", + "path": "engineering-team/skills/epic-design", + "description": "> Build immersive, cinematic 2.5D interactive websites using scroll storytelling, parallax depth, text animations, and premium scroll effects \u2014 no WebGL required. Use this skill for any web design task: landing pages, product sites, hero sections, scroll animations, parallax, sticky sections, section overlaps, floating products between sections, clip-path reveals, text that flies in from sides, words that light up on scroll, curtain drops, iris opens, card stacks, bleed typography, and any site that should feel cinematic or premium. Trigger on phrases like \"make it feel alive\", \"Apple-style an", + "tools": [ + { + "script": "engineering-team/skills/epic-design/scripts/inspect-assets.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/epic-design/scripts/inspect-assets.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "accessibility.md", + "asset-pipeline.md", + "depth-system.md", + "directional-reveals.md", + "examples.md", + "inter-section-effects.md", + "motion-system.md", + "performance.md", + "text-animations.md" + ] + }, + { + "name": "gcp-cloud-architect", + "path": "engineering-team/skills/gcp-cloud-architect", + "description": "Design GCP architectures for startups and enterprises. Use when asked to design Google Cloud infrastructure, deploy to GKE or Cloud Run, configure BigQuery pipelines, optimize GCP costs, or migrate to GCP. Covers Cloud Run, GKE, Cloud Functions, Cloud SQL, BigQuery, and cost optimization.", + "tools": [ + { + "script": "engineering-team/skills/gcp-cloud-architect/scripts/architecture_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/gcp-cloud-architect/scripts/architecture_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/gcp-cloud-architect/scripts/cost_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/gcp-cloud-architect/scripts/cost_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/gcp-cloud-architect/scripts/deployment_manager.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/gcp-cloud-architect/scripts/deployment_manager.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "architecture_patterns.md", + "best_practices.md", + "service_selection.md" + ] + }, + { + "name": "incident-commander", + "path": "engineering-team/skills/incident-commander", + "description": "Comprehensive incident response framework from detection through resolution and post-incident review. Battle-tested SRE/DevOps practices: severity classification, timeline reconstruction, structured post-incident analysis. Use when declaring an incident, coordinating multi-team response during an outage, leading a post-mortem, or setting up on-call practices for a new service.", + "tools": [ + { + "script": "engineering-team/skills/incident-commander/scripts/incident_classifier.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/incident-commander/scripts/incident_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/incident-commander/scripts/pir_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/incident-commander/scripts/pir_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/incident-commander/scripts/timeline_reconstructor.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/incident-commander/scripts/timeline_reconstructor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "communication_templates.md", + "incident-response-framework.md", + "incident_severity_matrix.md", + "rca_frameworks_guide.md", + "reference-information.md", + "sla-management-guide.md" + ] + }, + { + "name": "incident-response", + "path": "engineering-team/skills/incident-response", + "description": "Use when a security incident has been detected or declared and needs classification, triage, escalation path determination, and forensic evidence collection. Covers SEV1-SEV4 classification, false positive filtering, incident taxonomy, and NIST SP 800-61 lifecycle.", + "tools": [ + { + "script": "engineering-team/skills/incident-response/scripts/incident_triage.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering-team/skills/incident-response/scripts/incident_triage.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering-team/skills/incident-response/scripts/incident_triage.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "regulatory-deadlines.md" + ] + }, + { + "name": "ms365-tenant-manager", + "path": "engineering-team/skills/ms365-tenant-manager", + "description": "Microsoft 365 tenant administration for Global Administrators. Automate M365 tenant setup, Office 365 admin tasks, Azure AD user management, Exchange Online configuration, Teams administration, and security policies. Generate PowerShell scripts for bulk operations, Conditional Access policies, license management, and compliance reporting. Use for M365 tenant manager, Office 365 admin, Azure AD users, Global Administrator, tenant configuration, or Microsoft 365 automation.", + "tools": [ + { + "script": "engineering-team/skills/ms365-tenant-manager/scripts/powershell_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/ms365-tenant-manager/scripts/powershell_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/ms365-tenant-manager/scripts/tenant_setup.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/ms365-tenant-manager/scripts/tenant_setup.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/ms365-tenant-manager/scripts/user_management.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/ms365-tenant-manager/scripts/user_management.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "powershell-templates.md", + "security-policies.md", + "troubleshooting.md" + ] + }, + { + "name": "named-persona-adversarial-review", + "path": "engineering-team/skills/named-persona-adversarial-review", + "description": "Code review through the lens of real engineers' documented philosophies (Torvalds, Thompson, Carmack, Kent Beck, Jobs, Cagan). Complements abstract-role adversarial review with named, sourced perspectives. Use when automated review findings feel generic, when a PR has architectural or UX impact, or when the author wants pre-submit hardening beyond standard checks.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "persona_principles.md" + ] + }, + { + "name": "red-team", + "path": "engineering-team/skills/red-team", + "description": "Use when planning or executing authorized red team engagements, attack path analysis, or offensive security simulations. Covers MITRE ATT&CK kill-chain planning, technique scoring, choke point identification, OPSEC risk assessment, and crown jewel targeting.", + "tools": [ + { + "script": "engineering-team/skills/red-team/scripts/engagement_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/red-team/scripts/engagement_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "attack-path-methodology.md" + ] + }, + { + "name": "security-pen-testing", + "path": "engineering-team/skills/security-pen-testing", + "description": "Use when the user asks to perform security audits, penetration testing, vulnerability scanning, OWASP Top 10 checks, or offensive security assessments. Covers static analysis, dependency scanning, secret detection, API security testing, and pen test report generation.", + "tools": [ + { + "script": "engineering-team/skills/security-pen-testing/scripts/dependency_auditor.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/security-pen-testing/scripts/dependency_auditor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/security-pen-testing/scripts/pentest_report_generator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering-team/skills/security-pen-testing/scripts/pentest_report_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering-team/skills/security-pen-testing/scripts/pentest_report_generator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering-team/skills/security-pen-testing/scripts/vulnerability_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/security-pen-testing/scripts/vulnerability_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "attack_patterns.md", + "owasp_top_10_checklist.md", + "responsible_disclosure.md" + ] + }, + { + "name": "senior-architect", + "path": "engineering-team/skills/senior-architect", + "description": "This skill should be used when the user asks to \"design system architecture\", \"evaluate microservices vs monolith\", \"create architecture diagrams\", \"analyze dependencies\", \"choose a database\", \"plan for scalability\", \"make technical decisions\", or \"review system design\". Use for architecture decision records (ADRs), tech stack evaluation, system design reviews, dependency analysis, and generating architecture diagrams in Mermaid, PlantUML, or ASCII format.", + "tools": [ + { + "script": "engineering-team/skills/senior-architect/scripts/architecture_diagram_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-architect/scripts/architecture_diagram_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-architect/scripts/dependency_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-architect/scripts/dependency_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-architect/scripts/project_architect.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-architect/scripts/project_architect.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "architecture_patterns.md", + "system_design_workflows.md", + "tech_decision_guide.md" + ] + }, + { + "name": "senior-backend", + "path": "engineering-team/skills/senior-backend", + "description": "Designs and implements backend systems including REST APIs, microservices, database architectures, authentication flows, and security hardening. Use when the user asks to \"design REST APIs\", \"optimize database queries\", \"implement authentication\", \"build microservices\", \"review backend code\", \"set up GraphQL\", \"handle database migrations\", or \"load test APIs\". Covers Node.js/Express/Fastify development, PostgreSQL optimization, API security, and backend architecture patterns.", + "tools": [ + { + "script": "engineering-team/skills/senior-backend/scripts/api_load_tester.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-backend/scripts/api_load_tester.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-backend/scripts/api_scaffolder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-backend/scripts/api_scaffolder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-backend/scripts/backend_decision_engine.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-backend/scripts/backend_decision_engine.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering-team/skills/senior-backend/scripts/backend_decision_engine.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering-team/skills/senior-backend/scripts/database_migration_tool.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-backend/scripts/database_migration_tool.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "api_design_patterns.md", + "backend_security_practices.md", + "composition_map.md", + "database_optimization_guide.md", + "forcing_questions.md" + ] + }, + { + "name": "senior-computer-vision", + "path": "engineering-team/skills/senior-computer-vision", + "description": "Computer vision engineering skill for object detection, image segmentation, and visual AI systems. Covers CNN and Vision Transformer architectures, YOLO/Faster R-CNN/DETR detection, Mask R-CNN/SAM segmentation, and production deployment with ONNX/TensorRT. Includes PyTorch, torchvision, Ultralytics, Detectron2, and MMDetection frameworks. Use when building detection pipelines, training custom models, optimizing inference, or deploying vision systems.", + "tools": [ + { + "script": "engineering-team/skills/senior-computer-vision/scripts/dataset_pipeline_builder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-computer-vision/scripts/dataset_pipeline_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-computer-vision/scripts/inference_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-computer-vision/scripts/inference_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-computer-vision/scripts/vision_model_trainer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-computer-vision/scripts/vision_model_trainer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "computer_vision_architectures.md", + "object_detection_optimization.md", + "production_vision_systems.md", + "reference-docs-and-commands.md" + ] + }, + { + "name": "senior-data-engineer", + "path": "engineering-team/skills/senior-data-engineer", + "description": "Data engineering skill for building scalable data pipelines, ETL/ELT systems, and data infrastructure. Expertise in Python, SQL, Spark, Airflow, dbt, Kafka, and modern data stack. Includes data modeling, pipeline orchestration, data quality, and DataOps. Use when designing data architectures, building data pipelines, optimizing data workflows, implementing data governance, or troubleshooting data issues.", + "tools": [ + { + "script": "engineering-team/skills/senior-data-engineer/scripts/data_quality_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-data-engineer/scripts/data_quality_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-data-engineer/scripts/etl_performance_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-data-engineer/scripts/etl_performance_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-data-engineer/scripts/pipeline_orchestrator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-data-engineer/scripts/pipeline_orchestrator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "data_modeling_patterns.md", + "data_pipeline_architecture.md", + "dataops_best_practices.md", + "troubleshooting.md", + "workflows.md" + ] + }, + { + "name": "senior-data-scientist", + "path": "engineering-team/skills/senior-data-scientist", + "description": "World-class senior data scientist skill specialising in statistical modeling, experiment design, causal inference, and predictive analytics. Covers A/B testing (sample sizing, two-proportion z-tests, Bonferroni correction), difference-in-differences, feature engineering pipelines (Scikit-learn, XGBoost), cross-validated model evaluation (AUC-ROC, AUC-PR, SHAP), and MLflow experiment tracking \u2014 using Python (NumPy, Pandas, Scikit-learn), R, and SQL. Use when designing or analysing controlled experiments, building and evaluating classification or regression models, performing causal analysis on ", + "tools": [ + { + "script": "engineering-team/skills/senior-data-scientist/scripts/experiment_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-data-scientist/scripts/experiment_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-data-scientist/scripts/model_evaluation_suite.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-data-scientist/scripts/model_evaluation_suite.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "experiment_design_frameworks.md", + "feature_engineering_patterns.md", + "statistical_methods_advanced.md" + ] + }, + { + "name": "senior-devops", + "path": "engineering-team/skills/senior-devops", + "description": "Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup, infrastructure as code, deployment automation, and monitoring. Use when setting up pipelines, deploying applications, managing infrastructure, implementing monitoring, or optimizing deployment processes.", + "tools": [ + { + "script": "engineering-team/skills/senior-devops/scripts/deployment_manager.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-devops/scripts/deployment_manager.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-devops/scripts/pipeline_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-devops/scripts/pipeline_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-devops/scripts/terraform_scaffolder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-devops/scripts/terraform_scaffolder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "cicd_pipeline_guide.md", + "deployment_strategies.md", + "infrastructure_as_code.md" + ] + }, + { + "name": "senior-frontend", + "path": "engineering-team/skills/senior-frontend", + "description": "Frontend development skill for React, Next.js, TypeScript, and Tailwind CSS applications. Use when building React components, optimizing Next.js performance, analyzing bundle sizes, scaffolding frontend projects, implementing accessibility, or reviewing frontend code quality.", + "tools": [ + { + "script": "engineering-team/skills/senior-frontend/scripts/bundle_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-frontend/scripts/bundle_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-frontend/scripts/component_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-frontend/scripts/component_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-frontend/scripts/frontend_decision_engine.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-frontend/scripts/frontend_decision_engine.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering-team/skills/senior-frontend/scripts/frontend_decision_engine.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering-team/skills/senior-frontend/scripts/frontend_scaffolder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-frontend/scripts/frontend_scaffolder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "composition_map.md", + "forcing_questions.md", + "frontend_best_practices.md", + "nextjs_optimization_guide.md", + "react_patterns.md" + ] + }, + { + "name": "senior-fullstack", + "path": "engineering-team/skills/senior-fullstack", + "description": "Fullstack development toolkit with project scaffolding for Next.js, FastAPI, MERN, and Django stacks, code quality analysis with security and complexity scoring, and stack selection guidance. Use when the user asks to \"scaffold a new project\", \"create a Next.js app\", \"set up FastAPI with React\", \"analyze code quality\", \"audit my codebase\", \"what stack should I use\", \"generate project boilerplate\", or mentions fullstack development, project setup, or tech stack comparison.", + "tools": [ + { + "script": "engineering-team/skills/senior-fullstack/scripts/code_quality_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-fullstack/scripts/code_quality_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-fullstack/scripts/fullstack_decision_engine.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-fullstack/scripts/fullstack_decision_engine.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering-team/skills/senior-fullstack/scripts/fullstack_decision_engine.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering-team/skills/senior-fullstack/scripts/project_scaffolder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-fullstack/scripts/project_scaffolder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "architecture_patterns.md", + "composition_map.md", + "development_workflows.md", + "forcing_questions.md", + "tech_stack_guide.md" + ] + }, + { + "name": "senior-ml-engineer", + "path": "engineering-team/skills/senior-ml-engineer", + "description": "ML engineering skill for productionizing models, building MLOps pipelines, and integrating LLMs. Covers model deployment, feature stores, drift monitoring, RAG systems, and cost optimization. Use when the user asks about deploying ML models to production, setting up MLOps infrastructure (MLflow, Kubeflow, Kubernetes, Docker), monitoring model performance or drift, building RAG pipelines, or integrating LLM APIs with retry logic and cost controls. Focused on production and operational concerns rather than model research or initial training.", + "tools": [ + { + "script": "engineering-team/skills/senior-ml-engineer/scripts/ml_monitoring_suite.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-ml-engineer/scripts/ml_monitoring_suite.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-ml-engineer/scripts/model_deployment_pipeline.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-ml-engineer/scripts/model_deployment_pipeline.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-ml-engineer/scripts/rag_system_builder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-ml-engineer/scripts/rag_system_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "llm_integration_guide.md", + "mlops_production_patterns.md", + "rag_system_architecture.md" + ] + }, + { + "name": "senior-prompt-engineer", + "path": "engineering-team/skills/senior-prompt-engineer", + "description": "Use when the user asks to optimize prompts, design prompt templates, evaluate LLM outputs with an eval set, measure RAG retrieval quality, validate agent/tool configurations, analyze token usage, or design structured-output contracts. Covers eval-driven prompt iteration, RAG metrics (relevance, faithfulness, coverage), agent workflow validation, and token/cost budgeting \u2014 all model-agnostic, with three stdlib Python tools.", + "tools": [ + { + "script": "engineering-team/skills/senior-prompt-engineer/scripts/agent_orchestrator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-prompt-engineer/scripts/agent_orchestrator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-prompt-engineer/scripts/prompt_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-prompt-engineer/scripts/prompt_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-prompt-engineer/scripts/rag_evaluator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-prompt-engineer/scripts/rag_evaluator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "agentic_system_design.md", + "llm_evaluation_frameworks.md", + "prompt_engineering_patterns.md" + ] + }, + { + "name": "senior-qa", + "path": "engineering-team/skills/senior-qa", + "description": "Generates unit tests, integration tests, and E2E tests for React/Next.js applications. Scans components to create Jest + React Testing Library test stubs, analyzes Istanbul/LCOV coverage reports to surface gaps, scaffolds Playwright test files from Next.js routes, mocks API calls with MSW, creates test fixtures, and configures test runners. Use when the user asks to \"generate tests\", \"write unit tests\", \"analyze test coverage\", \"scaffold E2E tests\", \"set up Playwright\", \"configure Jest\", \"implement testing patterns\", or \"improve test quality\".", + "tools": [ + { + "script": "engineering-team/skills/senior-qa/scripts/coverage_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-qa/scripts/coverage_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-qa/scripts/e2e_test_scaffolder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-qa/scripts/e2e_test_scaffolder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-qa/scripts/test_suite_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-qa/scripts/test_suite_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "qa_best_practices.md", + "test_automation_patterns.md", + "testing_strategies.md" + ] + }, + { + "name": "senior-secops", + "path": "engineering-team/skills/senior-secops", + "description": "Senior SecOps engineer skill for application security, vulnerability management, compliance verification, and secure development practices. Runs SAST/DAST scans, generates CVE remediation plans, checks dependency vulnerabilities, creates security policies, enforces secure coding patterns, and automates compliance checks against SOC2, PCI-DSS, HIPAA, and GDPR. Use when conducting a security review or audit, responding to a CVE or security incident, hardening infrastructure, implementing authentication or secrets management, running penetration test prep, checking OWASP Top 10 exposure, or enfor", + "tools": [ + { + "script": "engineering-team/skills/senior-secops/scripts/compliance_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-secops/scripts/compliance_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-secops/scripts/security_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-secops/scripts/security_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-secops/scripts/vulnerability_assessor.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-secops/scripts/vulnerability_assessor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "compliance_requirements.md", + "security_standards.md", + "vulnerability_management_guide.md" + ] + }, + { + "name": "senior-security", + "path": "engineering-team/skills/senior-security", + "description": "Use when the user asks for STRIDE threat modeling, DREAD risk scoring, data-flow-diagram threat analysis, or a quick secret scan \u2014 or when a security request needs routing to the right specialist skill (pen-testing, incident response, cloud posture, red team, AI security, threat hunting, secure code review). This skill owns threat modeling; everything else routes to a sibling.", + "tools": [ + { + "script": "engineering-team/skills/senior-security/scripts/secret_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-security/scripts/secret_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/senior-security/scripts/threat_modeler.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/senior-security/scripts/threat_modeler.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "cryptography-implementation.md", + "security-architecture-patterns.md", + "threat-modeling-guide.md" + ] + }, + { + "name": "stripe-integration-expert", + "path": "engineering-team/skills/stripe-integration-expert", + "description": "Production-grade Stripe integrations: subscriptions with trials and proration, one-time payments, usage-based billing, checkout sessions, idempotent webhook handlers, customer portal, and invoicing. Covers Next.js, Express, and Django patterns. Use when integrating Stripe for the first time, debugging webhook reliability issues, migrating from a different payment provider, or adding usage-based billing to an existing subscription product.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "tdd-guide", + "path": "engineering-team/skills/tdd-guide", + "description": "Test-driven development skill for writing unit tests, generating test fixtures and mocks, analyzing coverage gaps, and guiding red-green-refactor workflows across Jest, Pytest, JUnit, Vitest, and Mocha. Use when the user asks to write tests, improve test coverage, practice TDD, generate mocks or stubs, or mentions testing frameworks like Jest, pytest, or JUnit.", + "tools": [ + { + "script": "engineering-team/skills/tdd-guide/scripts/coverage_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tdd-guide/scripts/coverage_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tdd-guide/scripts/fixture_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tdd-guide/scripts/fixture_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tdd-guide/scripts/format_detector.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tdd-guide/scripts/format_detector.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tdd-guide/scripts/framework_adapter.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tdd-guide/scripts/framework_adapter.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tdd-guide/scripts/metrics_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tdd-guide/scripts/metrics_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tdd-guide/scripts/output_formatter.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tdd-guide/scripts/output_formatter.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tdd-guide/scripts/tdd_workflow.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tdd-guide/scripts/tdd_workflow.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tdd-guide/scripts/test_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tdd-guide/scripts/test_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "ci-integration.md", + "framework-guide.md", + "tdd-best-practices.md" + ] + }, + { + "name": "tech-stack-evaluator", + "path": "engineering-team/skills/tech-stack-evaluator", + "description": "Technology stack evaluation and comparison with TCO analysis, security assessment, and ecosystem health scoring. Use when comparing frameworks, evaluating technology stacks, calculating total cost of ownership, assessing migration paths, or analyzing ecosystem viability.", + "tools": [ + { + "script": "engineering-team/skills/tech-stack-evaluator/scripts/ecosystem_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tech-stack-evaluator/scripts/ecosystem_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tech-stack-evaluator/scripts/format_detector.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tech-stack-evaluator/scripts/format_detector.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tech-stack-evaluator/scripts/migration_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tech-stack-evaluator/scripts/migration_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tech-stack-evaluator/scripts/report_generator.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tech-stack-evaluator/scripts/report_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tech-stack-evaluator/scripts/security_assessor.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tech-stack-evaluator/scripts/security_assessor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tech-stack-evaluator/scripts/stack_comparator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tech-stack-evaluator/scripts/stack_comparator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering-team/skills/tech-stack-evaluator/scripts/tco_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/tech-stack-evaluator/scripts/tco_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "examples.md", + "metrics.md", + "workflows.md" + ] + }, + { + "name": "threat-detection", + "path": "engineering-team/skills/threat-detection", + "description": "Use when hunting for threats in an environment, analyzing IOCs, or detecting behavioral anomalies in telemetry. Covers hypothesis-driven threat hunting, IOC sweep generation, z-score anomaly detection, and MITRE ATT&CK-mapped signal prioritization.", + "tools": [ + { + "script": "engineering-team/skills/threat-detection/scripts/threat_signal_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/skills/threat-detection/scripts/threat_signal_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "hunt-playbooks.md" + ] + }, + { + "name": "snowflake-development", + "path": "engineering-team/snowflake-development/skills/snowflake-development", + "description": "Use when writing Snowflake SQL, building data pipelines with Dynamic Tables or Streams/Tasks, using Cortex AI functions, creating Cortex Agents, writing Snowpark Python, configuring dbt for Snowflake, or troubleshooting Snowflake errors.", + "tools": [ + { + "script": "engineering-team/snowflake-development/skills/snowflake-development/scripts/snowflake_query_helper.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering-team/snowflake-development/skills/snowflake-development/scripts/snowflake_query_helper.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "cortex_ai_and_agents.md", + "snowflake_sql_and_pipelines.md", + "troubleshooting.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/engineering.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/engineering.json new file mode 100644 index 00000000..cccc356c --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/engineering.json @@ -0,0 +1,3356 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "engineering", + "skill_count": 81, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "agent-harness", + "path": "engineering/agent-harness/skills/agent-harness", + "description": "Turn any domain folder of skills into a bounded agentic loop: compile a goal into a verifiable task plan, execute tasks with the domain's own tools, verify every task with machine-run checks, retry with caps, escalate to a human when budgets exhaust, and refuse to close until everything is verified or explicitly waived. Use when you want an agent or subagent to pick up a goal and drive it to a verified close across one of this repo's 18 domains ('run this goal through the engineering harness', 'set up an agentic loop for marketing work', 'make the finance domain self-verifying'). NOT for autho", + "tools": [ + { + "script": "engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/agent-harness/skills/agent-harness/scripts/harness_manifest_builder.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/agent-harness/skills/agent-harness/scripts/harness_manifest_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/agent-harness/skills/agent-harness/scripts/harness_manifest_builder.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "agentic_loop_canon.md", + "domain_harness_design.md", + "verification_discipline.md" + ] + }, + { + "name": "agenthub", + "path": "engineering/agenthub/skills/agenthub", + "description": "Multi-agent collaboration plugin that spawns N parallel subagents competing on the same task via git worktree isolation. Agents work independently, results are evaluated by metric or LLM judge, and the best branch is merged. Use when: user wants multiple approaches tried in parallel \u2014 code optimization, content variation, research exploration, or any task that benefits from parallel competition. Requires: a git repo.", + "tools": [ + { + "script": "engineering/agenthub/skills/agenthub/scripts/board_manager.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/agenthub/skills/agenthub/scripts/board_manager.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/agenthub/skills/agenthub/scripts/dag_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/agenthub/skills/agenthub/scripts/dag_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/agenthub/skills/agenthub/scripts/dry_run.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/agenthub/skills/agenthub/scripts/dry_run.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/agenthub/skills/agenthub/scripts/hub_init.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/agenthub/skills/agenthub/scripts/hub_init.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/agenthub/skills/agenthub/scripts/result_ranker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/agenthub/skills/agenthub/scripts/result_ranker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/agenthub/skills/agenthub/scripts/session_manager.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/agenthub/skills/agenthub/scripts/session_manager.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "agent-templates.md", + "coordination-strategies.md", + "dag-patterns.md" + ] + }, + { + "name": "board", + "path": "engineering/agenthub/skills/board", + "description": "Read, write, and browse the AgentHub message board for agent coordination. Use when the user runs /hub:board or asks to post, read, or inspect coordination messages between competing AgentHub agents.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "eval", + "path": "engineering/agenthub/skills/eval", + "description": "Evaluate and rank agent results by metric or LLM judge for an AgentHub session. Use when the user runs /hub:eval or asks to score, compare, or pick a winner among completed AgentHub agents.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "init", + "path": "engineering/agenthub/skills/init", + "description": "Create a new AgentHub collaboration session with task, agent count, and evaluation criteria. Use when the user runs /hub:init or asks to start a multi-agent competition on a task.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "merge", + "path": "engineering/agenthub/skills/merge", + "description": "Merge the winning agent's branch into base, archive losers, and clean up worktrees. Use when the user runs /hub:merge or asks to land the winning AgentHub result and tidy the session.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "run", + "path": "engineering/agenthub/skills/run", + "description": "One-shot lifecycle command that chains init \u2192 baseline \u2192 spawn \u2192 eval \u2192 merge in a single invocation. Use when the user runs /hub:run or asks to execute a full AgentHub competition end-to-end.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "spawn", + "path": "engineering/agenthub/skills/spawn", + "description": "Launch N parallel subagents in isolated git worktrees to compete on the session task. Use when the user runs /hub:spawn or asks to start the competing agents for an initialized AgentHub session.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "status", + "path": "engineering/agenthub/skills/status", + "description": "Show DAG state, agent progress, and branch status for an AgentHub session. Use when the user runs /hub:status or asks how the AgentHub agents are doing.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "autoresearch-agent", + "path": "engineering/autoresearch-agent/skills/autoresearch-agent", + "description": "Autonomous experiment loop that optimizes any file by a measurable metric. Inspired by Karpathy's autoresearch. The agent edits a target file, runs a fixed evaluation, keeps improvements (git commit), discards failures (git reset), and loops indefinitely. Use when: user wants to optimize code speed, reduce bundle/image size, improve test pass rate, optimize prompts, improve content quality (headlines, copy, CTR), or run any measurable improvement loop. Requires: a target file, an evaluation command that outputs a metric, and a git repo.", + "tools": [ + { + "script": "engineering/autoresearch-agent/skills/autoresearch-agent/scripts/log_results.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/autoresearch-agent/skills/autoresearch-agent/scripts/log_results.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/autoresearch-agent/skills/autoresearch-agent/scripts/run_experiment.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/autoresearch-agent/skills/autoresearch-agent/scripts/run_experiment.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/autoresearch-agent/skills/autoresearch-agent/scripts/setup_experiment.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/autoresearch-agent/skills/autoresearch-agent/scripts/setup_experiment.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "experiment-domains.md", + "program-template.md" + ] + }, + { + "name": "loop", + "path": "engineering/autoresearch-agent/skills/loop", + "description": "Start an autonomous experiment loop with user-selected interval (10min, 1h, daily, weekly, monthly). Uses CronCreate for scheduling. Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "resume", + "path": "engineering/autoresearch-agent/skills/resume", + "description": "Resume a paused experiment. Checkout the experiment branch, read results history, continue iterating. Use when the user runs /ar:resume or asks to pick up a previously started autoresearch experiment.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "run", + "path": "engineering/autoresearch-agent/skills/run", + "description": "Run a single experiment iteration. Edit the target file, evaluate, keep or discard. Use when the user runs /ar:run or asks for one manual autoresearch iteration.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "setup", + "path": "engineering/autoresearch-agent/skills/setup", + "description": "Set up a new autoresearch experiment interactively. Collects domain, target file, eval command, metric, direction, and evaluator. Use when the user runs /ar:setup or asks to start optimizing a file with the autoresearch loop.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "status", + "path": "engineering/autoresearch-agent/skills/status", + "description": "Show experiment dashboard with results, active loops, and progress. Use when the user runs /ar:status or asks how an autoresearch experiment is going.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "behuman", + "path": "engineering/behuman/skills/behuman", + "description": "Use when the user wants more human-like AI responses \u2014 less robotic, less listy, more authentic. Triggers: 'behuman', 'be real', 'like a human', 'more human', 'less AI', 'talk like a person', 'mirror mode', 'stop being so AI', or when conversations are emotionally charged (grief, job loss, relationship advice, fear). NOT for technical questions, code generation, or factual lookups.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "api-integration.md" + ] + }, + { + "name": "caveman", + "path": "engineering/caveman/skills/caveman", + "description": "> Ultra-compressed communication mode. Cuts token usage ~75% by dropping filler, articles, and pleasantries while keeping full technical accuracy. Use when user says \"caveman mode\", \"talk like caveman\", \"use caveman\", \"less tokens\", \"be brief\", or invokes /caveman.", + "tools": [ + { + "script": "engineering/caveman/skills/caveman/scripts/caveman_compressor.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/caveman/skills/caveman/scripts/caveman_compressor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/caveman/skills/caveman/scripts/caveman_lint.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/caveman/skills/caveman/scripts/caveman_lint.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/caveman/skills/caveman/scripts/token_savings_estimator.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/caveman/skills/caveman/scripts/token_savings_estimator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "companion_tooling.md", + "compression_principles.md", + "when_caveman_backfires.md" + ] + }, + { + "name": "chaos-engineering", + "path": "engineering/chaos-engineering/skills/chaos-engineering", + "description": "Use when planning, running, or learning from chaos engineering experiments. Triggers on \"chaos experiment\", \"fault injection\", \"gameday\", \"resilience test\", \"blast radius\", \"steady state\", \"abort criteria\", \"Chaos Toolkit\", \"Chaos Mesh\", \"Litmus\", \"Gremlin\", \"AWS FIS\", or any deliberate failure-injection question. Ships experiment designer, blast-radius calculator, and postmortem generator (all stdlib Python), 4 references on chaos principles + experiment design + attack taxonomy + tooling landscape, and a /chaos-experiment slash command. Composes with feature-flags-architect (kill switches as", + "tools": [ + { + "script": "engineering/chaos-engineering/skills/chaos-engineering/scripts/blast_radius_calculator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/chaos-engineering/skills/chaos-engineering/scripts/blast_radius_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/chaos-engineering/skills/chaos-engineering/scripts/blast_radius_calculator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/chaos-engineering/skills/chaos-engineering/scripts/experiment_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/chaos-engineering/skills/chaos-engineering/scripts/experiment_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/chaos-engineering/skills/chaos-engineering/scripts/experiment_postmortem.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/chaos-engineering/skills/chaos-engineering/scripts/experiment_postmortem.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "attack_taxonomy.md", + "chaos_principles.md", + "experiment_design.md", + "tooling_landscape.md" + ] + }, + { + "name": "claude-coach", + "path": "engineering/claude-coach/skills/claude-coach", + "description": "Personal coach that teaches users to become Claude power users. Use this skill the FIRST time a user asks to \"learn Claude\", \"be a power user\", \"coach me\", \"teach me Claude tricks\", \"what can Claude do\", \"make me better at prompting\", or any variation. After activation, also use it on EVERY subsequent turn to detect missed optimization opportunities (vague prompts, ignored capabilities, manual work Claude could automate) and surface a single power-user tip. Trigger generously \u2014 most users do not know what they do not know, so err on the side of coaching.", + "tools": [ + { + "script": "engineering/claude-coach/skills/claude-coach/scripts/cheat_code_filter.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/claude-coach/skills/claude-coach/scripts/cheat_code_filter.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/claude-coach/skills/claude-coach/scripts/cheat_code_filter.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/claude-coach/skills/claude-coach/scripts/coach_tip_classifier.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/claude-coach/skills/claude-coach/scripts/coach_tip_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/claude-coach/skills/claude-coach/scripts/coach_tip_classifier.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/claude-coach/skills/claude-coach/scripts/prompt_rater.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/claude-coach/skills/claude-coach/scripts/prompt_rater.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/claude-coach/skills/claude-coach/scripts/prompt_rater.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "cheat-codes.md", + "coaching-rules.md" + ] + }, + { + "name": "code-tour", + "path": "engineering/code-tour/skills/code-tour", + "description": "Use when the user asks to create a CodeTour .tour file \u2014 persona-targeted, step-by-step walkthroughs that link to real files and line numbers. Trigger for: create a tour, onboarding tour, architecture tour, PR review tour, explain how X works, vibe check, RCA tour, contributor guide, or any structured code walkthrough request.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "collab-proof", + "path": "engineering/collab-proof/skills/collab-proof", + "description": "Use when you want to understand what Claude contributed vs what you drove in a session. Triggers on: /collab-proof, session retrospective, ai contribution analysis, collaboration evidence, what did claude do.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "ai-collaboration-evidence.md", + "developer-portfolio-proof.md", + "session-documentation-patterns.md", + "tamper-evident-proof.md" + ] + }, + { + "name": "data-quality-auditor", + "path": "engineering/data-quality-auditor/skills/data-quality-auditor", + "description": "Audit datasets for completeness, consistency, accuracy, and validity. Profile data distributions, detect anomalies and outliers, surface structural issues, and produce an actionable remediation plan. Use when the user asks to check data quality, profile a dataset, hunt outliers or missing values, or validate data before analysis or model training.", + "tools": [ + { + "script": "engineering/data-quality-auditor/skills/data-quality-auditor/scripts/data_profiler.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/data-quality-auditor/skills/data-quality-auditor/scripts/data_profiler.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/data-quality-auditor/skills/data-quality-auditor/scripts/missing_value_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/data-quality-auditor/skills/data-quality-auditor/scripts/missing_value_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/data-quality-auditor/skills/data-quality-auditor/scripts/outlier_detector.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/data-quality-auditor/skills/data-quality-auditor/scripts/outlier_detector.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "data-quality-concepts.md" + ] + }, + { + "name": "demo-video", + "path": "engineering/demo-video/skills/demo-video", + "description": "Use when the user asks to create a demo video, product walkthrough, feature showcase, animated presentation, marketing video, or GIF from screenshots or scene descriptions. Orchestrates playwright, ffmpeg, and edge-tts MCPs to produce polished video content.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "scene-design-system.md" + ] + }, + { + "name": "docker-development", + "path": "engineering/docker-development/skills/docker-development", + "description": "Docker and container development agent skill and plugin for Dockerfile optimization, docker-compose orchestration, multi-stage builds, and container security hardening. Use when: user wants to optimize a Dockerfile, create or improve docker-compose configurations, implement multi-stage builds, audit container security, reduce image size, or follow container best practices. Covers build performance, layer caching, secret management, and production-ready container patterns.", + "tools": [ + { + "script": "engineering/docker-development/skills/docker-development/scripts/compose_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/docker-development/skills/docker-development/scripts/compose_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/docker-development/skills/docker-development/scripts/dockerfile_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/docker-development/skills/docker-development/scripts/dockerfile_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "compose-patterns.md", + "dockerfile-best-practices.md" + ] + }, + { + "name": "feature-flags-architect", + "path": "engineering/feature-flags-architect/skills/feature-flags-architect", + "description": "Use when adding, retiring, or auditing feature flags. Triggers on \"add a flag\", \"ship behind a flag\", \"rollout plan\", \"kill switch\", \"stale flags\", \"flag debt\", \"LaunchDarkly\", \"GrowthBook\", \"Statsig\", \"Unleash\", \"Flipt\", or any progressive-delivery question. Ships flag debt scanner, rollout planner, and kill-switch auditor (all stdlib Python), 4 references on flag taxonomy + provider trade-offs + rollout strategies + lifecycle, plus a /flag-cleanup slash command.", + "tools": [ + { + "script": "engineering/feature-flags-architect/skills/feature-flags-architect/scripts/flag_debt_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/feature-flags-architect/skills/feature-flags-architect/scripts/flag_debt_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/feature-flags-architect/skills/feature-flags-architect/scripts/kill_switch_audit.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/feature-flags-architect/skills/feature-flags-architect/scripts/kill_switch_audit.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/feature-flags-architect/skills/feature-flags-architect/scripts/rollout_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/feature-flags-architect/skills/feature-flags-architect/scripts/rollout_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "flag_lifecycle.md", + "flag_taxonomy.md", + "provider_comparison.md", + "rollout_strategies.md" + ] + }, + { + "name": "grill-me", + "path": "engineering/grill-me/skills/grill-me", + "description": "Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions \"grill me\".", + "tools": [ + { + "script": "engineering/grill-me/skills/grill-me/scripts/decision_tree_extractor.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/grill-me/skills/grill-me/scripts/decision_tree_extractor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/grill-me/skills/grill-me/scripts/grill_session_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/grill-me/skills/grill-me/scripts/grill_session_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/grill-me/skills/grill-me/scripts/question_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/grill-me/skills/grill-me/scripts/question_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "companion_tooling.md", + "forcing_question_patterns.md", + "when_to_stop_grilling.md" + ] + }, + { + "name": "grill-with-docs", + "path": "engineering/grill-with-docs/skills/grill-with-docs", + "description": "Docs-anchored grilling session \u2014 challenges a plan against the project's existing language (CONTEXT.md) and recorded decisions (docs/adr/), and updates those files inline as terminology and decisions crystallise. Use when user wants to stress-test a plan against documented domain language, or mentions \"grill with docs\".", + "tools": [ + { + "script": "engineering/grill-with-docs/skills/grill-with-docs/scripts/adr_scanner.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/grill-with-docs/skills/grill-with-docs/scripts/adr_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/grill-with-docs/skills/grill-with-docs/scripts/adr_scanner.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/grill-with-docs/skills/grill-with-docs/scripts/context_md_linter.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/grill-with-docs/skills/grill-with-docs/scripts/context_md_linter.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/grill-with-docs/skills/grill-with-docs/scripts/context_md_linter.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/grill-with-docs/skills/grill-with-docs/scripts/glossary_code_consistency.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/grill-with-docs/skills/grill-with-docs/scripts/glossary_code_consistency.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/grill-with-docs/skills/grill-with-docs/scripts/glossary_code_consistency.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "adr_practice.md", + "context_md_as_artifact.md", + "ubiquitous_language.md" + ] + }, + { + "name": "handoff", + "path": "engineering/handoff/skills/handoff", + "description": "Compact the current conversation into a handoff document for another agent to pick up. References existing artifacts (PRDs, plans, ADRs, issues, commits, diffs) by path or URL instead of duplicating them. Use when user wants to hand off the conversation to a fresh agent or starts a new session that picks up prior work.", + "tools": [ + { + "script": "engineering/handoff/skills/handoff/scripts/artifact_deduplicator.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/handoff/skills/handoff/scripts/artifact_deduplicator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/handoff/skills/handoff/scripts/handoff_template_generator.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/handoff/skills/handoff/scripts/handoff_template_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/handoff/skills/handoff/scripts/skill_recommender.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/handoff/skills/handoff/scripts/skill_recommender.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "companion_tooling.md", + "deduplication_discipline.md", + "handoff_structure.md", + "next_session_skill_matching.md" + ] + }, + { + "name": "helm-chart-builder", + "path": "engineering/helm-chart-builder/skills/helm-chart-builder", + "description": "Helm chart development agent skill and plugin for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw \u2014 chart scaffolding, values design, template patterns, dependency management, security hardening, and chart testing. Use when: user wants to create or improve Helm charts, design values.yaml files, implement template helpers, audit chart security (RBAC, network policies, pod security), manage subcharts, or run helm lint/test.", + "tools": [ + { + "script": "engineering/helm-chart-builder/skills/helm-chart-builder/scripts/chart_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/helm-chart-builder/skills/helm-chart-builder/scripts/chart_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/helm-chart-builder/skills/helm-chart-builder/scripts/values_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/helm-chart-builder/skills/helm-chart-builder/scripts/values_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "chart-patterns.md", + "values-design.md" + ] + }, + { + "name": "karpathy-coder", + "path": "engineering/karpathy-coder/skills/karpathy-coder", + "description": "Use when writing, reviewing, or committing code to enforce Karpathy's 4 coding principles \u2014 surface assumptions before coding, keep it simple, make surgical changes, define verifiable goals. Triggers on \"review my diff\", \"check complexity\", \"am I overcomplicating this\", \"karpathy check\", \"before I commit\", or any code quality concern where the LLM might be overcoding.", + "tools": [ + { + "script": "engineering/karpathy-coder/skills/karpathy-coder/scripts/assumption_linter.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/karpathy-coder/skills/karpathy-coder/scripts/assumption_linter.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/karpathy-coder/skills/karpathy-coder/scripts/complexity_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/karpathy-coder/skills/karpathy-coder/scripts/complexity_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/karpathy-coder/skills/karpathy-coder/scripts/diff_surgeon.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/karpathy-coder/skills/karpathy-coder/scripts/diff_surgeon.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/karpathy-coder/skills/karpathy-coder/scripts/goal_verifier.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/karpathy-coder/skills/karpathy-coder/scripts/goal_verifier.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "anti-patterns.md", + "enforcement-patterns.md", + "karpathy-principles.md" + ] + }, + { + "name": "kubernetes-operator", + "path": "engineering/kubernetes-operator/skills/kubernetes-operator", + "description": "Use when building a Kubernetes Operator \u2014 custom controllers that reconcile CRD state. Triggers on \"build an operator\", \"CRD design\", \"reconcile loop\", \"controller-runtime\", \"kubebuilder\", \"operator-sdk\", \"metacontroller\", \"KOPF\", \"operator capability levels\", or \"custom resource\". Ships CRD validator, reconcile-loop linter, and OperatorHub capability auditor (all stdlib Python), 4 references on the operator pattern + CRD design + reconcile patterns + tooling landscape, and a /operator-audit slash command. NOT a generic k8s skill \u2014 specifically the Operator pattern.", + "tools": [ + { + "script": "engineering/kubernetes-operator/skills/kubernetes-operator/scripts/crd_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/kubernetes-operator/skills/kubernetes-operator/scripts/crd_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/kubernetes-operator/skills/kubernetes-operator/scripts/operator_capability_audit.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/kubernetes-operator/skills/kubernetes-operator/scripts/operator_capability_audit.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/kubernetes-operator/skills/kubernetes-operator/scripts/reconcile_lint.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/kubernetes-operator/skills/kubernetes-operator/scripts/reconcile_lint.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "crd_design.md", + "operator_pattern.md", + "reconcile_loop.md", + "tooling_landscape.md" + ] + }, + { + "name": "llm-cost-optimizer", + "path": "engineering/llm-cost-optimizer/skills/llm-cost-optimizer", + "description": "Use proactively whenever LLM API costs come up -- or should. Triggers include: 'my AI costs are too high', 'optimize token usage', 'which model should I use', 'LLM spend is out of control', 'implement prompt caching', 'we're about to launch an AI feature', 'build me an AI endpoint'. Don't wait for an explicit cost complaint -- if someone is building an AI feature, designing an LLM endpoint, or choosing between models, cost architecture belongs in the conversation. Apply immediately when any of these are true: a system prompt appears that exceeds a few hundred tokens, all requests are hitting t", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": true + }, + "references": [] + }, + { + "name": "llm-wiki", + "path": "engineering/llm-wiki/skills/llm-wiki", + "description": "Use when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include \"second brain\", \"Obsidian wiki\", \"personal knowledge management\", \"ingest this paper/article/book\", \"build a research wiki\", \"compound knowledge\", \"Memex\", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.", + "tools": [ + { + "script": "engineering/llm-wiki/skills/llm-wiki/scripts/append_log.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/llm-wiki/skills/llm-wiki/scripts/append_log.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/llm-wiki/skills/llm-wiki/scripts/export_marp.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/llm-wiki/skills/llm-wiki/scripts/export_marp.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/llm-wiki/skills/llm-wiki/scripts/graph_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/llm-wiki/skills/llm-wiki/scripts/graph_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/llm-wiki/skills/llm-wiki/scripts/ingest_source.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/llm-wiki/skills/llm-wiki/scripts/ingest_source.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/llm-wiki/skills/llm-wiki/scripts/init_vault.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/llm-wiki/skills/llm-wiki/scripts/init_vault.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/llm-wiki/skills/llm-wiki/scripts/lint_wiki.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/llm-wiki/skills/llm-wiki/scripts/lint_wiki.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/llm-wiki/skills/llm-wiki/scripts/update_index.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/llm-wiki/skills/llm-wiki/scripts/update_index.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/llm-wiki/skills/llm-wiki/scripts/wiki_search.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/llm-wiki/skills/llm-wiki/scripts/wiki_search.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "cross-tool-setup.md", + "ingest-workflow.md", + "lint-workflow.md", + "memex-principles.md", + "obsidian-setup.md", + "page-formats.md", + "query-workflow.md", + "wiki-schema.md" + ] + }, + { + "name": "prompt-governance", + "path": "engineering/prompt-governance/skills/prompt-governance", + "description": "Use when managing prompts in production at scale: versioning prompts, running A/B tests on prompts, building prompt registries, preventing prompt regressions, or creating eval pipelines for production AI features. Triggers: 'manage prompts in production', 'prompt versioning', 'prompt regression', 'prompt A/B test', 'prompt registry', 'eval pipeline'. NOT for writing or improving individual prompts (use senior-prompt-engineer). NOT for RAG pipeline design (use rag-architect). NOT for LLM cost reduction (use llm-cost-optimizer).", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "security-guidance", + "path": "engineering/security-guidance/skills/security-guidance", + "description": "PreToolUse security-anti-pattern hook for Claude Code. Catches 12 common security risks (command injection, XSS, SQL injection, unsafe deserialization, GitHub Actions workflow injection, eval/new Function code injection) BEFORE the Edit/Write/MultiEdit operation completes. Session-state caching prevents duplicate warnings on the same file+rule combo. Stdlib only \u2014 no dependencies. Use when you want a safety net during Claude Code sessions that touch security-sensitive code (auth, payments, user input handling, IaC). Disable with ENABLE_SECURITY_REMINDER=0 if you need to perform a verified-safe", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "pretooluse_hook_canon.md" + ] + }, + { + "name": "agent-designer", + "path": "engineering/skills/agent-designer", + "description": "Use when the user asks to design a multi-agent system, pick an orchestration pattern (supervisor/swarm/pipeline), generate tool schemas for agents, or evaluate agent execution logs for cost, latency, and failure bottlenecks. Examples: 'design an agent architecture for research automation', 'generate Anthropic tool schemas from these tool descriptions', 'analyze these agent run logs for bottlenecks'. NOT for Claude Code workflow files (use workflow-builder) or single-agent prompt design (use agent-workflow-designer).", + "tools": [ + { + "script": "engineering/skills/agent-designer/agent_evaluator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/agent-designer/agent_evaluator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/agent-designer/agent_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/agent-designer/agent_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/agent-designer/tool_schema_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/agent-designer/tool_schema_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "agent_architecture_patterns.md", + "evaluation_methodology.md", + "tool_design_best_practices.md" + ] + }, + { + "name": "agent-workflow-designer", + "path": "engineering/skills/agent-workflow-designer", + "description": "Design production-grade multi-agent workflows with clear pattern choice (sequential, parallel, hierarchical), handoff contracts, failure handling, and cost/context controls. Use when architecting a multi-step agent pipeline, choosing between single-agent vs multi-agent approaches, or refactoring an LLM workflow that suffers from context bloat or unreliable handoffs.", + "tools": [ + { + "script": "engineering/skills/agent-workflow-designer/scripts/workflow_scaffolder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/agent-workflow-designer/scripts/workflow_scaffolder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "workflow-patterns.md" + ] + }, + { + "name": "api-design-reviewer", + "path": "engineering/skills/api-design-reviewer", + "description": "Comprehensive REST API design review with automated linting, breaking-change detection, and design scorecards. Catches inconsistent conventions, missing versioning, and design smells before APIs ship. Use when reviewing a PR that adds or changes API endpoints, auditing an existing API for v2 migration, or establishing API standards for a team.", + "tools": [ + { + "script": "engineering/skills/api-design-reviewer/scripts/api_linter.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/skills/api-design-reviewer/scripts/api_linter.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/skills/api-design-reviewer/scripts/api_linter.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/skills/api-design-reviewer/scripts/api_scorecard.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/api-design-reviewer/scripts/api_scorecard.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/api-design-reviewer/scripts/breaking_change_detector.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/api-design-reviewer/scripts/breaking_change_detector.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "api_antipatterns.md", + "rest_design_rules.md" + ] + }, + { + "name": "api-test-suite-builder", + "path": "engineering/skills/api-test-suite-builder", + "description": "Use when the user asks to generate API tests, create integration test suites, test REST endpoints, or build contract tests.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "example-test-files.md" + ] + }, + { + "name": "browser-automation", + "path": "engineering/skills/browser-automation", + "description": "Use when the user asks to automate browser tasks, scrape websites, fill forms, capture screenshots, extract structured data from web pages, or build web automation workflows. NOT for testing \u2014 use playwright-pro for that.", + "tools": [ + { + "script": "engineering/skills/browser-automation/scripts/anti_detection_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/browser-automation/scripts/anti_detection_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/browser-automation/scripts/form_automation_builder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/browser-automation/scripts/form_automation_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/browser-automation/scripts/scraping_toolkit.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/browser-automation/scripts/scraping_toolkit.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "anti_detection_patterns.md", + "data_extraction_recipes.md", + "playwright_browser_api.md" + ] + }, + { + "name": "changelog-generator", + "path": "engineering/skills/changelog-generator", + "description": "Produce consistent, auditable release notes from Conventional Commits. Separates commit parsing, semantic-bump logic, and changelog rendering for automated releases with editorial control. Use when cutting a release, generating CHANGELOG.md from git history, computing the next semantic version from commits, automating release notes in CI, or planning a hotfix/rollback. Examples: 'generate the changelog for v1.4.0', 'what version bump do these commits require', 'we need an emergency hotfix process'.", + "tools": [ + { + "script": "engineering/skills/changelog-generator/scripts/commit_linter.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/changelog-generator/scripts/commit_linter.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/changelog-generator/scripts/generate_changelog.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/changelog-generator/scripts/generate_changelog.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/changelog-generator/scripts/version_bumper.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/changelog-generator/scripts/version_bumper.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "changelog-formatting-guide.md", + "ci-integration.md", + "hotfix-procedures.md", + "monorepo-strategy.md" + ] + }, + { + "name": "chaos-engineering", + "path": "engineering/skills/chaos-engineering", + "description": "Use when planning, running, or learning from chaos engineering experiments. Triggers on \"chaos experiment\", \"fault injection\", \"gameday\", \"resilience test\", \"blast radius\", \"steady state\", \"abort criteria\", \"Chaos Toolkit\", \"Chaos Mesh\", \"Litmus\", \"Gremlin\", \"AWS FIS\", or any deliberate failure-injection question. Ships experiment designer, blast-radius calculator, and postmortem generator (all stdlib Python), 4 references on chaos principles + experiment design + attack taxonomy + tooling landscape, and a /chaos-experiment slash command. Composes with feature-flags-architect (kill switches as", + "tools": [ + { + "script": "engineering/skills/chaos-engineering/scripts/blast_radius_calculator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/skills/chaos-engineering/scripts/blast_radius_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/skills/chaos-engineering/scripts/blast_radius_calculator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/skills/chaos-engineering/scripts/experiment_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/chaos-engineering/scripts/experiment_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/chaos-engineering/scripts/experiment_postmortem.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/chaos-engineering/scripts/experiment_postmortem.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "attack_taxonomy.md", + "chaos_principles.md", + "experiment_design.md", + "tooling_landscape.md" + ] + }, + { + "name": "ci-cd-pipeline-builder", + "path": "engineering/skills/ci-cd-pipeline-builder", + "description": "Generate pragmatic CI/CD pipelines from detected project stack signals \u2014 fast baseline generation, repeatable checks, environment-aware deployment stages. Use when setting up CI for a new project, refactoring existing pipelines, or standardizing deployment workflows across multiple repos.", + "tools": [ + { + "script": "engineering/skills/ci-cd-pipeline-builder/scripts/pipeline_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/ci-cd-pipeline-builder/scripts/pipeline_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/ci-cd-pipeline-builder/scripts/stack_detector.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/ci-cd-pipeline-builder/scripts/stack_detector.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "deployment-gates.md", + "github-actions-templates.md", + "gitlab-ci-templates.md", + "pipeline-design-notes.md" + ] + }, + { + "name": "codebase-onboarding", + "path": "engineering/skills/codebase-onboarding", + "description": "Analyze a codebase and generate onboarding documentation for engineers, tech leads, and contractors. Fast fact-gathering and repeatable onboarding outputs. Use when onboarding a new engineer, writing architecture-overview docs for a new project, or producing tech-lead briefings for unfamiliar repos.", + "tools": [ + { + "script": "engineering/skills/codebase-onboarding/scripts/codebase_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/codebase-onboarding/scripts/codebase_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "onboarding-template.md", + "output-format-templates.md" + ] + }, + { + "name": "database-designer", + "path": "engineering/skills/database-designer", + "description": "Use when the user asks to design database schemas, plan data migrations, optimize queries, choose between SQL and NoSQL, or model data relationships.", + "tools": [ + { + "script": "engineering/skills/database-designer/index_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/database-designer/index_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/database-designer/migration_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/database-designer/migration_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/database-designer/schema_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/database-designer/schema_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "database-design-reference.md", + "database_selection_decision_tree.md", + "index_strategy_patterns.md", + "normalization_guide.md" + ] + }, + { + "name": "database-schema-designer", + "path": "engineering/skills/database-schema-designer", + "description": "Use when the user asks to create ERD diagrams, normalize database schemas, design table relationships, or plan schema migrations.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "full-schema-examples.md" + ] + }, + { + "name": "dependency-auditor", + "path": "engineering/skills/dependency-auditor", + "description": "Audit and manage dependencies across multi-language projects. Identifies vulnerabilities, license conflicts, transitive dependency risks, and safe-upgrade paths. Use when auditing third-party packages before release, investigating a CVE, planning a major version bump, or running a license-compliance review. Examples: 'audit our npm dependencies', 'do we have GPL contamination', 'plan the upgrade to React 19'.", + "tools": [ + { + "script": "engineering/skills/dependency-auditor/scripts/dep_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/dependency-auditor/scripts/dep_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/dependency-auditor/scripts/license_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/dependency-auditor/scripts/license_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/dependency-auditor/scripts/upgrade_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/dependency-auditor/scripts/upgrade_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "dependency_management_best_practices.md", + "license_compatibility_matrix.md", + "vulnerability_assessment_guide.md" + ] + }, + { + "name": "engineering-advanced-skills", + "path": "engineering/skills/engineering-advanced-skills", + "description": "Index of 37 advanced engineering agent skills for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw. Use when browsing or choosing among the POWERFUL-tier engineering skills: agent design, RAG, MCP servers, CI/CD, database design, observability, security auditing, changelog/release automation, reliability (SLO/chaos/flags/operators), platform ops.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": true + }, + "references": [] + }, + { + "name": "env-secrets-manager", + "path": "engineering/skills/env-secrets-manager", + "description": "Manage environment-variable hygiene and secrets safety across local development and production. Practical auditing, drift awareness, rotation readiness. Use when auditing .env files for committed secrets, planning a credential rotation, debugging missing-env-var production incidents, or hardening a new project against secrets leakage.", + "tools": [ + { + "script": "engineering/skills/env-secrets-manager/scripts/env_auditor.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/env-secrets-manager/scripts/env_auditor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "secret-patterns.md", + "validation-detection-rotation.md" + ] + }, + { + "name": "feature-flags-architect", + "path": "engineering/skills/feature-flags-architect", + "description": "Use when adding, retiring, or auditing feature flags. Triggers on \"add a flag\", \"ship behind a flag\", \"rollout plan\", \"kill switch\", \"stale flags\", \"flag debt\", \"LaunchDarkly\", \"GrowthBook\", \"Statsig\", \"Unleash\", \"Flipt\", or any progressive-delivery question. Ships flag debt scanner, rollout planner, and kill-switch auditor (all stdlib Python), 4 references on flag taxonomy + provider trade-offs + rollout strategies + lifecycle, plus a /flag-cleanup slash command.", + "tools": [ + { + "script": "engineering/skills/feature-flags-architect/scripts/flag_debt_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/feature-flags-architect/scripts/flag_debt_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/feature-flags-architect/scripts/kill_switch_audit.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/feature-flags-architect/scripts/kill_switch_audit.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/feature-flags-architect/scripts/rollout_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/feature-flags-architect/scripts/rollout_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "flag_lifecycle.md", + "flag_taxonomy.md", + "provider_comparison.md", + "rollout_strategies.md" + ] + }, + { + "name": "focused-fix", + "path": "engineering/skills/focused-fix", + "description": "Use when the user asks to fix, debug, or make a specific feature/module/area work end-to-end. Triggers: 'make X work', 'fix the Y feature', 'the Z module is broken', 'focus on [area]'. Not for quick single-bug fixes \u2014 this is for systematic deep-dive repair across all files and dependencies.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [] + }, + { + "name": "full-page-screenshot", + "path": "engineering/skills/full-page-screenshot", + "description": "Use when the user asks to capture a full-page screenshot, long screenshot, or complete page capture of a web page. Handles SPA scroll containers, lazy-loaded images, and very tall pages via Chrome DevTools Protocol with zero external dependencies.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "git-worktree-manager", + "path": "engineering/skills/git-worktree-manager", + "description": "Run parallel feature work safely with Git worktrees. Standardizes branch isolation, port allocation, environment sync, and cleanup so each worktree behaves like an independent local app. Optimized for multi-agent workflows where each agent or terminal session owns one worktree. Use when running multiple feature branches simultaneously, isolating experimental work, or coordinating multi-agent development across the same repo.", + "tools": [ + { + "script": "engineering/skills/git-worktree-manager/scripts/worktree_cleanup.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/git-worktree-manager/scripts/worktree_cleanup.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/git-worktree-manager/scripts/worktree_manager.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/git-worktree-manager/scripts/worktree_manager.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "docker-compose-patterns.md", + "port-allocation-strategy.md" + ] + }, + { + "name": "interview-system-designer", + "path": "engineering/skills/interview-system-designer", + "description": "This skill should be used when the user asks to \"design interview processes\", \"create hiring pipelines\", \"calibrate interview loops\", \"generate interview questions\", \"design competency matrices\", \"analyze interviewer bias\", \"create scoring rubrics\", \"build question banks\", or \"optimize hiring systems\". Use for designing role-specific interview loops, competency assessments, and hiring calibration systems.", + "tools": [ + { + "script": "engineering/skills/interview-system-designer/scripts/interview_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/interview-system-designer/scripts/interview_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/interview-system-designer/hiring_calibrator.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/interview-system-designer/hiring_calibrator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/interview-system-designer/loop_designer.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/interview-system-designer/loop_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/interview-system-designer/question_bank_generator.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/interview-system-designer/question_bank_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "bias_mitigation_checklist.md", + "competency_matrix_templates.md", + "debrief_facilitation_guide.md", + "interview-frameworks.md" + ] + }, + { + "name": "kubernetes-operator", + "path": "engineering/skills/kubernetes-operator", + "description": "Use when building a Kubernetes Operator \u2014 custom controllers that reconcile CRD state. Triggers on \"build an operator\", \"CRD design\", \"reconcile loop\", \"controller-runtime\", \"kubebuilder\", \"operator-sdk\", \"metacontroller\", \"KOPF\", \"operator capability levels\", or \"custom resource\". Ships CRD validator, reconcile-loop linter, and OperatorHub capability auditor (all stdlib Python), 4 references on the operator pattern + CRD design + reconcile patterns + tooling landscape, and a /operator-audit slash command. NOT a generic k8s skill \u2014 specifically the Operator pattern.", + "tools": [ + { + "script": "engineering/skills/kubernetes-operator/scripts/crd_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/kubernetes-operator/scripts/crd_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/kubernetes-operator/scripts/operator_capability_audit.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/kubernetes-operator/scripts/operator_capability_audit.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/kubernetes-operator/scripts/reconcile_lint.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/kubernetes-operator/scripts/reconcile_lint.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "crd_design.md", + "operator_pattern.md", + "reconcile_loop.md", + "tooling_landscape.md" + ] + }, + { + "name": "mcp-server-builder", + "path": "engineering/skills/mcp-server-builder", + "description": "Design and ship production-ready MCP (Model Context Protocol) servers from OpenAPI contracts instead of hand-written tool wrappers. Python and TypeScript support, schema validation, safe evolution. Use when exposing an existing API as an MCP server, building tool integrations for Claude or Codex or Cursor, or scaffolding an MCP project from scratch.", + "tools": [ + { + "script": "engineering/skills/mcp-server-builder/scripts/mcp_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/mcp-server-builder/scripts/mcp_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/mcp-server-builder/scripts/openapi_to_mcp.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/mcp-server-builder/scripts/openapi_to_mcp.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "openapi-extraction-guide.md", + "production-hardening-guide.md", + "python-server-template.md", + "typescript-server-template.md", + "validation-checklist.md" + ] + }, + { + "name": "migration-architect", + "path": "engineering/skills/migration-architect", + "description": "Zero-downtime migration planning, compatibility validation, and rollback strategy generation. Tools for system, database, and infrastructure migrations with minimal business impact. Use when planning a database migration, infrastructure cutover, system replacement, or any high-risk transition that needs explicit rollback paths.", + "tools": [ + { + "script": "engineering/skills/migration-architect/scripts/compatibility_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/migration-architect/scripts/compatibility_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/migration-architect/scripts/migration_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/migration-architect/scripts/migration_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/migration-architect/scripts/rollback_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/migration-architect/scripts/rollback_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "data_reconciliation_strategies.md", + "migration_patterns_catalog.md", + "zero_downtime_techniques.md" + ] + }, + { + "name": "monorepo-navigator", + "path": "engineering/skills/monorepo-navigator", + "description": "Navigate, manage, and optimize monorepos. Covers Turborepo, Nx, pnpm workspaces, and Lerna. Cross-package impact analysis, selective builds/tests on affected packages, remote caching, dependency graph visualization, and structured multi-repo to monorepo migrations. Use when setting up a new monorepo, optimizing CI for a large workspace, debugging cross-package dependency issues, or planning a multi-repo consolidation.", + "tools": [ + { + "script": "engineering/skills/monorepo-navigator/scripts/monorepo_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/monorepo-navigator/scripts/monorepo_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "monorepo-patterns.md", + "monorepo-tooling-reference.md" + ] + }, + { + "name": "observability-designer", + "path": "engineering/skills/observability-designer", + "description": "Design production-ready observability strategies combining metrics, logs, and traces. Includes SLI/SLO design, golden-signals monitoring, alert optimization. Use when adding observability to a new service, refactoring alerting that is too noisy, or designing an SLO program before scaling production load.", + "tools": [ + { + "script": "engineering/skills/observability-designer/scripts/alert_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/observability-designer/scripts/alert_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/observability-designer/scripts/dashboard_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/observability-designer/scripts/dashboard_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/observability-designer/scripts/slo_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/observability-designer/scripts/slo_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "alert_design_patterns.md", + "dashboard_best_practices.md", + "slo_cookbook.md" + ] + }, + { + "name": "performance-profiler", + "path": "engineering/skills/performance-profiler", + "description": "Systematic performance profiling for Node.js, Python, and Go applications. Identifies CPU, memory, and I/O bottlenecks, generates flamegraphs, analyzes bundle sizes, optimizes database queries, runs load tests with k6 and Artillery. Always measures before and after. Use when investigating a slow endpoint, planning a performance budget, or hunting a memory leak in production.", + "tools": [ + { + "script": "engineering/skills/performance-profiler/scripts/performance_profiler.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/performance-profiler/scripts/performance_profiler.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "optimization-playbook.md", + "profiling-recipes.md" + ] + }, + { + "name": "pr-review-expert", + "path": "engineering/skills/pr-review-expert", + "description": "Use when the user asks to review pull requests, analyze code changes, check for security issues in PRs, or assess code quality of diffs.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "rag-architect", + "path": "engineering/skills/rag-architect", + "description": "Use when the user asks to design a RAG pipeline, choose a chunking strategy or embedding model, pick a vector database, or evaluate retrieval quality (precision@k, recall@k, NDCG). Examples: 'design a RAG system for our docs', 'what chunk size should I use for this corpus', 'evaluate my retriever against ground truth'. NOT for general LLM cost tuning (use llm-cost-optimizer) or agent loops over retrieval (use agenthub).", + "tools": [ + { + "script": "engineering/skills/rag-architect/chunking_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/rag-architect/chunking_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/rag-architect/rag_pipeline_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/rag-architect/rag_pipeline_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/rag-architect/retrieval_evaluator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/rag-architect/retrieval_evaluator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "chunking_strategies_comparison.md", + "embedding_model_benchmark.md", + "rag_evaluation_framework.md" + ] + }, + { + "name": "runbook-generator", + "path": "engineering/skills/runbook-generator", + "description": "Generate operational runbooks from a service name \u2014 deployment, incident response, maintenance, and rollback workflows. Templated structure customizable per environment. Use when documenting on-call procedures for a new service, standardizing incident response across teams, or producing runbooks before launching to production.", + "tools": [ + { + "script": "engineering/skills/runbook-generator/scripts/runbook_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/runbook-generator/scripts/runbook_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "runbook-templates.md" + ] + }, + { + "name": "secrets-vault-manager", + "path": "engineering/skills/secrets-vault-manager", + "description": "Use when the user asks to set up secret management infrastructure, integrate HashiCorp Vault, configure cloud secret stores (AWS Secrets Manager, Azure Key Vault, GCP Secret Manager), implement secret rotation, or audit secret access patterns.", + "tools": [ + { + "script": "engineering/skills/secrets-vault-manager/scripts/audit_log_analyzer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/skills/secrets-vault-manager/scripts/audit_log_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/skills/secrets-vault-manager/scripts/audit_log_analyzer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/skills/secrets-vault-manager/scripts/rotation_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/secrets-vault-manager/scripts/rotation_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/secrets-vault-manager/scripts/vault_config_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/secrets-vault-manager/scripts/vault_config_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "cloud_secret_stores.md", + "emergency_procedures.md", + "vault_patterns.md" + ] + }, + { + "name": "self-eval", + "path": "engineering/skills/self-eval", + "description": "Honestly evaluate AI work quality using a two-axis scoring system. Use after completing a task, code review, or work session to get an unbiased assessment. Detects score inflation, forces devil's advocate reasoning, and persists scores across sessions.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "ship-gate", + "path": "engineering/skills/ship-gate", + "description": "> Pre-production audit that scans a codebase for security, database, deployment, code quality, AI/LLM, dependency, frontend, and observability issues. Intercepts deploy commands and blocks until critical items pass. Stack-agnostic. Use for \"run ship gate\", \"am I ready to ship\", \"pre-launch audit\", \"can I deploy\", \"push to production\", \"go live checklist\", \"preflight check\". Not for CI/CD setup or infra provisioning.", + "tools": [ + { + "script": "engineering/skills/ship-gate/scripts/ship_gate_scanner.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/ship-gate/scripts/ship_gate_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "checks.md", + "patterns.md" + ] + }, + { + "name": "skill-security-auditor", + "path": "engineering/skills/skill-security-auditor", + "description": "> Security audit and vulnerability scanner for AI agent skills before installation. Use when: (1) evaluating a skill from an untrusted source, (2) auditing a skill directory or git repo URL for malicious code, (3) pre-install security gate for Claude Code plugins, OpenClaw skills, or Codex skills, (4) scanning Python scripts for dangerous patterns like os.system, eval, subprocess, network exfiltration, (5) detecting prompt injection in SKILL.md files, (6) checking dependency supply chain risks, (7) verifying file system access stays within skill boundaries.", + "tools": [ + { + "script": "engineering/skills/skill-security-auditor/scripts/skill_security_auditor.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/skill-security-auditor/scripts/skill_security_auditor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "threat-model.md" + ] + }, + { + "name": "skill-tester", + "path": "engineering/skills/skill-tester", + "description": "Validate, test, and score the quality of skills within the claude-skills ecosystem. Comprehensive meta-skill: structure validation, Python script testing (syntax + imports + runtime + output format), multi-dimensional quality scoring with letter grades and tier classification (BASIC/STANDARD/POWERFUL). Use when authoring a new skill, auditing existing skills for tier promotion, setting up pre-commit hooks for skill quality, or integrating skill QA into CI.", + "tools": [ + { + "script": "engineering/skills/skill-tester/scripts/quality_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/skill-tester/scripts/quality_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/skill-tester/scripts/script_tester.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/skill-tester/scripts/script_tester.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/skill-tester/scripts/security_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/skill-tester/scripts/security_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/skill-tester/scripts/skill_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/skill-tester/scripts/skill_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "quality-scoring-rubric.md", + "skill-structure-specification.md", + "tier-requirements-matrix.md" + ] + }, + { + "name": "sample-skill", + "path": "engineering/skills/skill-tester/assets/sample-skill", + "description": "", + "tools": [ + { + "script": "engineering/skills/skill-tester/assets/sample-skill/scripts/text_processor.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/skill-tester/assets/sample-skill/scripts/text_processor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "api-reference.md" + ] + }, + { + "name": "slo-architect", + "path": "engineering/skills/slo-architect", + "description": "Use when defining, reviewing, or operating SLOs/SLIs/error budgets. Triggers on \"define an SLO\", \"what should our SLO be\", \"error budget\", \"burn rate\", \"SLI\", \"service level objective\", \"Google SRE workbook\", \"multi-window burn-rate alert\", or any reliability-target question. Ships SLO designer, error-budget calculator with multi-window burn-rate thresholds, and SLO reviewer that catches the common bugs (target too aggressive, window too short, conflicting SLOs, no SLI definition). 4 references on SLO principles + SLI design + error budget math + composition with feature-flags-architect/chaos-", + "tools": [ + { + "script": "engineering/skills/slo-architect/scripts/error_budget_calculator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/skills/slo-architect/scripts/error_budget_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/skills/slo-architect/scripts/error_budget_calculator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/skills/slo-architect/scripts/slo_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/slo-architect/scripts/slo_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/slo-architect/scripts/slo_review.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/skills/slo-architect/scripts/slo_review.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/skills/slo-architect/scripts/slo_review.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "composition.md", + "error_budget.md", + "sli_design.md", + "slo_principles.md" + ] + }, + { + "name": "spec-driven-workflow", + "path": "engineering/skills/spec-driven-workflow", + "description": "Use when the user asks to write specs before code, define acceptance criteria, plan features before implementation, generate tests from specifications, or follow spec-first development practices.", + "tools": [ + { + "script": "engineering/skills/spec-driven-workflow/scripts/spec_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/spec-driven-workflow/scripts/spec_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/spec-driven-workflow/scripts/spec_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/spec-driven-workflow/scripts/spec_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/spec-driven-workflow/scripts/test_extractor.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/spec-driven-workflow/scripts/test_extractor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "acceptance_criteria_patterns.md", + "bounded_autonomy_rules.md", + "spec_format_guide.md" + ] + }, + { + "name": "sql-database-assistant", + "path": "engineering/skills/sql-database-assistant", + "description": "Use when the user asks to write SQL queries, optimize database performance, generate migrations, explore database schemas, or work with ORMs like Prisma, Drizzle, TypeORM, or SQLAlchemy.", + "tools": [ + { + "script": "engineering/skills/sql-database-assistant/scripts/migration_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/sql-database-assistant/scripts/migration_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/sql-database-assistant/scripts/query_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/sql-database-assistant/scripts/query_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/sql-database-assistant/scripts/schema_explorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/sql-database-assistant/scripts/schema_explorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "optimization_guide.md", + "orm_patterns.md", + "query_patterns.md" + ] + }, + { + "name": "tc-tracker", + "path": "engineering/skills/tc-tracker", + "description": "Use when the user asks to track technical changes, create change records, manage TC lifecycles, or hand off work between AI sessions. Covers init/create/update/status/resume/close/export workflows for structured code change documentation.", + "tools": [ + { + "script": "engineering/skills/tc-tracker/scripts/tc_create.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/tc-tracker/scripts/tc_create.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/tc-tracker/scripts/tc_init.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/tc-tracker/scripts/tc_init.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/tc-tracker/scripts/tc_status.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/tc-tracker/scripts/tc_status.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/tc-tracker/scripts/tc_update.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/tc-tracker/scripts/tc_update.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/tc-tracker/scripts/tc_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/tc-tracker/scripts/tc_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "handoff-format.md", + "lifecycle.md", + "tc-schema.md" + ] + }, + { + "name": "tech-debt-tracker", + "path": "engineering/skills/tech-debt-tracker", + "description": "Scan codebases for technical debt, score severity, track trends, and generate prioritized remediation plans. Use when users mention tech debt, code quality, refactoring priority, debt scoring, cleanup sprints, or code health assessment. Also use for legacy code modernization planning and maintenance cost estimation.", + "tools": [ + { + "script": "engineering/skills/tech-debt-tracker/scripts/debt_dashboard.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/tech-debt-tracker/scripts/debt_dashboard.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/tech-debt-tracker/scripts/debt_prioritizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/tech-debt-tracker/scripts/debt_prioritizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/skills/tech-debt-tracker/scripts/debt_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/skills/tech-debt-tracker/scripts/debt_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "debt-classification-taxonomy.md", + "debt-frameworks.md", + "prioritization-framework.md", + "stakeholder-communication-templates.md" + ] + }, + { + "name": "slo-architect", + "path": "engineering/slo-architect/skills/slo-architect", + "description": "Use when defining, reviewing, or operating SLOs/SLIs/error budgets. Triggers on \"define an SLO\", \"what should our SLO be\", \"error budget\", \"burn rate\", \"SLI\", \"service level objective\", \"Google SRE workbook\", \"multi-window burn-rate alert\", or any reliability-target question. Ships SLO designer, error-budget calculator with multi-window burn-rate thresholds, and SLO reviewer that catches the common bugs (target too aggressive, window too short, conflicting SLOs, no SLI definition). 4 references on SLO principles + SLI design + error budget math + composition with feature-flags-architect/chaos-", + "tools": [ + { + "script": "engineering/slo-architect/skills/slo-architect/scripts/error_budget_calculator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/slo-architect/skills/slo-architect/scripts/error_budget_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/slo-architect/skills/slo-architect/scripts/error_budget_calculator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/slo-architect/skills/slo-architect/scripts/slo_designer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/slo-architect/skills/slo-architect/scripts/slo_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/slo-architect/skills/slo-architect/scripts/slo_review.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/slo-architect/skills/slo-architect/scripts/slo_review.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/slo-architect/skills/slo-architect/scripts/slo_review.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "composition.md", + "error_budget.md", + "sli_design.md", + "slo_principles.md" + ] + }, + { + "name": "statistical-analyst", + "path": "engineering/statistical-analyst/skills/statistical-analyst", + "description": "Run hypothesis tests, analyze A/B experiment results, calculate sample sizes, and interpret statistical significance with effect sizes. Use when you need to validate whether observed differences are real, size an experiment correctly before launch, or interpret test results with confidence.", + "tools": [ + { + "script": "engineering/statistical-analyst/skills/statistical-analyst/scripts/confidence_interval.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/statistical-analyst/skills/statistical-analyst/scripts/confidence_interval.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/statistical-analyst/skills/statistical-analyst/scripts/hypothesis_tester.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/statistical-analyst/skills/statistical-analyst/scripts/hypothesis_tester.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/statistical-analyst/skills/statistical-analyst/scripts/sample_size_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/statistical-analyst/skills/statistical-analyst/scripts/sample_size_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "statistical-testing-concepts.md" + ] + }, + { + "name": "terraform-patterns", + "path": "engineering/terraform-patterns/skills/terraform-patterns", + "description": "Terraform infrastructure-as-code agent skill and plugin for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw. Covers module design patterns, state management strategies, provider configuration, security hardening, policy-as-code with Sentinel/OPA, and CI/CD plan/apply workflows. Use when: user wants to design Terraform modules, manage state backends, review Terraform security, implement multi-region deployments, or follow IaC best practices.", + "tools": [ + { + "script": "engineering/terraform-patterns/skills/terraform-patterns/scripts/tf_module_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/terraform-patterns/skills/terraform-patterns/scripts/tf_module_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/terraform-patterns/skills/terraform-patterns/scripts/tf_security_scanner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/terraform-patterns/skills/terraform-patterns/scripts/tf_security_scanner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "module-patterns.md", + "state-management.md" + ] + }, + { + "name": "universal-scraping-architect", + "path": "engineering/universal-scraping-architect/skills/universal-scraping-architect", + "description": "Use for web scraping, crawling, document extraction, API parsing, or building validation-heavy data pipelines using Firecrawl or local Python scripts.", + "tools": [ + { + "script": "engineering/universal-scraping-architect/skills/universal-scraping-architect/scripts/firecrawl_example.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/universal-scraping-architect/skills/universal-scraping-architect/scripts/firecrawl_example.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/universal-scraping-architect/skills/universal-scraping-architect/scripts/firecrawl_example.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/universal-scraping-architect/skills/universal-scraping-architect/scripts/local_bs4_example.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/universal-scraping-architect/skills/universal-scraping-architect/scripts/local_bs4_example.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/universal-scraping-architect/skills/universal-scraping-architect/scripts/local_bs4_example.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/universal-scraping-architect/skills/universal-scraping-architect/scripts/validate_extraction.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/universal-scraping-architect/skills/universal-scraping-architect/scripts/validate_extraction.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "firecrawl-technical-guide.md", + "local-extraction-patterns.md", + "scraping-ethics-security.md" + ] + }, + { + "name": "workflow-builder", + "path": "engineering/workflow-builder/skills/workflow-builder", + "description": "Design and write deterministic multi-agent workflow scripts (.js files in .claude/workflows/) for Claude Code's Workflow tool. Use when a user wants to build, create, author, scaffold, or run a custom Claude Code workflow, orchestrate sub-agents (fan-out, pipeline, loop, judge-panel), or automate a repeatable multi-step task across fresh-context agents.", + "tools": [ + { + "script": "engineering/workflow-builder/skills/workflow-builder/scripts/scaffold_workflow.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/workflow-builder/skills/workflow-builder/scripts/scaffold_workflow.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/workflow-builder/skills/workflow-builder/scripts/scaffold_workflow.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/workflow-builder/skills/workflow-builder/scripts/validate_workflow.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/workflow-builder/skills/workflow-builder/scripts/validate_workflow.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/workflow-builder/skills/workflow-builder/scripts/validate_workflow.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "engineering/workflow-builder/skills/workflow-builder/scripts/workflow_intake.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 engineering/workflow-builder/skills/workflow-builder/scripts/workflow_intake.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 engineering/workflow-builder/skills/workflow-builder/scripts/workflow_intake.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "api_reference.md", + "decision_and_intake_guide.md", + "orchestration_patterns.md" + ] + }, + { + "name": "write-a-skill", + "path": "engineering/write-a-skill/skills/write-a-skill", + "description": "Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, build, or author a new skill.", + "tools": [ + { + "script": "engineering/write-a-skill/skills/write-a-skill/scripts/skill_description_validator.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/write-a-skill/skills/write-a-skill/scripts/skill_description_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/write-a-skill/skills/write-a-skill/scripts/skill_review_checklist_runner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/write-a-skill/skills/write-a-skill/scripts/skill_review_checklist_runner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "engineering/write-a-skill/skills/write-a-skill/scripts/skill_structure_validator.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 engineering/write-a-skill/skills/write-a-skill/scripts/skill_structure_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "companion_tooling.md", + "description_design_patterns.md", + "progressive_disclosure_principles.md", + "quality_gates_for_skills.md" + ] + }, + { + "name": "zero-hallucination-coder", + "path": "engineering/zero-hallucination-coder/skills/zero-hallucination-coder", + "description": "Runs a disciplined Discuss -> Map -> Decompose -> Execute -> Verify loop that grounds code in verified structure \u2014 no invented APIs, no assumed imports, no placeholder code \u2014 with a lazy-senior-dev YAGNI ladder that deletes unnecessary code before it is written. Use when a coding task is high-stakes, complex, or spans existing code (auth, databases, migrations, multi-file features), or when the user explicitly asks to plan carefully before coding, avoid hallucinated code, or work rigorously. Not for trivial edits, typos, or throwaway one-off scripts \u2014 those do not need the full loop.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/finance.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/finance.json new file mode 100644 index 00000000..c3a7ee7e --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/finance.json @@ -0,0 +1,167 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "finance", + "skill_count": 4, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "business-investment-advisor", + "path": "finance/business-investment-advisor/skills/business-investment-advisor", + "description": "Business investment analysis and capital allocation advisor. Use when evaluating whether to invest in equipment, real estate, a new business, hiring, technology, or any capital expenditure. Also use for ROI calculations, IRR, NPV, payback period, build vs buy decisions, lease vs buy analysis, vendor evaluation, or deciding where to allocate limited budget for maximum return.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "finance-skills", + "path": "finance/skills/finance-skills", + "description": "Router/index for the 2 finance skills bundled in this plugin: financial-analyst (ratio analysis, DCF valuation, budget variance, rolling forecasts) and saas-metrics-coach (ARR/MRR, churn, CAC/LTV, NRR, quick ratio). Use when a finance request doesn't obviously match one skill and you need to pick the right one (e.g., 'analyze these financials', 'how healthy are my SaaS metrics').", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "financial-analyst", + "path": "finance/skills/financial-analyst", + "description": "Performs financial ratio analysis, DCF valuation, budget variance analysis, and rolling forecast construction for strategic decision-making. Use when analyzing financial statements, building valuation models, assessing budget variances, or constructing financial projections and forecasts. Also applicable when users mention financial modeling, cash flow analysis, company valuation, financial projections, or spreadsheet analysis.", + "tools": [ + { + "script": "finance/skills/financial-analyst/scripts/budget_variance_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 finance/skills/financial-analyst/scripts/budget_variance_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "finance/skills/financial-analyst/scripts/dcf_valuation.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 finance/skills/financial-analyst/scripts/dcf_valuation.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "finance/skills/financial-analyst/scripts/forecast_builder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 finance/skills/financial-analyst/scripts/forecast_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "finance/skills/financial-analyst/scripts/ratio_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 finance/skills/financial-analyst/scripts/ratio_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "financial-ratios-guide.md", + "forecasting-best-practices.md", + "industry-adaptations.md", + "valuation-methodology.md" + ] + }, + { + "name": "saas-metrics-coach", + "path": "finance/skills/saas-metrics-coach", + "description": "SaaS financial health advisor. Use when a user shares revenue or customer numbers, or mentions ARR, MRR, churn, LTV, CAC, NRR, or asks how their SaaS business is doing.", + "tools": [ + { + "script": "finance/skills/saas-metrics-coach/scripts/metrics_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 finance/skills/saas-metrics-coach/scripts/metrics_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "finance/skills/saas-metrics-coach/scripts/quick_ratio_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 finance/skills/saas-metrics-coach/scripts/quick_ratio_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "finance/skills/saas-metrics-coach/scripts/unit_economics_simulator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 finance/skills/saas-metrics-coach/scripts/unit_economics_simulator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "benchmarks.md", + "formulas.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/loop-library.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/loop-library.json new file mode 100644 index 00000000..90bee974 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/loop-library.json @@ -0,0 +1,34 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "loop-library", + "skill_count": 1, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "loop-library", + "path": "loop-library", + "description": "Discover, find, compare, audit, repair, adapt, and design repeatable AI-agent loops with explicit triggers, actions, verification, stopping conditions, guardrails, and handoffs. Use when a user asks to analyze a codebase for potential loops, mine coding-thread history for work done more than once, turn repeated engineering work into a loop, find or recommend a published loop, create a recurring agent workflow or automation cadence, turn an outcome into a bounded copy-ready loop, or review an existing loop for weak checks, unsafe authority, unbounded repetition, stale state, or unclear stopping", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "audit.md", + "discover.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/markdown-html.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/markdown-html.json new file mode 100644 index 00000000..ef71d671 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/markdown-html.json @@ -0,0 +1,357 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "markdown-html", + "skill_count": 5, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "design-system", + "path": "markdown-html/skills/design-system", + "description": "Captures the user's brand identity once via a 10-question onboarding wizard (primary/accent HEX + heading + body Google Fonts + design style editorial/technical/minimal/playful + default output directory + syntax theme + TOC behavior + optional logo/company), validates body-text and link contrast against WCAG 2.2 AA, derives 12 CSS custom properties in HSL space, and stores the result for every markdown-html converter to consume. Use before any markdown-html conversion. Triggers on first-run onboarding (\"set up the brand\", \"configure markdown-html\", \"run onboarding\"), on explicit reset (\"reset", + "tools": [ + { + "script": "markdown-html/skills/design-system/scripts/brand_palette_validator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/design-system/scripts/brand_palette_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/design-system/scripts/brand_palette_validator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "markdown-html/skills/design-system/scripts/config_loader.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/design-system/scripts/config_loader.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/design-system/scripts/config_loader.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "markdown-html/skills/design-system/scripts/onboard.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 markdown-html/skills/design-system/scripts/onboard.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "design_token_canon.md", + "typography_pairing.md", + "wcag_accessibility.md" + ] + }, + { + "name": "markdown-html-orchestrator", + "path": "markdown-html/skills/markdown-html-orchestrator", + "description": "Use when a user wants to convert any markdown file in their Claude project into a single-file, lightly-interactive HTML \u2014 long-form documents (specs, plans, RFCs, reports, explainers), code reviews with diffs and severity-tagged annotations, or slide decks. Triggers on \"convert this markdown to HTML\", \"make this an HTML file\", \"turn this into an interactive document\", \"render this report as HTML\", \"PR writeup as HTML\", \"slides from this markdown\". Forks context to route to one of three converter sub-skills (md-document, md-review, md-slides) based on a deterministic doctype classifier, after t", + "tools": [ + { + "script": "markdown-html/skills/markdown-html-orchestrator/scripts/doctype_classifier.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/markdown-html-orchestrator/scripts/doctype_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/markdown-html-orchestrator/scripts/doctype_classifier.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "markdown-html/skills/markdown-html-orchestrator/scripts/output_path_resolver.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/markdown-html-orchestrator/scripts/output_path_resolver.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/markdown-html-orchestrator/scripts/output_path_resolver.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "markdown-html/skills/markdown-html-orchestrator/scripts/route_explainer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 markdown-html/skills/markdown-html-orchestrator/scripts/route_explainer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "information_density_canon.md", + "orchestrator_routing_patterns.md", + "single_file_html_discipline.md" + ] + }, + { + "name": "md-document", + "path": "markdown-html/skills/md-document", + "description": "Converts long-form markdown (specs, RFCs, reports, plans, explainers) into a single-file, lightly-interactive HTML document with sticky TOC, scrollspy, search filter, code-copy buttons, and design-system-driven brand tokens. Triggers when the markdown-html-orchestrator classifies an input as DOCUMENT, or when invoked directly via /cs:md-document. Reads the design-system config via config_loader.py and inlines the user's 12 derived CSS custom properties; refuses to render if onboarding hasn't run. Single-file output \u2014 Google Fonts + Prism.js CDN are the only externals; no framework runtime, no ", + "tools": [ + { + "script": "markdown-html/skills/md-document/scripts/html_renderer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/md-document/scripts/html_renderer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/md-document/scripts/html_renderer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "markdown-html/skills/md-document/scripts/interactivity_injector.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/md-document/scripts/interactivity_injector.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/md-document/scripts/interactivity_injector.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "markdown-html/skills/md-document/scripts/markdown_parser.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/md-document/scripts/markdown_parser.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/md-document/scripts/markdown_parser.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "information_density_patterns.md", + "single_file_html_discipline.md", + "toc_and_nav_ux.md" + ] + }, + { + "name": "md-review", + "path": "markdown-html/skills/md-review", + "description": "Converts a markdown PR writeup or code review (one with ```diff fenced blocks and severity-tagged > [!BLOCKER]/[!MAJOR]/[!MINOR]/[!NIT] callouts) into a single-file 2-column HTML review \u2014 unified-diff on the left, severity-tagged annotation cards on the right, top jump-nav listing every finding, mandatory named reviewer footer. Triggers when the markdown-html-orchestrator classifies an input as REVIEW, or when invoked directly via /cs:md-review. Refuses without explicit --reviewer (a code review must name a human), refuses if no diff hunks present (route to md-document instead), and refuses to", + "tools": [ + { + "script": "markdown-html/skills/md-review/scripts/annotation_extractor.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/md-review/scripts/annotation_extractor.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/md-review/scripts/annotation_extractor.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "markdown-html/skills/md-review/scripts/diff_parser.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/md-review/scripts/diff_parser.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/md-review/scripts/diff_parser.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "markdown-html/skills/md-review/scripts/review_html_renderer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/md-review/scripts/review_html_renderer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/md-review/scripts/review_html_renderer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "diff_rendering_canon.md", + "pr_annotation_ux.md", + "severity_coding.md" + ] + }, + { + "name": "md-slides", + "path": "markdown-html/skills/md-slides", + "description": "Converts a markdown deck (slides separated by `---` HR boundaries or by `# ` H1 headings, with optional `` presenter notes blocks) into a single-file HTML presentation with arrow-key / space / PgDn / PgUp / Home / End / P / Esc keyboard navigation, presenter mode (split view with current slide + speaker notes + clock + next-slide preview), URL-hash deep linking, and `@media print` page-per-slide for PDF export. Triggers when the markdown-html-orchestrator classifies an input as SLIDES, or when invoked directly via /cs:md-slides. Reuses md-document's markdown parser for slide", + "tools": [ + { + "script": "markdown-html/skills/md-slides/scripts/deck_html_renderer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/md-slides/scripts/deck_html_renderer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/md-slides/scripts/deck_html_renderer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "markdown-html/skills/md-slides/scripts/presenter_notes_parser.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/md-slides/scripts/presenter_notes_parser.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/md-slides/scripts/presenter_notes_parser.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "markdown-html/skills/md-slides/scripts/slide_splitter.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 markdown-html/skills/md-slides/scripts/slide_splitter.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 markdown-html/skills/md-slides/scripts/slide_splitter.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "keyboard_nav_patterns.md", + "presentation_ux.md", + "single_file_deck_conventions.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/marketing-skill.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/marketing-skill.json new file mode 100644 index 00000000..5ce3ceee --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/marketing-skill.json @@ -0,0 +1,1617 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "marketing-skill", + "skill_count": 48, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "ab-test-setup", + "path": "marketing-skill/skills/ab-test-setup", + "description": "When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions \"A/B test,\" \"split test,\" \"experiment,\" \"test this change,\" \"variant copy,\" \"multivariate test,\" \"hypothesis,\" \"conversion experiment,\" \"statistical significance,\" or \"test this.\" For tracking implementation, see analytics-tracking.", + "tools": [ + { + "script": "marketing-skill/skills/ab-test-setup/scripts/sample_size_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/ab-test-setup/scripts/sample_size_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "sample-size-guide.md", + "test-templates.md" + ] + }, + { + "name": "ad-creative", + "path": "marketing-skill/skills/ad-creative", + "description": "When the user needs to generate, iterate, or scale ad creative for paid advertising. Use when they say 'write ad copy,' 'generate headlines,' 'create ad variations,' 'bulk creative,' 'iterate on ads,' 'ad copy validation,' 'RSA headlines,' 'Meta ad copy,' 'LinkedIn ad,' or 'creative testing.' This is pure creative production \u2014 distinct from paid-ads (campaign strategy). Use ad-creative when you need the copy, not the campaign plan.", + "tools": [ + { + "script": "marketing-skill/skills/ad-creative/scripts/ad_copy_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/ad-creative/scripts/ad_copy_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "creative-frameworks.md", + "platform-specs.md" + ] + }, + { + "name": "aeo", + "path": "marketing-skill/skills/aeo", + "description": "Answer Engine Optimization (AEO) skill \u2014 optimize content to be cited by AI language models (ChatGPT, Perplexity, Claude, Gemini, Mistral) as authoritative sources. Distinct from SEO \u2014 AEO optimizes for citation in LLM-generated responses, not search rankings. Use when planning content for AI-first search audiences, auditing existing content for E-E-A-T signals, tracking which pages get cited by which LLMs, or building a citation-friendly content strategy. Triggers \u2014 'AEO audit', 'optimize for ChatGPT', 'get cited by Perplexity', 'LLM citation strategy', 'answer engine optimization', 'content ", + "tools": [ + { + "script": "marketing-skill/skills/aeo/scripts/aeo_audit.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/aeo/scripts/aeo_audit.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 marketing-skill/skills/aeo/scripts/aeo_audit.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "marketing-skill/skills/aeo/scripts/aeo_optimizer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/aeo/scripts/aeo_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 marketing-skill/skills/aeo/scripts/aeo_optimizer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "marketing-skill/skills/aeo/scripts/citation_tracker.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/aeo/scripts/citation_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 marketing-skill/skills/aeo/scripts/citation_tracker.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "aeo_eeat_canon.md", + "aeo_vs_seo.md", + "bot_access_and_monitoring.md", + "extractable_content_patterns.md", + "llm_citation_patterns.md" + ] + }, + { + "name": "analytics-tracking", + "path": "marketing-skill/skills/analytics-tracking", + "description": "Set up, audit, and debug analytics tracking implementation \u2014 GA4, Google Tag Manager, event taxonomy, conversion tracking, and data quality. Use when building a tracking plan from scratch, auditing existing analytics for gaps or errors, debugging missing events, or setting up GTM. Trigger keywords: GA4 setup, Google Tag Manager, GTM, event tracking, analytics implementation, conversion tracking, tracking plan, event taxonomy, custom dimensions, UTM tracking, analytics audit, missing events, tracking broken. NOT for analyzing marketing campaign data \u2014 use campaign-analytics for that. NOT for BI", + "tools": [ + { + "script": "marketing-skill/skills/analytics-tracking/scripts/tracking_plan_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/analytics-tracking/scripts/tracking_plan_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "debugging-playbook.md", + "event-taxonomy-guide.md", + "gtm-patterns.md" + ] + }, + { + "name": "app-store-optimization", + "path": "marketing-skill/skills/app-store-optimization", + "description": "App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.", + "tools": [ + { + "script": "marketing-skill/skills/app-store-optimization/scripts/ab_test_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/app-store-optimization/scripts/ab_test_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/app-store-optimization/scripts/aso_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/app-store-optimization/scripts/aso_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/app-store-optimization/scripts/competitor_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/app-store-optimization/scripts/competitor_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/app-store-optimization/scripts/keyword_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/app-store-optimization/scripts/keyword_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/app-store-optimization/scripts/launch_checklist.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/app-store-optimization/scripts/launch_checklist.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/app-store-optimization/scripts/localization_helper.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/app-store-optimization/scripts/localization_helper.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/app-store-optimization/scripts/metadata_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/app-store-optimization/scripts/metadata_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/app-store-optimization/scripts/review_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/app-store-optimization/scripts/review_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "aso-best-practices.md", + "keyword-research-guide.md", + "platform-requirements.md" + ] + }, + { + "name": "brand-guidelines", + "path": "marketing-skill/skills/brand-guidelines", + "description": "When the user wants to apply, document, or enforce brand guidelines for any product or company. Also use when the user mentions 'brand guidelines,' 'brand colors,' 'typography,' 'logo usage,' 'brand voice,' 'visual identity,' 'tone of voice,' 'brand standards,' 'style guide,' 'brand consistency,' or 'company design standards.' Covers color systems, typography, logo rules, imagery guidelines, and tone matrix for any brand \u2014 including Anthropic's official identity.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "brand-identity-and-framework.md" + ] + }, + { + "name": "campaign-analytics", + "path": "marketing-skill/skills/campaign-analytics", + "description": "Analyzes campaign performance with multi-touch attribution, funnel conversion analysis, and ROI calculation for marketing optimization. Use when analyzing marketing campaigns, ad performance, attribution models, conversion rates, or calculating marketing ROI, ROAS, CPA, and campaign metrics across channels.", + "tools": [ + { + "script": "marketing-skill/skills/campaign-analytics/scripts/attribution_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/campaign-analytics/scripts/attribution_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/campaign-analytics/scripts/campaign_roi_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/campaign-analytics/scripts/campaign_roi_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/campaign-analytics/scripts/funnel_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/campaign-analytics/scripts/funnel_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "attribution-models-guide.md", + "campaign-metrics-benchmarks.md", + "funnel-optimization-framework.md" + ] + }, + { + "name": "churn-prevention", + "path": "marketing-skill/skills/churn-prevention", + "description": "Reduce voluntary and involuntary churn through cancel flow design, save offers, exit surveys, and dunning sequences. Use when designing or optimizing a cancel flow, building save offers, setting up dunning emails, or reducing failed-payment churn. Trigger keywords: cancel flow, churn reduction, save offers, dunning, exit survey, payment recovery, win-back, involuntary churn, failed payments, cancel page. NOT for customer health scoring or expansion revenue \u2014 use customer-success-manager for that.", + "tools": [ + { + "script": "marketing-skill/skills/churn-prevention/scripts/churn_impact_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/churn-prevention/scripts/churn_impact_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "cancel-flow-playbook.md", + "dunning-guide.md" + ] + }, + { + "name": "cold-email", + "path": "marketing-skill/skills/cold-email", + "description": "When the user wants to write, improve, or build a sequence of B2B cold outreach emails to prospects who haven't asked to hear from them. Use when the user mentions 'cold email,' 'cold outreach,' 'prospecting emails,' 'SDR emails,' 'sales emails,' 'first touch email,' 'follow-up sequence,' or 'email prospecting.' Also use when they share an email draft that sounds too sales-y and needs to be humanized. Distinct from email-sequence (lifecycle/nurture to opted-in subscribers) \u2014 this is unsolicited outreach to new prospects. NOT for lifecycle emails, newsletters, or drip campaigns (use email-seque", + "tools": [ + { + "script": "marketing-skill/skills/cold-email/scripts/email_sequence_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/cold-email/scripts/email_sequence_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "deliverability-guide.md", + "follow-up-playbook.md", + "frameworks.md" + ] + }, + { + "name": "competitor-alternatives", + "path": "marketing-skill/skills/competitor-alternatives", + "description": "When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'switch from competitor,' or 'comparison content.' Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. Emphasizes deep research, modular content architecture, and varied section types beyond feature tables.", + "tools": [ + { + "script": "marketing-skill/skills/competitor-alternatives/scripts/comparison_matrix_builder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/competitor-alternatives/scripts/comparison_matrix_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "content-architecture.md", + "templates.md" + ] + }, + { + "name": "content-creator", + "path": "marketing-skill/skills/content-creator", + "description": "Deprecated redirect skill that routes legacy 'content creator' requests to the correct specialist. Use when a user invokes 'content creator', asks to write a blog post, article, guide, or brand voice analysis (routes to content-production), or asks to plan content, build a topic cluster, or create a content calendar (routes to content-strategy). Does not handle requests directly \u2014 identifies user intent and redirects to content-production for writing/SEO/brand-voice tasks or content-strategy for planning tasks.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "analytics_guide.md", + "brand_guidelines.md", + "content_frameworks.md", + "social_media_optimization.md" + ] + }, + { + "name": "content-humanizer", + "path": "marketing-skill/skills/content-humanizer", + "description": "Makes AI-generated content sound genuinely human \u2014 not just cleaned up, but alive. Use when content feels robotic, uses too many AI clich\u00e9s, lacks personality, or reads like it was written by committee. Triggers: 'this sounds like AI', 'make it more human', 'add personality', 'it feels generic', 'sounds robotic', 'fix AI writing', 'inject our voice'. NOT for initial content creation (use content-production). NOT for SEO optimization (use content-production Mode 3).", + "tools": [ + { + "script": "marketing-skill/skills/content-humanizer/scripts/humanizer_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/content-humanizer/scripts/humanizer_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "ai-tells-checklist.md", + "voice-techniques.md" + ] + }, + { + "name": "content-production", + "path": "marketing-skill/skills/content-production", + "description": "Full content production pipeline \u2014 takes a topic from blank page to published-ready piece. Use when you need to execute content: write a blog post, article, or guide end-to-end. Triggers: 'write a post about', 'draft an article', 'create content for', 'help me write', 'I need a blog post'. NOT for content strategy or calendar planning (use content-strategy). NOT for repurposing existing content (use content-repurposing). NOT for social captions only.", + "tools": [ + { + "script": "marketing-skill/skills/content-production/scripts/brand_voice_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/content-production/scripts/brand_voice_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/content-production/scripts/content_quality_gates.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/content-production/scripts/content_quality_gates.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/content-production/scripts/content_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/content-production/scripts/content_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/content-production/scripts/seo_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/content-production/scripts/seo_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "ai-citation-readiness.md", + "content-brief-guide.md", + "content-templates.md", + "optimization-checklist.md" + ] + }, + { + "name": "content-strategy", + "path": "marketing-skill/skills/content-strategy", + "description": "When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions \\\"content strategy,\\\" \\\"what should I write about,\\\" \\\"content ideas,\\\" \\\"blog strategy,\\\" \\\"topic clusters,\\\" or \\\"content planning.\\\" For writing individual pieces, see copywriting. For SEO-specific audits, see seo-audit.", + "tools": [ + { + "script": "marketing-skill/skills/content-strategy/scripts/topic_cluster_mapper.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/content-strategy/scripts/topic_cluster_mapper.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "content-strategy-reference.md" + ] + }, + { + "name": "copy-editing", + "path": "marketing-skill/skills/copy-editing", + "description": "When the user wants to edit, review, or improve existing marketing copy. Also use when the user mentions 'edit this copy,' 'review my copy,' 'copy feedback,' 'proofread,' 'polish this,' 'make this better,' or 'copy sweep.' This skill provides a systematic approach to editing marketing copy through multiple focused passes.", + "tools": [ + { + "script": "marketing-skill/skills/copy-editing/scripts/ai_content_detector.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/copy-editing/scripts/ai_content_detector.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/copy-editing/scripts/readability_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/copy-editing/scripts/readability_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "ai-detection-patterns.md", + "plain-english-alternatives.md" + ] + }, + { + "name": "copywriting", + "path": "marketing-skill/skills/copywriting", + "description": "When the user wants to write, rewrite, or improve marketing copy for any page \u2014 including homepage, landing pages, pricing pages, feature pages, about pages, or product pages. Also use when the user says \\\"write copy for,\\\" \\\"improve this copy,\\\" \\\"rewrite this page,\\\" \\\"marketing copy,\\\" \\\"headline help,\\\" or \\\"CTA copy.\\\" For email copy, see email-sequence. For popup copy, see popup-cro.", + "tools": [ + { + "script": "marketing-skill/skills/copywriting/scripts/headline_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/copywriting/scripts/headline_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "copy-frameworks.md", + "natural-transitions.md" + ] + }, + { + "name": "email-sequence", + "path": "marketing-skill/skills/email-sequence", + "description": "When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program. Also use when the user mentions \"email sequence,\" \"drip campaign,\" \"nurture sequence,\" \"onboarding emails,\" \"welcome sequence,\" \"re-engagement emails,\" \"email automation,\" or \"lifecycle emails.\" For in-app onboarding, see onboarding-cro.", + "tools": [ + { + "script": "marketing-skill/skills/email-sequence/scripts/sequence_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/email-sequence/scripts/sequence_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "email-sequence-playbook.md" + ] + }, + { + "name": "form-cro", + "path": "marketing-skill/skills/form-cro", + "description": "When the user wants to optimize any form that is NOT signup/registration \u2014 including lead capture forms, contact forms, demo request forms, application forms, survey forms, or checkout forms. Also use when the user mentions \"form optimization,\" \"lead form conversions,\" \"form friction,\" \"form fields,\" \"form completion rate,\" or \"contact form.\" For signup/registration forms, see signup-flow-cro. For popups containing forms, see popup-cro.", + "tools": [ + { + "script": "marketing-skill/skills/form-cro/scripts/form_field_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/form-cro/scripts/form_field_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "form-cro-playbook.md" + ] + }, + { + "name": "free-tool-strategy", + "path": "marketing-skill/skills/free-tool-strategy", + "description": "When the user wants to build a free tool for marketing \u2014 lead generation, SEO value, or brand awareness. Use when they mention 'engineering as marketing,' 'free tool,' 'calculator,' 'generator,' 'checker,' 'grader,' 'marketing tool,' 'lead gen tool,' 'build something for traffic,' 'interactive tool,' or 'free resource.' Covers idea evaluation, tool design, and launch strategy. For pure SEO content strategy (no tool), use seo-audit or content-strategy instead.", + "tools": [ + { + "script": "marketing-skill/skills/free-tool-strategy/scripts/tool_roi_estimator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/free-tool-strategy/scripts/tool_roi_estimator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "launch-playbook.md", + "tool-types-guide.md" + ] + }, + { + "name": "launch-strategy", + "path": "marketing-skill/skills/launch-strategy", + "description": "When the user wants to plan a product launch, feature announcement, or release strategy. Also use when the user mentions 'launch,' 'Product Hunt,' 'feature release,' 'announcement,' 'go-to-market,' 'beta launch,' 'early access,' 'waitlist,' 'product update,' 'GTM plan,' 'launch checklist,' or 'launch momentum.' This skill covers phased launches, channel strategy, and ongoing launch momentum.", + "tools": [ + { + "script": "marketing-skill/skills/launch-strategy/scripts/launch_readiness_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/launch-strategy/scripts/launch_readiness_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "launch-frameworks-and-checklists.md" + ] + }, + { + "name": "local-seo-manager", + "path": "marketing-skill/skills/local-seo-manager", + "description": "Manage local SEO for service-area businesses \u2014 appliance repair, HVAC, plumbing, cleaning, and any business that serves customers at their location. Use when the user wants to: audit Google Business Profile, generate neighborhood service area pages, check NAP consistency across directories, create LocalBusiness schema, or write review responses. Triggers: 'local SEO', 'Google Business Profile', 'GBP', 'service area page', 'NAP consistency', 'local citations', 'LocalBusiness schema', 'review responses', 'Google Maps ranking'. NOT for national SEO (use seo-audit). NOT for general schema (use sch", + "tools": [ + { + "script": "marketing-skill/skills/local-seo-manager/scripts/nap_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/local-seo-manager/scripts/nap_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/local-seo-manager/scripts/schema_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/local-seo-manager/scripts/schema_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/local-seo-manager/scripts/service_area_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/local-seo-manager/scripts/service_area_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "local-schema-types.md", + "local-seo-checklist.md", + "review-response-templates.md" + ] + }, + { + "name": "marketing-context", + "path": "marketing-skill/skills/marketing-context", + "description": "Create and maintain the marketing context document that all marketing skills read before starting. Use when the user mentions 'marketing context,' 'brand voice,' 'set up context,' 'target audience,' 'ICP,' 'style guide,' 'who is my customer,' 'positioning,' or wants to avoid repeating foundational information across marketing tasks. Run this at the start of any new project before using other marketing skills.", + "tools": [ + { + "script": "marketing-skill/skills/marketing-context/scripts/context_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/marketing-context/scripts/context_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "marketing-demand-acquisition", + "path": "marketing-skill/skills/marketing-demand-acquisition", + "description": "Creates demand generation campaigns, optimizes paid ad spend across LinkedIn, Google, and Meta, develops SEO strategies, and structures partnership programs. Use when planning demand gen strategy, growth marketing, advertising campaigns, PPC optimization, lead generation, pipeline generation, or marketing budgets. Covers multi-channel acquisition (Google Ads, LinkedIn Ads, Meta Ads), CAC analysis, MQL/SQL workflows, attribution modeling, technical SEO, and co-marketing partnerships. Default calibration profile is a Series A+ B2B SaaS scaling internationally (EU/US/Canada, hybrid PLG/Sales-Led)", + "tools": [ + { + "script": "marketing-skill/skills/marketing-demand-acquisition/scripts/calculate_cac.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/marketing-demand-acquisition/scripts/calculate_cac.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "attribution-guide.md", + "campaign-templates.md", + "hubspot-workflows.md", + "international-playbooks.md" + ] + }, + { + "name": "marketing-ideas", + "path": "marketing-skill/skills/marketing-ideas", + "description": "When the user needs marketing ideas, inspiration, or strategies for their SaaS or software product. Also use when the user asks for 'marketing ideas,' 'growth ideas,' 'how to market,' 'marketing strategies,' 'marketing tactics,' 'ways to promote,' or 'ideas to grow.' This skill provides 139 proven marketing approaches organized by category.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "ideas-by-category.md" + ] + }, + { + "name": "marketing-ops", + "path": "marketing-skill/skills/marketing-ops", + "description": "Central router for the marketing skill ecosystem. Use when unsure which marketing skill to use, when orchestrating a multi-skill campaign, or when coordinating across content, SEO, CRO, channels, and analytics. Also use when the user mentions 'marketing help,' 'campaign plan,' 'what should I do next,' 'marketing priorities,' or 'coordinate marketing.", + "tools": [ + { + "script": "marketing-skill/skills/marketing-ops/scripts/campaign_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/marketing-ops/scripts/campaign_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "marketing-psychology", + "path": "marketing-skill/skills/marketing-psychology", + "description": "When the user wants to apply psychological principles, mental models, or behavioral science to marketing. Also use when the user mentions 'psychology,' 'mental models,' 'cognitive bias,' 'persuasion,' 'behavioral science,' 'why people buy,' 'decision-making,' or 'consumer behavior.' This skill provides 70+ mental models organized for marketing application.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "mental-models-catalog.md" + ] + }, + { + "name": "marketing-skills", + "path": "marketing-skill/skills/marketing-skills", + "description": "Directory and router for the marketing skills library. Use when you need to find the right marketing skill for a task, see what marketing capabilities exist, or get oriented in this plugin. 44 specialist skills across 8 pods (content, SEO + AEO, CRO, channels, growth, intelligence, sales enablement, ops), 59 stdlib Python tools. Routes to one skill \u2014 it does not execute marketing work itself.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "marketing-strategy-pmm", + "path": "marketing-skill/skills/marketing-strategy-pmm", + "description": "Product marketing skill for positioning, GTM strategy, competitive intelligence, and product launches. Use when the user asks about product positioning, go-to-market planning, competitive analysis, target audience definition, ICP definition, market research, launch plans, or sales enablement. Covers April Dunford positioning, ICP definition, competitive battlecards, launch playbooks, and international market entry. Produces deliverables including positioning statements, battlecard documents, launch plans, and go-to-market strategies.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "international-gtm.md", + "launch-checklists.md", + "messaging-templates.md", + "positioning-frameworks.md" + ] + }, + { + "name": "onboarding-cro", + "path": "marketing-skill/skills/onboarding-cro", + "description": "When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value. Also use when the user mentions \"onboarding flow,\" \"activation rate,\" \"user activation,\" \"first-run experience,\" \"empty states,\" \"onboarding checklist,\" \"aha moment,\" or \"new user experience.\" For signup/registration optimization, see signup-flow-cro. For ongoing email sequences, see email-sequence.", + "tools": [ + { + "script": "marketing-skill/skills/onboarding-cro/scripts/activation_funnel_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/onboarding-cro/scripts/activation_funnel_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [] + }, + { + "name": "page-cro", + "path": "marketing-skill/skills/page-cro", + "description": "When the user wants to optimize, improve, or increase conversions on any marketing page \u2014 including homepage, landing pages, pricing pages, feature pages, or blog posts. Also use when the user says \"CRO,\" \"conversion rate optimization,\" \"this page isn't converting,\" \"improve conversions,\" or \"why isn't this page working.\" For signup/registration flows, see signup-flow-cro. For post-signup activation, see onboarding-cro. For forms outside of signup, see form-cro. For popups/modals, see popup-cro.", + "tools": [ + { + "script": "marketing-skill/skills/page-cro/scripts/conversion_audit.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/page-cro/scripts/conversion_audit.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "paid-ads", + "path": "marketing-skill/skills/paid-ads", + "description": "When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions 'PPC,' 'paid media,' 'ad copy,' 'ad creative,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' or 'audience targeting.' This skill covers campaign strategy, ad creation, audience targeting, and optimization.", + "tools": [ + { + "script": "marketing-skill/skills/paid-ads/scripts/ad_health_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/paid-ads/scripts/ad_health_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/paid-ads/scripts/roas_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/paid-ads/scripts/roas_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "ad-copy-templates.md", + "audience-targeting.md", + "copy-frameworks.md", + "platform-setup-checklists.md", + "scoring-system.md" + ] + }, + { + "name": "paywall-upgrade-cro", + "path": "marketing-skill/skills/paywall-upgrade-cro", + "description": "When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use when the user mentions \"paywall,\" \"upgrade screen,\" \"upgrade modal,\" \"upsell,\" \"feature gate,\" \"convert free to paid,\" \"freemium conversion,\" \"trial expiration screen,\" \"limit reached screen,\" \"plan upgrade prompt,\" or \"in-app pricing.\" Distinct from public pricing pages (see page-cro) \u2014 this skill focuses on in-product upgrade moments where the user has already experienced value.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": true + }, + "references": [] + }, + { + "name": "popup-cro", + "path": "marketing-skill/skills/popup-cro", + "description": "When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also use when the user mentions \"exit intent,\" \"popup conversions,\" \"modal optimization,\" \"lead capture popup,\" \"email popup,\" \"announcement banner,\" or \"overlay.\" For forms outside of popups, see form-cro. For general page conversion optimization, see page-cro.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "popup-cro-playbook.md" + ] + }, + { + "name": "pricing-strategy", + "path": "marketing-skill/skills/pricing-strategy", + "description": "Design, optimize, and communicate SaaS pricing \u2014 tier structure, value metrics, pricing pages, and price increase strategy. Use when building a pricing model from scratch, redesigning existing pricing, planning a price increase, or improving a pricing page. Trigger keywords: pricing tiers, pricing page, price increase, packaging, value metric, per seat pricing, usage-based pricing, freemium, good-better-best, pricing strategy, monetization, pricing page conversion, Van Westendorp. NOT for broader product strategy \u2014 use product-strategist for that. NOT for customer success or renewals \u2014 use cus", + "tools": [ + { + "script": "marketing-skill/skills/pricing-strategy/scripts/pricing_modeler.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/pricing-strategy/scripts/pricing_modeler.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "pricing-models.md", + "pricing-page-playbook.md" + ] + }, + { + "name": "programmatic-seo", + "path": "marketing-skill/skills/programmatic-seo", + "description": "When the user wants to create SEO-driven pages at scale using templates and data. Also use when the user mentions \"programmatic SEO,\" \"template pages,\" \"pages at scale,\" \"directory pages,\" \"location pages,\" \"[keyword] + [city] pages,\" \"comparison pages,\" \"integration pages,\" or \"building many pages for SEO.\" For auditing existing SEO issues, see seo-audit.", + "tools": [ + { + "script": "marketing-skill/skills/programmatic-seo/scripts/url_pattern_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/programmatic-seo/scripts/url_pattern_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "prompt-engineer-toolkit", + "path": "marketing-skill/skills/prompt-engineer-toolkit", + "description": "Turns marketing prompts into tested, versioned production assets: A/B prompt evaluation against structured test cases, immutable prompt version history with diffs, ready-to-use marketing prompt templates (ad copy, email campaigns, social posts, landing pages, SEO meta), and an LLM-governance playbook for marketing teams (claim discipline, disclosure rules, human-review gates). Use when a marketing team relies on AI-generated content and needs prompt quality to be measurable and safe \u2014 or when the user mentions 'prompt engineering,' 'improve my prompts,' 'prompt templates,' 'prompt versioning,'", + "tools": [ + { + "script": "marketing-skill/skills/prompt-engineer-toolkit/scripts/prompt_tester.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/prompt-engineer-toolkit/scripts/prompt_tester.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/prompt-engineer-toolkit/scripts/prompt_versioner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/prompt-engineer-toolkit/scripts/prompt_versioner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "evaluation-rubric.md", + "prompt-templates.md", + "technique-guide.md" + ] + }, + { + "name": "referral-program", + "path": "marketing-skill/skills/referral-program", + "description": "When the user wants to design, launch, or optimize a referral or affiliate program. Use when they mention 'referral program,' 'affiliate program,' 'word of mouth,' 'refer a friend,' 'incentive program,' 'customer referrals,' 'brand ambassador,' 'partner program,' 'referral link,' or 'growth through referrals.' Covers program mechanics, incentive design, and optimization \u2014 not just the idea of referrals but the actual system.", + "tools": [ + { + "script": "marketing-skill/skills/referral-program/scripts/referral_roi_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/referral-program/scripts/referral_roi_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "measurement-framework.md", + "program-mechanics.md" + ] + }, + { + "name": "schema-markup", + "path": "marketing-skill/skills/schema-markup", + "description": "When the user wants to implement, audit, or validate structured data (schema markup) on their website. Use when the user mentions 'structured data,' 'schema.org,' 'JSON-LD,' 'rich results,' 'rich snippets,' 'schema markup,' 'FAQ schema,' 'Product schema,' 'HowTo schema,' or 'structured data errors in Search Console.' Also use when someone asks why their content isn't showing rich results or wants to improve AI search visibility. NOT for general SEO audits (use seo-audit) or technical SEO crawl issues (use site-architecture).", + "tools": [ + { + "script": "marketing-skill/skills/schema-markup/scripts/schema_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/schema-markup/scripts/schema_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "implementation-patterns.md", + "schema-types-guide.md" + ] + }, + { + "name": "seo-audit", + "path": "marketing-skill/skills/seo-audit", + "description": "When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions \"SEO audit,\" \"technical SEO,\" \"why am I not ranking,\" \"SEO issues,\" \"on-page SEO,\" \"meta tags review,\" or \"SEO health check.\" For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup.", + "tools": [ + { + "script": "marketing-skill/skills/seo-audit/scripts/seo_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/seo-audit/scripts/seo_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/seo-audit/scripts/seo_health_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/seo-audit/scripts/seo_health_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "cwv-thresholds.md", + "eeat-framework.md", + "schema-types.md", + "seo-audit-reference.md" + ] + }, + { + "name": "signup-flow-cro", + "path": "marketing-skill/skills/signup-flow-cro", + "description": "When the user wants to optimize signup, registration, account creation, or trial activation flows. Also use when the user mentions \"signup conversions,\" \"registration friction,\" \"signup form optimization,\" \"free trial signup,\" \"reduce signup dropoff,\" or \"account creation flow.\" For post-signup onboarding, see onboarding-cro. For lead capture forms (not account creation), see form-cro.", + "tools": [ + { + "script": "marketing-skill/skills/signup-flow-cro/scripts/funnel_drop_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/signup-flow-cro/scripts/funnel_drop_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "signup-cro-playbook.md" + ] + }, + { + "name": "site-architecture", + "path": "marketing-skill/skills/site-architecture", + "description": "When the user wants to audit, redesign, or plan their website's structure, URL hierarchy, navigation design, or internal linking strategy. Use when the user mentions 'site architecture,' 'URL structure,' 'internal links,' 'site navigation,' 'breadcrumbs,' 'topic clusters,' 'hub pages,' 'orphan pages,' 'silo structure,' 'information architecture,' or 'website reorganization.' Also use when someone has SEO problems and the root cause is structural (not content or schema). NOT for content strategy decisions about what to write (use content-strategy) or for schema markup (use schema-markup).", + "tools": [ + { + "script": "marketing-skill/skills/site-architecture/scripts/sitemap_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/site-architecture/scripts/sitemap_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "internal-linking-playbook.md", + "url-design-guide.md" + ] + }, + { + "name": "social-content", + "path": "marketing-skill/skills/social-content", + "description": "When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, Facebook, or other platforms. Also use when the user mentions 'LinkedIn post,' 'Twitter thread,' 'social media,' 'content calendar,' 'social scheduling,' 'engagement,' or 'viral content.' This skill covers content creation, repurposing, and platform-specific strategies.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "platforms.md", + "post-templates.md", + "reverse-engineering.md" + ] + }, + { + "name": "social-media-analyzer", + "path": "marketing-skill/skills/social-media-analyzer", + "description": "Social media campaign analysis and performance tracking. Calculates engagement rates, ROI, and benchmarks across platforms. Use when analyzing social media performance, calculating engagement rate, measuring campaign ROI, comparing platform metrics, or benchmarking against industry standards. Also use when the user mentions \"social media audit,\" \"engagement rate,\" or \"which platform performs best.", + "tools": [ + { + "script": "marketing-skill/skills/social-media-analyzer/scripts/analyze_performance.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/social-media-analyzer/scripts/analyze_performance.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/social-media-analyzer/scripts/calculate_metrics.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/social-media-analyzer/scripts/calculate_metrics.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "platform-benchmarks.md" + ] + }, + { + "name": "social-media-manager", + "path": "marketing-skill/skills/social-media-manager", + "description": "When the user wants to develop social media strategy, plan content calendars, manage community engagement, or grow their social presence across platforms. Also use when the user mentions 'social media strategy,' 'social calendar,' 'community management,' 'social media plan,' 'grow followers,' 'engagement rate,' 'social media audit,' or 'which platforms should I use.' For writing individual social posts, see social-content. For analyzing social performance data, see social-media-analyzer.", + "tools": [ + { + "script": "marketing-skill/skills/social-media-manager/scripts/social_calendar_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/social-media-manager/scripts/social_calendar_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "webinar-marketing", + "path": "marketing-skill/skills/webinar-marketing", + "description": "When the user wants to plan, promote, run, or improve a webinar or virtual event to generate and convert demand. Use when the user mentions 'webinar,' 'virtual event,' 'online event,' 'live demo,' 'virtual summit,' 'workshop,' 'masterclass,' 'fireside chat,' 'roundtable,' 'registration funnel,' 'show-up rate,' 'attendance rate,' 'webinar promotion,' 'webinar follow-up,' or 'on-demand webinar.' Also use when they have a webinar that isn't converting \u2014 low registrations, low show-up, or attendees who don't buy \u2014 and want to diagnose and fix it. Covers the full funnel: registration, promotion, sh", + "tools": [ + { + "script": "marketing-skill/skills/webinar-marketing/scripts/webinar_funnel_scorer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/webinar-marketing/scripts/webinar_funnel_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 marketing-skill/skills/webinar-marketing/scripts/webinar_funnel_scorer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "benchmarks.md", + "promotion-playbook.md", + "webinar-formats.md" + ] + }, + { + "name": "x-twitter-growth", + "path": "marketing-skill/skills/x-twitter-growth", + "description": "X/Twitter growth engine for building audience, crafting viral content, and analyzing engagement. Use when the user wants to grow on X/Twitter, write tweets or threads, analyze their X profile, research competitors on X, plan a posting strategy, or optimize engagement. Complements social-content (generic multi-platform) with X-specific depth: algorithm mechanics, thread engineering, reply strategy, profile optimization, and competitive intelligence via web search.", + "tools": [ + { + "script": "marketing-skill/skills/x-twitter-growth/scripts/competitor_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/x-twitter-growth/scripts/competitor_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/x-twitter-growth/scripts/content_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/x-twitter-growth/scripts/content_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/x-twitter-growth/scripts/growth_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/x-twitter-growth/scripts/growth_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/x-twitter-growth/scripts/profile_auditor.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/x-twitter-growth/scripts/profile_auditor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "marketing-skill/skills/x-twitter-growth/scripts/tweet_composer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 marketing-skill/skills/x-twitter-growth/scripts/tweet_composer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "algorithm-signals.md" + ] + }, + { + "name": "youtube-full", + "path": "marketing-skill/skills/youtube-full", + "description": "Use when the user needs YouTube transcripts, video search, channel browsing, playlist extraction, or content monitoring. Trigger phrases: 'get the transcript for', 'search YouTube for', 'what are the latest videos on', 'list this playlist', 'monitor this channel', or any request involving a YouTube URL, video ID, or @handle. Do NOT use for downloading video or audio files, YouTube engagement data (likes, comments), or private/age-restricted videos.", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + }, + { + "name": "video-content-strategist", + "path": "marketing-skill/video-content-strategist/skills/video-content-strategist", + "description": "Use when planning video content strategy, writing video scripts, optimizing YouTube channels, building short-form video pipelines (Reels, TikTok, Shorts), or repurposing long-form content into video. Triggers: 'start a YouTube channel', 'video content strategy', 'write a video script', 'repurpose into video', 'YouTube SEO', 'short-form video'. NOT for written blog content (use content-production). NOT for social captions without video (use social-media-manager).", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/marketing.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/marketing.json new file mode 100644 index 00000000..48367307 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/marketing.json @@ -0,0 +1,87 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "marketing", + "skill_count": 1, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "landing", + "path": "marketing/landing/skills/landing", + "description": "Generates a premium single-page HTML landing page with 3D CSS animations, GSAP scroll effects, and mouse-parallax depth. Forcing intake (product + elevator pitch, audience register, brand overrides, tone) locks down positioning before any copy or markup is written, so the page reflects the actual product rather than generic boilerplate. Use whenever the user says 'landing for X', 'create a landing page', 'build a landing page', 'make a landing page for X', 'I need a web page for Y', or provides product/service details and wants a polished website. Also triggers on 'promotional page', 'product ", + "tools": [ + { + "script": "marketing/landing/skills/landing/scripts/brand_palette_validator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 marketing/landing/skills/landing/scripts/brand_palette_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 marketing/landing/skills/landing/scripts/brand_palette_validator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "marketing/landing/skills/landing/scripts/html_validator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 marketing/landing/skills/landing/scripts/html_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 marketing/landing/skills/landing/scripts/html_validator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "marketing/landing/skills/landing/scripts/kebab_slug_generator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 marketing/landing/skills/landing/scripts/kebab_slug_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 marketing/landing/skills/landing/scripts/kebab_slug_generator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "brand_system_design.md", + "gsap_animation_patterns.md", + "single_file_html_discipline.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/product-team.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/product-team.json new file mode 100644 index 00000000..38cc05e2 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/product-team.json @@ -0,0 +1,559 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "product-team", + "skill_count": 17, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "agile-product-owner", + "path": "product-team/agile-product-owner/skills/agile-product-owner", + "description": "Agile product ownership for backlog management and sprint execution. Covers user story writing, acceptance criteria, sprint planning, and velocity tracking. Use when writing user stories, creating acceptance criteria, planning sprints, estimating story points, breaking down epics, or prioritizing the backlog.", + "tools": [ + { + "script": "product-team/agile-product-owner/skills/agile-product-owner/scripts/user_story_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/agile-product-owner/skills/agile-product-owner/scripts/user_story_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "sprint-planning-guide.md", + "user-story-templates.md" + ] + }, + { + "name": "apple-hig-expert", + "path": "product-team/apple-hig-expert/skills/apple-hig-expert", + "description": "Audits and designs iOS/macOS/watchOS/visionOS interfaces against the Apple Human Interface Guidelines, including the Liquid Glass design language (announced WWDC25, shipped with iOS 26/macOS Tahoe, Sept 2025). Use when reviewing an Apple-platform mockup or app for HIG compliance, checking contrast or tap-target sizes, or designing native-feeling Apple UI (e.g., 'audit my iOS app against the HIG', 'is this text readable on Liquid Glass?').", + "tools": [ + { + "script": "product-team/apple-hig-expert/skills/apple-hig-expert/scripts/hig_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/apple-hig-expert/skills/apple-hig-expert/scripts/hig_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "accessibility.md", + "platform-specifics.md", + "visual-design.md" + ] + }, + { + "name": "code-to-prd", + "path": "product-team/code-to-prd/skills/code-to-prd", + "description": "Reverse-engineer any codebase into a complete Product Requirements Document (PRD). Analyzes routes, components, state management, API integrations, and user interactions to produce business-readable documentation detailed enough for engineers or AI agents to fully reconstruct every page and endpoint. Works with frontend frameworks (React, Vue, Angular, Svelte, Next.js, Nuxt), backend frameworks (NestJS, Django, Express, FastAPI), and fullstack applications. Use when users mention: generate PRD, reverse-engineer requirements, code to documentation, extract product specs from code, document page", + "tools": [ + { + "script": "product-team/code-to-prd/skills/code-to-prd/scripts/codebase_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/code-to-prd/skills/code-to-prd/scripts/codebase_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "product-team/code-to-prd/skills/code-to-prd/scripts/prd_scaffolder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/code-to-prd/skills/code-to-prd/scripts/prd_scaffolder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "framework-patterns.md", + "prd-quality-checklist.md" + ] + }, + { + "name": "research-summarizer", + "path": "product-team/research-summarizer/skills/research-summarizer", + "description": "Structured research summarization agent skill for non-dev users. Handles academic papers, web articles, reports, and documentation. Extracts key findings, generates comparative analyses, and produces properly formatted citations. Use when: user wants to summarize a research paper, compare multiple sources, extract citations from documents, or create structured research briefs. Plugin for Claude Code, Codex, Gemini CLI, and OpenClaw.", + "tools": [ + { + "script": "product-team/research-summarizer/skills/research-summarizer/scripts/extract_citations.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/research-summarizer/skills/research-summarizer/scripts/extract_citations.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "product-team/research-summarizer/skills/research-summarizer/scripts/format_summary.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/research-summarizer/skills/research-summarizer/scripts/format_summary.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "citation-formats.md", + "summary-templates.md" + ] + }, + { + "name": "competitive-teardown", + "path": "product-team/skills/competitive-teardown", + "description": "Analyzes competitor products and companies by synthesizing data from pricing pages, app store reviews, job postings, SEO signals, and social media into structured competitive intelligence. Produces feature comparison matrices scored across 12 dimensions, SWOT analyses, positioning maps, UX audits, pricing model breakdowns, action item roadmaps, and stakeholder presentation templates. Use when conducting competitor analysis, comparing products against competitors, researching the competitive landscape, building battle cards for sales, preparing for a product strategy or roadmap session, respond", + "tools": [ + { + "script": "product-team/skills/competitive-teardown/scripts/competitive_matrix_builder.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/competitive-teardown/scripts/competitive_matrix_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "analysis-templates.md", + "competitive-analysis-frameworks.md", + "data-collection-guide.md", + "scoring-rubric.md" + ] + }, + { + "name": "experiment-designer", + "path": "product-team/skills/experiment-designer", + "description": "Use when planning product experiments, writing testable hypotheses, estimating sample size, prioritizing tests, or interpreting A/B outcomes with practical statistical rigor.", + "tools": [ + { + "script": "product-team/skills/experiment-designer/scripts/sample_size_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/experiment-designer/scripts/sample_size_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "experiment-playbook.md", + "statistics-reference.md" + ] + }, + { + "name": "landing-page-generator", + "path": "product-team/skills/landing-page-generator", + "description": "Generates high-converting landing pages as complete Next.js/React (TSX) components with Tailwind CSS. Creates hero sections, feature grids, pricing tables, FAQ accordions, testimonial blocks, and CTA sections using proven copy frameworks (PAS, AIDA, BAB). Outputs SEO meta tags, structured data, and performance-optimised code targeting Core Web Vitals (LCP < 1s, CLS < 0.1). Use when the user asks to create a landing page, marketing page, homepage, single-page site, lead capture page, campaign page, promo page, or conversion-optimised web page \u2014 or when they want to A/B test landing page variant", + "tools": [ + { + "script": "product-team/skills/landing-page-generator/scripts/landing_page_scaffolder.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/landing-page-generator/scripts/landing_page_scaffolder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "conversion-patterns.md", + "copy-frameworks.md", + "landing-page-patterns.md", + "seo-checklist.md" + ] + }, + { + "name": "product-analytics", + "path": "product-team/skills/product-analytics", + "description": "Use when defining product KPIs, building metric dashboards, running cohort or retention analysis, or interpreting feature adoption trends across product stages.", + "tools": [ + { + "script": "product-team/skills/product-analytics/scripts/metrics_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/product-analytics/scripts/metrics_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "dashboard-templates.md", + "metrics-frameworks.md" + ] + }, + { + "name": "product-discovery", + "path": "product-team/skills/product-discovery", + "description": "Use when validating product opportunities, mapping assumptions, planning discovery sprints, or testing problem-solution fit before committing delivery resources.", + "tools": [ + { + "script": "product-team/skills/product-discovery/scripts/assumption_mapper.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/product-discovery/scripts/assumption_mapper.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "discovery-frameworks.md" + ] + }, + { + "name": "product-manager-toolkit", + "path": "product-team/skills/product-manager-toolkit", + "description": "Comprehensive toolkit for product managers including RICE prioritization, customer interview analysis, PRD templates, discovery frameworks, and go-to-market strategies. Use when prioritizing features, synthesizing user research, writing requirement documentation, or developing product strategy.", + "tools": [ + { + "script": "product-team/skills/product-manager-toolkit/scripts/customer_interview_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/product-manager-toolkit/scripts/customer_interview_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "product-team/skills/product-manager-toolkit/scripts/rice_prioritizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/product-manager-toolkit/scripts/rice_prioritizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "frameworks.md", + "input-output-examples.md", + "prd_templates.md" + ] + }, + { + "name": "product-skills", + "path": "product-team/skills/product-skills", + "description": "Router/index for the 12 product skills bundled in this plugin (RICE prioritization, OKRs, UX research, design tokens, competitive teardown, analytics, experiments, discovery, roadmaps, spec-to-repo, landing pages, SaaS scaffolding). Use when a product request doesn't obviously match one skill and you need to pick the right one (e.g., 'help me prioritize features', 'plan a product experiment').", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "product-strategist", + "path": "product-team/skills/product-strategist", + "description": "Strategic product leadership toolkit for Head of Product covering OKR cascade generation, quarterly planning, competitive landscape analysis, product vision documents, and team scaling proposals. Use when creating quarterly OKR documents, defining product goals or KPIs, building product roadmaps, running competitive analysis, drafting team structure or hiring plans, aligning product strategy across engineering and design, or generating cascaded goal hierarchies from company to team level.", + "tools": [ + { + "script": "product-team/skills/product-strategist/scripts/okr_cascade_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/product-strategist/scripts/okr_cascade_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "examples", + "okr_framework.md", + "strategy_types.md" + ] + }, + { + "name": "roadmap-communicator", + "path": "product-team/skills/roadmap-communicator", + "description": "Use when preparing roadmap narratives, release notes, changelogs, or stakeholder updates tailored for executives, engineering teams, and customers.", + "tools": [ + { + "script": "product-team/skills/roadmap-communicator/scripts/changelog_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/roadmap-communicator/scripts/changelog_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "communication-templates.md", + "roadmap-templates.md" + ] + }, + { + "name": "saas-scaffolder", + "path": "product-team/skills/saas-scaffolder", + "description": "Generates complete, production-ready SaaS project boilerplate including authentication, database schemas, billing integration, API routes, and a working dashboard using Next.js 14+ App Router, TypeScript, Tailwind CSS, shadcn/ui, Drizzle ORM, and Stripe. Use when the user wants to create a new SaaS app, start a subscription-based web project, scaffold a Next.js application, or mentions terms like starter template, boilerplate, new project, or wiring up auth and payments.", + "tools": [ + { + "script": "product-team/skills/saas-scaffolder/scripts/project_bootstrapper.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/saas-scaffolder/scripts/project_bootstrapper.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "architecture-patterns.md", + "auth-billing-guide.md", + "saas-architecture-patterns.md", + "tech-stack-comparison.md" + ] + }, + { + "name": "spec-to-repo", + "path": "product-team/skills/spec-to-repo", + "description": "Use when the user says 'build me an app', 'create a project from this spec', 'scaffold a new repo', 'generate a starter', 'turn this idea into code', 'bootstrap a project', 'I have requirements and need a codebase', or provides a natural-language project specification and expects a complete, runnable repository. Stack-agnostic: Next.js, FastAPI, Rails, Go, Rust, Flutter, and more.", + "tools": [ + { + "script": "product-team/skills/spec-to-repo/scripts/validate_project.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/spec-to-repo/scripts/validate_project.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "spec-parsing-guide.md", + "stack-templates.md" + ] + }, + { + "name": "ui-design-system", + "path": "product-team/skills/ui-design-system", + "description": "UI design system toolkit for Senior UI Designer including design token generation, component documentation, responsive design calculations, and developer handoff tools. Use when creating design systems, generating design tokens, maintaining visual consistency, or facilitating design-dev collaboration and developer handoff.", + "tools": [ + { + "script": "product-team/skills/ui-design-system/scripts/design_token_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/ui-design-system/scripts/design_token_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "component-architecture.md", + "developer-handoff.md", + "responsive-calculations.md", + "token-generation.md" + ] + }, + { + "name": "ux-researcher-designer", + "path": "product-team/skills/ux-researcher-designer", + "description": "UX research and design toolkit for Senior UX Designer/Researcher including data-driven persona generation, journey mapping, usability testing frameworks, and research synthesis. Use when conducting user research, creating personas, mapping user journeys, planning usability tests, or validating designs.", + "tools": [ + { + "script": "product-team/skills/ux-researcher-designer/scripts/persona_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 product-team/skills/ux-researcher-designer/scripts/persona_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "example-personas.md", + "journey-mapping-guide.md", + "persona-methodology.md", + "usability-testing-frameworks.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/productivity.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/productivity.json new file mode 100644 index 00000000..c0cd2726 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/productivity.json @@ -0,0 +1,568 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "productivity", + "skill_count": 7, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "andreessen", + "path": "productivity/andreessen/skills/andreessen", + "description": "Marc Andreessen-mode decision and productivity skill. A blunt, market-first operator that pressure-tests ideas, ventures, features, and career bets through Andreessen's actual frameworks \u2014 market dominates team and product; the only milestone that matters is product/market fit; bias to build over deliberate. Use when the user says 'andreessen', 'pmarca mode', 'should I build this', 'is there a market', 'are we at product/market fit', 'pmf check', 'pressure-test this idea', 'be brutal about this venture', 'market-first take', or wants a no-disclaimers, no-hedging, confidence-leveled verdict on ", + "tools": [ + { + "script": "productivity/andreessen/skills/andreessen/scripts/anti_todo_card.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/andreessen/skills/andreessen/scripts/anti_todo_card.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/andreessen/skills/andreessen/scripts/anti_todo_card.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/andreessen/skills/andreessen/scripts/market_first_evaluator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/andreessen/skills/andreessen/scripts/market_first_evaluator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/andreessen/skills/andreessen/scripts/market_first_evaluator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/andreessen/skills/andreessen/scripts/pmf_signal_scorer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/andreessen/skills/andreessen/scripts/pmf_signal_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/andreessen/skills/andreessen/scripts/pmf_signal_scorer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "market_first_canon.md", + "operating_prompt.md", + "personal_productivity_system.md", + "pmf_and_build_canon.md" + ] + }, + { + "name": "capture", + "path": "productivity/capture/skills/capture", + "description": "Captures and organizes chaotic brain dumps into a structured, actionable system with zero information loss. Use this skill whenever the user says 'capture this', 'brain dump', 'let me dump some ideas', 'I've got a bunch of thoughts', 'here's everything on my mind', 'idea dump', 'let me get this out of my head', 'I need to organize my thoughts', 'here's what I'm thinking', or any variation where someone is unloading a messy stream of ideas, tasks, thoughts, and plans wanting them turned into something coherent. Also trigger when the user pastes or dictates a long, unstructured block of mixed id", + "tools": [ + { + "script": "productivity/capture/skills/capture/scripts/complexity_estimator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/capture/skills/capture/scripts/complexity_estimator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/capture/skills/capture/scripts/complexity_estimator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/capture/skills/capture/scripts/dump_classifier.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/capture/skills/capture/scripts/dump_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/capture/skills/capture/scripts/dump_classifier.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/capture/skills/capture/scripts/workspace_inventory.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/capture/skills/capture/scripts/workspace_inventory.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/capture/skills/capture/scripts/workspace_inventory.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "complexity_matching.md", + "voice_preservation.md", + "workspace_detection.md" + ] + }, + { + "name": "inbox-setup", + "path": "productivity/email/skills/inbox-setup", + "description": "One-time setup skill that builds a personalized inbox triage knowledge base via interactive interview. Interviews the user about their email patterns, business context, reply style, and priorities using grill-me discipline (one question at a time, forcing format where possible, dependency-ordered, each question explains why I'm asking), then generates the knowledge base files that power the companion 'inbox-triage' skill. Run this once before using inbox-triage for the first time. Re-run when business, pricing, or priorities change significantly. Triggers: 'set up my inbox', 'configure inbox t", + "tools": [ + { + "script": "productivity/email/skills/inbox-setup/scripts/kb_validator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/email/skills/inbox-setup/scripts/kb_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/email/skills/inbox-setup/scripts/kb_validator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/email/skills/inbox-setup/scripts/section_progress_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 productivity/email/skills/inbox-setup/scripts/section_progress_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "productivity/email/skills/inbox-setup/scripts/voice_sample_analyzer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/email/skills/inbox-setup/scripts/voice_sample_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/email/skills/inbox-setup/scripts/voice_sample_analyzer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "grill_me_section_walk.md", + "kb_file_contract.md", + "voice_calibration.md" + ] + }, + { + "name": "inbox-triage", + "path": "productivity/email/skills/inbox-triage", + "description": "Runs a full inbox triage using the knowledge base created by the 'inbox-setup' skill. Light-intake by design (most invocations skip questions and run with KB-default preferences); asks at most 2 grill-me override questions when invocation is outside normal cadence or includes category-skip intent. Searches recent emails, classifies them via the user's taxonomy, researches new senders, generates recommendations, drafts replies (NEVER sends), delivers a report in the user's preferred format, and updates the knowledge base with learnings. Designed to run on a recurring schedule (1-3x daily) or on", + "tools": [ + { + "script": "productivity/email/skills/inbox-triage/scripts/draft_safety_validator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/email/skills/inbox-triage/scripts/draft_safety_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/email/skills/inbox-triage/scripts/draft_safety_validator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/email/skills/inbox-triage/scripts/kb_reader.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/email/skills/inbox-triage/scripts/kb_reader.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/email/skills/inbox-triage/scripts/kb_reader.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/email/skills/inbox-triage/scripts/search_window_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 productivity/email/skills/inbox-triage/scripts/search_window_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "drafts_only_safety.md", + "kb_file_contract.md", + "triage_decision_framework.md" + ] + }, + { + "name": "handoff", + "path": "productivity/handoff/skills/handoff", + "description": "Compact the current conversation into a handoff document for another agent to pick up. Save to a user-configured location (OS temp, home folder, or per-project .handoff/), redact secrets before write, suggest skills for the next session, and auto-load the latest handoff on the next SessionStart. First-run setup asks where to save so the project folder never gets cluttered. Use when the user says 'hand this off', 'handoff doc', 'summarize this for a new session', 'compact this conversation', 'I'm ending this session', 'pick this up later', or any variation signaling intent to pass work to a fre", + "tools": [ + { + "script": "productivity/handoff/skills/handoff/scripts/cleanup.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/cleanup.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/cleanup.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/handoff/skills/handoff/scripts/config_loader.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/config_loader.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/config_loader.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/handoff/skills/handoff/scripts/handoff_self_check.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/handoff_self_check.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/handoff_self_check.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/handoff/skills/handoff/scripts/handoff_template_generator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/handoff_template_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/handoff_template_generator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/handoff/skills/handoff/scripts/redaction_linter.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/redaction_linter.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/redaction_linter.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/handoff/skills/handoff/scripts/setup.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/setup.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/setup.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/handoff/skills/handoff/scripts/skill_recommender.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/skill_recommender.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/handoff/skills/handoff/scripts/skill_recommender.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "configuration.md", + "deduplication_discipline.md", + "handoff_prompt.md", + "handoff_structure.md", + "redaction_checklist.md" + ] + }, + { + "name": "reflect", + "path": "productivity/reflect/skills/reflect", + "description": "Mid-conversation reflection skill that pauses execution and zooms out from detail-mode to honestly reassess direction, assumptions, and bias. Use when the user says 'reflect', 'take a step back', 'step back', 'zoom out', 'are we missing something', 'bigger picture', 'sanity check this', 'are we on track', 'are we overthinking this', 'forest for the trees', or any variation signaling intent to break out of detail-mode and reassess. Also trigger when the conversation has gone deep on implementation details without strategic check-in, or when the user shows signs of being stuck \u2014 that's often a s", + "tools": [ + { + "script": "productivity/reflect/skills/reflect/scripts/bias_pattern_detector.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/reflect/skills/reflect/scripts/bias_pattern_detector.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/reflect/skills/reflect/scripts/bias_pattern_detector.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/reflect/skills/reflect/scripts/conversation_depth_analyzer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/reflect/skills/reflect/scripts/conversation_depth_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/reflect/skills/reflect/scripts/conversation_depth_analyzer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/reflect/skills/reflect/scripts/directional_recommendation_validator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/reflect/skills/reflect/scripts/directional_recommendation_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/reflect/skills/reflect/scripts/directional_recommendation_validator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "cognitive_bias_canon.md", + "conversation_reflection_practice.md", + "honest_output_discipline.md" + ] + }, + { + "name": "roast", + "path": "productivity/roast/skills/roast", + "description": "Use when someone asks to roast an idea, pressure-test or stress-test an idea, validate a business idea, \"convene the panel\", get a brutal second opinion before building something, or says \"/roast\". Spins up a 5-angle panel (Critic, Champion, Analyst, Investigator, Customer) that attacks the idea from every angle, then a Judge returns one GO / RESHAPE / KILL verdict with the cheapest test to de-risk it.", + "tools": [ + { + "script": "productivity/roast/skills/roast/scripts/brief_builder.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/roast/skills/roast/scripts/brief_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/roast/skills/roast/scripts/brief_builder.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/roast/skills/roast/scripts/cheapest_test_designer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/roast/skills/roast/scripts/cheapest_test_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/roast/skills/roast/scripts/cheapest_test_designer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "productivity/roast/skills/roast/scripts/verdict_synthesizer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 productivity/roast/skills/roast/scripts/verdict_synthesizer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 productivity/roast/skills/roast/scripts/verdict_synthesizer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "adversarial_panel_canon.md", + "cheapest_test_canon.md", + "verdict_synthesis_method.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/project-management.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/project-management.json new file mode 100644 index 00000000..aa997ce1 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/project-management.json @@ -0,0 +1,321 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "project-management", + "skill_count": 9, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "atlassian-admin", + "path": "project-management/skills/atlassian-admin", + "description": "Atlassian Administrator for managing and organizing Atlassian products (Jira, Confluence, Bitbucket, Trello), users, permissions, security, integrations, system configuration, and org-wide governance. Use when asked to add users to Jira, change Confluence permissions, configure access control, update admin settings, manage Atlassian groups, set up SSO, install marketplace apps, review security policies, or handle any org-wide Atlassian administration task.", + "tools": [ + { + "script": "project-management/skills/atlassian-admin/scripts/permission_audit_tool.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/atlassian-admin/scripts/permission_audit_tool.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "security-hardening-guide.md", + "user-provisioning-checklist.md" + ] + }, + { + "name": "atlassian-templates", + "path": "project-management/skills/atlassian-templates", + "description": "Atlassian Template and Files Creator/Modifier expert for creating, modifying, and managing Jira and Confluence templates, blueprints, custom layouts, reusable components, and standardized content structures. Use when building org-wide templates, custom blueprints, page layouts, and automated content generation.", + "tools": [ + { + "script": "project-management/skills/atlassian-templates/scripts/template_scaffolder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/atlassian-templates/scripts/template_scaffolder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "governance-framework.md", + "template-design-patterns.md" + ] + }, + { + "name": "confluence-expert", + "path": "project-management/skills/confluence-expert", + "description": "Atlassian Confluence expert for creating and managing spaces, knowledge bases, and documentation. Configures space permissions and hierarchies, creates page templates with macros, sets up documentation taxonomies, designs page layouts, and manages content governance. Use when users need to build or restructure a Confluence space, design page hierarchies with permission structures, author or standardise documentation templates, embed Jira reports in pages, run knowledge base audits, or establish documentation standards and collaborative workflows.", + "tools": [ + { + "script": "project-management/skills/confluence-expert/scripts/content_audit_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/confluence-expert/scripts/content_audit_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "project-management/skills/confluence-expert/scripts/space_structure_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/confluence-expert/scripts/space_structure_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "macro-cheat-sheet.md", + "space-architecture-patterns.md", + "templates.md" + ] + }, + { + "name": "jira-expert", + "path": "project-management/skills/jira-expert", + "description": "Atlassian Jira expert for creating and managing projects, planning, product discovery, JQL queries, workflows, custom fields, automation, reporting, and all Jira features. Use when setting up or configuring Jira projects, writing JQL and advanced searches, creating dashboards, designing workflows, or performing technical Jira operations.", + "tools": [ + { + "script": "project-management/skills/jira-expert/scripts/jql_query_builder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/jira-expert/scripts/jql_query_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "project-management/skills/jira-expert/scripts/workflow_validator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/jira-expert/scripts/workflow_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "AUTOMATION.md", + "WORKFLOWS.md", + "automation-examples.md", + "jql-examples.md" + ] + }, + { + "name": "meeting-analyzer", + "path": "project-management/skills/meeting-analyzer", + "description": "Analyzes meeting transcripts and recordings to surface behavioral patterns, communication anti-patterns, and actionable coaching feedback. Use this skill whenever the user uploads or points to meeting transcripts (.txt, .md, .vtt, .srt, .docx), asks about their communication habits, wants feedback on how they run meetings, requests speaking ratio analysis, mentions filler words or conflict avoidance, or wants to compare their communication across time periods. Also trigger when users mention tools like Granola, Otter, Fireflies, or Zoom transcripts. Even if the user just says \"look at my meeti", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "pm-skills", + "path": "project-management/skills/pm-skills", + "description": "Router/index for the 8 project-management skills bundled in this plugin (senior PM quant toolkit, scrum master, Jira/JQL, Confluence, Atlassian admin, Atlassian templates, meeting analyzer, team communications). Use when a PM request doesn't obviously match one skill and you need to pick the right one (e.g., 'our sprints feel off', 'audit our Jira permissions'). Bundles an Atlassian Remote MCP config (.mcp.json) for live Jira/Confluence access.", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "scrum-master", + "path": "project-management/skills/scrum-master", + "description": "Advanced Scrum Master skill for data-driven agile team analysis and coaching. Use when the user asks about sprint planning, velocity tracking, retrospectives, standup facilitation, backlog grooming, story points, burndown charts, blocker resolution, or agile team health. Runs Python scripts to analyse sprint JSON exports from Jira or similar tools: velocity_analyzer.py for Monte Carlo sprint forecasting, sprint_health_scorer.py for multi-dimension health scoring, and retrospective_analyzer.py for action-item and theme tracking. Produces confidence-interval forecasts, health grade reports, and ", + "tools": [ + { + "script": "project-management/skills/scrum-master/scripts/retrospective_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/scrum-master/scripts/retrospective_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "project-management/skills/scrum-master/scripts/sprint_health_scorer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/scrum-master/scripts/sprint_health_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "project-management/skills/scrum-master/scripts/velocity_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/scrum-master/scripts/velocity_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "retro-formats.md", + "team-dynamics-framework.md", + "velocity-forecasting-guide.md" + ] + }, + { + "name": "senior-pm", + "path": "project-management/skills/senior-pm", + "description": "Senior Project Manager for enterprise software, SaaS, and digital transformation projects. Specializes in portfolio management, quantitative risk analysis, resource optimization, stakeholder alignment, and executive reporting. Uses advanced methodologies including EMV analysis, Monte Carlo simulation, WSJF prioritization, and multi-dimensional health scoring. Use when a user needs help with project plans, project status reports, risk assessments, resource allocation, project roadmaps, milestone tracking, team capacity planning, portfolio health reviews, program management, or executive-level p", + "tools": [ + { + "script": "project-management/skills/senior-pm/scripts/project_health_dashboard.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/senior-pm/scripts/project_health_dashboard.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "project-management/skills/senior-pm/scripts/resource_capacity_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/senior-pm/scripts/resource_capacity_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "project-management/skills/senior-pm/scripts/risk_matrix_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 project-management/skills/senior-pm/scripts/risk_matrix_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "portfolio-kpis.md", + "portfolio-prioritization-models.md", + "risk-management-framework.md" + ] + }, + { + "name": "team-communications", + "path": "project-management/skills/team-communications", + "description": "Write internal company communications \u2014 3P updates (Progress/Plans/Problems), company-wide newsletters, FAQ roundups, incident reports, leadership updates, status reports, project updates, and general internal comms. Use this skill any time the user asks to draft, edit, or format something meant for internal audiences. Trigger on keywords like \"3P\", \"weekly update\", \"newsletter\", \"FAQ\", \"internal comms\", \"status report\", \"company update\", \"team update\", \"incident report\", or any request to summarize work for leadership, teammates, or the broader company. Even casual requests like \"write my upd", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "3p-updates.md", + "company-newsletter.md", + "faq-answers.md", + "general-comms.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/ra-qm-team.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/ra-qm-team.json new file mode 100644 index 00000000..0ee8ecb4 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/ra-qm-team.json @@ -0,0 +1,848 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "ra-qm-team", + "skill_count": 19, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "eu-ai-act-specialist", + "path": "ra-qm-team/compliance-team-eu-ai-act/skills/eu-ai-act-specialist", + "description": "EU AI Act (Regulation (EU) 2024/1689) operational compliance for compliance teams. Three Article-level decisions: (1) What's the risk tier of this AI system \u2014 prohibited (Art. 5), high-risk (Art. 6 + Annex III), limited-risk (Art. 50), or minimal-risk? (2) For high-risk systems, what's the Article 43 conformity assessment route (Module A internal control vs Module H full QMS + notified body) and what goes in the Annex IV technical documentation? (3) Per organizational role (provider / deployer / importer / distributor / authorized representative), what are the active obligations and deadlines?", + "tools": [ + { + "script": "ra-qm-team/compliance-team-eu-ai-act/skills/eu-ai-act-specialist/scripts/ai_act_obligation_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/compliance-team-eu-ai-act/skills/eu-ai-act-specialist/scripts/ai_act_obligation_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/compliance-team-eu-ai-act/skills/eu-ai-act-specialist/scripts/ai_system_risk_classifier.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/compliance-team-eu-ai-act/skills/eu-ai-act-specialist/scripts/ai_system_risk_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/compliance-team-eu-ai-act/skills/eu-ai-act-specialist/scripts/conformity_assessment_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/compliance-team-eu-ai-act/skills/eu-ai-act-specialist/scripts/conformity_assessment_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "cross_framework_mapping_ai_act.md", + "eu_ai_act_titles.md", + "gpai_obligations.md", + "high_risk_systems_annex_iii.md" + ] + }, + { + "name": "iso42001-specialist", + "path": "ra-qm-team/compliance-team-iso42001/skills/iso42001-specialist", + "description": "ISO/IEC 42001:2023 AI Management System (AIMS) specialist for compliance teams running internal audits. Three decisions: (1) Where are the gaps against Clauses 4-10 and what do we close first? (2) What goes in the AI risk register and which Annex A controls treat each risk? (3) What's the 12-month internal audit plan that satisfies Clause 9.2? Use when preparing for certification, scoping internal audit cycles, or onboarding AI systems into an existing ISMS (27001) / QMS (13485) program. NOT an executive AI strategy skill (see chief-ai-officer-advisor). NOT EU AI Act compliance (see compliance", + "tools": [ + { + "script": "ra-qm-team/compliance-team-iso42001/skills/iso42001-specialist/scripts/ai_risk_register_builder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/compliance-team-iso42001/skills/iso42001-specialist/scripts/ai_risk_register_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/compliance-team-iso42001/skills/iso42001-specialist/scripts/aims_audit_scheduler.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/compliance-team-iso42001/skills/iso42001-specialist/scripts/aims_audit_scheduler.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/compliance-team-iso42001/skills/iso42001-specialist/scripts/aims_gap_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/compliance-team-iso42001/skills/iso42001-specialist/scripts/aims_gap_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "aims_controls_annex_a.md", + "aims_implementation_guide.md", + "cross_framework_mapping_ai.md", + "iso42001_clauses.md" + ] + }, + { + "name": "agent-decision-receipts", + "path": "ra-qm-team/skills/agent-decision-receipts", + "description": "Mint a tamper-evident, post-quantum-signed receipt for a consequential agent action (deploy, delete, pay, grant-access, model decision) so it can be verified later from the certificate alone. Use when an autonomous agent takes a side-effecting action that may need to be proven later, or when satisfying EU AI Act Article 12 record-keeping. Three decisions: whether an action needs a receipt, minting it, verifying it. Signing is delegated to the open-source OpenAgentOntology package. Not after-the-fact log analysis; not a hosted notary; not a legal opinion.", + "tools": [ + { + "script": "ra-qm-team/skills/agent-decision-receipts/scripts/build_action_manifest.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/agent-decision-receipts/scripts/build_action_manifest.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": true, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "receipt-fields.md" + ] + }, + { + "name": "capa-officer", + "path": "ra-qm-team/skills/capa-officer", + "description": "CAPA system management for medical device QMS. Covers root cause analysis, corrective action planning, effectiveness verification, and CAPA metrics. Use when running CAPA investigations, 5-Why analysis, fishbone diagrams, root cause determination, corrective action tracking, effectiveness verification, or CAPA program optimization.", + "tools": [ + { + "script": "ra-qm-team/skills/capa-officer/scripts/capa_tracker.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/capa-officer/scripts/capa_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 ra-qm-team/skills/capa-officer/scripts/capa_tracker.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "ra-qm-team/skills/capa-officer/scripts/root_cause_analyzer.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/capa-officer/scripts/root_cause_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "effectiveness-verification-guide.md", + "rca-methodologies.md" + ] + }, + { + "name": "eu-ai-act-specialist", + "path": "ra-qm-team/skills/eu-ai-act-specialist", + "description": "EU AI Act (Regulation (EU) 2024/1689) operational compliance for compliance teams. Three Article-level decisions: (1) What's the risk tier of this AI system \u2014 prohibited (Art. 5), high-risk (Art. 6 + Annex III), limited-risk (Art. 50), or minimal-risk? (2) For high-risk systems, what's the Article 43 conformity assessment route (Module A internal control vs Module H full QMS + notified body) and what goes in the Annex IV technical documentation? (3) Per organizational role (provider / deployer / importer / distributor / authorized representative), what are the active obligations and deadlines?", + "tools": [ + { + "script": "ra-qm-team/skills/eu-ai-act-specialist/scripts/ai_act_obligation_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/eu-ai-act-specialist/scripts/ai_act_obligation_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/eu-ai-act-specialist/scripts/ai_system_risk_classifier.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/eu-ai-act-specialist/scripts/ai_system_risk_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/eu-ai-act-specialist/scripts/conformity_assessment_planner.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/eu-ai-act-specialist/scripts/conformity_assessment_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "cross_framework_mapping_ai_act.md", + "eu_ai_act_titles.md", + "gpai_obligations.md", + "high_risk_systems_annex_iii.md" + ] + }, + { + "name": "fda-consultant-specialist", + "path": "ra-qm-team/skills/fda-consultant-specialist", + "description": "FDA regulatory consultant for medical device companies. Provides 510(k)/PMA/De Novo pathway guidance, QMSR (21 CFR 820, which incorporates ISO 13485:2016 by reference since 2026-02-02; formerly QSR) compliance, HIPAA assessments, and device cybersecurity. Use when user mentions FDA submission, 510(k), PMA, De Novo, QMSR, QSR, ISO 13485 for FDA, premarket, predicate device, substantial equivalence, HIPAA medical device, or FDA cybersecurity.", + "tools": [ + { + "script": "ra-qm-team/skills/fda-consultant-specialist/scripts/fda_submission_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/fda-consultant-specialist/scripts/fda_submission_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/fda-consultant-specialist/scripts/hipaa_risk_assessment.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/fda-consultant-specialist/scripts/hipaa_risk_assessment.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/fda-consultant-specialist/scripts/qsr_compliance_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/fda-consultant-specialist/scripts/qsr_compliance_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "device_cybersecurity_guidance.md", + "fda_capa_requirements.md", + "fda_submission_guide.md", + "hipaa_compliance_framework.md", + "qsr_compliance_requirements.md" + ] + }, + { + "name": "gdpr-dsgvo-expert", + "path": "ra-qm-team/skills/gdpr-dsgvo-expert", + "description": "GDPR and German DSGVO compliance automation. Scans codebases for privacy risks, generates DPIA documentation, tracks data subject rights requests with Art. 12(3) one-month deadlines. Use when running GDPR compliance assessments, privacy audits, data protection planning, DPIA generation, or data subject rights (DSAR) management (e.g., 'check this service for GDPR risks', 'track an access request deadline'). Final compliance determinations route to the DPO or legal counsel.", + "tools": [ + { + "script": "ra-qm-team/skills/gdpr-dsgvo-expert/scripts/data_subject_rights_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/gdpr-dsgvo-expert/scripts/data_subject_rights_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/gdpr-dsgvo-expert/scripts/dpia_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/gdpr-dsgvo-expert/scripts/dpia_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/gdpr-dsgvo-expert/scripts/gdpr_compliance_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/gdpr-dsgvo-expert/scripts/gdpr_compliance_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "dpia_methodology.md", + "gdpr_audit_playbook.md", + "gdpr_compliance_guide.md", + "german_bdsg_requirements.md" + ] + }, + { + "name": "information-security-manager-iso27001", + "path": "ra-qm-team/skills/information-security-manager-iso27001", + "description": "ISO 27001 ISMS implementation and cybersecurity governance for HealthTech and MedTech companies. Use when designing an ISMS, running security risk assessments, implementing controls, pursuing ISO 27001 certification, preparing security audits, responding to security incidents, or verifying compliance. Covers ISO 27001, ISO 27002, healthcare security, and medical device cybersecurity.", + "tools": [ + { + "script": "ra-qm-team/skills/information-security-manager-iso27001/scripts/compliance_checker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/information-security-manager-iso27001/scripts/compliance_checker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/information-security-manager-iso27001/scripts/risk_assessment.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/information-security-manager-iso27001/scripts/risk_assessment.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "incident-response.md", + "iso27001-controls.md", + "risk-assessment-guide.md" + ] + }, + { + "name": "isms-audit-expert", + "path": "ra-qm-team/skills/isms-audit-expert", + "description": "Information Security Management System (ISMS) audit expert for ISO 27001 compliance verification, security control assessment, and certification support. Use when the user mentions ISO 27001, ISMS audit, Annex A controls, Statement of Applicability (SOA), gap analysis, nonconformity management, internal audit, surveillance audit, or security certification preparation. Helps review control implementation evidence, document audit findings, classify nonconformities, generate risk-based audit plans, map controls to Annex A requirements, prepare Stage 1 and Stage 2 audit documentation, and support ", + "tools": [ + { + "script": "ra-qm-team/skills/isms-audit-expert/scripts/isms_audit_scheduler.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/isms-audit-expert/scripts/isms_audit_scheduler.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "cloud-security-audit.md", + "iso27001-audit-methodology.md", + "iso27001_audit_playbook.md", + "security-control-testing.md" + ] + }, + { + "name": "iso42001-specialist", + "path": "ra-qm-team/skills/iso42001-specialist", + "description": "ISO/IEC 42001:2023 AI Management System (AIMS) specialist for compliance teams running internal audits. Three decisions: (1) Where are the gaps against Clauses 4-10 and what do we close first? (2) What goes in the AI risk register and which Annex A controls treat each risk? (3) What's the 12-month internal audit plan that satisfies Clause 9.2? Use when preparing for certification, scoping internal audit cycles, or onboarding AI systems into an existing ISMS (27001) / QMS (13485) program. NOT an executive AI strategy skill (see chief-ai-officer-advisor). NOT EU AI Act compliance (see compliance", + "tools": [ + { + "script": "ra-qm-team/skills/iso42001-specialist/scripts/ai_risk_register_builder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/iso42001-specialist/scripts/ai_risk_register_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/iso42001-specialist/scripts/aims_audit_scheduler.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/iso42001-specialist/scripts/aims_audit_scheduler.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/iso42001-specialist/scripts/aims_gap_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/iso42001-specialist/scripts/aims_gap_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "aims_controls_annex_a.md", + "aims_implementation_guide.md", + "cross_framework_mapping_ai.md", + "iso42001_clauses.md" + ] + }, + { + "name": "mdr-745-specialist", + "path": "ra-qm-team/skills/mdr-745-specialist", + "description": "EU MDR 2017/745 compliance specialist for medical device classification, technical documentation, clinical evidence, and post-market surveillance. Covers Annex VIII classification rules, Annex II/III technical files, Annex XIV clinical evaluation, Art. 86 PSUR schedules, and EUDAMED integration. Use when classifying a medical device under MDR, building or gap-checking a technical file, planning clinical evaluation or PMS/PSUR cadence, or preparing for notified body review (e.g., 'what class is my device under MDR', 'review my PSUR schedule').", + "tools": [ + { + "script": "ra-qm-team/skills/mdr-745-specialist/scripts/mdr_gap_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/mdr-745-specialist/scripts/mdr_gap_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "clinical-evidence-requirements.md", + "mdr-classification-guide.md", + "technical-documentation-templates.md" + ] + }, + { + "name": "qms-audit-expert", + "path": "ra-qm-team/skills/qms-audit-expert", + "description": "ISO 13485 internal audit expertise for medical device QMS. Covers audit planning, execution, nonconformity classification, and CAPA verification. Use when planning internal audits, executing audits, classifying findings, preparing for external audits, or managing an audit program.", + "tools": [ + { + "script": "ra-qm-team/skills/qms-audit-expert/scripts/audit_schedule_optimizer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/qms-audit-expert/scripts/audit_schedule_optimizer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "iso13485-audit-guide.md", + "iso13485_audit_playbook.md", + "nonconformity-classification.md" + ] + }, + { + "name": "quality-documentation-manager", + "path": "ra-qm-team/skills/quality-documentation-manager", + "description": "Document control system management for medical device QMS. Covers document numbering, version control, change management, and 21 CFR Part 11 compliance. Use when working on document control procedures, change control workflows, document numbering, version management, electronic signature compliance, or regulatory documentation review.", + "tools": [ + { + "script": "ra-qm-team/skills/quality-documentation-manager/scripts/document_validator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/quality-documentation-manager/scripts/document_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 ra-qm-team/skills/quality-documentation-manager/scripts/document_validator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "ra-qm-team/skills/quality-documentation-manager/scripts/document_version_control.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/quality-documentation-manager/scripts/document_version_control.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "21cfr11-compliance-guide.md", + "document-control-procedures.md" + ] + }, + { + "name": "quality-manager-qmr", + "path": "ra-qm-team/skills/quality-manager-qmr", + "description": "Senior Quality Manager Responsible Person (QMR) for HealthTech and MedTech companies. Provides quality system governance, management review leadership, regulatory compliance oversight, and quality performance monitoring per ISO 13485 Clause 5.5.2. Use when leading management reviews, setting quality policy and objectives, monitoring quality KPIs and cost of quality, or exercising QMR governance and regulatory oversight responsibilities.", + "tools": [ + { + "script": "ra-qm-team/skills/quality-manager-qmr/scripts/management_review_tracker.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/quality-manager-qmr/scripts/management_review_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 ra-qm-team/skills/quality-manager-qmr/scripts/management_review_tracker.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "ra-qm-team/skills/quality-manager-qmr/scripts/quality_effectiveness_monitor.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/quality-manager-qmr/scripts/quality_effectiveness_monitor.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "management-review-guide.md", + "quality-kpi-framework.md" + ] + }, + { + "name": "quality-manager-qms-iso13485", + "path": "ra-qm-team/skills/quality-manager-qms-iso13485", + "description": "ISO 13485 Quality Management System implementation and maintenance for medical device organizations. Provides QMS design, documentation control, internal auditing, CAPA management, and certification support. Use when working with medical device quality systems, preparing for ISO 13485 audits, managing regulatory compliance documentation, setting up corrective actions, or building audit preparation programs. Useful for quality management, audit preparation, regulatory compliance, medical device documentation, and corrective action workflows.", + "tools": [ + { + "script": "ra-qm-team/skills/quality-manager-qms-iso13485/scripts/qms_audit_checklist.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/quality-manager-qms-iso13485/scripts/qms_audit_checklist.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "iso13485-clause-requirements.md", + "qms-process-templates.md" + ] + }, + { + "name": "ra-qm-skills", + "path": "ra-qm-team/skills/ra-qm-skills", + "description": "Router/index for the 15 regulatory & quality-management skills bundled in this plugin (ISO 13485 QMS, EU MDR 2017/745, FDA submissions under QMSR, ISO 14971 risk, CAPA, document control, ISO 27001/ISMS, ISO 42001 AIMS, EU AI Act, GDPR/DSGVO, SOC 2, auditing). Use when a compliance request doesn't obviously match one skill and you need to pick the right one (e.g., 'prepare us for an ISO 13485 audit', 'is my AI system high-risk under the AI Act').", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [] + }, + { + "name": "regulatory-affairs-head", + "path": "ra-qm-team/skills/regulatory-affairs-head", + "description": "Senior Regulatory Affairs Manager for HealthTech and MedTech companies. Prepares FDA 510(k), De Novo, and PMA submission packages; analyzes regulatory pathways for new medical devices; drafts responses to FDA deficiency letters and Notified Body queries; develops CE marking technical documentation under EU MDR 2017/745; coordinates multi-market approval strategies across FDA, EU, Health Canada, PMDA, and NMPA; and maintains regulatory intelligence on evolving standards. Use when users need to plan or execute FDA submissions, navigate 510(k) or PMA approval processes, achieve CE marking, prepar", + "tools": [ + { + "script": "ra-qm-team/skills/regulatory-affairs-head/scripts/regulatory_pathway_analyzer.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/regulatory-affairs-head/scripts/regulatory_pathway_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/regulatory-affairs-head/scripts/regulatory_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/regulatory-affairs-head/scripts/regulatory_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "eu-mdr-submission-guide.md", + "fda-submission-guide.md", + "global-regulatory-pathways.md", + "iso-regulatory-requirements.md" + ] + }, + { + "name": "risk-management-specialist", + "path": "ra-qm-team/skills/risk-management-specialist", + "description": "Medical device risk management specialist implementing ISO 14971 throughout product lifecycle. Provides risk analysis, risk evaluation, risk control, and post-production information analysis. Use when user mentions risk management, ISO 14971, risk analysis, FMEA, fault tree analysis, hazard identification, risk control, risk matrix, benefit-risk analysis, residual risk, risk acceptability, or post-market risk.", + "tools": [ + { + "script": "ra-qm-team/skills/risk-management-specialist/scripts/fmea_analyzer.py", + "wired": false, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/risk-management-specialist/scripts/fmea_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/risk-management-specialist/scripts/risk_matrix_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/risk-management-specialist/scripts/risk_matrix_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "iso14971-implementation-guide.md", + "risk-analysis-methods.md", + "risk-assessment-templates.md" + ] + }, + { + "name": "soc2-compliance", + "path": "ra-qm-team/skills/soc2-compliance", + "description": "Use when the user asks to prepare for SOC 2 audits, map Trust Service Criteria, build control matrices, collect audit evidence, perform gap analysis, or assess SOC 2 Type I vs Type II readiness.", + "tools": [ + { + "script": "ra-qm-team/skills/soc2-compliance/scripts/control_matrix_builder.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/soc2-compliance/scripts/control_matrix_builder.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/soc2-compliance/scripts/evidence_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/soc2-compliance/scripts/evidence_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "ra-qm-team/skills/soc2-compliance/scripts/gap_analyzer.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 ra-qm-team/skills/soc2-compliance/scripts/gap_analyzer.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": true + }, + "references": [ + "evidence_collection_guide.md", + "soc2_audit_playbook.md", + "trust_service_criteria.md", + "type1_vs_type2.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/research-ops.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/research-ops.json new file mode 100644 index 00000000..cb26c53c --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/research-ops.json @@ -0,0 +1,495 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "research-ops", + "skill_count": 5, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "clinical-research", + "path": "research-ops/skills/clinical-research", + "description": "Use when designing a prospective clinical study before submission \u2014 selecting and classifying endpoints (primary / key-secondary / exploratory, with surrogate-endpoint flagging), estimating sample size and power for two-arm designs (means / proportions / survival), or scoring a study plan for feasibility and a GO / GO-WITH-CONDITIONS / REDESIGN / NO-GO phase-gate decision. Every output is an ESTIMATE plus a named human owner (clinician / biostatistician / regulatory owner) \u2014 never clinical fact, never a finished protocol. Distinct from ra-qm-team, which handles the regulatory/QM submission (IS", + "tools": [ + { + "script": "research-ops/skills/clinical-research/scripts/ar_evaluator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/clinical-research/scripts/ar_evaluator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/clinical-research/scripts/ar_evaluator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/clinical-research/scripts/config_loader.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/clinical-research/scripts/config_loader.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/clinical-research/scripts/config_loader.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/clinical-research/scripts/endpoint_selector.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/clinical-research/scripts/endpoint_selector.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/clinical-research/scripts/endpoint_selector.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/clinical-research/scripts/onboard.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research-ops/skills/clinical-research/scripts/onboard.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research-ops/skills/clinical-research/scripts/phase_gate_scorer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/clinical-research/scripts/phase_gate_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/clinical-research/scripts/phase_gate_scorer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/clinical-research/scripts/sample_size_estimator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/clinical-research/scripts/sample_size_estimator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/clinical-research/scripts/sample_size_estimator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "endpoint_and_power.md", + "study_design_canon.md", + "trial_operations.md" + ] + }, + { + "name": "market-research", + "path": "research-ops/skills/market-research", + "description": "Use when doing upstream market-research methodology \u2014 sizing a market as TAM/SAM/SOM computed BOTH top-down and bottoms-up (never a single unsourced number), planning a survey sample size with finite-population correction and per-segment minimums, or scoring candidate market segments against Kotler's measurable/substantial/accessible/differentiable/actionable criteria. Outputs always show the method and the assumptions. For market-research analysts and product-marketing at the sizing/survey/segmentation moment. Distinct from marketing-skill (campaign analytics, attribution, demand-gen) \u2014 this ", + "tools": [ + { + "script": "research-ops/skills/market-research/scripts/ar_evaluator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/market-research/scripts/ar_evaluator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/market-research/scripts/ar_evaluator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/market-research/scripts/config_loader.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/market-research/scripts/config_loader.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/market-research/scripts/config_loader.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/market-research/scripts/market_sizer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/market-research/scripts/market_sizer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/market-research/scripts/market_sizer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/market-research/scripts/onboard.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research-ops/skills/market-research/scripts/onboard.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research-ops/skills/market-research/scripts/sample_size_planner.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/market-research/scripts/sample_size_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/market-research/scripts/sample_size_planner.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/market-research/scripts/segmentation_scorer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/market-research/scripts/segmentation_scorer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/market-research/scripts/segmentation_scorer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "market_sizing_canon.md", + "segmentation_and_ci.md", + "survey_methodology.md" + ] + }, + { + "name": "product-research", + "path": "research-ops/skills/product-research", + "description": "Use when planning and synthesizing product/user research as a method-and-repository discipline \u2014 selecting the right method for the goal (generative interviews vs usability test vs concept test vs validation), computing method-based saturation/sample size with an explicit confidence level, or synthesizing coded observations into insights while flagging single-source anecdotes. Never fabricates user insight; an insight requires recurrence across independent participants. Distinct from product-team/ux-researcher-designer (persona/journey artifacts), product-discovery (discovery-sprint planning),", + "tools": [ + { + "script": "research-ops/skills/product-research/scripts/ar_evaluator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/product-research/scripts/ar_evaluator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/product-research/scripts/ar_evaluator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/product-research/scripts/config_loader.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/product-research/scripts/config_loader.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/product-research/scripts/config_loader.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/product-research/scripts/insight_synthesizer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/product-research/scripts/insight_synthesizer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/product-research/scripts/insight_synthesizer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/product-research/scripts/onboard.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research-ops/skills/product-research/scripts/onboard.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research-ops/skills/product-research/scripts/saturation_planner.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/product-research/scripts/saturation_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/product-research/scripts/saturation_planner.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/product-research/scripts/study_designer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/product-research/scripts/study_designer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/product-research/scripts/study_designer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "repository_and_synthesis.md", + "research_methods_canon.md", + "sampling_and_saturation.md" + ] + }, + { + "name": "research-finance", + "path": "research-ops/skills/research-finance", + "description": "Use when managing the money for an internal R&D program or portfolio \u2014 building a multi-period program budget with the F&A (indirect) split, tracking burn rate and runway against value-inflection milestones, or routing R&D cost items to a capitalize-vs-expense determination. Every budget output surfaces its assumptions block; capitalize-vs-expense is decision-support only and routes to a named finance owner \u2014 it never books an entry or decides accounting treatment. Distinct from finance/financial-analysis (corporate DCF, close, valuation) and research/grants (funding discovery \u2014 this manages m", + "tools": [ + { + "script": "research-ops/skills/research-finance/scripts/ar_evaluator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/research-finance/scripts/ar_evaluator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/research-finance/scripts/ar_evaluator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/research-finance/scripts/burn_runway_tracker.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/research-finance/scripts/burn_runway_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/research-finance/scripts/burn_runway_tracker.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/research-finance/scripts/capex_vs_opex_router.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/research-finance/scripts/capex_vs_opex_router.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/research-finance/scripts/capex_vs_opex_router.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/research-finance/scripts/config_loader.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/research-finance/scripts/config_loader.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/research-finance/scripts/config_loader.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research-ops/skills/research-finance/scripts/onboard.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research-ops/skills/research-finance/scripts/onboard.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research-ops/skills/research-finance/scripts/program_budget_planner.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research-ops/skills/research-finance/scripts/program_budget_planner.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research-ops/skills/research-finance/scripts/program_budget_planner.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "burn_and_portfolio.md", + "indirect_rate_modeling.md", + "rd_program_finance_canon.md" + ] + }, + { + "name": "research-ops-skills", + "path": "research-ops/skills/research-ops-skills", + "description": "Use when planning, funding, scoping, or synthesizing enterprise research across workstreams \u2014 clinical study design, R&D program finance, market sizing/surveys, or product/user research. Triggers on \"design this clinical study\", \"what sample size\", \"R&D budget\", \"burn rate\", \"capitalize or expense\", \"TAM SAM SOM\", \"market sizing\", \"survey design\", \"segment the market\", \"plan user interviews\", \"usability test\", \"synthesize research insights\". Forks context to route to one of four Research-Operations sub-skills (clinical-research, research-finance, market-research, product-research) and returns ", + "tools": [], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": false, + "verification": false, + "loop_discipline": true, + "close_out": true + }, + "references": [] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/assets/harnesses/research.json b/engineering/agent-harness/skills/agent-harness/assets/harnesses/research.json new file mode 100644 index 00000000..aab651df --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/assets/harnesses/research.json @@ -0,0 +1,560 @@ +{ + "schema": "agent-harness/manifest.v1", + "domain": "research", + "skill_count": 9, + "loop_defaults": { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected" + ] + }, + "skills": [ + { + "name": "deep-research", + "path": "research/deep-research/skills/deep-research", + "description": "Run a disciplined, multi-source research investigation for a high-stakes question or decision \u2014 fan-out web search across many channels, parallel sub-agents, source triangulation (each claim backed by \u22653 independent sources), an adversarial review pass, and every source saved to its own file with verbatim quotes for reuse. Use when a low-quality answer is expensive: strategy work, comparing N products/methods/markets, validating a hypothesis with external data, or mapping how a field works. NOT for quick fact-checks (answer directly), structured 12-dimension competitor scoring (use competitive", + "tools": [], + "agentic_signals": { + "goal_intake": false, + "refusal_gate": false, + "verification": true, + "loop_discipline": false, + "close_out": false + }, + "references": [ + "full-catalog.md" + ] + }, + { + "name": "dossier", + "path": "research/dossier/skills/dossier", + "description": "Decision-grade entity research skill \u2014 produces a hypothesis-tested dossier on a specific company, person, nonprofit, or government org, not a generic profile. Forcing intake makes the user state their hypothesis upfront (what they already believe and want to verify or disprove) so the dossier tests it rather than confirms it. Output is an editable Word document (.docx) with verdict on the hypothesis, identity facts, 12-month activity timeline, network and reputation signals, red flags, conversation hooks tied to specific findings, and source-provenance audit log. Uses WebSearch + WebFetch + f", + "tools": [ + { + "script": "research/dossier/skills/dossier/scripts/citation_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research/dossier/skills/dossier/scripts/citation_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research/dossier/skills/dossier/scripts/disconfirming_evidence_balance.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/dossier/skills/dossier/scripts/disconfirming_evidence_balance.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/dossier/skills/dossier/scripts/disconfirming_evidence_balance.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research/dossier/skills/dossier/scripts/source_tier_classifier.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/dossier/skills/dossier/scripts/source_tier_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/dossier/skills/dossier/scripts/source_tier_classifier.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "conversation_hook_quality.md", + "hypothesis_testing_discipline.md", + "subject_type_source_matrix.md" + ] + }, + { + "name": "grants", + "path": "research/grants/skills/grants", + "description": "NIH grant research skill for clinical researchers. Grill-me intake (research idea + career stage + preliminary data + environment + submission posture + known institute targets) locks down the funding strategy before any search runs. Runs a 5-facet Consensus positioning analysis (with draft Significance/Innovation language), maps the research to the right NIH institutes and study sections via RePORTER, finds NOSIs and funded overlap, and produces an editable Word document (.docx) with budget/scope-aware mechanism recommendations, submission timelines, and a mandatory program officer recommenda", + "tools": [ + { + "script": "research/grants/skills/grants/scripts/citation_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research/grants/skills/grants/scripts/citation_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research/grants/skills/grants/scripts/fiscal_year_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research/grants/skills/grants/scripts/fiscal_year_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research/grants/skills/grants/scripts/mechanism_matcher.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/grants/skills/grants/scripts/mechanism_matcher.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/grants/skills/grants/scripts/mechanism_matcher.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "docx_9_sections.md", + "nih_mechanism_matching.md", + "reporter_post_patterns.md" + ] + }, + { + "name": "litreview", + "path": "research/litreview/skills/litreview", + "description": "Academic literature orientation skill that searches papers via free keyless APIs (PubMed E-utilities + OpenAlex) by default \u2014 with the Consensus MCP as an optional enhancement lane when connected \u2014 builds a strategic search plan using PICO (default) or SPIDER / Decomposition / hybrid as fallbacks, and synthesizes findings into a formatted Word (.docx) research guide. Grill-me intake (research question specificity + framework hint + tentative depth) before the recon search; a second forcing checkpoint after Phase 2 confirms framework + sub-areas + depth before searches consume budget. Configura", + "tools": [ + { + "script": "research/litreview/skills/litreview/scripts/citation_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research/litreview/skills/litreview/scripts/citation_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research/litreview/skills/litreview/scripts/cross_search_aggregator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/litreview/skills/litreview/scripts/cross_search_aggregator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/litreview/skills/litreview/scripts/cross_search_aggregator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research/litreview/skills/litreview/scripts/framework_recommender.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/litreview/skills/litreview/scripts/framework_recommender.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/litreview/skills/litreview/scripts/framework_recommender.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research/litreview/skills/litreview/scripts/free_search.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research/litreview/skills/litreview/scripts/free_search.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "docx_8_sections.md", + "framework_selection.md", + "search_budget_allocation.md" + ] + }, + { + "name": "notebooklm", + "path": "research/notebooklm/skills/notebooklm", + "description": "Browser automation skill for controlling Google's NotebookLM. Use when the user wants anything done in NotebookLM (e.g., 'open NotebookLM', 'check my [name] notebook', 'ask my notebook about X', 'add [source] to NotebookLM', 'generate a Video Overview from my notebook', 'use NotebookLM Studio'). Handles reading and querying notebooks, adding sources (URLs, text, files, YouTube links, synthesized content), generating Studio outputs (Audio/Video Overviews, Mind Maps, Reports incl. Briefing Doc/Study Guide/FAQ, Flashcards, Quiz, slide decks, infographics \u2014 discover the exact set from the live Stu", + "tools": [ + { + "script": "research/notebooklm/skills/notebooklm/scripts/action_router.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/notebooklm/skills/notebooklm/scripts/action_router.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/notebooklm/skills/notebooklm/scripts/action_router.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research/notebooklm/skills/notebooklm/scripts/async_action_classifier.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/notebooklm/skills/notebooklm/scripts/async_action_classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/notebooklm/skills/notebooklm/scripts/async_action_classifier.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research/notebooklm/skills/notebooklm/scripts/custom_prompt_template_generator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/notebooklm/skills/notebooklm/scripts/custom_prompt_template_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/notebooklm/skills/notebooklm/scripts/custom_prompt_template_generator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "async_action_discipline.md", + "browser_automation_canon.md", + "studio_output_custom_prompts.md" + ] + }, + { + "name": "patent", + "path": "research/patent/skills/patent", + "description": "Patent prior-art and landscape intelligence skill \u2014 not generic patent help. Commits to one of five sub-use-cases via forcing intake (novelty search / freedom-to-operate / competitive landscape / acquisition diligence / litigation prior-art) before any search runs. Searches Google Patents, Espacenet, USPTO, and optionally Lens.org for citation-graph signals. Output is an editable Word document (.docx) with verdict, ranked closest art (claim-text extracted), CPC-class-aware landscape, family-resolved hits, geographic coverage, FTO flags where applicable, strategy recommendations, and full audit", + "tools": [ + { + "script": "research/patent/skills/patent/scripts/citation_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research/patent/skills/patent/scripts/citation_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research/patent/skills/patent/scripts/family_resolver.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/patent/skills/patent/scripts/family_resolver.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/patent/skills/patent/scripts/family_resolver.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research/patent/skills/patent/scripts/sub_use_case_router.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/patent/skills/patent/scripts/sub_use_case_router.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/patent/skills/patent/scripts/sub_use_case_router.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": true, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "cpc_classification_canon.md", + "legal_disclaimer_discipline.md", + "sub_use_case_routing.md" + ] + }, + { + "name": "pulse", + "path": "research/pulse/skills/pulse", + "description": "Multi-source recency research skill that takes the pulse of any topic across Reddit, Hacker News, the open web, and optionally X/Twitter within a configurable recent window (default 30 days). Forcing intake clarifies topic specificity, angle (trend/sentiment/problems/opportunities/comparison), time window, and platform scope before searching. Returns a synthesized briefing with citations, engagement metrics, and cross-platform pattern analysis. Use when the user requests multi-source recency intelligence on a topic (e.g., 'pulse on [topic]', 'what's happening with [topic]', 'what are people sa", + "tools": [ + { + "script": "research/pulse/skills/pulse/scripts/citation_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research/pulse/skills/pulse/scripts/citation_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research/pulse/skills/pulse/scripts/time_window_calculator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research/pulse/skills/pulse/scripts/time_window_calculator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research/pulse/skills/pulse/scripts/topic_slug_generator.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research/pulse/skills/pulse/scripts/topic_slug_generator.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "cross_platform_synthesis.md", + "parallel_execution_discipline.md", + "research_pack_conventions.md" + ] + }, + { + "name": "research", + "path": "research/research/skills/research", + "description": "Default entry point for any research request \u2014 a hybrid router that classifies the question deterministically and either delegates to a specialist research skill (pulse for trends/sentiment, grants for NIH funding, litreview for academic literature, syllabus for course reading, patent for prior-art + IP landscape, dossier for entity research) or runs its own plan-decompose-multi-source-search-synthesize-cite fallback workflow when no specialist matches. Always surfaces the routing decision so users can override. Use when the user makes any research request that doesn't obviously match a more-s", + "tools": [ + { + "script": "research/research/skills/research/scripts/classifier.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/research/skills/research/scripts/classifier.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/research/skills/research/scripts/classifier.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research/research/skills/research/scripts/fallback_decomposer.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/research/skills/research/scripts/fallback_decomposer.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/research/skills/research/scripts/fallback_decomposer.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research/research/skills/research/scripts/routing_transparency_logger.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/research/skills/research/scripts/routing_transparency_logger.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/research/skills/research/scripts/routing_transparency_logger.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": true + }, + "references": [ + "deterministic_classification_canon.md", + "fallback_workflow_canon.md", + "hybrid_router_architecture.md" + ] + }, + { + "name": "syllabus", + "path": "research/syllabus/skills/syllabus", + "description": "Generates a curated supplementary reading list from any course syllabus using Consensus academic search. Grill-me intake (syllabus input format + course audience + year range) plus a grouping forcing-options checkpoint before any search runs \u2014 so the reading list matches the course's level and recency need. Parses the syllabus to extract topics and learning outcomes, searches Consensus for recent peer-reviewed papers per topic, and produces a professionally formatted .docx with clickable Consensus links, plain-language summaries calibrated to audience level, and Bloom-higher-order discussion q", + "tools": [ + { + "script": "research/syllabus/skills/syllabus/scripts/citation_tracker.py", + "wired": true, + "supports_sample": false, + "verification": [ + { + "cmd": "python3 research/syllabus/skills/syllabus/scripts/citation_tracker.py --help", + "expect_exit": 0, + "kind": "smoke" + } + ] + }, + { + "script": "research/syllabus/skills/syllabus/scripts/discussion_question_validator.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/syllabus/skills/syllabus/scripts/discussion_question_validator.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/syllabus/skills/syllabus/scripts/discussion_question_validator.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + }, + { + "script": "research/syllabus/skills/syllabus/scripts/topic_grouper.py", + "wired": true, + "supports_sample": true, + "verification": [ + { + "cmd": "python3 research/syllabus/skills/syllabus/scripts/topic_grouper.py --help", + "expect_exit": 0, + "kind": "smoke" + }, + { + "cmd": "python3 research/syllabus/skills/syllabus/scripts/topic_grouper.py --sample", + "expect_exit": 0, + "kind": "sample" + } + ] + } + ], + "agentic_signals": { + "goal_intake": true, + "refusal_gate": true, + "verification": false, + "loop_discipline": true, + "close_out": false + }, + "references": [ + "applied_domain_weaving.md", + "audience_calibration.md", + "bundled_script_pattern.md" + ] + } + ] +} diff --git a/engineering/agent-harness/skills/agent-harness/references/agentic_loop_canon.md b/engineering/agent-harness/skills/agent-harness/references/agentic_loop_canon.md new file mode 100644 index 00000000..97a79b26 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/references/agentic_loop_canon.md @@ -0,0 +1,89 @@ +# The Agentic Loop Canon + +What the 2024–2026 practitioner literature agrees an agent loop is, and the design +decisions this skill inherits from it. Every rule in `SKILL.md` traces to one of +these sources. + +## Sources + +1. **Erik Schluntz & Barry Zhang (Anthropic), "Building Effective Agents", Dec 2024** — + https://www.anthropic.com/research/building-effective-agents. The reference taxonomy: + *workflows* (LLM steps orchestrated through predefined code paths) vs *agents* (the LLM + directs its own process). Patterns: prompt chaining with programmatic gates, routing, + parallelization, orchestrator-workers, evaluator-optimizer. Rule inherited: **compile the + goal into a workflow — explicit ordered tasks with checks — and let the model be dynamic + only inside a task**, because evaluator-optimizer loops only pay off "when clear evaluation + criteria exist." +2. **Anthropic, "Building agents with the Claude Agent SDK", Sep 2025** — + https://claude.com/blog/building-agents-with-the-claude-agent-sdk. Canonizes the loop as + **gather context → take action → verify work → repeat**, with the filesystem as the context + store and a verification-reliability ladder: rules-based checks > visual inspection > + LLM-as-judge. Rule inherited: every task record in the plan carries a `verification` array; + deterministic checks outrank judgment. +3. **Anthropic, "How we built our multi-agent research system", Jun 2025** — + https://www.anthropic.com/engineering/multi-agent-research-system. Production + orchestrator-workers: subagent specs need **objective, output format, tool guidance, and + task boundaries** or workers duplicate and wander; effort must be scaled by rule (simple + query = 1 agent, 3–10 calls). Rule inherited: `goal_compiler.py` emits per-task objective + + suggested tools + done_when, and caps tasks with `--max-tasks`. +4. **Anthropic, "Effective harnesses for long-running agents", Nov 2025** — + https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents. The + flagship harness: an initializer expands the goal into a structured `feature-list.json`; + a worker is woken repeatedly, each fresh-context session doing ONE item: read progress → + implement → run tests → write progress → commit. **All state lives on disk/git; sessions + are stateless shifts.** Rule inherited: the plan file + state file ARE the loop; never + assume conversational carryover between iterations. +5. **Geoffrey Huntley, "Ralph Wiggum as a 'software engineer'", Jul 2025** — + https://ghuntley.com/ralph/ (now an official Claude Code plugin). A `while true` loop + feeding the same prompt to a fresh-context agent, with the filesystem + TODO file + git as + memory. Load-bearing insight: **fresh context each iteration is the point** — quality + degrades as the window fills, so restart against durable state instead of continuing. + Community practice adds iteration caps and completion criteria. Rule inherited: + `max_loop_iterations` is mandatory and enforced by the controller, not the agent. +6. **Walden Yan (Cognition), "Don't Build Multi-Agents", Jun 2025** — + https://cognition.com/blog/dont-build-multi-agents. The counterweight to fan-out + enthusiasm: parallel actors making conflicting decisions on partial context is the dominant + multi-agent failure. Synthesis with source 3: **fan out readers and judges; serialize + writers.** Rule inherited: the default loop order is `sequential`; parallel execution is an + explicit opt-in and only for non-writing tasks. +7. **Anthropic, "Equipping agents for the real world with Agent Skills", Oct 2025** — + https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills. + Skills load by **progressive disclosure** (metadata → SKILL.md → referenced files on + demand); ship deterministic scripts for anything reliably automatable. Rule inherited: the + manifest carries one-paragraph skill descriptors only; the agent opens a skill's SKILL.md + when — and only when — its task starts. + +## The loop this skill implements + +``` +GOAL ──goal_compiler──▶ PLAN (tasks × verification × caps) + │ + ┌─────────────▼──────────────┐ + │ loop_controller next │◀────────────┐ + │ → execute ONE task │ │ + │ → record --phase execute │ │ + │ → loop_controller verify │ retry ≤ max_attempts, + │ (controller runs checks) │ changed approach only + └──────┬──────────────┬───────┘ │ + verified failed ───────────────────┘ + │ │ (attempts exhausted) + ▼ ▼ + close ESCALATE to a human + (refuses while any task unverified) +``` + +This is the six-step Observe→Choose→Act→Verify→Record→Repeat-or-stop cycle from the +vendored `loop-library/SKILL.md` (Forward Future, MIT), with the terminal-state taxonomy it +defines — success · clean no-op · blocked · approval-required · exhausted · stagnated — +mapped onto controller states: `closed` (success/no-op), `escalated` +(approval-required/exhausted), and the global iteration cap (stagnated). + +## What the canon says NOT to do + +- **Don't run the loop inside one ever-growing context.** (Sources 4, 5.) Each `next` + directive is designed to be executable by a fresh session reading only the state file. +- **Don't let two tasks write the same artifact in parallel.** (Source 6.) +- **Don't hand the model an open-ended goal without acceptance criteria.** (Sources 1, 3.) + `goal_compiler.py` refuses vague goals (exit 3) with forcing questions instead. +- **Don't treat subagent enthusiasm as progress.** (Source 3: early agents "spawned 50 + subagents for simple queries.") Task count is capped; effort is budgeted up front. diff --git a/engineering/agent-harness/skills/agent-harness/references/domain_harness_design.md b/engineering/agent-harness/skills/agent-harness/references/domain_harness_design.md new file mode 100644 index 00000000..17e8fd7f --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/references/domain_harness_design.md @@ -0,0 +1,93 @@ +# Domain Harness Design + +How a *domain folder full of skills* becomes an *agent harness*: a declarative manifest +mapping goals → skills → verifications, plus the repo primitives this skill deliberately +reuses instead of rebuilding. + +## Sources + +1. **AGENTS.md convention** — https://agents.md/ (launched Aug 2025; adopted by Codex, + Cursor, Devin, Gemini CLI, Copilot; stewarded by the Agentic AI Foundation under the Linux + Foundation since Dec 2025). The de-facto standard for declaring "how to build and verify + work here" in a file agents read first. The harness manifest is the same idea made + machine-readable per domain. +2. **Anthropic, "Effective harnesses for long-running agents", Nov 2025** — + https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents. Its + `feature-list.json` — each item carrying description + acceptance criteria + status, looped + until all verified — is the closest published goal→tasks→verification manifest and the + direct model for `plan.v1` / `state.v1`. +3. **Model Context Protocol** — https://modelcontextprotocol.io/ (Anthropic, Nov 2024; + multi-vendor stewardship 2025). JSON-schema'd tool registries as the declared action space + of a harness. The manifest's `tools[]` blocks follow the same declare-don't-discover + philosophy: an agent should read what a skill can do, not grep for it mid-loop. +4. **LangGraph checkpointers** — https://langchain-ai.github.io/langgraph/. Durable + execution: every super-step persisted, enabling pause/resume/replay and human-in-the-loop + interrupts. The stdlib equivalent here: an atomically-written JSON state file + (`os.replace`), append-only evidence entries, and git as the checkpoint layer. +5. **OpenAI Agents SDK** — https://openai.github.io/openai-agents-python/. `max_turns` + raising `MaxTurnsExceeded` and tripwire guardrails: caps are *runtime errors*, not + suggestions. Mirrored by controller exit codes 2 (escalate), 4 (close refused), + 5 (iteration cap) — a caller script can branch on them mechanically. +6. **Forward Future, "Loop Library" (MIT, vendored at `loop-library/` in this repo)** — loop + anatomy (Observe/Choose/Act/Verify/Record/Repeat-or-stop) and the terminal-state taxonomy + (success · clean no-op · blocked · approval-required · exhausted · stagnated). The harness + adopts this vocabulary; "errors and exhausted budgets are never reported as success" is + implemented as the no-force `close` gate. +7. **Anthropic, "Effective context engineering for AI agents", Sep 2025** — + https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents. + Compaction, structured note-taking, and subagent summaries for long horizons. The state + file's `evidence` log + the close-time handoff block are the structured notes; a fresh + session needs only `plan.json` + `state.json` to continue the loop. + +## The three-layer architecture + +``` +Layer 1 — INVENTORY (per domain, committed, regenerated by tooling) + assets/harnesses/.json what skills exist, what tools they ship, + what checks prove each tool works, + which agentic signals the skill already has +Layer 2 — PLAN (per goal, generated at run time) + plan.json ordered tasks: skill × objective × + verification[] × max_attempts × done_when +Layer 3 — STATE (per run, the single source of truth) + .agent-harness/state.json task statuses, attempts, evidence log, + iteration counter, close/handoff record +``` + +Layer 1 is diff-stable (`--no-timestamp`) so CI can regenerate and `git diff --exit-code` +it — manifest drift against the tree becomes a machine-checkable gate, exactly like this +repo's `derive_counters.py --check` discipline. + +## Reuse map (import the pattern, don't rebuild the mechanism) + +| Need | Reuse from this repo | The harness adds | +|---|---|---| +| Task/state persistence + handoff schema | `engineering/skills/tc-tracker` (atomic writes, append-only history, session handoff block) | A goal-scoped, domain-agnostic state file (`.agent-harness/`), not per-code-change records | +| Anti-overfit locked evaluator | `engineering/autoresearch-agent` (never modify `evaluate.py`; KEEP/DISCARD/CRASH) | The same invariant generalized: `verify` re-runs gates itself | +| N-agent tournament on one task | `engineering/agenthub` (worktrees, DAG, result ranker) | Nothing — route there when the task wants competing attempts | +| Deterministic fan-out/pipeline topologies | `engineering/workflow-builder` (Workflow-tool .js + validator) | Nothing — route there when orchestrating Claude Code's Workflow tool | +| Loop design/audit vocabulary | `loop-library/` (six-step cycle, stop-state taxonomy) | An executable enforcement of that vocabulary | +| Severity-gated ship decision | `engineering/skills/ship-gate` (CRITICAL/HIGH/ADVISORY verdict) | Use as a close-time check inside a task's `verification[]` | +| Honest self-scoring | `engineering/skills/self-eval` (matrix-locked composite) | Optional close-out step before the handoff | +| Bounded-autonomy STOP triggers | `engineering/skills/spec-driven-workflow` + `focused-fix` 3-strike rule | `escalate_on` defaults in every manifest | + +## Namespacing (collisions this skill deliberately avoids) + +- State directory is **`.agent-harness/`** — never `.agenthub/`, `.autoresearch/`, or + `docs/TC/`, which belong to sibling skills. +- Command is **`/cs:harness`** — `/hub:*`, `/ar:*`, `/si:*`, `/tc` are taken. +- The runtime agent is **`harness-runner`** — "orchestrator" already denotes the + `context: fork` domain routers, and `hub-coordinator` / `experiment-runner` are taken. +- The bare name "loop" is overloaded in this repo (the `/loop` scheduler skill, + `loop-library`, workflow loop templates) — this skill never claims it. + +## Extending a domain's harness + +1. Author or improve skills so they carry the agentic signals (intake, refusal gates, + verification, loop discipline, close-out — see the July 2026 audit's AR1–AR6 rubric in + `audit/engineering-agentic-2026-07/RUBRIC.md`). +2. Regenerate the manifest: + `python3 scripts/harness_manifest_builder.py --domain --repo-root . --out-dir assets/harnesses --no-timestamp` + (run from this skill's directory). +3. The richer the skill's tools and `--sample` support, the more executable checks its tasks + get for free — `manual-evidence` tasks are the fallback, not the goal. diff --git a/engineering/agent-harness/skills/agent-harness/references/verification_discipline.md b/engineering/agent-harness/skills/agent-harness/references/verification_discipline.md new file mode 100644 index 00000000..36981429 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/references/verification_discipline.md @@ -0,0 +1,72 @@ +# Verification Discipline + +Why the harness adjudicates its own gates, and why an agent's claim of success is +never evidence. The controller's design decisions trace to these sources. + +## Sources + +1. **Jason Wei, "Asymmetry of verification and verifier's law", Jul 2025** — + https://www.jasonwei.net/blog/asymmetry-of-verification-and-verifiers-law. "The ease of + training AI to solve a task is proportional to how verifiable the task is." Tasks easy to + check but hard to do are exactly where iteration works. Design consequence: **invest in + making the task verifiable before investing in the agent** — a task in a harness plan with + no executable check is a liability, which is why `goal_compiler.py` marks such tasks + `manual-evidence` and the controller refuses to auto-verify them. +2. **John Yang, Carlos E. Jimenez et al., "SWE-agent: Agent-Computer Interfaces Enable + Automated Software Engineering", NeurIPS 2024** — https://arxiv.org/abs/2405.15793. + Agents fail when the environment gives no feedback on bad actions; the single highest-value + guardrail was a linter that **rejects invalid edits at write time**. Design consequence: + gates run cheap→expensive and fail fast; a failed check returns the failing command's + output tail so the next attempt has signal, not vibes. +3. **OpenAI, "SWE-bench Verified", 2024** — https://www.swebench.com/verified.html. Even + benchmark test suites were noisy enough to need human validation before scores meant + anything. Design consequence: every check in a manifest declares its `kind` + (smoke/sample/manual-evidence); only deterministic kinds can flip a task to `verified` + without a human-authored evidence line. +4. **Boris Cherny (Anthropic), "Claude Code: Best practices for agentic coding", Apr 2025** — + https://www.anthropic.com/engineering/claude-code-best-practices. The strongest loop is + test-driven: write the check first, confirm it fails, then iterate work against it — + "Claude performs best when it has a clear target to iterate against." Design consequence: + the harness's recommended flow is gate-first (run the verification before the work; a gate + that already passes pre-work is invalid as evidence of progress). +5. **Noah Shinn et al., "Reflexion: Language Agents with Verbal Reinforcement Learning", + NeurIPS 2023** — https://arxiv.org/abs/2303.11366 — self-critique improves outcomes **only + when grounded in external feedback signals**; and **Jie Huang et al., "Large Language Models + Cannot Self-Correct Reasoning Yet", ICLR 2024** — https://arxiv.org/abs/2310.01798 — + intrinsic self-correction without external feedback often makes answers worse. Design + consequence: retries are only granted after a *recorded external failure* (nonzero exit), + and the retry directive explicitly demands a changed approach. +6. **Anthropic, "From shortcuts to sabotage: natural emergent misalignment from reward + hacking", Nov 2025** — https://www.anthropic.com/research/emergent-misalignment-reward-hacking. + Agents that learn to game their checks (hard-coding expected values, editing tests) + generalize to worse behavior. Design consequence — the harness's central invariant: + **the worker must not adjudicate or modify the gates it is judged by.** + `loop_controller.py verify` re-runs the check commands itself via subprocess; a passing + `record --phase verify` without `--evidence` is rejected outright ("no verification + theater"); and the same invariant already ships in this repo as autoresearch-agent's + locked-evaluator rule ("`evaluate.py` is ground truth — never modify it"). +7. **Google SRE Workbook (Beyer et al., 2018), ch. 2 "Implementing SLOs"** — + https://sre.google/workbook/implementing-slos/. Error budgets are the production-grade + version of the same idea: a numeric, pre-agreed threshold decides whether you ship or stop, + not the operator's optimism. Design consequence: attempts and iterations are budgets + (`max_attempts_per_task`, `max_loop_iterations`); exhausting a budget is a *terminal, + reportable state* — never silently absorbed. + +## The verification ladder (most → least trustworthy) + +| Rank | Check type | Harness treatment | +|---|---|---| +| 1 | Deterministic command, exit-code contract (`kind: smoke`/`sample`) | `verify` subcommand runs it; pass can auto-flip state | +| 2 | Deterministic command with output assertion (JSON keys, thresholds) | Same, encode the assertion in the command (`... | python3 -c "assert ..."`) | +| 3 | Human-readable evidence written by the agent (`kind: manual-evidence`) | Requires `record --phase verify --evidence ""`; controller refuses empty evidence | +| 4 | Agent asserting "done" | **Never accepted.** Not a state transition in the machine. | + +## Anti-gaming rules the controller enforces + +- `verify` executes checks itself (subprocess, timeout, output tail captured to the evidence + log) — recorded exit codes are for the *execute* phase only. +- A passing verify record without evidence text is exit 6, not a pass. +- Failure at `max_attempts` escalates (exit 2); the loop cannot convert an exhausted task + into a success, only a human can waive it — and `close --waive` demands a reason that is + written permanently into the handoff. +- `close` with any unverified, unwaived task is exit 4. There is no force flag. diff --git a/engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py b/engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py new file mode 100644 index 00000000..b1844875 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py @@ -0,0 +1,221 @@ +#!/usr/bin/env python3 +"""Compile a goal into a verifiable task plan against a domain harness manifest. + +Deterministic keyword scoring (no LLM calls): the goal is tokenized, each skill +in the manifest is scored on name/description overlap, and the top matches +become ordered tasks — each with the verification checks the manifest recorded +for that skill and a done_when contract loop_controller.py can enforce. + +Refusal gates (the harness never runs on fuzz): + exit 3 — goal too vague (< 4 content tokens): emits forcing questions. + exit 4 — no skill scores above --min-score: emits nearest candidates. + +Usage: + python3 goal_compiler.py --goal "audit our API design and ship an SLO" \ + --manifest assets/harnesses/engineering.json --out plan.json + python3 goal_compiler.py --sample +""" + +import argparse +import datetime +import json +import re +import sys + +SCHEMA = "agent-harness/plan.v1" + +STOPWORDS = { + "a", "an", "and", "are", "as", "at", "be", "by", "can", "do", "for", + "from", "get", "have", "how", "i", "in", "is", "it", "make", "me", "my", + "of", "on", "or", "our", "please", "set", "should", "so", "that", "the", + "then", "this", "to", "up", "us", "want", "we", "what", "when", "will", + "with", "you", "your", "need", "needs", "into", "using", "use", +} + +FORCING_QUESTIONS = [ + "What is the single observable outcome that means this goal is DONE " + "(a file, a passing check, a published artifact)?", + "Which system, repo, or artifact does the work act on?", + "What must NOT change (constraints, no-touch zones, budgets)?", + "Who reviews the result, and what evidence do they need to accept it?", + "What is the deadline or iteration budget before a human takes over?", +] + + +def tokenize(text): + words = re.findall(r"[a-z0-9][a-z0-9\-]+", text.lower()) + out = [] + for w in words: + out.extend(w.split("-")) + return [w for w in out if len(w) > 2 and w not in STOPWORDS] + + +def score_skill(goal_tokens, skill): + name_tokens = set(tokenize(skill.get("name", ""))) + desc_tokens = set(tokenize(skill.get("description", ""))) + score = 0 + hits = [] + for t in set(goal_tokens): + if t in name_tokens: + score += 3 + hits.append(t) + elif t in desc_tokens: + score += 1 + hits.append(t) + return score, sorted(hits) + + +def build_task(idx, skill, goal, defaults): + checks = [] + tool_cmds = [] + for tool in skill.get("tools", []): + tool_cmds.append("python3 %s --help # discover flags first" % tool["script"]) + checks.extend(tool.get("verification", [])) + if not checks: + checks.append({ + "cmd": "MANUAL: state the observable evidence that this task met " + "its objective; a task with no check cannot be closed, only " + "escalated.", + "expect_exit": 0, + "kind": "manual-evidence", + }) + return { + "id": "T%d" % idx, + "skill": skill["name"], + "skill_path": skill["path"], + "objective": "Apply skill '%s' toward goal: %s" % (skill["name"], goal), + "suggested_tools": tool_cmds, + "verification": checks, + "done_when": "every verification check meets expect_exit AND the " + "output is consistent with the task objective", + "max_attempts": defaults.get("max_attempts_per_task", 3), + "status": "pending", + } + + +SAMPLE_PLAN = { + "schema": SCHEMA, + "goal": "design an SLO and error budget for the payments API", + "domain": "engineering", + "tasks": [{ + "id": "T1", + "skill": "slo-architect", + "skill_path": "engineering/slo-architect/skills/slo-architect", + "objective": "Apply skill 'slo-architect' toward goal: design an SLO " + "and error budget for the payments API", + "suggested_tools": [ + "python3 .../scripts/error_budget_calculator.py --help # discover flags first", + ], + "verification": [ + {"cmd": "python3 .../error_budget_calculator.py --target 99.9 " + "--window-days 30", "expect_exit": 0, "kind": "sample"}, + ], + "done_when": "every verification check meets expect_exit AND the " + "output is consistent with the task objective", + "max_attempts": 3, + "status": "pending", + }], + "loop": { + "order": "sequential", + "max_loop_iterations": 12, + "escalate_on": ["attempts_exhausted", "no_verification_available"], + }, + "close": { + "requires": "all tasks verified (or explicitly waived with a reason)", + "handoff": "loop_controller.py close emits the evidence log + summary", + }, +} + + +def main(): + ap = argparse.ArgumentParser( + description="Compile a goal into a verifiable task plan from a domain " + "harness manifest.") + ap.add_argument("--goal", help="The goal statement to compile.") + ap.add_argument("--manifest", help="Path to a harness manifest JSON.") + ap.add_argument("--max-tasks", type=int, default=5) + ap.add_argument("--min-score", type=int, default=2, + help="Minimum match score for a skill to become a task.") + ap.add_argument("--out", help="Write the plan JSON here.") + ap.add_argument("--json", action="store_true", help="Print plan to stdout.") + ap.add_argument("--sample", action="store_true", + help="Print an example plan and exit 0.") + args = ap.parse_args() + + if args.sample: + print(json.dumps(SAMPLE_PLAN, indent=2)) + return 0 + if not args.goal or not args.manifest: + ap.error("--goal and --manifest are required (or use --sample)") + + goal_tokens = tokenize(args.goal) + if len(goal_tokens) < 4: + print(json.dumps({ + "verdict": "REFUSED-VAGUE-GOAL", + "reason": "goal has %d content tokens (< 4); the harness never " + "runs on fuzz" % len(goal_tokens), + "forcing_questions": FORCING_QUESTIONS, + }, indent=2)) + return 3 + + with open(args.manifest, encoding="utf-8") as f: + manifest = json.load(f) + defaults = manifest.get("loop_defaults", {}) + + scored = [] + for skill in manifest.get("skills", []): + s, hits = score_skill(goal_tokens, skill) + if s > 0: + scored.append((s, skill["name"], hits, skill)) + scored.sort(key=lambda x: (-x[0], x[1])) + + eligible = [x for x in scored if x[0] >= args.min_score] + if not eligible: + print(json.dumps({ + "verdict": "REFUSED-NO-MATCH", + "reason": "no skill in domain '%s' scored >= %d for this goal" + % (manifest.get("domain"), args.min_score), + "nearest_candidates": [ + {"skill": n, "score": s, "matched": h} + for s, n, h, _ in scored[:5] + ], + "forcing_questions": FORCING_QUESTIONS[:2], + }, indent=2)) + return 4 + + tasks = [build_task(i + 1, sk, args.goal, defaults) + for i, (_, _, _, sk) in enumerate(eligible[: args.max_tasks])] + + plan = { + "schema": SCHEMA, + "goal": args.goal, + "domain": manifest.get("domain"), + "compiled_at": datetime.datetime.now(datetime.timezone.utc) + .strftime("%Y-%m-%dT%H:%M:%SZ"), + "skill_match_report": [ + {"skill": n, "score": s, "matched": h} for s, n, h, _ in scored[:10] + ], + "tasks": tasks, + "loop": { + "order": "sequential", + "max_loop_iterations": defaults.get("max_loop_iterations", 12), + "escalate_on": defaults.get("escalate_on", ["attempts_exhausted"]), + }, + "close": { + "requires": "all tasks verified (or explicitly waived with a reason)", + "handoff": "loop_controller.py close emits the evidence log + summary", + }, + } + + out = json.dumps(plan, indent=2) + if args.out: + with open(args.out, "w", encoding="utf-8") as f: + f.write(out + "\n") + print("wrote %s (%d tasks)" % (args.out, len(tasks)), file=sys.stderr) + if args.json or not args.out: + print(out) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/engineering/agent-harness/skills/agent-harness/scripts/harness_manifest_builder.py b/engineering/agent-harness/skills/agent-harness/scripts/harness_manifest_builder.py new file mode 100644 index 00000000..81e9f3ed --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/scripts/harness_manifest_builder.py @@ -0,0 +1,247 @@ +#!/usr/bin/env python3 +"""Build a domain harness manifest: scan a domain folder's skills and emit the +machine-readable inventory (skills, tools, verification checks, agentic signals) +that goal_compiler.py and loop_controller.py consume. + +Stdlib-only. Deterministic: same tree in, same manifest out (modulo the +generated_at stamp, which --no-timestamp suppresses for diff-stable output). + +Usage: + python3 harness_manifest_builder.py --domain engineering --repo-root . --json + python3 harness_manifest_builder.py --all --repo-root . --out-dir assets/harnesses --no-timestamp + python3 harness_manifest_builder.py --sample +""" + +import argparse +import datetime +import json +import os +import re +import sys + +SCHEMA = "agent-harness/manifest.v1" + +# Folders that are never skill content. +SKIP_DIRS = {".git", ".github", "node_modules", "__pycache__", ".claude-plugin", + "expected_outputs", ".codex", ".gemini", ".hermes", ".vibe"} + +# Signal regexes: cheap, static evidence that a skill already carries agentic +# structure. Matched case-insensitively against the SKILL.md body. +SIGNALS = { + "goal_intake": r"forcing[- ]question|before starting|intake|clarify(?:ing)? question", + "refusal_gate": r"refus(?:e|al)|exit(?:s|ed)? (?:code )?[1-9]|hard rule|NO-GO", + "verification": r"verif(?:y|ication|iable)|checklist|--sample|exit 0|definition of done", + "loop_discipline": r"\bretry\b|\biterat(?:e|ion)|stop condition|max attempts|budget|until", + "close_out": r"close[- ]?(?:the[- ])?loop|handoff|hand-off|state persist|done when|completion", +} + +LOOP_DEFAULTS = { + "max_attempts_per_task": 3, + "max_loop_iterations": 12, + "escalate_on": [ + "attempts_exhausted", + "no_verification_available", + "destructive_or_irreversible_action", + "goal_drift_detected", + ], +} + + +def read_text(path): + try: + with open(path, encoding="utf-8", errors="replace") as f: + return f.read() + except OSError: + return "" + + +def parse_frontmatter(text): + """Extract name/description from YAML frontmatter without a YAML dep.""" + meta = {"name": "", "description": ""} + if not text.startswith("---"): + return meta + end = text.find("\n---", 3) + if end == -1: + return meta + block = text[3:end] + m = re.search(r"^name:\s*(.+)$", block, re.MULTILINE) + if m: + meta["name"] = m.group(1).strip().strip("\"'") + m = re.search(r"^description:\s*(.+)$", block, re.MULTILINE) + if m: + desc = m.group(1).strip() + # Fold simple multi-line continuations (indented lines). + idx = block.find(m.group(0)) + len(m.group(0)) + for line in block[idx:].splitlines(): + if line.startswith((" ", "\t")) and not re.match(r"^\s*\w+:", line): + desc += " " + line.strip() + elif line.strip(): + break + meta["description"] = desc.strip().strip("\"'") + return meta + + +def find_skills(domain_path): + """Yield (skill_dir, skill_md_path) for every SKILL.md under the domain.""" + hits = [] + for root, dirs, files in os.walk(domain_path): + dirs[:] = sorted(d for d in dirs if d not in SKIP_DIRS) + if "SKILL.md" in files: + hits.append((root, os.path.join(root, "SKILL.md"))) + return sorted(hits) + + +def scan_skill(skill_dir, skill_md, repo_root): + text = read_text(skill_md) + meta = parse_frontmatter(text) + body = text.lower() + rel_dir = os.path.relpath(skill_dir, repo_root) + + tools = [] + scripts_dir = os.path.join(skill_dir, "scripts") + script_paths = [] + if os.path.isdir(scripts_dir): + for fn in sorted(os.listdir(scripts_dir)): + if fn.endswith(".py"): + script_paths.append(os.path.join(scripts_dir, fn)) + # Root-level scripts (older layout). + for fn in sorted(os.listdir(skill_dir)): + if fn.endswith(".py"): + script_paths.append(os.path.join(skill_dir, fn)) + + for sp in script_paths: + rel = os.path.relpath(sp, repo_root) + src = read_text(sp) + tools.append({ + "script": rel, + "wired": os.path.basename(sp) in text, + "supports_sample": "--sample" in src, + "verification": build_checks(rel, src), + }) + + signals = {k: bool(re.search(rx, body)) for k, rx in SIGNALS.items()} + return { + "name": meta["name"] or os.path.basename(skill_dir), + "path": rel_dir, + "description": meta["description"][:600], + "tools": tools, + "agentic_signals": signals, + "references": sorted(os.listdir(os.path.join(skill_dir, "references"))) + if os.path.isdir(os.path.join(skill_dir, "references")) else [], + } + + +def build_checks(rel_script, src): + checks = [{"cmd": "python3 %s --help" % rel_script, "expect_exit": 0, + "kind": "smoke"}] + if "--sample" in src: + checks.append({"cmd": "python3 %s --sample" % rel_script, + "expect_exit": 0, "kind": "sample"}) + return checks + + +def build_manifest(domain_path, repo_root, timestamp=True): + domain = os.path.relpath(domain_path, repo_root) + skills = [scan_skill(d, s, repo_root) for d, s in find_skills(domain_path)] + manifest = { + "schema": SCHEMA, + "domain": domain, + "skill_count": len(skills), + "loop_defaults": LOOP_DEFAULTS, + "skills": skills, + } + if timestamp: + manifest["generated_at"] = ( + datetime.datetime.now(datetime.timezone.utc) + .strftime("%Y-%m-%dT%H:%M:%SZ")) + return manifest + + +SAMPLE_MANIFEST = { + "schema": SCHEMA, + "domain": "engineering", + "skill_count": 1, + "loop_defaults": LOOP_DEFAULTS, + "skills": [{ + "name": "slo-architect", + "path": "engineering/slo-architect/skills/slo-architect", + "description": "Design SLOs/SLIs and error budgets per the Google SRE Workbook...", + "tools": [{ + "script": "engineering/slo-architect/skills/slo-architect/scripts/error_budget_calculator.py", + "wired": True, + "supports_sample": True, + "verification": [ + {"cmd": "python3 .../error_budget_calculator.py --help", + "expect_exit": 0, "kind": "smoke"}, + {"cmd": "python3 .../error_budget_calculator.py --sample", + "expect_exit": 0, "kind": "sample"}, + ], + }], + "agentic_signals": { + "goal_intake": True, "refusal_gate": True, "verification": True, + "loop_discipline": True, "close_out": True, + }, + "references": ["slo_canon.md"], + }], +} + + +def main(): + ap = argparse.ArgumentParser( + description="Scan a domain folder and emit its agent-harness manifest.") + ap.add_argument("--domain", action="append", default=[], + help="Domain folder relative to --repo-root (repeatable).") + ap.add_argument("--all", action="store_true", + help="Build manifests for every top-level domain folder " + "containing at least one SKILL.md.") + ap.add_argument("--repo-root", default=".") + ap.add_argument("--out-dir", help="Write .json per domain here.") + ap.add_argument("--json", action="store_true", + help="Print manifest(s) to stdout as JSON.") + ap.add_argument("--no-timestamp", action="store_true", + help="Omit generated_at for diff-stable committed manifests.") + ap.add_argument("--sample", action="store_true", + help="Print an example manifest and exit 0.") + args = ap.parse_args() + + if args.sample: + print(json.dumps(SAMPLE_MANIFEST, indent=2)) + return 0 + + repo_root = os.path.abspath(args.repo_root) + targets = list(args.domain) + if args.all: + for entry in sorted(os.listdir(repo_root)): + p = os.path.join(repo_root, entry) + if (os.path.isdir(p) and entry not in SKIP_DIRS + and not entry.startswith(".") + and find_skills(p)): + targets.append(entry) + if not targets: + ap.error("provide --domain, --all, or --sample") + + results = [] + for t in sorted(set(targets)): + dp = os.path.join(repo_root, t) + if not os.path.isdir(dp): + print("ERROR: no such domain folder: %s" % t, file=sys.stderr) + return 2 + manifest = build_manifest(dp, repo_root, timestamp=not args.no_timestamp) + results.append(manifest) + if args.out_dir: + os.makedirs(args.out_dir, exist_ok=True) + slug = t.rstrip("/").replace(os.sep, "-") + out = os.path.join(args.out_dir, "%s.json" % slug) + with open(out, "w", encoding="utf-8") as f: + json.dump(manifest, f, indent=2, sort_keys=False) + f.write("\n") + print("wrote %s (%d skills)" % (out, manifest["skill_count"]), + file=sys.stderr) + + if args.json or not args.out_dir: + print(json.dumps(results if len(results) > 1 else results[0], indent=2)) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py b/engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py new file mode 100644 index 00000000..5ec100d4 --- /dev/null +++ b/engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py @@ -0,0 +1,409 @@ +#!/usr/bin/env python3 +"""JSON-backed loop state machine: the harness's execute→verify→close enforcer. + +Takes the plan from goal_compiler.py and drives a bounded loop. The agent asks +`next` for a directive, does the work, then `record`s the outcome with an exit +code. The controller enforces the discipline the agent must not be trusted to +enforce on itself: + + * a task is only VERIFIED by recording a passing verify phase — never by + recording execution success alone (no verification theater); + * failed attempts increment a counter; at max_attempts the task ESCALATES + to a human instead of retrying forever; + * a global iteration cap bounds the whole loop; + * `close` refuses (exit 4) while any task is unverified and unwaived. + +Task states: pending → in_progress → verifying → verified + ↘ (failure at cap) escalated ↘ waived (close-time, with reason) + +Exit codes: 0 ok · 2 escalation required · 4 close refused · 5 iteration cap · +6 invalid transition/state. + +Usage: + python3 loop_controller.py init --plan plan.json --state state.json + python3 loop_controller.py next --state state.json + python3 loop_controller.py record --state state.json --task T1 --phase execute --exit-code 0 + python3 loop_controller.py record --state state.json --task T1 --phase verify --exit-code 0 --evidence "error_budget_calculator exit 0; 43.2min budget" + python3 loop_controller.py close --state state.json + python3 loop_controller.py --sample # in-memory demo of a full loop +""" + +import argparse +import datetime +import json +import os +import shlex +import subprocess +import sys +import tempfile + +STATE_SCHEMA = "agent-harness/state.v1" +CHECK_TIMEOUT_S = 120 + + +def now(): + return datetime.datetime.now(datetime.timezone.utc).strftime( + "%Y-%m-%dT%H:%M:%SZ") + + +def load(path): + with open(path, encoding="utf-8") as f: + return json.load(f) + + +def save(state, path): + """Atomic write (temp file + os.replace) so a crashed run never leaves a + half-written state file.""" + d = os.path.dirname(os.path.abspath(path)) or "." + fd, tmp = tempfile.mkstemp(dir=d, prefix=".harness-state-") + try: + with os.fdopen(fd, "w", encoding="utf-8") as f: + json.dump(state, f, indent=2) + f.write("\n") + os.replace(tmp, path) + except BaseException: + if os.path.exists(tmp): + os.unlink(tmp) + raise + + +def emit(obj, code=0): + print(json.dumps(obj, indent=2)) + return code + + +def cmd_init(args): + plan = load(args.plan) + state = { + "schema": STATE_SCHEMA, + "goal": plan.get("goal"), + "domain": plan.get("domain"), + "plan_file": args.plan, + "created_at": now(), + "iteration": 0, + "max_loop_iterations": plan.get("loop", {}).get("max_loop_iterations", 12), + "status": "open", + "tasks": [{ + "id": t["id"], + "skill": t.get("skill"), + "objective": t.get("objective"), + "verification": t.get("verification", []), + "max_attempts": t.get("max_attempts", 3), + "attempts": 0, + "status": "pending", + "evidence": [], + } for t in plan.get("tasks", [])], + } + if not state["tasks"]: + return emit({"error": "plan has no tasks"}, 6) + save(state, args.state) + return emit({"initialized": args.state, "tasks": len(state["tasks"]), + "max_loop_iterations": state["max_loop_iterations"]}) + + +def directive(state): + if state["status"] == "closed": + return {"action": "done", "detail": "loop already closed"}, 0 + if state["iteration"] >= state["max_loop_iterations"]: + return {"action": "escalate", + "detail": "global iteration cap (%d) reached — hand the loop " + "to a human with the evidence log" + % state["max_loop_iterations"]}, 5 + for t in state["tasks"]: + if t["status"] == "escalated": + return {"action": "escalate", "task": t["id"], + "detail": "task %s exhausted %d attempts; a human must " + "review the evidence log before the loop may " + "continue" % (t["id"], t["max_attempts"])}, 2 + for t in state["tasks"]: + if t["status"] in ("pending", "in_progress"): + return {"action": "execute", "task": t["id"], + "objective": t["objective"], + "attempt": t["attempts"] + 1, + "max_attempts": t["max_attempts"], + "then": "record --phase execute --exit-code "}, 0 + if t["status"] == "verifying": + return {"action": "verify", "task": t["id"], + "checks": t["verification"], + "rule": "run every check; ALL must meet expect_exit; then " + "record --phase verify with the worst exit code " + "and an --evidence line naming what you observed"}, 0 + return {"action": "close", + "detail": "all tasks verified — run `close` to emit the handoff"}, 0 + + +def cmd_next(args): + state = load(args.state) + d, code = directive(state) + return emit(d, code) + + +def cmd_record(args): + state = load(args.state) + if state["status"] == "closed": + return emit({"error": "loop is closed; no further records accepted"}, 6) + task = next((t for t in state["tasks"] if t["id"] == args.task), None) + if task is None: + return emit({"error": "unknown task %s" % args.task}, 6) + if task["status"] in ("verified", "escalated"): + return emit({"error": "task %s is %s; recording on it is invalid" + % (task["id"], task["status"])}, 6) + + state["iteration"] += 1 + entry = {"at": now(), "phase": args.phase, "exit_code": args.exit_code, + "attempt": task["attempts"] + 1} + if args.evidence: + entry["evidence"] = args.evidence + task["evidence"].append(entry) + + ok = args.exit_code == 0 + if args.phase == "execute": + if ok: + task["status"] = "verifying" + result = {"task": task["id"], "status": "verifying", + "next": "run the verification checks, then record " + "--phase verify"} + code = 0 + else: + code, result = _fail(task) + else: # verify + if task["status"] != "verifying": + return emit({"error": "task %s is not awaiting verification " + "(status=%s); execute must succeed first" + % (task["id"], task["status"])}, 6) + if ok: + if not args.evidence: + return emit({"error": "a passing verify record requires " + "--evidence naming what was observed " + "(no verification theater)"}, 6) + task["status"] = "verified" + result = {"task": task["id"], "status": "verified"} + code = 0 + else: + code, result = _fail(task) + + save(state, args.state) + d, dcode = directive(state) + result["directive"] = d + return emit(result, max(code, dcode if dcode != 0 else 0) if code == 0 else code) + + +def _fail(task): + task["attempts"] += 1 + if task["attempts"] >= task["max_attempts"]: + task["status"] = "escalated" + return 2, {"task": task["id"], "status": "escalated", + "detail": "attempts exhausted (%d/%d) — escalate to a human" + % (task["attempts"], task["max_attempts"])} + task["status"] = "pending" + return 0, {"task": task["id"], "status": "pending", + "detail": "attempt %d/%d failed — change the approach before " + "retrying (same command + same input = same failure)" + % (task["attempts"], task["max_attempts"])} + + +def cmd_verify(args): + """Run the task's executable verification checks via subprocess — the + controller adjudicates pass/fail itself instead of trusting a recorded + exit code (reward-hacking guard).""" + state = load(args.state) + task = next((t for t in state["tasks"] if t["id"] == args.task), None) + if task is None: + return emit({"error": "unknown task %s" % args.task}, 6) + if task["status"] != "verifying": + return emit({"error": "task %s is not awaiting verification " + "(status=%s); execute must succeed first" + % (task["id"], task["status"])}, 6) + + runnable = [c for c in task["verification"] + if c.get("kind") != "manual-evidence"] + results = [] + worst = 0 + for chk in runnable: + try: + proc = subprocess.run( + chk["cmd"], shell=True, cwd=args.cwd, + capture_output=True, text=True, timeout=CHECK_TIMEOUT_S) + rc = proc.returncode + tail = (proc.stdout + proc.stderr).strip().splitlines()[-3:] + except subprocess.TimeoutExpired: + rc, tail = 124, ["TIMEOUT after %ss" % CHECK_TIMEOUT_S] + passed = rc == chk.get("expect_exit", 0) + results.append({"cmd": chk["cmd"], "exit": rc, "passed": passed, + "tail": tail}) + if not passed: + worst = 1 + + state["iteration"] += 1 + task["evidence"].append({"at": now(), "phase": "verify-run", + "checks": results, "attempt": task["attempts"] + 1}) + + manual = [c for c in task["verification"] + if c.get("kind") == "manual-evidence"] + if worst == 0 and runnable and not manual: + task["status"] = "verified" + result = {"task": task["id"], "status": "verified", + "checks_run": len(results)} + code = 0 + elif worst == 0 and manual: + result = {"task": task["id"], "status": "verifying", + "checks_run": len(results), + "detail": "executable checks pass; a manual-evidence check " + "remains — record --phase verify --exit-code 0 " + "--evidence '' to finish"} + code = 0 + elif not runnable: + result = {"task": task["id"], "status": "verifying", + "detail": "no executable checks; record --phase verify " + "with --evidence instead"} + code = 0 + else: + code, result = _fail(task) + result["failed_checks"] = [r for r in results if not r["passed"]] + + save(state, args.state) + d, dcode = directive(state) + result["directive"] = d + return emit(result, code if code != 0 else dcode) + + +def cmd_close(args): + state = load(args.state) + waivers = dict(zip(args.waive or [], args.reason or [])) + if (args.waive or []) and len(args.waive) != len(args.reason or []): + return emit({"error": "every --waive needs a matching --reason"}, 6) + blocking = [] + for t in state["tasks"]: + if t["status"] == "verified": + continue + if t["id"] in waivers: + t["status"] = "waived" + t["waive_reason"] = waivers[t["id"]] + continue + blocking.append({"task": t["id"], "status": t["status"]}) + if blocking: + return emit({"verdict": "CLOSE-REFUSED", + "blocking": blocking, + "rule": "close requires every task verified, or waived " + "with --waive --reason "}, 4) + state["status"] = "closed" + state["closed_at"] = now() + save(state, args.state) + return emit({ + "verdict": "CLOSED", + "goal": state["goal"], + "iterations_used": state["iteration"], + "handoff": { + "tasks": [{"id": t["id"], "skill": t["skill"], + "status": t["status"], + "evidence": t["evidence"][-1] if t["evidence"] else None, + "waive_reason": t.get("waive_reason")} + for t in state["tasks"]], + }, + }) + + +def cmd_status(args): + state = load(args.state) + return emit({ + "goal": state["goal"], "status": state["status"], + "iteration": "%d/%d" % (state["iteration"], + state["max_loop_iterations"]), + "tasks": [{"id": t["id"], "status": t["status"], + "attempts": "%d/%d" % (t["attempts"], t["max_attempts"])} + for t in state["tasks"]], + }) + + +def run_sample(): + """In-memory demo: two tasks, one verify failure, retry, verified close.""" + import tempfile, os # noqa: E401 + tmp = tempfile.mkdtemp(prefix="harness-demo-") + plan_path = os.path.join(tmp, "plan.json") + state_path = os.path.join(tmp, "state.json") + plan = { + "schema": "agent-harness/plan.v1", + "goal": "demo: ship a verified change", + "domain": "engineering", + "tasks": [ + {"id": "T1", "skill": "demo-skill", + "objective": "make the change", + "verification": [{"cmd": "true", "expect_exit": 0, + "kind": "smoke"}], "max_attempts": 3}, + ], + "loop": {"max_loop_iterations": 12}, + } + with open(plan_path, "w") as f: + json.dump(plan, f) + steps = [ + ["init", "--plan", plan_path, "--state", state_path], + ["next", "--state", state_path], + ["record", "--state", state_path, "--task", "T1", + "--phase", "execute", "--exit-code", "0"], + ["record", "--state", state_path, "--task", "T1", + "--phase", "verify", "--exit-code", "1", + "--evidence", "check failed: unexpected output"], + ["record", "--state", state_path, "--task", "T1", + "--phase", "execute", "--exit-code", "0"], + ["record", "--state", state_path, "--task", "T1", + "--phase", "verify", "--exit-code", "0", + "--evidence", "smoke check exit 0, output matches objective"], + ["close", "--state", state_path], + ] + for s in steps: + print("\n$ loop_controller.py " + " ".join(s)) + code = main(s) + print("(exit %d)" % code) + return 0 + + +def build_parser(): + ap = argparse.ArgumentParser( + description="Bounded execute→verify→close loop state machine for the " + "agent-harness skill.") + ap.add_argument("--sample", action="store_true", + help="Run an in-memory demo loop and exit 0.") + sub = ap.add_subparsers(dest="cmd") + p = sub.add_parser("init", help="Create a state file from a plan.") + p.add_argument("--plan", required=True) + p.add_argument("--state", required=True) + p = sub.add_parser("next", help="Emit the next directive.") + p.add_argument("--state", required=True) + p = sub.add_parser("record", help="Record an execute/verify outcome.") + p.add_argument("--state", required=True) + p.add_argument("--task", required=True) + p.add_argument("--phase", required=True, choices=["execute", "verify"]) + p.add_argument("--exit-code", required=True, type=int) + p.add_argument("--evidence", help="What was observed (required to pass verify).") + p = sub.add_parser("verify", help="Run the task's executable checks via " + "subprocess and adjudicate them.") + p.add_argument("--state", required=True) + p.add_argument("--task", required=True) + p.add_argument("--cwd", default=".", + help="Working directory for check commands (repo root).") + p = sub.add_parser("close", help="Close the loop (refuses if unverified).") + p.add_argument("--state", required=True) + p.add_argument("--waive", action="append", + help="Task id to waive (repeatable; requires --reason).") + p.add_argument("--reason", action="append", + help="Reason for the matching --waive (repeatable).") + p = sub.add_parser("status", help="Summarize loop state.") + p.add_argument("--state", required=True) + return ap + + +def main(argv=None): + ap = build_parser() + args = ap.parse_args(argv) + if args.sample: + return run_sample() + if not args.cmd: + ap.print_help() + return 0 + return {"init": cmd_init, "next": cmd_next, "record": cmd_record, + "verify": cmd_verify, "close": cmd_close, + "status": cmd_status}[args.cmd](args) + + +if __name__ == "__main__": + sys.exit(main()) From bdd19a13611a3733d3871bad26da7609733029b6 Mon Sep 17 00:00:00 2001 From: alirezarezvani <5697919+alirezarezvani@users.noreply.github.com> Date: Fri, 3 Jul 2026 06:07:10 +0000 Subject: [PATCH 03/12] chore: sync codex skills symlinks [automated] --- .codex/skills-index.json | 10 ++++++++-- .codex/skills/agent-harness | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) create mode 120000 .codex/skills/agent-harness diff --git a/.codex/skills-index.json b/.codex/skills-index.json index 79b44702..27e8e5db 100644 --- a/.codex/skills-index.json +++ b/.codex/skills-index.json @@ -3,7 +3,7 @@ "name": "claude-code-skills", "description": "Production-ready skill packages for AI agents - Marketing, Engineering, Product, C-Level, PM, and RA/QM", "repository": "https://github.com/alirezarezvani/claude-skills", - "total_skills": 352, + "total_skills": 353, "skills": [ { "name": "business-growth-skills", @@ -935,6 +935,12 @@ "category": "engineering-advanced", "description": "Use when the user asks to design a multi-agent system, pick an orchestration pattern (supervisor/swarm/pipeline), generate tool schemas for agents, or evaluate agent execution logs for cost, latency, and failure bottlenecks. Examples: 'design an agent architecture for research automation', 'generate Anthropic tool schemas from these tool descriptions', 'analyze these agent run logs for bottlenecks'. NOT for Claude Code workflow files (use workflow-builder) or single-agent prompt design (use agent-workflow-designer)." }, + { + "name": "agent-harness", + "source": "../../engineering/agent-harness/skills/agent-harness", + "category": "engineering-advanced", + "description": "Turn any domain folder of skills into a bounded agentic loop: compile a goal into a verifiable task plan, execute tasks with the domain's own tools, verify every task with machine-run checks, retry with caps, escalate to a human when budgets exhaust, and refuse to close until everything is verified or explicitly waived. Use when you want an agent or subagent to pick up a goal and drive it to a verified close across one of this repo's 18 domains ('run this goal through the engineering harness', 'set up an agentic loop for marketing work', 'make the finance domain self-verifying'). NOT for authoring Claude Code Workflow-tool .js scripts (workflow-builder), N-agent tournaments on one task (agenthub), single-file metric optimization (autoresearch-agent), or discovering published loop recipes (loop-library)." + }, { "name": "agent-workflow-designer", "source": "../../engineering/skills/agent-workflow-designer", @@ -2155,7 +2161,7 @@ "description": "Software engineering and technical skills" }, "engineering-advanced": { - "count": 79, + "count": 80, "source": "../../engineering", "description": "Advanced engineering skills - agents, RAG, MCP, CI/CD, databases, observability" }, diff --git a/.codex/skills/agent-harness b/.codex/skills/agent-harness new file mode 120000 index 00000000..de8bf8bf --- /dev/null +++ b/.codex/skills/agent-harness @@ -0,0 +1 @@ +../../engineering/agent-harness/skills/agent-harness \ No newline at end of file From a05c4556bc12ec89a53be06ce8169215597b71d0 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 3 Jul 2026 06:10:46 +0000 Subject: [PATCH 04/12] chore(engineering): agent-harness review cleanups + README badge CI gate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to the merged agent-harness PR (#890), applying the automated review nits: - loop_controller.py: drop unused `import shlex`; simplify cmd_record's exit-code expression to the clearer form already used in cmd_verify (behavior-equivalent) - SKILL.md + references/verification_discipline.md: document that plan/state files are a trust boundary (verify shell-executes their cmd strings) — run the harness only on files produced by goal_compiler, never untrusted input - README.md: bump Agents 96->97 and Commands 102->103 badges (drift the previous PR missed because derive_counters didn't validate these badges) - scripts/derive_counters.py: add check_readme_badges — validates the Skills/Agents/ Commands shields against derived counts, closing the CI blind spot that let the badge drift ship. Verified it fails (exit 1) on drift and passes when correct. All gates green: plugin.json (83 OK), smoke --help/--sample (600 pass), JSON output (0 fail), path linter (0 findings), derive_counters --check (pass). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01L4JerbGv6vqitUMhqHPA9g --- README.md | 4 +-- .../skills/agent-harness/SKILL.md | 4 +++ .../references/verification_discipline.md | 13 ++++++++ .../agent-harness/scripts/loop_controller.py | 3 +- scripts/derive_counters.py | 31 ++++++++++++++++++- 5 files changed, 50 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 39242b47..4ca603b6 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,9 @@ The most comprehensive open-source library of Claude Code skills and agent plugi [![License: MIT](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](https://opensource.org/licenses/MIT) [![Skills](https://img.shields.io/badge/Skills-355-brightgreen?style=for-the-badge)](#skills-overview) -[![Agents](https://img.shields.io/badge/Agents-96-blue?style=for-the-badge)](#agents) +[![Agents](https://img.shields.io/badge/Agents-97-blue?style=for-the-badge)](#agents) [![Personas](https://img.shields.io/badge/Personas-7-purple?style=for-the-badge)](#personas) -[![Commands](https://img.shields.io/badge/Commands-102-orange?style=for-the-badge)](#commands) +[![Commands](https://img.shields.io/badge/Commands-103-orange?style=for-the-badge)](#commands) [![Stars](https://img.shields.io/github/stars/alirezarezvani/claude-skills?style=for-the-badge)](https://github.com/alirezarezvani/claude-skills/stargazers) [![SkillCheck Validated](https://img.shields.io/badge/SkillCheck-Validated-4c1?style=for-the-badge)](https://getskillcheck.com) diff --git a/engineering/agent-harness/skills/agent-harness/SKILL.md b/engineering/agent-harness/skills/agent-harness/SKILL.md index 962dcc54..b8773240 100644 --- a/engineering/agent-harness/skills/agent-harness/SKILL.md +++ b/engineering/agent-harness/skills/agent-harness/SKILL.md @@ -76,6 +76,10 @@ python3 scripts/harness_manifest_builder.py --domain engineering-team \ its own session against the durable state. 7. **State lives in `.agent-harness/`** — never in `.agenthub/`, `.autoresearch/`, or `docs/TC/` (those belong to sibling skills). +8. **Plan and state files are a trust boundary.** `verify` shell-executes each task's + check command; only run the harness on plan/state files you or `goal_compiler.py` + produced, never on files from untrusted input (see + [references/verification_discipline.md](references/verification_discipline.md)). ## Forcing questions (ask before compiling; one per turn, with a recommended answer) diff --git a/engineering/agent-harness/skills/agent-harness/references/verification_discipline.md b/engineering/agent-harness/skills/agent-harness/references/verification_discipline.md index 36981429..10f96b10 100644 --- a/engineering/agent-harness/skills/agent-harness/references/verification_discipline.md +++ b/engineering/agent-harness/skills/agent-harness/references/verification_discipline.md @@ -70,3 +70,16 @@ never evidence. The controller's design decisions trace to these sources. into a success, only a human can waive it — and `close --waive` demands a reason that is written permanently into the handoff. - `close` with any unverified, unwaived task is exit 4. There is no force flag. + +## Trust boundary: plan and state files + +`loop_controller.py verify` shell-executes each task's `verification[].cmd` string via +`subprocess.run(..., shell=True)`. In the documented flow those commands are template- +generated from repo-scanned script paths (`harness_manifest_builder.py` → `goal_compiler.py`), +so they are not attacker-reachable. But the controller does **not** re-validate a `--state` +or `--plan` file's contents before shelling out — a hand-crafted or tampered plan/state file +is therefore effectively arbitrary local command execution, the same trust model as a +Makefile or a CI config. **Treat `plan.json` and `state.json` as a trust boundary: only +run the harness on plan/state files you (or the `goal_compiler`) produced, never on files +sourced from untrusted input.** This matters because the harness is designed to be driven by +an agent (`harness-runner`) that could in principle be handed a malicious plan. diff --git a/engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py b/engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py index 5ec100d4..aa30aa62 100644 --- a/engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py +++ b/engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py @@ -32,7 +32,6 @@ import argparse import datetime import json import os -import shlex import subprocess import sys import tempfile @@ -185,7 +184,7 @@ def cmd_record(args): save(state, args.state) d, dcode = directive(state) result["directive"] = d - return emit(result, max(code, dcode if dcode != 0 else 0) if code == 0 else code) + return emit(result, code if code != 0 else dcode) def _fail(task): diff --git a/scripts/derive_counters.py b/scripts/derive_counters.py index 8bf3d21f..c33f1286 100644 --- a/scripts/derive_counters.py +++ b/scripts/derive_counters.py @@ -222,6 +222,34 @@ def check_domain_table(root: Path) -> list: return problems +# README shields.io badges of the form ![Skills](.../Skills-355-brightgreen...). +# Validated separately from prose CLAIM_PATTERNS: badges are a fixed +# `