claude-all-config 3.6.3 → 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/claude-all +18 -12
- 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/claude-all
CHANGED
|
@@ -2324,14 +2324,15 @@ EOF
|
|
|
2324
2324
|
|
|
2325
2325
|
echo ""
|
|
2326
2326
|
echo "Pilih Model:"
|
|
2327
|
-
echo " 1) Opus
|
|
2328
|
-
echo " 2)
|
|
2329
|
-
echo " 3)
|
|
2330
|
-
echo " 4)
|
|
2331
|
-
echo " 5)
|
|
2327
|
+
echo " 1) Opus 4.7 🚀 Latest Flagship - Best for complex coding & reasoning ⭐"
|
|
2328
|
+
echo " 2) Opus 4 🔬 Previous Flagship - Complex reasoning"
|
|
2329
|
+
echo " 3) Sonnet 🧠 Balanced - Default (Recommended)"
|
|
2330
|
+
echo " 4) Haiku ⚡ Fastest - Quick responses"
|
|
2331
|
+
echo " 5) GPT-4o 🤖 OpenAI - ChatGPT Flagship"
|
|
2332
|
+
echo " 6) Gemini 🌟 Google - Gemini 2.0 Flash"
|
|
2332
2333
|
echo ""
|
|
2333
|
-
read -p "Pilih [1-
|
|
2334
|
-
[[ -z "$model_choice" ]] && model_choice=
|
|
2334
|
+
read -p "Pilih [1-6, default: 3]: " model_choice
|
|
2335
|
+
[[ -z "$model_choice" ]] && model_choice=3
|
|
2335
2336
|
|
|
2336
2337
|
# Configure Letta API (IMPORTANT: Use AUTH_TOKEN, not API_KEY!)
|
|
2337
2338
|
export ANTHROPIC_AUTH_TOKEN="$LETTA_API_KEY"
|
|
@@ -2341,24 +2342,29 @@ EOF
|
|
|
2341
2342
|
|
|
2342
2343
|
case $model_choice in
|
|
2343
2344
|
1)
|
|
2344
|
-
echo -e "${GREEN}✓ Model: Claude Opus (Letta)
|
|
2345
|
+
echo -e "${GREEN}✓ Model: Claude Opus 4.7 (Letta) ⭐${NC}"
|
|
2346
|
+
echo -e "${BLUE}🚀 Starting Letta Agent...${NC}"
|
|
2347
|
+
exec claude --dangerously-skip-permissions --no-chrome --model "claude-opus-4-7-latest" --system-prompt "$system_prompt"
|
|
2348
|
+
;;
|
|
2349
|
+
2)
|
|
2350
|
+
echo -e "${GREEN}✓ Model: Claude Opus 4 (Letta)${NC}"
|
|
2345
2351
|
echo -e "${BLUE}🚀 Starting Letta Agent...${NC}"
|
|
2346
2352
|
exec claude --dangerously-skip-permissions --no-chrome --model "claude-opus-4-20250514" --system-prompt "$system_prompt"
|
|
2347
2353
|
;;
|
|
2348
|
-
|
|
2354
|
+
4)
|
|
2349
2355
|
echo -e "${GREEN}✓ Model: Claude Haiku (Letta)${NC}"
|
|
2350
2356
|
echo -e "${BLUE}🚀 Starting Letta Agent...${NC}"
|
|
2351
2357
|
exec claude --dangerously-skip-permissions --no-chrome --model "claude-haiku-4-20250514" --system-prompt "$system_prompt"
|
|
2352
2358
|
;;
|
|
2353
|
-
|
|
2359
|
+
5)
|
|
2354
2360
|
echo -e "${GREEN}✓ Model: GPT-4o (Letta)${NC}"
|
|
2355
2361
|
exec claude --dangerously-skip-permissions --no-chrome --model "gpt-4o" --system-prompt "$system_prompt"
|
|
2356
2362
|
;;
|
|
2357
|
-
|
|
2363
|
+
6)
|
|
2358
2364
|
echo -e "${GREEN}✓ Model: Gemini 2.0 Flash (Letta)${NC}"
|
|
2359
2365
|
exec claude --dangerously-skip-permissions --no-chrome --model "gemini-2.0-flash-exp" --system-prompt "$system_prompt"
|
|
2360
2366
|
;;
|
|
2361
|
-
|
|
2367
|
+
3|*)
|
|
2362
2368
|
echo -e "${GREEN}✓ Model: Claude Sonnet (Letta)${NC}"
|
|
2363
2369
|
echo -e "${BLUE}🚀 Starting Letta Agent...${NC}"
|
|
2364
2370
|
exec claude --dangerously-skip-permissions --no-chrome --model "claude-sonnet-4-20250514" --system-prompt "$system_prompt"
|
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())
|