0xray 4.0.10 → 4.0.12

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.
Files changed (85) hide show
  1. package/.grok-plugin/plugin.json +20 -0
  2. package/.xray/features.json +1 -1
  3. package/AGENTS-consumer.md +1 -1
  4. package/AGENTS.md +1 -1
  5. package/README.md +2 -2
  6. package/SKILLS.md +1 -1
  7. package/dist/AGENTS.md +1 -1
  8. package/dist/CHANGELOG.md +19 -0
  9. package/dist/README.md +2 -2
  10. package/dist/SKILLS.md +1 -1
  11. package/dist/governance/llm-governance-provider.js +20 -4
  12. package/dist/integrations/grok/grok-cli.d.ts +3 -0
  13. package/dist/integrations/grok/grok-cli.js +79 -73
  14. package/dist/integrations/openclaw/plugin/xray-pre-tool/package.json +1 -1
  15. package/llms.txt +1 -1
  16. package/package.json +3 -2
  17. package/scripts/foundry/CHANGELOG.md +1 -1
  18. package/scripts/foundry/README.md +2 -2
  19. package/scripts/foundry/inspect.mjs +22 -6
  20. package/scripts/foundry/mint-suit.cjs +24 -0
  21. package/scripts/foundry/plant/skills/inspect/SKILL.md +1 -1
  22. package/scripts/node/install-bridges.cjs +39 -24
  23. package/src/integrations/openclaw/plugin/xray-pre-tool/package.json +1 -1
  24. package/xray/features.json +1 -1
  25. package/.opencode/agents/api-design.yml +0 -31
  26. package/.opencode/agents/architect.yml +0 -15
  27. package/.opencode/agents/architecture-patterns.yml +0 -14
  28. package/.opencode/agents/auto-format.yml +0 -14
  29. package/.opencode/agents/backend-engineer.yml +0 -12
  30. package/.opencode/agents/boot-orchestrator.yml +0 -14
  31. package/.opencode/agents/bug-triage-specialist.yml +0 -15
  32. package/.opencode/agents/code-analyzer.yml +0 -12
  33. package/.opencode/agents/code-reviewer.yml +0 -14
  34. package/.opencode/agents/content-creator.yml +0 -12
  35. package/.opencode/agents/database-engineer.yml +0 -12
  36. package/.opencode/agents/devops-engineer.yml +0 -12
  37. package/.opencode/agents/framework-compliance-audit.yml +0 -14
  38. package/.opencode/agents/frontend-engineer.yml +0 -12
  39. package/.opencode/agents/frontend-ui-ux-engineer.yml +0 -12
  40. package/.opencode/agents/git-workflow.yml +0 -15
  41. package/.opencode/agents/growth-strategist.yml +0 -12
  42. package/.opencode/agents/hermes-agent.yml +0 -12
  43. package/.opencode/agents/inference-improve.yml +0 -12
  44. package/.opencode/agents/lint.yml +0 -14
  45. package/.opencode/agents/log-monitor.yml +0 -12
  46. package/.opencode/agents/mobile-developer.yml +0 -12
  47. package/.opencode/agents/model-health-check.yml +0 -12
  48. package/.opencode/agents/multimodal-looker.yml +0 -12
  49. package/.opencode/agents/performance-analysis.yml +0 -12
  50. package/.opencode/agents/performance-engineer.yml +0 -12
  51. package/.opencode/agents/performance-optimization.yml +0 -12
  52. package/.opencode/agents/processor-pipeline.yml +0 -14
  53. package/.opencode/agents/project-analysis.yml +0 -12
  54. package/.opencode/agents/refactorer.yml +0 -12
  55. package/.opencode/agents/researcher.yml +0 -12
  56. package/.opencode/agents/security-auditor.yml +0 -12
  57. package/.opencode/agents/security-scan.yml +0 -12
  58. package/.opencode/agents/seo-consultant.yml +0 -12
  59. package/.opencode/agents/session-management.yml +0 -12
  60. package/.opencode/agents/state-manager.yml +0 -12
  61. package/.opencode/agents/storyteller.yml +0 -12
  62. package/.opencode/agents/strategist.yml +0 -12
  63. package/.opencode/agents/tech-writer.yml +0 -12
  64. package/.opencode/agents/testing-best-practices.yml +0 -12
  65. package/.opencode/agents/testing-lead.yml +0 -12
  66. package/.opencode/agents/ui-ux-design.yml +0 -12
  67. package/.opencode/codex.codex +0 -8
  68. package/.opencode/commands/auto-format.md +0 -99
  69. package/.opencode/commands/auto-summary-capture.md +0 -90
  70. package/.opencode/commands/dependency-audit.md +0 -184
  71. package/.opencode/commands/enforcer-daily-scan.md +0 -137
  72. package/.opencode/commands/framework-compliance-audit.md +0 -205
  73. package/.opencode/commands/interactive-validator.md +0 -75
  74. package/.opencode/commands/job-summary-logger.md +0 -68
  75. package/.opencode/commands/lint.md +0 -11
  76. package/.opencode/commands/mode-switch.md +0 -95
  77. package/.opencode/commands/model-health-check.md +0 -186
  78. package/.opencode/commands/performance-analysis.md +0 -144
  79. package/.opencode/commands/pre-commit-introspection.md +0 -185
  80. package/.opencode/commands/pre-commit-introspection.sh +0 -133
  81. package/.opencode/commands/security-scan.md +0 -157
  82. package/.opencode/commands/sisyphus-validation.md +0 -128
  83. package/.opencode/commands/summary-logger.md +0 -83
  84. package/.opencode/enforcer-config.json +0 -282
  85. package/.opencode/workflows/post-deployment-audit.yml +0 -123
@@ -6,9 +6,15 @@
6
6
 
7
7
  const fs = require("fs");
8
8
  const path = require("path");
9
- const os = require("os");
10
9
  const { execSync } = require("child_process");
11
- const { wantsCostume, isIsolatedHome, machineHome } = require("../foundry/mint-suit.cjs");
10
+ const {
11
+ wantsCostume,
12
+ isIsolatedHome,
13
+ machineHome,
14
+ processHome,
15
+ resolveGrokPluginDests,
16
+ wouldClobberMachineGrok,
17
+ } = require("../foundry/mint-suit.cjs");
12
18
  const { wearVendoredRepertoire } = require("./wear-vendored-repertoire.cjs");
13
19
  const {
14
20
  wireHermesBridge,
@@ -351,7 +357,7 @@ function findGrokPluginSource(packageRoot) {
351
357
  return candidates.find((p) => fs.existsSync(p));
352
358
  }
353
359
 
354
- function registerGrokMcpServers(targetDir, log) {
360
+ function registerGrokMcpServers(targetDir, log, pluginDirs) {
355
361
  try {
356
362
  execSync("which grok", { stdio: "ignore" });
357
363
  } catch {
@@ -375,10 +381,11 @@ function registerGrokMcpServers(targetDir, log) {
375
381
  }
376
382
  }
377
383
 
378
- for (const pluginDir of [
379
- path.join(targetDir, ".grok", "plugins", "0xray"),
380
- path.join(os.homedir(), ".grok", "plugins", "0xray"),
381
- ]) {
384
+ const dirs =
385
+ Array.isArray(pluginDirs) && pluginDirs.length > 0
386
+ ? pluginDirs
387
+ : [path.join(targetDir, ".grok", "plugins", "0xray")];
388
+ for (const pluginDir of dirs) {
382
389
  if (!fs.existsSync(pluginDir)) continue;
383
390
  try {
384
391
  execSync(`grok plugins trust "${pluginDir}"`, { stdio: "ignore" });
@@ -390,30 +397,35 @@ function registerGrokMcpServers(targetDir, log) {
390
397
  }
391
398
  }
392
399
 
393
- function installGrokBridge(targetDir, packageRoot, log) {
400
+ function installGrokBridge(targetDir, packageRoot, log, opts) {
394
401
  const sourceDir = findGrokPluginSource(packageRoot);
395
402
  if (!sourceDir) {
396
403
  log("grok-bridge", "skipped", "warn", { reason: "grok plugin source missing" });
397
404
  return;
398
405
  }
399
406
 
400
- const machine = machineHome();
407
+ const env = (opts && opts.env) || process.env;
408
+ const machine = (opts && opts.machineHome) || machineHome();
401
409
  const ephemeral = isEphemeralInstallRoot(targetDir);
402
- const isolated = isIsolatedHome();
403
- const targets = [path.join(targetDir, ".grok", "plugins", "0xray")];
404
- if (!ephemeral && !isolated) {
405
- targets.push(path.join(machine, ".grok", "plugins", "0xray"));
410
+ const isolated = isIsolatedHome(env, machine);
411
+ const targets = resolveGrokPluginDests(targetDir, env, machine);
412
+
413
+ if (ephemeral) {
414
+ log("grok-bridge", "skip machine ~/.grok plugin — ephemeral consumer", "info");
415
+ } else if (isolated) {
416
+ log("grok-bridge", "skip machine ~/.grok plugin — isolated HOME", "info");
406
417
  } else {
407
- log(
408
- "grok-bridge",
409
- isolated
410
- ? "skip machine ~/.grok plugin — isolated HOME"
411
- : "skip machine ~/.grok plugin — ephemeral consumer",
412
- "info",
413
- );
418
+ log("grok-bridge", "skip machine ~/.grok plugin — project-scoped wear", "info");
414
419
  }
415
420
 
416
421
  for (const dest of targets) {
422
+ if (wouldClobberMachineGrok(dest, env, machine)) {
423
+ log("grok-bridge", "refuse-machine-grok-clobber", "error", {
424
+ dest,
425
+ machinePlugin: path.join(machine, ".grok", "plugins", "0xray"),
426
+ });
427
+ continue;
428
+ }
417
429
  if (copyPluginDir(sourceDir, dest)) {
418
430
  const rel = dest.startsWith(machine) ? dest.replace(machine, "~") : path.relative(targetDir, dest);
419
431
  log("grok-bridge", "plugin copied", "info", { path: rel || dest });
@@ -424,13 +436,14 @@ function installGrokBridge(targetDir, packageRoot, log) {
424
436
  }
425
437
  }
426
438
 
427
- if (!ephemeral && !isolated) {
428
- const grokGlobalSkills = path.join(machine, ".grok", "skills");
439
+ if (isolated && !ephemeral) {
440
+ const home = processHome(env);
441
+ const grokGlobalSkills = path.join(home, ".grok", "skills");
429
442
  const globalCopied = syncCostumeSkills(grokGlobalSkills, packageRoot, targetDir);
430
443
  if (globalCopied > 0) {
431
- log("grok-bridge", `global skills synced (${globalCopied})`, "info", { path: "~/.grok/skills/" });
444
+ log("grok-bridge", `global skills synced (${globalCopied})`, "info", { path: grokGlobalSkills });
432
445
  }
433
- registerGrokMcpServers(targetDir, log);
446
+ registerGrokMcpServers(targetDir, log, targets);
434
447
  }
435
448
  }
436
449
 
@@ -767,6 +780,8 @@ function installAllBridges(opts) {
767
780
 
768
781
  module.exports = {
769
782
  installAllBridges,
783
+ installGrokBridge,
784
+ resolveGrokPluginDests,
770
785
  resolveConsumerTargetDir,
771
786
  isInstallPrefixTarget,
772
787
  syncBuiltinSkills,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xray-pre-tool",
3
- "version": "4.0.10",
3
+ "version": "4.0.12",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "description": "0xRay constitution + temperament PreToolUse for OpenClaw",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "./features.schema.json",
3
- "version": "4.0.10",
3
+ "version": "4.0.12",
4
4
  "description": "0xRay Framework - Unified Feature Configuration",
5
5
  "suit_temperament": {
6
6
  "profile": "auto",
@@ -1,31 +0,0 @@
1
- name: api-design
2
- skill: api-design
3
- description: "RESTful API design and validation specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- # CODEX COMPLIANCE
8
- # - Term 12: No Code Without Tests - all API endpoints require test coverage
9
- # - Term 17: Type Safety Required - use TypeScript interfaces for all data contracts
10
-
11
- # Core Capabilities
12
- capabilities:
13
- - rest_api_design
14
- - graphql_api_design
15
- - api_validation
16
- - openapi_spec_generation
17
- - api_documentation
18
-
19
- # State Management
20
- state_management:
21
- enabled: true
22
- namespaces:
23
- - api_specs
24
- - endpoint_contracts
25
- - validation_rules
26
-
27
- # Quality Requirements
28
- quality:
29
- test_coverage: required
30
- type_safety: strict
31
- documentation: required
@@ -1,15 +0,0 @@
1
- name: architect
2
- skill: architect-tools
3
- description: "System design and technical architecture tools specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - system_design
9
- - architecture_analysis
10
- - technical_documentation
11
- - pattern_selection
12
-
13
- quality:
14
- test_coverage: recommended
15
- type_safety: strict
@@ -1,14 +0,0 @@
1
- name: architecture-patterns
2
- skill: architecture-patterns
3
- description: "Software architecture patterns and best practices specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - pattern_analysis
9
- - architecture_review
10
- - design_evaluation
11
-
12
- quality:
13
- test_coverage: recommended
14
- type_safety: strict
@@ -1,14 +0,0 @@
1
- name: auto-format
2
- skill: auto-format
3
- description: "Automated code formatting and style consistency specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - code_formatting
9
- - style_enforcement
10
- - lint_integration
11
-
12
- quality:
13
- test_coverage: recommended
14
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: backend-engineer
2
- skill: backend-engineer
3
- description: "backend engineer specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,14 +0,0 @@
1
- name: boot-orchestrator
2
- skill: boot-orchestrator
3
- description: "Framework initialization and boot orchestration specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - framework_boot
9
- - processor_initialization
10
- - system_startup
11
-
12
- quality:
13
- test_coverage: required
14
- type_safety: strict
@@ -1,15 +0,0 @@
1
- name: bug-triage-specialist
2
- skill: bug-triage
3
- description: "Bug triage, debugging analysis, and issue prioritization specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - bug_analysis
9
- - debugging
10
- - issue_prioritization
11
- - root_cause_analysis
12
-
13
- quality:
14
- test_coverage: required
15
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: code-analyzer
2
- skill: code-analyzer
3
- description: "code analyzer specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,14 +0,0 @@
1
- name: code-reviewer
2
- skill: code-review
3
- description: "Comprehensive code quality assessment and improvement suggestions specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - code_review
9
- - quality_assessment
10
- - improvement_suggestions
11
-
12
- quality:
13
- test_coverage: required
14
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: content-creator
2
- skill: content-creator
3
- description: "content creator specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: database-engineer
2
- skill: database-engineer
3
- description: "database engineer specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: devops-engineer
2
- skill: devops-engineer
3
- description: "devops engineer specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,14 +0,0 @@
1
- name: framework-compliance-audit
2
- skill: framework-compliance-audit
3
- description: "Framework compliance auditing and validation specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - compliance_audit
9
- - validation
10
- - standards_enforcement
11
-
12
- quality:
13
- test_coverage: required
14
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: frontend-engineer
2
- skill: frontend-engineer
3
- description: "frontend engineer specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: frontend-ui-ux-engineer
2
- skill: frontend-ui-ux-engineer
3
- description: "frontend ui ux engineer specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,15 +0,0 @@
1
- name: git-workflow
2
- skill: git-workflow
3
- description: "Git workflow management and collaboration specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - git_operations
9
- - branch_management
10
- - merge_conflicts
11
- - workflow_automation
12
-
13
- quality:
14
- test_coverage: recommended
15
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: growth-strategist
2
- skill: growth-strategist
3
- description: "growth strategist specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: hermes-agent
2
- skill: hermes-agent
3
- description: "hermes agent specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: inference-improve
2
- skill: inference-improve
3
- description: "inference improve specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,14 +0,0 @@
1
- name: lint
2
- skill: lint
3
- description: "Code linting and static analysis specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - linting
9
- - static_analysis
10
- - code_quality
11
-
12
- quality:
13
- test_coverage: recommended
14
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: log-monitor
2
- skill: log-monitor
3
- description: "log monitor specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: mobile-developer
2
- skill: mobile-developer
3
- description: "mobile developer specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: model-health-check
2
- skill: model-health-check
3
- description: "model health check specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: multimodal-looker
2
- skill: multimodal-looker
3
- description: "multimodal looker specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: performance-analysis
2
- skill: performance-analysis
3
- description: "performance analysis specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: performance-engineer
2
- skill: performance-engineer
3
- description: "performance engineer specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: performance-optimization
2
- skill: performance-optimization
3
- description: "performance optimization specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,14 +0,0 @@
1
- name: processor-pipeline
2
- skill: processor-pipeline
3
- description: "Data processing pipeline management specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - pipeline_management
9
- - data_processing
10
- - workflow_orchestration
11
-
12
- quality:
13
- test_coverage: required
14
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: project-analysis
2
- skill: project-analysis
3
- description: "project analysis specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: refactorer
2
- skill: refactoring-strategies
3
- description: "refactoring strategies specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: researcher
2
- skill: researcher
3
- description: "researcher specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: security-auditor
2
- skill: security-audit
3
- description: "security audit specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: security-scan
2
- skill: security-scan
3
- description: "security scan specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: seo-consultant
2
- skill: seo-consultant
3
- description: "seo consultant specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: session-management
2
- skill: session-management
3
- description: "session management specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict
@@ -1,12 +0,0 @@
1
- name: state-manager
2
- skill: state-manager
3
- description: "state manager specialist"
4
- version: "1.0.0"
5
- mode: subagent
6
-
7
- capabilities:
8
- - domain_specialization
9
-
10
- quality:
11
- test_coverage: recommended
12
- type_safety: strict