agentsys 5.3.7 → 5.4.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.
Files changed (40) hide show
  1. package/.agnix.toml +17 -7
  2. package/.claude-plugin/marketplace.json +13 -2
  3. package/.claude-plugin/plugin.json +1 -1
  4. package/.gitmodules +3 -0
  5. package/AGENTS.md +4 -4
  6. package/CHANGELOG.md +21 -0
  7. package/README.md +46 -5
  8. package/lib/adapter-transforms.js +3 -1
  9. package/package.json +1 -1
  10. package/site/assets/css/main.css +39 -1
  11. package/site/assets/js/main.js +24 -0
  12. package/site/content.json +4 -4
  13. package/site/index.html +82 -7
  14. package/site/ux-spec.md +5 -5
  15. package/agent-knowledge/AGENTS.md +0 -231
  16. package/agent-knowledge/acp-with-codex-gemini-copilot-claude.md +0 -504
  17. package/agent-knowledge/ai-cli-advanced-integration-patterns.md +0 -670
  18. package/agent-knowledge/ai-cli-non-interactive-programmatic-usage.md +0 -1394
  19. package/agent-knowledge/all-in-one-plus-modular-packages.md +0 -576
  20. package/agent-knowledge/cli-browser-automation-agents.md +0 -936
  21. package/agent-knowledge/github-org-project-management.md +0 -319
  22. package/agent-knowledge/github-org-structure-patterns.md +0 -268
  23. package/agent-knowledge/kiro-supervised-autopilot.md +0 -400
  24. package/agent-knowledge/multi-product-org-docs.md +0 -622
  25. package/agent-knowledge/oss-org-naming-patterns.md +0 -368
  26. package/agent-knowledge/resources/acp-with-codex-gemini-copilot-claude-sources.json +0 -408
  27. package/agent-knowledge/resources/ai-cli-non-interactive-programmatic-usage-sources.json +0 -500
  28. package/agent-knowledge/resources/all-in-one-plus-modular-packages-sources.json +0 -310
  29. package/agent-knowledge/resources/cli-browser-automation-agents-sources.json +0 -428
  30. package/agent-knowledge/resources/github-org-project-management-sources.json +0 -239
  31. package/agent-knowledge/resources/github-org-structure-patterns-sources.json +0 -293
  32. package/agent-knowledge/resources/kiro-supervised-autopilot-sources.json +0 -135
  33. package/agent-knowledge/resources/multi-product-org-docs-sources.json +0 -514
  34. package/agent-knowledge/resources/oss-org-naming-patterns-sources.json +0 -458
  35. package/agent-knowledge/resources/skill-plugin-distribution-patterns-sources.json +0 -290
  36. package/agent-knowledge/resources/terminal-browsers-agent-automation-sources.json +0 -758
  37. package/agent-knowledge/resources/web-session-persistence-cli-agents-sources.json +0 -528
  38. package/agent-knowledge/skill-plugin-distribution-patterns.md +0 -661
  39. package/agent-knowledge/terminal-browsers-agent-automation.md +0 -776
  40. package/agent-knowledge/web-session-persistence-cli-agents.md +0 -1352
package/.agnix.toml CHANGED
@@ -25,23 +25,33 @@ mcp = true
25
25
  imports = true
26
26
  cross_platform = false # Intentional - we document all 3 platform paths
27
27
  agents_md = true
28
- copilot = false # Not targeting Copilot
29
- cursor = false # Not targeting Cursor
28
+ kiro_agents = false # Kiro agent copies reference agentsys subagents not resolvable from .kiro/
30
29
  prompt_engineering = true
31
30
  generic_instructions = true
32
31
  frontmatter_validation = true
33
32
  xml_balance = true
34
33
  import_references = true
35
34
  disabled_rules = [
36
- "XP-003", # Intentional - we document all 3 platform paths (.claude/, .opencode/, .codex/)
35
+ "AGM-003", # docs/reference/AGENTS.md is a comprehensive reference doc
36
+ "AGM-005", # Cursor platform examples are reference content in AGENTS.md
37
+ "AGM-006", # Intentional - root AGENTS.md (instructions) + docs/reference/AGENTS.md (reference)
38
+ "AS-012", # enhance-hooks is a comprehensive hook reference (needs >500 lines)
37
39
  "AS-014", # False positives on regex escape sequences (\n, \s, \d)
38
40
  "CC-AG-009", # False positive - Skill, AskUserQuestion, LSP are valid Claude Code tools
41
+ "CC-HK-008", # Hook script path resolution differs on Windows (forward slash prefix)
42
+ "CC-MEM-005", # "Be concise" is ecosystem-wide boilerplate
43
+ "CC-MEM-006", # Negative instructions (NEVER/Do not) are ecosystem standard critical rules
39
44
  "CC-MEM-009", # Intentional - CLAUDE.md uses structured sections, size is necessary
40
- "AGM-006", # Intentional - root AGENTS.md (instructions) + docs/reference/AGENTS.md (reference)
41
- "AGM-003", # docs/reference/AGENTS.md is a comprehensive reference doc
42
- "PE-001", # Reference docs have structured layout; middle placement is intentional
43
- "AS-012", # enhance-hooks is a comprehensive hook reference (needs >500 lines)
44
45
  "CC-SK-009", # enhance-skills contains example injections for teaching purposes
46
+ "CC-SK-012", # Intentional - argument-hint present for UI display
47
+ "CC-SK-017", # Intentional - version is a client-specific frontmatter field
48
+ "CDX-AG-002", # False positive - "tokens" in ecosystem boilerplate is not a secret
49
+ "CDX-AG-005", # Codex agent instruction format - AGENTS.md uses agentsys conventions
50
+ "KR-SK-001", # Kiro skill copies use Claude Code frontmatter fields (version, argument-hint)
51
+ "PE-001", # Reference docs have structured layout; middle placement is intentional
52
+ "PE-005", # Same as CC-MEM-005 for prompt engineering rules
53
+ "XML-001", # False positive - <login-url> is a placeholder in examples
54
+ "XP-003", # Intentional - we document all 3 platform paths (.claude/, .opencode/, .codex/)
45
55
  ]
46
56
 
47
57
  [tool_versions]
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agentsys",
3
- "description": "14 specialized plugins for AI workflow automation - task orchestration, PR workflow, slop detection, code review, drift detection, enhancement analysis, documentation sync, repo mapping, perf investigations, topic research, agent config linting, cross-tool AI consultation, and structured AI debate",
4
- "version": "5.3.7",
3
+ "description": "15 specialized plugins for AI workflow automation - task orchestration, PR workflow, slop detection, code review, drift detection, enhancement analysis, documentation sync, repo mapping, perf investigations, topic research, agent config linting, cross-tool AI consultation, structured AI debate, and workflow pattern learning",
4
+ "version": "5.4.0",
5
5
  "owner": {
6
6
  "name": "Avi Fenesh",
7
7
  "url": "https://github.com/avifenesh"
@@ -175,6 +175,17 @@
175
175
  "version": "1.0.0",
176
176
  "category": "automation",
177
177
  "homepage": "https://github.com/agent-sh/web-ctl"
178
+ },
179
+ {
180
+ "name": "skillers",
181
+ "source": {
182
+ "source": "url",
183
+ "url": "https://github.com/agent-sh/skillers.git"
184
+ },
185
+ "description": "Learn from workflow patterns across sessions and suggest skills, hooks, and agents to automate repetitive work",
186
+ "version": "1.0.0",
187
+ "category": "productivity",
188
+ "homepage": "https://github.com/agent-sh/skillers"
178
189
  }
179
190
  ]
180
191
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentsys",
3
- "version": "5.3.7",
3
+ "version": "5.4.0",
4
4
  "description": "Professional-grade slash commands for Claude Code with cross-platform support",
5
5
  "keywords": [
6
6
  "workflow",
package/.gitmodules ADDED
@@ -0,0 +1,3 @@
1
+ [submodule "agent-knowledge"]
2
+ path = agent-knowledge
3
+ url = https://github.com/agent-sh/agent-knowledge.git
package/AGENTS.md CHANGED
@@ -150,12 +150,12 @@ agentsys # Run installer
150
150
  <agents>
151
151
  ## Agents
152
152
 
153
- 43 agents across 14 plugins. Key agents by model:
153
+ 35 agents across 15 plugins. Key agents by model:
154
154
 
155
155
  | Model | Agents | Use Case |
156
156
  |-------|--------|----------|
157
- | **opus** | exploration, planning, implementation, perf-orchestrator | Complex reasoning, analysis |
158
- | **sonnet** | task-discoverer, delivery-validator, ci-fixer, deslop-agent, reporters | Validation, pattern matching |
157
+ | **opus** | exploration, planning, implementation, perf-orchestrator, debate-orchestrator, skillers-recommender | Complex reasoning, analysis |
158
+ | **sonnet** | task-discoverer, delivery-validator, ci-fixer, deslop-agent, reporters, learn, release-agent, skillers-compactor | Validation, pattern matching |
159
159
  | **haiku** | worktree-manager, ci-monitor, simple-fixer | Mechanical execution |
160
160
 
161
161
  See [README.md](./README.md#command-details) and [docs/reference/AGENTS.md](./docs/reference/AGENTS.md) for full agent list.
@@ -164,7 +164,7 @@ See [README.md](./README.md#command-details) and [docs/reference/AGENTS.md](./do
164
164
  <skills>
165
165
  ## Skills
166
166
 
167
- 25 skills across plugins. Agents invoke skills for reusable implementation.
167
+ 32 skills across plugins. Agents invoke skills for reusable implementation.
168
168
 
169
169
  | Category | Key Skills |
170
170
  |----------|------------|
package/CHANGELOG.md CHANGED
@@ -7,6 +7,27 @@ All notable changes to this project will be documented in this file.
7
7
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
8
8
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9
9
 
10
+ ## [5.4.0] - 2026-03-10
11
+
12
+ ### Added
13
+
14
+ - **`/release` command** - Discovery-first release workflow that detects how a repo releases before executing. Supports 12+ ecosystems (npm, cargo, python, go, maven, gradle, ruby, nuget, dart, hex, packagist, swift) and 7 release tool configurations (semantic-release, release-it, goreleaser, changesets, cargo-release, lerna, standard-version).
15
+ - **`/skillers` command** - Transcript-based workflow pattern learning. Analyzes Claude Code conversation history, clusters recurring patterns into weighted themes, and suggests skills/hooks/agents to automate repetitive work.
16
+ - **release-agent** (sonnet) - Discovers release method via tool configs, CI workflows, scripts, and manifests before performing the release.
17
+ - **skillers-compactor** (sonnet) - Extracts observations from conversation transcripts and clusters them into knowledge themes.
18
+ - **skillers-recommender** (opus) - Analyzes accumulated knowledge and classifies patterns as hook/skill/agent recommendations.
19
+ - **Agnix CI validation** - All plugins now run agnix lint in CI pipelines.
20
+ - **agent-knowledge submodule** - Research guides available as a git submodule.
21
+ - **Website additions** - How It Works content for consult, debate, web-ctl tabs.
22
+
23
+ ### Fixed
24
+
25
+ - **Accurate ecosystem counts** - Stats now show 15 plugins, 35 agents, 32 skills, 3,751 tests, 14 commands. Previously showed inflated/stale counts.
26
+ - **Pinned action SHAs** - Updated to latest stable versions for security.
27
+ - **CodeQL regex** - Fixed inefficient regular expression flagged by code scanning.
28
+ - **Go test fixture** - Added go.mod so CodeQL can analyze Go fixtures.
29
+ - **Website CSS** - Reduced commands section bottom padding, removed inline how-it-works paragraphs.
30
+
10
31
  ## [5.3.7] - 2026-03-02
11
32
 
12
33
  ### Fixed
package/README.md CHANGED
@@ -21,7 +21,7 @@
21
21
  </p>
22
22
 
23
23
  <p align="center">
24
- <b>14 plugins · 43 agents · 30 skills (across all repos) · 30k lines of lib code · 3,750 tests · 5 platforms</b><br>
24
+ <b>15 plugins · 35 agents · 32 skills (across all repos) · 30k lines of lib code · 3,751 tests · 5 platforms</b><br>
25
25
  <em>Plugins distributed as standalone repos under <a href="https://github.com/agent-sh">agent-sh</a> org — agentsys is the marketplace &amp; installer</em>
26
26
  </p>
27
27
 
@@ -47,7 +47,7 @@ AI models can write code. That's not the hard part anymore. The hard part is eve
47
47
 
48
48
  ## What This Is
49
49
 
50
- An agent orchestration system — 14 plugins, 43 agents, and 30 skills that compose into structured pipelines for software development. Each plugin lives in its own standalone repo under the [agent-sh](https://github.com/agent-sh) org. agentsys is the marketplace and installer that ties them together.
50
+ An agent orchestration system — 15 plugins, 35 agents, and 32 skills that compose into structured pipelines for software development. Each plugin lives in its own standalone repo under the [agent-sh](https://github.com/agent-sh) org. agentsys is the marketplace and installer that ties them together.
51
51
 
52
52
  Each agent has a single responsibility, a specific model assignment, and defined inputs/outputs. Pipelines enforce phase gates so agents can't skip steps. State persists across sessions so work survives interruptions.
53
53
 
@@ -104,8 +104,8 @@ Skills are the reusable implementation units. Agents invoke skills; commands orc
104
104
  | Section | What's there |
105
105
  |---------|--------------|
106
106
  | [The Approach](#the-approach) | Why it's built this way |
107
- | [Commands](#commands) | All 13 commands overview |
108
- | [Skills](#skills) | 30 skills across plugins |
107
+ | [Commands](#commands) | All 14 commands overview |
108
+ | [Skills](#skills) | 32 skills across plugins |
109
109
  | [Command Details](#command-details) | Deep dive into each command |
110
110
  | [How Commands Work Together](#how-commands-work-together) | Standalone vs integrated |
111
111
  | [Design Philosophy](#design-philosophy) | The thinking behind the architecture |
@@ -765,6 +765,47 @@ npx playwright install chromium
765
765
 
766
766
  **Skills:** web-auth (human-in-the-loop auth), web-browse (headless actions)
767
767
 
768
+ ### /release
769
+
770
+ > Versioned release with automatic ecosystem and tooling detection
771
+
772
+ ```bash
773
+ /release # Patch release (auto-discovers how this repo releases)
774
+ /release minor # Minor version bump
775
+ /release major --dry-run # Preview what would happen
776
+ ```
777
+
778
+ The release agent discovers how your repo releases before executing:
779
+
780
+ 1. **Checks for release tools** - semantic-release, release-it, goreleaser, changesets, cargo-release
781
+ 2. **Checks for scripts** - Makefile `release:` target, npm `release` script, `scripts/release.*`
782
+ 3. **Falls back to generic** - Version bump, changelog, tag, push, GitHub release, publish
783
+
784
+ Supports 12+ ecosystems: npm, cargo, python, go, maven, gradle, ruby, nuget, dart, hex, packagist, swift.
785
+
786
+ **Agent:** release-agent (sonnet model)
787
+
788
+ **Skill:** release (generic fallback workflow)
789
+
790
+ ### /skillers
791
+
792
+ > Learn from your workflow patterns and suggest automations
793
+
794
+ ```bash
795
+ /skillers show # Display current config and knowledge stats
796
+ /skillers compact # Analyze recent transcripts, extract patterns
797
+ /skillers compact --days=14 # Analyze older transcripts
798
+ /skillers recommend # Get automation suggestions from accumulated knowledge
799
+ ```
800
+
801
+ Reads your Claude Code conversation transcripts, identifies recurring patterns (pain points, repeated workflows, wishes), clusters them into weighted themes, and suggests skills, hooks, or agents to automate them.
802
+
803
+ No per-turn overhead - it reads transcripts that Claude Code already saves.
804
+
805
+ **Agents:** skillers-compactor (sonnet), skillers-recommender (opus)
806
+
807
+ **Skills:** compact, recommend
808
+
768
809
  ---
769
810
 
770
811
  ## How Commands Work Together
@@ -970,7 +1011,7 @@ The system is built on research, not guesswork.
970
1011
  - Instruction following reliability
971
1012
 
972
1013
  **Testing:**
973
- - 3,750 tests passing
1014
+ - 3,751 tests passing
974
1015
  - Drift-detect validated on 1,000+ repositories
975
1016
  - E2E workflow testing across all commands
976
1017
  - Cross-platform validation (Claude Code, OpenCode, Codex CLI, Cursor, Kiro)
@@ -490,7 +490,9 @@ function transformCommandForKiro(content, options) {
490
490
  // template literals inside the code as false fence endings.
491
491
  content = content.replace(/^```(?:javascript|js)?\n([\s\S]*?)^```$/gm, (fullBlock, codeContent) => {
492
492
  if (!codeContent.includes('Promise.all') || !codeContent.includes('Task(')) return fullBlock;
493
- const taskMatches = [...codeContent.matchAll(/Task\s*\(\s*\{[\s\S]*?subagent_type:\s*['"](?:[^"':]+:)?([^'"]+)['"][\s\S]*?prompt:\s*`((?:[^`]|\$\{[^}]*\})*)`/gs)];
493
+ // Use lazy [\s\S]*? for the template literal body: it stops at the first backtick and
494
+ // naturally matches any character including standalone $ (e.g. $100, $BUDGET).
495
+ const taskMatches = [...codeContent.matchAll(/Task\s*\(\s*\{[\s\S]*?subagent_type:\s*['"](?:[^"':]+:)?([^'"]+)['"][\s\S]*?prompt:\s*`([\s\S]*?)`/gs)];
494
496
  if (taskMatches.length < 2) return fullBlock;
495
497
 
496
498
  const delegations = taskMatches.map(m => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentsys",
3
- "version": "5.3.7",
3
+ "version": "5.4.0",
4
4
  "description": "A modular runtime and orchestration system for AI agents - works with Claude Code, OpenCode, and Codex CLI",
5
5
  "main": "lib/platform/detect-platform.js",
6
6
  "type": "commonjs",
@@ -645,7 +645,7 @@
645
645
  * COMMANDS SECTION
646
646
  * -------------------------------------------------------------------------- */
647
647
  .commands {
648
- padding: var(--space-24) var(--space-6);
648
+ padding: var(--space-24) var(--space-6) var(--space-16);
649
649
  }
650
650
 
651
651
  .commands__inner {
@@ -903,6 +903,44 @@
903
903
  color: var(--color-text-faint);
904
904
  }
905
905
 
906
+ /* --------------------------------------------------------------------------
907
+ * SCROLL CUE
908
+ * -------------------------------------------------------------------------- */
909
+ .scroll-cue {
910
+ text-align: center;
911
+ padding: var(--space-8) 0 var(--space-4);
912
+ }
913
+
914
+ .scroll-cue__link {
915
+ display: inline-flex;
916
+ flex-direction: column;
917
+ align-items: center;
918
+ gap: var(--space-2);
919
+ color: var(--color-text-tertiary);
920
+ text-decoration: none;
921
+ transition: color 0.2s ease;
922
+ }
923
+
924
+ .scroll-cue__link:hover {
925
+ color: var(--color-text-primary);
926
+ }
927
+
928
+ .scroll-cue__text {
929
+ font-size: var(--text-sm);
930
+ font-weight: 500;
931
+ letter-spacing: 0.05em;
932
+ text-transform: uppercase;
933
+ }
934
+
935
+ .scroll-cue__arrow {
936
+ animation: scroll-bounce 2s ease-in-out infinite;
937
+ }
938
+
939
+ @keyframes scroll-bounce {
940
+ 0%, 100% { transform: translateY(0); }
941
+ 50% { transform: translateY(6px); }
942
+ }
943
+
906
944
  /* --------------------------------------------------------------------------
907
945
  * HOW IT WORKS
908
946
  * -------------------------------------------------------------------------- */
@@ -658,6 +658,30 @@
658
658
  { title: 'Score sources', desc: 'Each source is scored by quality, relevance, and authority. Low-quality sources are filtered out.' },
659
659
  { title: 'Create guide', desc: 'Synthesizes a structured learning guide with RAG-optimized index saved for future agent lookups.' }
660
660
  ]
661
+ },
662
+ 11: {
663
+ subtitle: 'Ask another AI. Get a second opinion.',
664
+ steps: [
665
+ { title: 'Detect tools', desc: 'Finds which AI CLI tools are installed on your system. Picks the right model and flags for your effort level.' },
666
+ { title: 'Run consultation', desc: 'Spawns the tool via ACP (JSON-RPC 2.0 over stdio) or CLI with safe-mode defaults and a 240s timeout.' },
667
+ { title: 'Return response', desc: 'Parses output, redacts secrets (Shannon entropy > 4.0), and returns the response. Supports session continuations.' }
668
+ ]
669
+ },
670
+ 12: {
671
+ subtitle: 'Two AIs argue. You get the truth.',
672
+ steps: [
673
+ { title: 'Set up debate', desc: 'Parses natural language to identify proposer, challenger, topic, rounds, and effort level.' },
674
+ { title: 'Run rounds', desc: 'Proposer builds a case with evidence. Challenger responds with counterpoints. Each round refines the arguments.' },
675
+ { title: 'Deliver verdict', desc: 'The orchestrator synthesizes all rounds and picks a winner with reasoning and actionable takeaways.' }
676
+ ]
677
+ },
678
+ 13: {
679
+ subtitle: 'Browser automation. Encrypted sessions.',
680
+ steps: [
681
+ { title: 'Start session', desc: 'Creates an encrypted browser profile using AES-256-GCM. No daemon - each action is a single Playwright process.' },
682
+ { title: 'Authenticate', desc: 'Opens headed Chrome for human login (2FA, CAPTCHAs). Polls for success, then encrypts cookies for reuse.' },
683
+ { title: 'Run headless', desc: 'Subsequent actions run headless using saved cookies. Snapshot-based element discovery with classified error codes.' }
684
+ ]
661
685
  }
662
686
  };
663
687
 
package/site/content.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "meta": {
3
3
  "title": "agentsys",
4
- "description": "A modular runtime and orchestration system for AI agents. 14 plugins, 43 agents, 30 skills structured pipelines for Claude Code, OpenCode, Codex CLI, Cursor, and Kiro.",
4
+ "description": "A modular runtime and orchestration system for AI agents. 15 plugins, 35 agents, 32 skills - structured pipelines for Claude Code, OpenCode, Codex CLI, Cursor, and Kiro.",
5
5
  "url": "https://agent-sh.github.io/agentsys",
6
6
  "repo": "https://github.com/agent-sh/agentsys",
7
7
  "npm": "https://www.npmjs.com/package/agentsys",
8
- "version": "5.3.7",
8
+ "version": "5.4.0",
9
9
  "author": "Avi Fenesh",
10
10
  "author_url": "https://github.com/avifenesh"
11
11
  },
@@ -43,7 +43,7 @@
43
43
  "suffix": ""
44
44
  },
45
45
  {
46
- "value": "3,750",
46
+ "value": "3,751",
47
47
  "label": "Tests",
48
48
  "suffix": ""
49
49
  },
@@ -463,7 +463,7 @@
463
463
  ],
464
464
  "research": {
465
465
  "knowledge_base": "8,000 lines of curated documentation from Anthropic, OpenAI, Google, and Microsoft",
466
- "testing": "3,750 tests passing",
466
+ "testing": "3,751 tests passing",
467
467
  "drift_detect_repos": "1,000+ repositories validated",
468
468
  "token_reduction": "77% fewer tokens for drift-detect vs multi-agent approaches"
469
469
  },
package/site/index.html CHANGED
@@ -4,12 +4,12 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>AgentSys - Agent Runtime &amp; Orchestration System</title>
7
- <meta name="description" content="A modular runtime and orchestration system for AI agents. 14 plugins, 43 agents, 30 skills — structured pipelines for Claude Code, OpenCode, Codex CLI, Cursor, and Kiro.">
7
+ <meta name="description" content="A modular runtime and orchestration system for AI agents. 15 plugins, 35 agents, 32 skills — structured pipelines for Claude Code, OpenCode, Codex CLI, Cursor, and Kiro.">
8
8
  <meta name="theme-color" content="#09090b">
9
9
 
10
10
  <!-- Open Graph -->
11
11
  <meta property="og:title" content="AgentSys">
12
- <meta property="og:description" content="A modular runtime and orchestration system for AI agents. 14 plugins, 43 agents, 30 skills.">
12
+ <meta property="og:description" content="A modular runtime and orchestration system for AI agents. 15 plugins, 35 agents, 32 skills.">
13
13
  <meta property="og:image" content="https://agent-sh.github.io/agentsys/assets/logo.png">
14
14
  <meta property="og:url" content="https://agent-sh.github.io/agentsys/">
15
15
  <meta property="og:type" content="website">
@@ -17,7 +17,7 @@
17
17
  <!-- Twitter Card -->
18
18
  <meta name="twitter:card" content="summary_large_image">
19
19
  <meta name="twitter:title" content="AgentSys">
20
- <meta name="twitter:description" content="AI workflow automation. 14 plugins, 43 agents, 30 skills.">
20
+ <meta name="twitter:description" content="AI workflow automation. 15 plugins, 35 agents, 32 skills.">
21
21
  <meta name="twitter:image" content="https://agent-sh.github.io/agentsys/assets/logo.png">
22
22
 
23
23
  <!-- Content Security Policy -->
@@ -109,14 +109,14 @@
109
109
  <div class="hero__inner">
110
110
  <div class="hero__content">
111
111
  <div class="hero__badge anim-fade-in" data-delay="100">
112
- 14 plugins &middot; 43 agents &middot; 30 skills
112
+ 15 plugins &middot; 35 agents &middot; 32 skills
113
113
  </div>
114
114
  <h1 class="hero__title anim-fade-up" id="hero-title" data-delay="200">
115
115
  A modular <span class="text-gradient">runtime and orchestration system</span><br>
116
116
  for AI agents.
117
117
  </h1>
118
118
  <p class="hero__subtitle anim-fade-up" data-delay="350">
119
- Structured pipelines, gated phases, specialized agents. Works with Claude Code, OpenCode, and Codex CLI. 3,917 tests. Production-grade.
119
+ Structured pipelines, gated phases, specialized agents. Works with Claude Code, OpenCode, Codex CLI, Cursor, and Kiro. 3,750 tests. Production-grade.
120
120
  </p>
121
121
  <div class="hero__ctas anim-fade-up" data-delay="500">
122
122
  <a href="#install" class="btn btn--primary">Get Started</a>
@@ -195,6 +195,9 @@
195
195
  <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-8" id="tab-8" tabindex="-1" data-index="8">/repo-map</button>
196
196
  <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-9" id="tab-9" tabindex="-1" data-index="9">/sync-docs</button>
197
197
  <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-10" id="tab-10" tabindex="-1" data-index="10">/learn</button>
198
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-11" id="tab-11" tabindex="-1" data-index="11">/consult</button>
199
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-12" id="tab-12" tabindex="-1" data-index="12">/debate</button>
200
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-13" id="tab-13" tabindex="-1" data-index="13">/web-ctl</button>
198
201
  </div>
199
202
 
200
203
  <!-- Tab panels -->
@@ -406,10 +409,75 @@
406
409
  <span class="code-prompt">$</span> /learn kubernetes --depth=brief <span class="code-comment"># Quick overview</span></code></pre>
407
410
  </div>
408
411
  </div>
412
+
413
+ <div class="tabs__panel" role="tabpanel" id="tab-panel-11" aria-labelledby="tab-11" hidden>
414
+ <h3 class="tabs__panel-name">/consult</h3>
415
+ <p class="tabs__panel-tagline">Get a second opinion from another AI tool</p>
416
+ <ul class="tabs__panel-features">
417
+ <li>Cross-tool AI consultation via ACP transport</li>
418
+ <li>6 providers: Claude, Gemini, Codex, Copilot, Kiro, OpenCode</li>
419
+ <li>Effort-mapped model selection per provider</li>
420
+ <li>Session continuations and context injection</li>
421
+ </ul>
422
+ <div class="code-block">
423
+ <button class="code-block__copy" aria-label="Copy code to clipboard" data-code="/consult &quot;Is this the right approach?&quot; --tool=gemini --effort=high
424
+ /consult &quot;Review for performance&quot; --tool=codex">
425
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"/></svg>
426
+ </button>
427
+ <pre><code><span class="code-prompt">$</span> /consult "Is this the right approach?" --tool=gemini <span class="code-comment"># Second opinion</span>
428
+ <span class="code-prompt">$</span> /consult "Review for performance" --tool=codex <span class="code-comment"># Codex review</span></code></pre>
429
+ </div>
430
+ </div>
431
+
432
+ <div class="tabs__panel" role="tabpanel" id="tab-panel-12" aria-labelledby="tab-12" hidden>
433
+ <h3 class="tabs__panel-name">/debate</h3>
434
+ <p class="tabs__panel-tagline">Structured adversarial debate between AI tools</p>
435
+ <ul class="tabs__panel-features">
436
+ <li>Multi-round proposer/challenger format</li>
437
+ <li>Evidence-backed arguments with mandatory counterpoints</li>
438
+ <li>Any two AI tools as debaters (Claude, Gemini, Codex, Kiro, etc.)</li>
439
+ <li>Final verdict from the orchestrator</li>
440
+ </ul>
441
+ <div class="code-block">
442
+ <button class="code-block__copy" aria-label="Copy code to clipboard" data-code="/debate codex vs gemini about microservices vs monolith
443
+ /debate claude vs kiro about our auth implementation">
444
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"/></svg>
445
+ </button>
446
+ <pre><code><span class="code-prompt">$</span> /debate codex vs gemini about microservices vs monolith <span class="code-comment"># Structured debate</span>
447
+ <span class="code-prompt">$</span> /debate claude vs kiro about our auth implementation <span class="code-comment"># Codebase debate</span></code></pre>
448
+ </div>
449
+ </div>
450
+
451
+ <div class="tabs__panel" role="tabpanel" id="tab-panel-13" aria-labelledby="tab-13" hidden>
452
+ <h3 class="tabs__panel-name">/web-ctl</h3>
453
+ <p class="tabs__panel-tagline">Browser automation for AI agents</p>
454
+ <ul class="tabs__panel-features">
455
+ <li>Headless Playwright with encrypted session persistence</li>
456
+ <li>Human-in-the-loop auth handoff with CAPTCHA detection</li>
457
+ <li>Anti-bot measures and output sanitization</li>
458
+ <li>Snapshot-based accessibility tree for element discovery</li>
459
+ </ul>
460
+ <div class="code-block">
461
+ <button class="code-block__copy" aria-label="Copy code to clipboard" data-code="/web-ctl goto https://example.com
462
+ /web-ctl auth github --url https://github.com/login">
463
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"/></svg>
464
+ </button>
465
+ <pre><code><span class="code-prompt">$</span> /web-ctl goto https://example.com <span class="code-comment"># Navigate</span>
466
+ <span class="code-prompt">$</span> /web-ctl auth github --url https://github.com/login <span class="code-comment"># Auth handoff</span></code></pre>
467
+ </div>
468
+ </div>
409
469
  </div>
410
470
  </div>
411
471
  </section>
412
472
 
473
+ <!-- ===== SCROLL CUE ===== -->
474
+ <div class="scroll-cue anim-fade-up" data-delay="300">
475
+ <a href="#how-it-works" class="scroll-cue__link" aria-label="Scroll to How It Works">
476
+ <span class="scroll-cue__text">How It Works</span>
477
+ <svg class="scroll-cue__arrow" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 5v14"/><path d="m19 12-7 7-7-7"/></svg>
478
+ </a>
479
+ </div>
480
+
413
481
  <!-- ===== HOW IT WORKS ===== -->
414
482
  <section class="how-it-works" id="how-it-works" aria-labelledby="hiw-title">
415
483
  <div class="how-it-works__inner">
@@ -497,8 +565,8 @@
497
565
  <!-- Agent tier tabs -->
498
566
  <div class="agents-skills__tabs anim-fade-up" data-delay="200">
499
567
  <div class="agent-tabs" role="tablist" aria-label="Agent tiers">
500
- <button class="agent-tabs__tab agent-tabs__tab--active" role="tab" aria-selected="true" aria-controls="agent-tier-opus" id="agent-tab-opus" data-index="0">Opus <span class="agent-tabs__count">13</span></button>
501
- <button class="agent-tabs__tab" role="tab" aria-selected="false" aria-controls="agent-tier-sonnet" id="agent-tab-sonnet" tabindex="-1" data-index="1">Sonnet <span class="agent-tabs__count">13</span></button>
568
+ <button class="agent-tabs__tab agent-tabs__tab--active" role="tab" aria-selected="true" aria-controls="agent-tier-opus" id="agent-tab-opus" data-index="0">Opus <span class="agent-tabs__count">14</span></button>
569
+ <button class="agent-tabs__tab" role="tab" aria-selected="false" aria-controls="agent-tier-sonnet" id="agent-tab-sonnet" tabindex="-1" data-index="1">Sonnet <span class="agent-tabs__count">15</span></button>
502
570
  <button class="agent-tabs__tab" role="tab" aria-selected="false" aria-controls="agent-tier-haiku" id="agent-tab-haiku" tabindex="-1" data-index="2">Haiku <span class="agent-tabs__count">4</span></button>
503
571
  <button class="agent-tabs__tab" role="tab" aria-selected="false" aria-controls="agent-tier-specialists" id="agent-tab-specialists" tabindex="-1" data-index="3">Specialists <span class="agent-tabs__count">10</span></button>
504
572
  </div>
@@ -519,6 +587,7 @@
519
587
  <div class="agent-card"><span class="agent-card__name">hooks-enhancer</span><span class="tier-badge tier-badge--opus">opus</span><p class="agent-card__desc">Git hooks and automation analysis</p></div>
520
588
  <div class="agent-card"><span class="agent-card__name">prompt-enhancer</span><span class="tier-badge tier-badge--opus">opus</span><p class="agent-card__desc">Prompt engineering best practices</p></div>
521
589
  <div class="agent-card"><span class="agent-card__name">skills-enhancer</span><span class="tier-badge tier-badge--opus">opus</span><p class="agent-card__desc">Skill definition quality analysis</p></div>
590
+ <div class="agent-card"><span class="agent-card__name">debate-orchestrator</span><span class="tier-badge tier-badge--opus">opus</span><p class="agent-card__desc">Structured adversarial debate coordination</p></div>
522
591
  </div>
523
592
  </div>
524
593
 
@@ -538,6 +607,8 @@
538
607
  <div class="agent-card"><span class="agent-card__name">perf-theory-tester</span><span class="tier-badge tier-badge--sonnet">sonnet</span><p class="agent-card__desc">Controlled experiment execution</p></div>
539
608
  <div class="agent-card"><span class="agent-card__name">sync-docs-agent</span><span class="tier-badge tier-badge--sonnet">sonnet</span><p class="agent-card__desc">Documentation sync and update</p></div>
540
609
  <div class="agent-card"><span class="agent-card__name">agnix-agent</span><span class="tier-badge tier-badge--sonnet">sonnet</span><p class="agent-card__desc">Agent config linting orchestration</p></div>
610
+ <div class="agent-card"><span class="agent-card__name">consult-agent</span><span class="tier-badge tier-badge--sonnet">sonnet</span><p class="agent-card__desc">Cross-tool AI consultation orchestration</p></div>
611
+ <div class="agent-card"><span class="agent-card__name">web-session</span><span class="tier-badge tier-badge--sonnet">sonnet</span><p class="agent-card__desc">Browser automation and session management</p></div>
541
612
  </div>
542
613
  </div>
543
614
 
@@ -614,6 +685,10 @@
614
685
  <span class="skill-card">sync-docs</span>
615
686
  <span class="skill-card">learn-topic</span>
616
687
  <span class="skill-card">agnix-lint</span>
688
+ <span class="skill-card">consult</span>
689
+ <span class="skill-card">debate</span>
690
+ <span class="skill-card">web-auth</span>
691
+ <span class="skill-card">web-browse</span>
617
692
  </div>
618
693
  </div>
619
694
  </div>
package/site/ux-spec.md CHANGED
@@ -94,7 +94,7 @@ Scroll order with rationale for each section. All sections are full-width, alter
94
94
  - **Single column on mobile:** Text above, terminal below. Stack with 48px gap.
95
95
 
96
96
  ### Left Column Content
97
- 1. **Badge** (top, above title): Small pill showing version or "14 plugins . 43 agents . 30 skills"
97
+ 1. **Badge** (top, above title): Small pill showing version or "15 plugins . 35 agents . 32 skills"
98
98
  - Background: `rgba(99, 102, 241, 0.12)`, border: `1px solid rgba(99, 102, 241, 0.25)`, border-radius: 9999px
99
99
  - Font: 13px, font-weight 500, primary accent color
100
100
  - Padding: 4px 14px
@@ -104,7 +104,7 @@ Scroll order with rationale for each section. All sections are full-width, alter
104
104
  - Color: white
105
105
  - "entire dev workflow" portion highlighted with a subtle gradient text (primary-to-secondary accent via `background-clip: text`)
106
106
 
107
- 3. **Subtitle:** "14 plugins, 43 agents, 30 skills. From task selection to merged PR. Works with Claude Code, OpenCode, Codex CLI, Cursor, and Kiro."
107
+ 3. **Subtitle:** "15 plugins, 35 agents, 32 skills. From task selection to merged PR. Works with Claude Code, OpenCode, Codex CLI, Cursor, and Kiro."
108
108
  - Font: 18px on desktop, 16px on mobile, font-weight 400, line-height 1.6
109
109
  - Color: `rgba(255, 255, 255, 0.6)`
110
110
  - Max-width: 520px
@@ -650,13 +650,13 @@ This disables:
650
650
  ### Head Content
651
651
  ```html
652
652
  <title>AgentSys - Agent Runtime &amp; Orchestration System</title>
653
- <meta name="description" content="A modular runtime and orchestration system for AI agents. 14 plugins, 43 agents, 30 skills — structured pipelines for Claude Code, OpenCode, Codex CLI, Cursor, and Kiro.">
653
+ <meta name="description" content="A modular runtime and orchestration system for AI agents. 15 plugins, 35 agents, 32 skills — structured pipelines for Claude Code, OpenCode, Codex CLI, Cursor, and Kiro.">
654
654
  <meta name="viewport" content="width=device-width, initial-scale=1">
655
655
  <meta name="theme-color" content="#0a0a0f">
656
656
 
657
657
  <!-- Open Graph -->
658
658
  <meta property="og:title" content="AgentSys">
659
- <meta property="og:description" content="AI workflow automation. 14 plugins, 43 agents, 30 skills. Task to merged PR.">
659
+ <meta property="og:description" content="AI workflow automation. 15 plugins, 35 agents, 32 skills. Task to merged PR.">
660
660
  <meta property="og:image" content="https://agent-sh.github.io/agentsys/assets/og-image.png">
661
661
  <meta property="og:url" content="https://agent-sh.github.io/agentsys/">
662
662
  <meta property="og:type" content="website">
@@ -664,7 +664,7 @@ This disables:
664
664
  <!-- Twitter Card -->
665
665
  <meta name="twitter:card" content="summary_large_image">
666
666
  <meta name="twitter:title" content="AgentSys">
667
- <meta name="twitter:description" content="AI workflow automation. 14 plugins, 43 agents, 30 skills.">
667
+ <meta name="twitter:description" content="AI workflow automation. 15 plugins, 35 agents, 32 skills.">
668
668
  <meta name="twitter:image" content="https://agent-sh.github.io/agentsys/assets/og-image.png">
669
669
  ```
670
670