claude-all-config 3.6.4 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +1 -1
- package/VERSION +1 -1
- package/package.json +2 -2
- package/skills/ATTRIBUTION.md +35 -0
- package/skills/agent-workflow-designer/SKILL.md +83 -0
- package/skills/agent-workflow-designer/references/workflow-patterns.md +82 -0
- package/skills/agent-workflow-designer/scripts/workflow_scaffolder.py +113 -0
- package/skills/api-design-reviewer/SKILL.md +421 -0
- package/skills/api-design-reviewer/references/api_antipatterns.md +680 -0
- package/skills/api-design-reviewer/references/rest_design_rules.md +487 -0
- package/skills/api-design-reviewer/scripts/api_linter.py +914 -0
- package/skills/api-design-reviewer/scripts/api_scorecard.py +1661 -0
- package/skills/api-design-reviewer/scripts/breaking_change_detector.py +1102 -0
- package/skills/chaos-engineering/SKILL.md +231 -0
- package/skills/chaos-engineering/assets/experiment_template.md +76 -0
- package/skills/chaos-engineering/assets/postmortem_template.md +67 -0
- package/skills/chaos-engineering/references/attack_taxonomy.md +180 -0
- package/skills/chaos-engineering/references/chaos_principles.md +136 -0
- package/skills/chaos-engineering/references/experiment_design.md +158 -0
- package/skills/chaos-engineering/references/tooling_landscape.md +197 -0
- package/skills/chaos-engineering/scripts/blast_radius_calculator.py +101 -0
- package/skills/chaos-engineering/scripts/experiment_designer.py +139 -0
- package/skills/chaos-engineering/scripts/experiment_postmortem.py +144 -0
- package/skills/data-quality-auditor/SKILL.md +219 -0
- package/skills/data-quality-auditor/references/data-quality-concepts.md +106 -0
- package/skills/data-quality-auditor/scripts/data_profiler.py +258 -0
- package/skills/data-quality-auditor/scripts/missing_value_analyzer.py +242 -0
- package/skills/data-quality-auditor/scripts/outlier_detector.py +263 -0
- package/skills/incident-response/SKILL.md +322 -0
- package/skills/incident-response/references/regulatory-deadlines.md +125 -0
- package/skills/incident-response/scripts/incident_triage.py +768 -0
- package/skills/kubernetes-operator/SKILL.md +242 -0
- package/skills/kubernetes-operator/assets/crd_template.yaml +71 -0
- package/skills/kubernetes-operator/assets/reconcile_skeleton.go +122 -0
- package/skills/kubernetes-operator/references/crd_design.md +196 -0
- package/skills/kubernetes-operator/references/operator_pattern.md +152 -0
- package/skills/kubernetes-operator/references/reconcile_loop.md +210 -0
- package/skills/kubernetes-operator/references/tooling_landscape.md +217 -0
- package/skills/kubernetes-operator/scripts/crd_validator.py +134 -0
- package/skills/kubernetes-operator/scripts/operator_capability_audit.py +150 -0
- package/skills/kubernetes-operator/scripts/reconcile_lint.py +177 -0
- package/skills/llm-cost-optimizer/SKILL.md +218 -0
- package/skills/migration-architect/README.md +382 -0
- package/skills/migration-architect/SKILL.md +478 -0
- package/skills/migration-architect/assets/database_schema_after.json +367 -0
- package/skills/migration-architect/assets/database_schema_before.json +243 -0
- package/skills/migration-architect/assets/sample_database_migration.json +106 -0
- package/skills/migration-architect/assets/sample_service_migration.json +175 -0
- package/skills/migration-architect/expected_outputs/rollback_runbook.json +577 -0
- package/skills/migration-architect/expected_outputs/rollback_runbook.txt +282 -0
- package/skills/migration-architect/expected_outputs/sample_database_migration_plan.json +317 -0
- package/skills/migration-architect/expected_outputs/sample_database_migration_plan.txt +161 -0
- package/skills/migration-architect/expected_outputs/sample_service_migration_plan.json +310 -0
- package/skills/migration-architect/expected_outputs/sample_service_migration_plan.txt +154 -0
- package/skills/migration-architect/expected_outputs/schema_compatibility_report.json +192 -0
- package/skills/migration-architect/expected_outputs/schema_compatibility_report.txt +129 -0
- package/skills/migration-architect/references/data_reconciliation_strategies.md +1329 -0
- package/skills/migration-architect/references/migration_patterns_catalog.md +705 -0
- package/skills/migration-architect/references/zero_downtime_techniques.md +1104 -0
- package/skills/migration-architect/scripts/compatibility_checker.py +883 -0
- package/skills/migration-architect/scripts/migration_planner.py +661 -0
- package/skills/migration-architect/scripts/rollback_generator.py +1109 -0
- package/skills/observability-designer/README.md +384 -0
- package/skills/observability-designer/SKILL.md +269 -0
- package/skills/observability-designer/assets/sample_alerts.json +276 -0
- package/skills/observability-designer/assets/sample_service_api.json +83 -0
- package/skills/observability-designer/assets/sample_service_web.json +113 -0
- package/skills/observability-designer/expected_outputs/sample_dashboard.json +811 -0
- package/skills/observability-designer/expected_outputs/sample_slo_framework.json +545 -0
- package/skills/observability-designer/references/alert_design_patterns.md +469 -0
- package/skills/observability-designer/references/dashboard_best_practices.md +571 -0
- package/skills/observability-designer/references/slo_cookbook.md +329 -0
- package/skills/observability-designer/scripts/alert_optimizer.py +1059 -0
- package/skills/observability-designer/scripts/dashboard_generator.py +1219 -0
- package/skills/observability-designer/scripts/slo_designer.py +670 -0
- package/skills/playwright-pro/CLAUDE.md +84 -0
- package/skills/playwright-pro/LICENSE +21 -0
- package/skills/playwright-pro/README.md +133 -0
- package/skills/playwright-pro/SKILL.md +84 -0
- package/skills/playwright-pro/agents/migration-planner.md +122 -0
- package/skills/playwright-pro/agents/test-architect.md +106 -0
- package/skills/playwright-pro/agents/test-debugger.md +130 -0
- package/skills/playwright-pro/hooks/detect-playwright.sh +23 -0
- package/skills/playwright-pro/hooks/hooks.json +25 -0
- package/skills/playwright-pro/hooks/validate-test.sh +58 -0
- package/skills/playwright-pro/integrations/browserstack-mcp/package.json +18 -0
- package/skills/playwright-pro/integrations/browserstack-mcp/src/client.ts +97 -0
- package/skills/playwright-pro/integrations/browserstack-mcp/src/index.ts +183 -0
- package/skills/playwright-pro/integrations/browserstack-mcp/src/types.ts +61 -0
- package/skills/playwright-pro/integrations/browserstack-mcp/tsconfig.json +14 -0
- package/skills/playwright-pro/integrations/testrail-mcp/package.json +18 -0
- package/skills/playwright-pro/integrations/testrail-mcp/src/client.ts +147 -0
- package/skills/playwright-pro/integrations/testrail-mcp/src/index.ts +270 -0
- package/skills/playwright-pro/integrations/testrail-mcp/src/types.ts +105 -0
- package/skills/playwright-pro/integrations/testrail-mcp/tsconfig.json +14 -0
- package/skills/playwright-pro/settings.json +8 -0
- package/skills/playwright-pro/skills/browserstack/SKILL.md +168 -0
- package/skills/playwright-pro/skills/coverage/SKILL.md +98 -0
- package/skills/playwright-pro/skills/fix/SKILL.md +113 -0
- package/skills/playwright-pro/skills/fix/flaky-taxonomy.md +134 -0
- package/skills/playwright-pro/skills/generate/SKILL.md +144 -0
- package/skills/playwright-pro/skills/generate/patterns.md +163 -0
- package/skills/playwright-pro/skills/init/SKILL.md +201 -0
- package/skills/playwright-pro/skills/migrate/SKILL.md +135 -0
- package/skills/playwright-pro/skills/migrate/cypress-mapping.md +79 -0
- package/skills/playwright-pro/skills/migrate/selenium-mapping.md +94 -0
- package/skills/playwright-pro/skills/pw/SKILL.md +124 -0
- package/skills/playwright-pro/skills/pw/reference/assertions.md +89 -0
- package/skills/playwright-pro/skills/pw/reference/common-pitfalls.md +137 -0
- package/skills/playwright-pro/skills/pw/reference/fixtures.md +121 -0
- package/skills/playwright-pro/skills/pw/reference/flaky-tests.md +56 -0
- package/skills/playwright-pro/skills/pw/reference/golden-rules.md +12 -0
- package/skills/playwright-pro/skills/pw/reference/locators.md +77 -0
- package/skills/playwright-pro/skills/pw/templates/README.md +123 -0
- package/skills/playwright-pro/skills/pw/templates/accessibility/color-contrast.md +162 -0
- package/skills/playwright-pro/skills/pw/templates/accessibility/keyboard-navigation.md +149 -0
- package/skills/playwright-pro/skills/pw/templates/accessibility/screen-reader.md +159 -0
- package/skills/playwright-pro/skills/pw/templates/api/auth-headers.md +148 -0
- package/skills/playwright-pro/skills/pw/templates/api/error-responses.md +157 -0
- package/skills/playwright-pro/skills/pw/templates/api/graphql.md +174 -0
- package/skills/playwright-pro/skills/pw/templates/api/rate-limiting.md +152 -0
- package/skills/playwright-pro/skills/pw/templates/api/rest-crud.md +152 -0
- package/skills/playwright-pro/skills/pw/templates/auth/login.md +119 -0
- package/skills/playwright-pro/skills/pw/templates/auth/logout.md +112 -0
- package/skills/playwright-pro/skills/pw/templates/auth/mfa.md +125 -0
- package/skills/playwright-pro/skills/pw/templates/auth/password-reset.md +129 -0
- package/skills/playwright-pro/skills/pw/templates/auth/rbac.md +132 -0
- package/skills/playwright-pro/skills/pw/templates/auth/remember-me.md +127 -0
- package/skills/playwright-pro/skills/pw/templates/auth/session-timeout.md +113 -0
- package/skills/playwright-pro/skills/pw/templates/auth/sso.md +115 -0
- package/skills/playwright-pro/skills/pw/templates/checkout/add-to-cart.md +112 -0
- package/skills/playwright-pro/skills/pw/templates/checkout/apply-coupon.md +123 -0
- package/skills/playwright-pro/skills/pw/templates/checkout/order-confirm.md +108 -0
- package/skills/playwright-pro/skills/pw/templates/checkout/order-history.md +119 -0
- package/skills/playwright-pro/skills/pw/templates/checkout/payment.md +148 -0
- package/skills/playwright-pro/skills/pw/templates/checkout/update-quantity.md +125 -0
- package/skills/playwright-pro/skills/pw/templates/crud/bulk-operations.md +129 -0
- package/skills/playwright-pro/skills/pw/templates/crud/create.md +118 -0
- package/skills/playwright-pro/skills/pw/templates/crud/delete.md +116 -0
- package/skills/playwright-pro/skills/pw/templates/crud/read.md +117 -0
- package/skills/playwright-pro/skills/pw/templates/crud/soft-delete.md +113 -0
- package/skills/playwright-pro/skills/pw/templates/crud/update.md +129 -0
- package/skills/playwright-pro/skills/pw/templates/dashboard/chart-rendering.md +131 -0
- package/skills/playwright-pro/skills/pw/templates/dashboard/data-loading.md +128 -0
- package/skills/playwright-pro/skills/pw/templates/dashboard/date-range-filter.md +136 -0
- package/skills/playwright-pro/skills/pw/templates/dashboard/export.md +146 -0
- package/skills/playwright-pro/skills/pw/templates/dashboard/realtime-updates.md +143 -0
- package/skills/playwright-pro/skills/pw/templates/forms/autosave.md +135 -0
- package/skills/playwright-pro/skills/pw/templates/forms/conditional-fields.md +120 -0
- package/skills/playwright-pro/skills/pw/templates/forms/file-upload.md +136 -0
- package/skills/playwright-pro/skills/pw/templates/forms/multi-step.md +137 -0
- package/skills/playwright-pro/skills/pw/templates/forms/single-step.md +124 -0
- package/skills/playwright-pro/skills/pw/templates/forms/validation.md +141 -0
- package/skills/playwright-pro/skills/pw/templates/notifications/in-app.md +125 -0
- package/skills/playwright-pro/skills/pw/templates/notifications/notification-center.md +128 -0
- package/skills/playwright-pro/skills/pw/templates/notifications/toast-messages.md +139 -0
- package/skills/playwright-pro/skills/pw/templates/onboarding/email-verification.md +118 -0
- package/skills/playwright-pro/skills/pw/templates/onboarding/first-time-setup.md +130 -0
- package/skills/playwright-pro/skills/pw/templates/onboarding/registration.md +131 -0
- package/skills/playwright-pro/skills/pw/templates/onboarding/welcome-tour.md +128 -0
- package/skills/playwright-pro/skills/pw/templates/search/basic-search.md +118 -0
- package/skills/playwright-pro/skills/pw/templates/search/empty-state.md +109 -0
- package/skills/playwright-pro/skills/pw/templates/search/filters.md +128 -0
- package/skills/playwright-pro/skills/pw/templates/search/pagination.md +123 -0
- package/skills/playwright-pro/skills/pw/templates/search/sorting.md +131 -0
- package/skills/playwright-pro/skills/pw/templates/settings/account-delete.md +136 -0
- package/skills/playwright-pro/skills/pw/templates/settings/notification-prefs.md +139 -0
- package/skills/playwright-pro/skills/pw/templates/settings/password-change.md +143 -0
- package/skills/playwright-pro/skills/pw/templates/settings/profile-update.md +130 -0
- package/skills/playwright-pro/skills/report/SKILL.md +126 -0
- package/skills/playwright-pro/skills/review/SKILL.md +102 -0
- package/skills/playwright-pro/skills/review/anti-patterns.md +182 -0
- package/skills/playwright-pro/skills/testrail/SKILL.md +129 -0
- package/skills/prompt-governance/SKILL.md +224 -0
- package/skills/rag-architect/SKILL.md +318 -0
- package/skills/rag-architect/chunking_optimizer.py +787 -0
- package/skills/rag-architect/rag_pipeline_designer.py +680 -0
- package/skills/rag-architect/references/chunking_strategies_comparison.md +287 -0
- package/skills/rag-architect/references/embedding_model_benchmark.md +338 -0
- package/skills/rag-architect/references/rag_evaluation_framework.md +431 -0
- package/skills/rag-architect/retrieval_evaluator.py +578 -0
- package/skills/stress-test/SKILL.md +204 -0
- package/skills/terraform-patterns/SKILL.md +740 -0
- package/skills/terraform-patterns/references/module-patterns.md +409 -0
- package/skills/terraform-patterns/references/state-management.md +472 -0
- package/skills/terraform-patterns/scripts/tf_module_analyzer.py +461 -0
- package/skills/terraform-patterns/scripts/tf_security_scanner.py +577 -0
- package/skills/threat-detection/SKILL.md +299 -0
- package/skills/threat-detection/references/hunt-playbooks.md +145 -0
- package/skills/threat-detection/scripts/threat_signal_analyzer.py +571 -0
package/CLAUDE.md
CHANGED
|
@@ -61,7 +61,7 @@ Use Task tool with these agent types:
|
|
|
61
61
|
- `cost-watchdog` - Cloud bill monitoring, anomaly detection, savings recommendations
|
|
62
62
|
- `learning-loop` - After each task, extract lessons + persist to memory MCP
|
|
63
63
|
|
|
64
|
-
### Skills (
|
|
64
|
+
### Skills (82)
|
|
65
65
|
Located in `~/.claude/skills/`. Use Skill tool to invoke. Highlights:
|
|
66
66
|
- `systematic-debugging`, `root-cause-tracing` (used by debugger agent)
|
|
67
67
|
- `tech-debt-hunter`, `code-refactoring` (used by refactor-master)
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.7.0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-all-config",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0",
|
|
4
4
|
"description": "🦾 MONSTER ENGINEER v2 - Ultimate AI CLI with 63 Skills, 12 Superpowers, 14 Agents. Multi-Agent Orchestration, Cost-Aware, Security Scorecard, Parallel-First.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
"codex",
|
|
122
122
|
"trae"
|
|
123
123
|
],
|
|
124
|
-
"skillsCount":
|
|
124
|
+
"skillsCount": 82,
|
|
125
125
|
"agentsCount": 22,
|
|
126
126
|
"commandsCount": 3
|
|
127
127
|
},
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Skill Attribution
|
|
2
|
+
|
|
3
|
+
The following skills are adopted from
|
|
4
|
+
[alirezarezvani/claude-skills](https://github.com/alirezarezvani/claude-skills)
|
|
5
|
+
under the MIT License (Copyright © Alireza Rezvani and contributors):
|
|
6
|
+
|
|
7
|
+
## Adopted in v3.7.0
|
|
8
|
+
|
|
9
|
+
### Tier S (AI / Ops / Security)
|
|
10
|
+
- `rag-architect` — RAG pipeline design + retrieval optimization
|
|
11
|
+
- `llm-cost-optimizer` — Token cost engineering, model routing, caching
|
|
12
|
+
- `prompt-governance` — Production prompt versioning, A/B testing, evals
|
|
13
|
+
- `chaos-engineering` — Fault injection, blast-radius bounding, gameday
|
|
14
|
+
- `observability-designer` — OpenTelemetry traces / metrics / logs design
|
|
15
|
+
- `threat-detection` — Detection engineering, SIEM rules, IoC patterns
|
|
16
|
+
|
|
17
|
+
### Tier A (Engineering Breadth)
|
|
18
|
+
- `kubernetes-operator` — K8s ops, debugging, custom operators
|
|
19
|
+
- `terraform-patterns` — Infrastructure-as-code patterns library
|
|
20
|
+
- `playwright-pro` — Browser automation + E2E testing
|
|
21
|
+
- `incident-response` — DFIR / digital forensics & incident response
|
|
22
|
+
- `data-quality-auditor` — Data pipeline integrity checks
|
|
23
|
+
- `migration-architect` — Multi-system migration strategy
|
|
24
|
+
- `stress-test` — Load and performance testing
|
|
25
|
+
- `agent-workflow-designer` — Multi-agent workflow design
|
|
26
|
+
- `api-design-reviewer` — REST/GraphQL API contract review
|
|
27
|
+
|
|
28
|
+
## License
|
|
29
|
+
|
|
30
|
+
These skills retain their original MIT license. Their original copyright
|
|
31
|
+
notice and attribution headers are preserved in each SKILL.md frontmatter
|
|
32
|
+
where present.
|
|
33
|
+
|
|
34
|
+
Original repository: https://github.com/alirezarezvani/claude-skills
|
|
35
|
+
Original author: Alireza Rezvani (https://github.com/alirezarezvani)
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "agent-workflow-designer"
|
|
3
|
+
description: "Agent Workflow Designer"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agent Workflow Designer
|
|
7
|
+
|
|
8
|
+
**Tier:** POWERFUL
|
|
9
|
+
**Category:** Engineering
|
|
10
|
+
**Domain:** Multi-Agent Systems / AI Orchestration
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
Design production-grade multi-agent workflows with clear pattern choice, handoff contracts, failure handling, and cost/context controls.
|
|
17
|
+
|
|
18
|
+
## Core Capabilities
|
|
19
|
+
|
|
20
|
+
- Workflow pattern selection for multi-step agent systems
|
|
21
|
+
- Skeleton config generation for fast workflow bootstrapping
|
|
22
|
+
- Context and cost discipline across long-running flows
|
|
23
|
+
- Error recovery and retry strategy scaffolding
|
|
24
|
+
- Documentation pointers for operational pattern tradeoffs
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## When to Use
|
|
29
|
+
|
|
30
|
+
- A single prompt is insufficient for task complexity
|
|
31
|
+
- You need specialist agents with explicit boundaries
|
|
32
|
+
- You want deterministic workflow structure before implementation
|
|
33
|
+
- You need validation loops for quality or safety gates
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Quick Start
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Generate a sequential workflow skeleton
|
|
41
|
+
python3 scripts/workflow_scaffolder.py sequential --name content-pipeline
|
|
42
|
+
|
|
43
|
+
# Generate an orchestrator workflow and save it
|
|
44
|
+
python3 scripts/workflow_scaffolder.py orchestrator --name incident-triage --output workflows/incident-triage.json
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Pattern Map
|
|
50
|
+
|
|
51
|
+
- `sequential`: strict step-by-step dependency chain
|
|
52
|
+
- `parallel`: fan-out/fan-in for independent subtasks
|
|
53
|
+
- `router`: dispatch by intent/type with fallback
|
|
54
|
+
- `orchestrator`: planner coordinates specialists with dependencies
|
|
55
|
+
- `evaluator`: generator + quality gate loop
|
|
56
|
+
|
|
57
|
+
Detailed templates: `references/workflow-patterns.md`
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Recommended Workflow
|
|
62
|
+
|
|
63
|
+
1. Select pattern based on dependency shape and risk profile.
|
|
64
|
+
2. Scaffold config via `scripts/workflow_scaffolder.py`.
|
|
65
|
+
3. Define handoff contract fields for every edge.
|
|
66
|
+
4. Add retry/timeouts and output validation gates.
|
|
67
|
+
5. Dry-run with small context budgets before scaling.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Common Pitfalls
|
|
72
|
+
|
|
73
|
+
- Over-orchestrating tasks solvable by one well-structured prompt
|
|
74
|
+
- Missing timeout/retry policies for external-model calls
|
|
75
|
+
- Passing full upstream context instead of targeted artifacts
|
|
76
|
+
- Ignoring per-step cost accumulation
|
|
77
|
+
|
|
78
|
+
## Best Practices
|
|
79
|
+
|
|
80
|
+
1. Start with the smallest pattern that can satisfy requirements.
|
|
81
|
+
2. Keep handoff payloads explicit and bounded.
|
|
82
|
+
3. Validate intermediate outputs before fan-in synthesis.
|
|
83
|
+
4. Enforce budget and timeout limits in every step.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Workflow Pattern Templates
|
|
2
|
+
|
|
3
|
+
## Sequential
|
|
4
|
+
|
|
5
|
+
Use when each step depends on prior output.
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"pattern": "sequential",
|
|
10
|
+
"steps": ["research", "draft", "review"]
|
|
11
|
+
}
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Parallel
|
|
15
|
+
|
|
16
|
+
Use when independent tasks can fan out and then fan in.
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"pattern": "parallel",
|
|
21
|
+
"fan_out": ["task_a", "task_b", "task_c"],
|
|
22
|
+
"fan_in": "synthesizer"
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Router
|
|
27
|
+
|
|
28
|
+
Use when tasks must be routed to specialized handlers by intent.
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"pattern": "router",
|
|
33
|
+
"router": "intent_router",
|
|
34
|
+
"routes": ["sales", "support", "engineering"],
|
|
35
|
+
"fallback": "generalist"
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Orchestrator
|
|
40
|
+
|
|
41
|
+
Use when dynamic planning and dependency management are required.
|
|
42
|
+
|
|
43
|
+
```json
|
|
44
|
+
{
|
|
45
|
+
"pattern": "orchestrator",
|
|
46
|
+
"orchestrator": "planner",
|
|
47
|
+
"specialists": ["researcher", "analyst", "coder"],
|
|
48
|
+
"dependency_mode": "dag"
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Evaluator
|
|
53
|
+
|
|
54
|
+
Use when output quality gates are mandatory before finalization.
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"pattern": "evaluator",
|
|
59
|
+
"generator": "content_agent",
|
|
60
|
+
"evaluator": "quality_agent",
|
|
61
|
+
"max_iterations": 3,
|
|
62
|
+
"pass_threshold": 0.8
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Pattern Selection Heuristics
|
|
67
|
+
|
|
68
|
+
- Choose `sequential` for strict linear workflows.
|
|
69
|
+
- Choose `parallel` for throughput and latency reduction.
|
|
70
|
+
- Choose `router` for intent- or type-based branching.
|
|
71
|
+
- Choose `orchestrator` for complex adaptive workflows.
|
|
72
|
+
- Choose `evaluator` when correctness/quality loops are required.
|
|
73
|
+
|
|
74
|
+
## Handoff Minimum Contract
|
|
75
|
+
|
|
76
|
+
- `workflow_id`
|
|
77
|
+
- `step_id`
|
|
78
|
+
- `task`
|
|
79
|
+
- `constraints`
|
|
80
|
+
- `upstream_artifacts`
|
|
81
|
+
- `budget_tokens`
|
|
82
|
+
- `timeout_seconds`
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Generate workflow skeleton configs from common multi-agent patterns."""
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
import argparse
|
|
7
|
+
import json
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
from typing import Dict, List
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def sequential_template(name: str) -> Dict:
|
|
13
|
+
return {
|
|
14
|
+
"name": name,
|
|
15
|
+
"pattern": "sequential",
|
|
16
|
+
"steps": [
|
|
17
|
+
{"id": "research", "agent": "researcher", "next": "draft"},
|
|
18
|
+
{"id": "draft", "agent": "writer", "next": "review"},
|
|
19
|
+
{"id": "review", "agent": "reviewer", "next": None},
|
|
20
|
+
],
|
|
21
|
+
"retry": {"max_attempts": 2, "backoff_seconds": 2},
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def parallel_template(name: str) -> Dict:
|
|
26
|
+
return {
|
|
27
|
+
"name": name,
|
|
28
|
+
"pattern": "parallel",
|
|
29
|
+
"fan_out": {
|
|
30
|
+
"tasks": ["research_a", "research_b", "research_c"],
|
|
31
|
+
"agent": "analyst",
|
|
32
|
+
},
|
|
33
|
+
"fan_in": {"agent": "synthesizer", "output": "combined_report"},
|
|
34
|
+
"timeouts": {"per_task_seconds": 180, "fan_in_seconds": 120},
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def router_template(name: str) -> Dict:
|
|
39
|
+
return {
|
|
40
|
+
"name": name,
|
|
41
|
+
"pattern": "router",
|
|
42
|
+
"router": {"agent": "router", "routes": ["sales", "support", "engineering"]},
|
|
43
|
+
"handlers": {
|
|
44
|
+
"sales": {"agent": "sales_specialist"},
|
|
45
|
+
"support": {"agent": "support_specialist"},
|
|
46
|
+
"engineering": {"agent": "engineering_specialist"},
|
|
47
|
+
},
|
|
48
|
+
"fallback": {"agent": "generalist"},
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def orchestrator_template(name: str) -> Dict:
|
|
53
|
+
return {
|
|
54
|
+
"name": name,
|
|
55
|
+
"pattern": "orchestrator",
|
|
56
|
+
"orchestrator": {"agent": "orchestrator", "planning": "dynamic"},
|
|
57
|
+
"specialists": ["researcher", "coder", "analyst", "writer"],
|
|
58
|
+
"execution": {
|
|
59
|
+
"dependency_mode": "dag",
|
|
60
|
+
"max_parallel": 3,
|
|
61
|
+
"completion_policy": "all_required",
|
|
62
|
+
},
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def evaluator_template(name: str) -> Dict:
|
|
67
|
+
return {
|
|
68
|
+
"name": name,
|
|
69
|
+
"pattern": "evaluator",
|
|
70
|
+
"generator": {"agent": "generator"},
|
|
71
|
+
"evaluator": {"agent": "evaluator", "criteria": ["accuracy", "format", "safety"]},
|
|
72
|
+
"loop": {
|
|
73
|
+
"max_iterations": 3,
|
|
74
|
+
"pass_threshold": 0.8,
|
|
75
|
+
"on_fail": "revise_and_retry",
|
|
76
|
+
},
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
PATTERNS = {
|
|
81
|
+
"sequential": sequential_template,
|
|
82
|
+
"parallel": parallel_template,
|
|
83
|
+
"router": router_template,
|
|
84
|
+
"orchestrator": orchestrator_template,
|
|
85
|
+
"evaluator": evaluator_template,
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def parse_args() -> argparse.Namespace:
|
|
90
|
+
parser = argparse.ArgumentParser(description="Generate a workflow skeleton config from a pattern.")
|
|
91
|
+
parser.add_argument("pattern", choices=sorted(PATTERNS.keys()), help="Workflow pattern")
|
|
92
|
+
parser.add_argument("--name", default="new-workflow", help="Workflow name")
|
|
93
|
+
parser.add_argument("--output", help="Optional output path for JSON config")
|
|
94
|
+
return parser.parse_args()
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
def main() -> int:
|
|
98
|
+
args = parse_args()
|
|
99
|
+
config = PATTERNS[args.pattern](args.name)
|
|
100
|
+
payload = json.dumps(config, indent=2)
|
|
101
|
+
|
|
102
|
+
if args.output:
|
|
103
|
+
out = Path(args.output)
|
|
104
|
+
out.parent.mkdir(parents=True, exist_ok=True)
|
|
105
|
+
out.write_text(payload + "\n", encoding="utf-8")
|
|
106
|
+
print(f"Wrote workflow config to {out}")
|
|
107
|
+
else:
|
|
108
|
+
print(payload)
|
|
109
|
+
return 0
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
if __name__ == "__main__":
|
|
113
|
+
raise SystemExit(main())
|