claude-all-config 3.6.4 → 3.7.1
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/gemini-all +72 -0
- package/package.json +5 -3
- package/postinstall.js +41 -38
- 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.1
|
package/gemini-all
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#
|
|
3
|
+
# gemini-all — Gemini CLI launcher with ClaudeAll superpowers loaded.
|
|
4
|
+
#
|
|
5
|
+
# What it does:
|
|
6
|
+
# 1. Source ~/.gemini/.env (and ~/.claude/.env as fallback) so MCP servers
|
|
7
|
+
# see your CONTEXT7_API_KEY / EXA_API_KEY / Z_AI_API_KEY / etc.
|
|
8
|
+
# 2. Default to YOLO mode (--yolo / -y) for autonomous operation.
|
|
9
|
+
# 3. Pass through all args to gemini.
|
|
10
|
+
#
|
|
11
|
+
# Usage:
|
|
12
|
+
# gemini-all # interactive YOLO session
|
|
13
|
+
# gemini-all "your prompt" # one-shot with prompt
|
|
14
|
+
# gemini-all --no-yolo # disable auto-approve
|
|
15
|
+
# gemini-all -y -- ... # explicit YOLO with extra args
|
|
16
|
+
#
|
|
17
|
+
# Override with env vars:
|
|
18
|
+
# GEMINI_BIN=/path/to/gemini gemini-all
|
|
19
|
+
# GEMINI_NO_YOLO=1 gemini-all # disable yolo for this run
|
|
20
|
+
|
|
21
|
+
set -u
|
|
22
|
+
|
|
23
|
+
# ─── Source env files (most-specific first) ───────────────────────────────
|
|
24
|
+
load_env() {
|
|
25
|
+
local f="$1"
|
|
26
|
+
if [ -f "$f" ]; then
|
|
27
|
+
set -a
|
|
28
|
+
# shellcheck disable=SC1090
|
|
29
|
+
. "$f" 2>/dev/null || true
|
|
30
|
+
set +a
|
|
31
|
+
fi
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
# Gemini-specific overrides take precedence over the shared Claude env.
|
|
35
|
+
load_env "$HOME/.claude/.env"
|
|
36
|
+
load_env "$HOME/.gemini/.env"
|
|
37
|
+
|
|
38
|
+
# ─── Locate gemini binary ─────────────────────────────────────────────────
|
|
39
|
+
GEMINI_CMD="${GEMINI_BIN:-gemini}"
|
|
40
|
+
if ! command -v "$GEMINI_CMD" &>/dev/null; then
|
|
41
|
+
echo "❌ gemini CLI not found in PATH." >&2
|
|
42
|
+
echo " Install: npm install -g @google/gemini-cli" >&2
|
|
43
|
+
echo " Or set GEMINI_BIN=/path/to/gemini" >&2
|
|
44
|
+
exit 127
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
# ─── YOLO mode (default ON, opt-out with --no-yolo or GEMINI_NO_YOLO=1) ────
|
|
48
|
+
YOLO_FLAG="--yolo"
|
|
49
|
+
ARGS=()
|
|
50
|
+
for a in "$@"; do
|
|
51
|
+
case "$a" in
|
|
52
|
+
--no-yolo) YOLO_FLAG="" ;;
|
|
53
|
+
-y|--yolo) YOLO_FLAG="--yolo" ;;
|
|
54
|
+
*) ARGS+=("$a") ;;
|
|
55
|
+
esac
|
|
56
|
+
done
|
|
57
|
+
[ -n "${GEMINI_NO_YOLO:-}" ] && YOLO_FLAG=""
|
|
58
|
+
|
|
59
|
+
# ─── Show what we loaded (only when verbose) ──────────────────────────────
|
|
60
|
+
if [ -n "${GEMINI_ALL_VERBOSE:-}" ]; then
|
|
61
|
+
echo "🤖 gemini-all"
|
|
62
|
+
echo " Binary: $(command -v "$GEMINI_CMD")"
|
|
63
|
+
echo " YOLO: ${YOLO_FLAG:-OFF}"
|
|
64
|
+
echo " Env: $(printenv | grep -cE '^(CONTEXT7|EXA|Z_AI|MINIMAX|TELEGRAM)_') vars loaded"
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
# ─── Exec ─────────────────────────────────────────────────────────────────
|
|
68
|
+
if [ -n "$YOLO_FLAG" ]; then
|
|
69
|
+
exec "$GEMINI_CMD" "$YOLO_FLAG" "${ARGS[@]}"
|
|
70
|
+
else
|
|
71
|
+
exec "$GEMINI_CMD" "${ARGS[@]}"
|
|
72
|
+
fi
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-all-config",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.1",
|
|
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": {
|
|
7
7
|
"claude-all": "./claude-all",
|
|
8
8
|
"claude-all-skills": "./bin/skills-cli.js",
|
|
9
9
|
"claude-all-update": "./update.sh",
|
|
10
|
-
"claude-all-mcp": "./bin/mcp-install.js"
|
|
10
|
+
"claude-all-mcp": "./bin/mcp-install.js",
|
|
11
|
+
"gemini-all": "./gemini-all"
|
|
11
12
|
},
|
|
12
13
|
"scripts": {
|
|
13
14
|
"postinstall": "node postinstall.js || bash install.sh",
|
|
@@ -86,6 +87,7 @@
|
|
|
86
87
|
"AGENT.md",
|
|
87
88
|
"CLAUDE.md",
|
|
88
89
|
"claude-all",
|
|
90
|
+
"gemini-all",
|
|
89
91
|
"install.sh",
|
|
90
92
|
"install-termux.sh",
|
|
91
93
|
"install-universal.sh",
|
|
@@ -121,7 +123,7 @@
|
|
|
121
123
|
"codex",
|
|
122
124
|
"trae"
|
|
123
125
|
],
|
|
124
|
-
"skillsCount":
|
|
126
|
+
"skillsCount": 82,
|
|
125
127
|
"agentsCount": 22,
|
|
126
128
|
"commandsCount": 3
|
|
127
129
|
},
|
package/postinstall.js
CHANGED
|
@@ -278,46 +278,48 @@ function installGemini() {
|
|
|
278
278
|
const mcpSrc = path.join(PKG_DIR, 'mcp.json');
|
|
279
279
|
const mcpDest = path.join(GEMINI_DIR, 'mcp.json');
|
|
280
280
|
if (fs.existsSync(mcpSrc)) {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
281
|
+
try {
|
|
282
|
+
fs.copyFileSync(mcpSrc, mcpDest);
|
|
283
|
+
try { fs.chmodSync(mcpDest, 0o600); } catch {}
|
|
284
|
+
console.log(` 🔧 MCP config (11 servers)`);
|
|
285
|
+
} catch (e) {
|
|
286
|
+
console.log(` ⚠️ MCP config skipped (${e.code || 'error'})`);
|
|
287
|
+
}
|
|
284
288
|
}
|
|
285
289
|
|
|
286
|
-
//
|
|
287
|
-
const
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
fs.writeFileSync(path.join(GEMINI_DIR, 'GEMINI.md'), geminiMd);
|
|
320
|
-
console.log(` 📄 GEMINI.md (MONSTER ENGINEER mode)`);
|
|
290
|
+
// .env template for Gemini (same secrets as Claude)
|
|
291
|
+
const envSrc = path.join(PKG_DIR, '.env.example');
|
|
292
|
+
const envDest = path.join(GEMINI_DIR, '.env');
|
|
293
|
+
if (fs.existsSync(envSrc) && !fs.existsSync(envDest)) {
|
|
294
|
+
try {
|
|
295
|
+
fs.copyFileSync(envSrc, envDest);
|
|
296
|
+
try { fs.chmodSync(envDest, 0o600); } catch {}
|
|
297
|
+
console.log(` 🔐 .env template (edit ~/.gemini/.env to set your API keys)`);
|
|
298
|
+
} catch (e) {
|
|
299
|
+
console.log(` ⚠️ .env template skipped (${e.code || 'error'})`);
|
|
300
|
+
}
|
|
301
|
+
} else if (fs.existsSync(envDest)) {
|
|
302
|
+
console.log(` 🔐 .env preserved (already exists)`);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// GEMINI.md - kept in sync with CLAUDE.md (read from package, not hardcoded)
|
|
306
|
+
const claudeMdInPkg = path.join(PKG_DIR, 'CLAUDE.md');
|
|
307
|
+
const geminiMdDest = path.join(GEMINI_DIR, 'GEMINI.md');
|
|
308
|
+
if (fs.existsSync(claudeMdInPkg)) {
|
|
309
|
+
try {
|
|
310
|
+
// Re-title CLAUDE → GEMINI but keep all content (single source of truth)
|
|
311
|
+
let content = fs.readFileSync(claudeMdInPkg, 'utf8');
|
|
312
|
+
content = content
|
|
313
|
+
.replace(/# ClaudeAll Global Instructions/, '# Gemini Superpowers (ClaudeAll Global Instructions)')
|
|
314
|
+
.replace(/Claude Code enhanced with ClaudeAll superpowers\./, 'Gemini CLI enhanced with ClaudeAll superpowers.\n\n**YOLO mode**: run `gemini -y` to auto-approve tool calls (configured in settings.json).')
|
|
315
|
+
.replace(/~\/\.claude\//g, '~/.gemini/')
|
|
316
|
+
.replace(/CLAUDE\.md/g, 'GEMINI.md');
|
|
317
|
+
fs.writeFileSync(geminiMdDest, content);
|
|
318
|
+
console.log(` 📄 GEMINI.md (synced from CLAUDE.md, ${content.split('\n').length} lines)`);
|
|
319
|
+
} catch (e) {
|
|
320
|
+
console.log(` ⚠️ GEMINI.md write skipped (${e.code || 'error'})`);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
321
323
|
|
|
322
324
|
// Settings.json with auto-approve tools + persona
|
|
323
325
|
const geminiSettings = {
|
|
@@ -393,6 +395,7 @@ function setupLocalBinSymlinks() {
|
|
|
393
395
|
'claude-all-skills': path.join(PKG_DIR, 'bin', 'skills-cli.js'),
|
|
394
396
|
'claude-all-mcp': path.join(PKG_DIR, 'bin', 'mcp-install.js'),
|
|
395
397
|
'claude-all-update': path.join(PKG_DIR, 'update.sh'),
|
|
398
|
+
'gemini-all': path.join(PKG_DIR, 'gemini-all'),
|
|
396
399
|
};
|
|
397
400
|
|
|
398
401
|
let created = 0;
|
|
@@ -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())
|