agentsys 5.13.4 → 6.0.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 (39) hide show
  1. package/.claude-plugin/marketplace.json +28 -28
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +2 -3
  4. package/AGENTS.md +8 -8
  5. package/CHANGELOG.md +34 -0
  6. package/README.md +11 -116
  7. package/lib/binary/index.js +8 -2
  8. package/lib/binary/shared-helpers.js +160 -0
  9. package/lib/collectors/codebase.js +7 -2
  10. package/lib/collectors/documentation.js +8 -2
  11. package/lib/enhance/agent-patterns.js +17 -4
  12. package/lib/enhance/auto-suppression.js +19 -7
  13. package/lib/enhance/cross-file-analyzer.js +11 -4
  14. package/lib/enhance/docs-patterns.js +6 -2
  15. package/lib/enhance/fixer.js +22 -5
  16. package/lib/enhance/skill-patterns.js +5 -5
  17. package/lib/index.js +2 -0
  18. package/lib/repo-intel/cache.js +171 -0
  19. package/lib/repo-intel/converter.js +130 -0
  20. package/lib/repo-intel/embed/binary.js +242 -0
  21. package/lib/repo-intel/embed/index.js +26 -0
  22. package/lib/repo-intel/embed/orchestrator.js +239 -0
  23. package/lib/repo-intel/embed/preference.js +136 -0
  24. package/lib/repo-intel/enrich.js +198 -0
  25. package/lib/repo-intel/index.js +370 -0
  26. package/lib/repo-intel/installer.js +78 -0
  27. package/lib/repo-intel/queries.js +213 -13
  28. package/lib/repo-intel/updater.js +104 -0
  29. package/lib/repo-map/index.js +19 -254
  30. package/package.json +1 -1
  31. package/scripts/generate-docs.js +13 -18
  32. package/scripts/plugins.txt +2 -2
  33. package/site/assets/js/main.js +5 -13
  34. package/site/content.json +6 -23
  35. package/site/index.html +29 -77
  36. package/site/ux-spec.md +7 -7
  37. package/.kiro/agents/web-session.json +0 -12
  38. package/.kiro/skills/web-auth/SKILL.md +0 -177
  39. package/.kiro/skills/web-browse/SKILL.md +0 -516
@@ -55,7 +55,6 @@ const CATEGORY_MAP = {
55
55
  'sync-docs': 'Cleanup',
56
56
  'drift-detect': 'Analysis',
57
57
  'repo-intel': 'Analysis',
58
- 'axiom': 'Memory',
59
58
  'banthis': 'Memory',
60
59
  'learn': 'AI Collaboration',
61
60
  'agnix': 'Linting',
@@ -64,12 +63,13 @@ const CATEGORY_MAP = {
64
63
  'skillers': 'AI Collaboration',
65
64
  'skill-curator': 'Enhancement',
66
65
  'system-prompt-curator': 'Enhancement',
67
- 'web-ctl': 'Web',
68
66
  'ship': 'Release',
69
67
  'onboard': 'Onboarding',
70
68
  'can-i-help': 'Onboarding',
71
69
  'audit-project': 'Code Review',
72
- 'glidemq': 'Message Queues'
70
+ 'glidemq': 'Message Queues',
71
+ 'mojo': 'Languages',
72
+ 'ada-spark': 'Languages'
73
73
  };
74
74
 
75
75
  // Static skill definitions for cross-repo plugins (not discoverable locally)
@@ -100,13 +100,10 @@ const STATIC_SKILLS = [
100
100
  { plugin: 'sync-docs', name: 'sync-docs' },
101
101
  { plugin: 'drift-detect', name: 'drift-analysis' },
102
102
  { plugin: 'repo-intel', name: 'repo-intel' },
103
- { plugin: 'axiom', name: 'axiom' },
104
103
  { plugin: 'banthis', name: 'banthis' },
105
104
  { plugin: 'consult', name: 'consult' },
106
105
  { plugin: 'debate', name: 'debate' },
107
106
  { plugin: 'learn', name: 'learn' },
108
- { plugin: 'web-ctl', name: 'web-auth' },
109
- { plugin: 'web-ctl', name: 'web-browse' },
110
107
  { plugin: 'ship', name: 'release' },
111
108
  { plugin: 'skill-curator', name: 'skill-curator' },
112
109
  { plugin: 'system-prompt-curator', name: 'system-prompt-curator' },
@@ -115,6 +112,8 @@ const STATIC_SKILLS = [
115
112
  { plugin: 'onboard', name: 'onboard' },
116
113
  { plugin: 'can-i-help', name: 'can-i-help' },
117
114
  { plugin: 'audit-project', name: 'audit-project' },
115
+ { plugin: 'mojo', name: 'mojo' },
116
+ { plugin: 'ada-spark', name: 'ada-spark' },
118
117
  { plugin: 'glidemq', name: 'glide-mq' },
119
118
  { plugin: 'glidemq', name: 'glide-mq-migrate-bullmq' },
120
119
  { plugin: 'glidemq', name: 'glide-mq-migrate-bee' },
@@ -134,13 +133,11 @@ const PURPOSE_MAP = {
134
133
  'drift-detect': 'Plan drift detection',
135
134
  'repo-intel': 'Unified static analysis',
136
135
  'sync-docs': 'Documentation sync',
137
- 'axiom': 'Durable agent-native memory',
138
136
  'banthis': 'Durable negative behavior memory',
139
137
  'learn': 'Topic research and learning guides',
140
138
  'agnix': 'Agent config linting',
141
139
  'consult': 'Cross-tool AI consultation',
142
140
  'debate': 'Multi-perspective debate analysis',
143
- 'web-ctl': 'Browser automation for AI agents',
144
141
  'skillers': 'Workflow pattern learning',
145
142
  'skill-curator': 'Skill authoring and review',
146
143
  'system-prompt-curator': 'System prompt curation',
@@ -193,10 +190,10 @@ function generateCommandsTable(commands) {
193
190
  // Curated display order (featured commands first, then alphabetical)
194
191
  const COMMAND_ORDER = [
195
192
  'next-task', 'prepare-delivery', 'gate-and-ship',
196
- 'axiom', 'banthis', 'agnix', 'ship', 'deslop', 'perf',
193
+ 'banthis', 'agnix', 'ship', 'deslop', 'perf',
197
194
  'drift-detect', 'audit-project', 'enhance',
198
195
  'repo-intel', 'sync-docs', 'learn', 'consult',
199
- 'debate', 'web-ctl', 'release', 'skillers',
196
+ 'debate', 'release', 'skillers',
200
197
  'skill-curator', 'system-prompt-curator',
201
198
  'onboard', 'can-i-help'
202
199
  ];
@@ -206,7 +203,6 @@ function generateCommandsTable(commands) {
206
203
  'next-task': 'Task workflow: discovery, implementation, PR, merge',
207
204
  'prepare-delivery': 'Pre-ship quality gates: deslop, review, validation, docs sync',
208
205
  'gate-and-ship': 'Quality gates then ship (/prepare-delivery + /ship)',
209
- 'axiom': 'Durable memory: load, query, list, bootstrap projects, and record approved knowledge',
210
206
  'banthis': 'Durable negative memory: persist banned agent behaviors',
211
207
  'agnix': 'Lint agent configurations (399 rules)',
212
208
  'ship': 'PR creation, CI monitoring, merge',
@@ -220,7 +216,6 @@ function generateCommandsTable(commands) {
220
216
  'learn': 'Research topics, create learning guides',
221
217
  'consult': 'Cross-tool AI consultation',
222
218
  'debate': 'Structured debate between AI tools',
223
- 'web-ctl': 'Browser automation for AI agents',
224
219
  'release': 'Versioned release with ecosystem detection',
225
220
  'skillers': 'Workflow pattern learning and automation',
226
221
  'skill-curator': 'Create and improve reliable SKILL.md files',
@@ -284,7 +279,7 @@ function generateSkillsTable(skills) {
284
279
  const categoryOrder = [
285
280
  'Workflow', 'Message Queues', 'Enhancement', 'Performance', 'Cleanup',
286
281
  'Code Review', 'AI Collaboration', 'Onboarding',
287
- 'Web', 'Release', 'Analysis', 'Memory', 'Linting', 'Other'
282
+ 'Web', 'Release', 'Analysis', 'Memory', 'Linting', 'Languages', 'Other'
288
283
  ];
289
284
 
290
285
  const lines = [
@@ -445,21 +440,21 @@ const STATIC_PLUGIN_AGENT_COUNTS = {
445
440
  'drift-detect': 1,
446
441
  'enhance': 8,
447
442
  'sync-docs': 1,
448
- 'repo-intel': 1,
449
- 'axiom': 0,
443
+ 'repo-intel': 3,
450
444
  'banthis': 0,
451
445
  'perf': 6,
452
446
  'learn': 1,
453
- 'agnix': 1,
447
+ 'agnix': 0,
454
448
  'consult': 1,
455
449
  'debate': 1,
456
- 'web-ctl': 1,
457
450
  'skill-curator': 0,
458
451
  'system-prompt-curator': 0,
459
452
  'skillers': 2,
460
453
  'onboard': 1,
461
454
  'can-i-help': 1,
462
- 'zig-lsp': 0
455
+ 'zig-lsp': 0,
456
+ 'mojo': 0,
457
+ 'ada-spark': 0
463
458
  };
464
459
  const STATIC_PLUGIN_COUNT = Object.keys(STATIC_PLUGIN_AGENT_COUNTS).length;
465
460
  const STATIC_FILE_BASED_AGENT_COUNT = Object.values(STATIC_PLUGIN_AGENT_COUNTS).reduce((sum, count) => sum + count, 0);
@@ -1,5 +1,5 @@
1
+ ada-spark
1
2
  agnix
2
- axiom
3
3
  audit-project
4
4
  banthis
5
5
  can-i-help
@@ -10,6 +10,7 @@ drift-detect
10
10
  enhance
11
11
  gate-and-ship
12
12
  learn
13
+ mojo
13
14
  next-task
14
15
  onboard
15
16
  perf
@@ -20,5 +21,4 @@ skill-curator
20
21
  skillers
21
22
  sync-docs
22
23
  system-prompt-curator
23
- web-ctl
24
24
  zig-lsp
@@ -676,14 +676,6 @@
676
676
  ]
677
677
  },
678
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
- ]
685
- },
686
- 14: {
687
679
  subtitle: 'Five quality gates. Zero shortcuts.',
688
680
  steps: [
689
681
  { title: 'Clean and lint', desc: 'Deslop + simplify + test-coverage run in parallel. Then agnix and /enhance lint any changed agent configs.' },
@@ -691,7 +683,7 @@
691
683
  { title: 'Sync docs and ship', desc: 'Documentation synced with code changes. Ready for /ship or /gate-and-ship to create the PR.' }
692
684
  ]
693
685
  },
694
- 15: {
686
+ 14: {
695
687
  subtitle: 'Quality gates then ship. One command.',
696
688
  steps: [
697
689
  { title: 'Run /prepare-delivery', desc: 'All five quality gates: deslop, config lint, review loop, delivery validation, and docs sync.' },
@@ -699,7 +691,7 @@
699
691
  { title: 'Done', desc: 'From code-complete to merged PR. If gates fail, ship does not run. Each piece also runs independently.' }
700
692
  ]
701
693
  },
702
- 16: {
694
+ 15: {
703
695
  subtitle: 'Detect ecosystem. Tag. Publish.',
704
696
  steps: [
705
697
  { title: 'Discover release method', desc: 'Finds your release tool: semantic-release, release-it, goreleaser, cargo-release, or manual npm/cargo/go publish.' },
@@ -707,7 +699,7 @@
707
699
  { title: 'Tag and publish', desc: 'Creates git tag, publishes to registry (npm, crates.io, PyPI, etc.), creates GitHub release with notes.' }
708
700
  ]
709
701
  },
710
- 17: {
702
+ 16: {
711
703
  subtitle: 'Transcripts in. Automation suggestions out.',
712
704
  steps: [
713
705
  { title: 'Read transcripts', desc: 'Reads saved sessions from Claude Code, Codex, and OpenCode. No hooks, no per-turn overhead.' },
@@ -715,7 +707,7 @@
715
707
  { title: 'Suggest automation', desc: 'Recommends skills, hooks, and agents that would automate the patterns found. Checks existing ecosystem first.' }
716
708
  ]
717
709
  },
718
- 18: {
710
+ 17: {
719
711
  subtitle: 'Automated data collection. Interactive tour.',
720
712
  steps: [
721
713
  { title: 'Collect project data', desc: 'Scans package.json, git history, directory structure, key files, and conventions automatically.' },
@@ -723,7 +715,7 @@
723
715
  { title: 'Interactive Q&A', desc: 'Answers questions about the codebase interactively. Identifies key files, conventions, and gotchas.' }
724
716
  ]
725
717
  },
726
- 19: {
718
+ 18: {
727
719
  subtitle: 'Match skills to project needs.',
728
720
  steps: [
729
721
  { title: 'Analyze project', desc: 'Uses repo-intel to find test gaps, stale docs, open issues, bugspots, and areas with low bus factor.' },
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. 24 plugins, 49 agents, 45 skills - structured pipelines for Claude Code, OpenCode, Codex CLI, Cursor, and Kiro.",
4
+ "description": "A modular runtime and orchestration system for AI agents. 24 plugins, 49 agents, 44 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.13.4",
8
+ "version": "6.0.0",
9
9
  "author": "Avi Fenesh",
10
10
  "author_url": "https://github.com/avifenesh"
11
11
  },
@@ -33,7 +33,7 @@
33
33
  "suffix": ""
34
34
  },
35
35
  {
36
- "value": "45",
36
+ "value": "44",
37
37
  "label": "Skills",
38
38
  "suffix": ""
39
39
  },
@@ -43,7 +43,7 @@
43
43
  "suffix": ""
44
44
  },
45
45
  {
46
- "value": "3,513",
46
+ "value": "3,518",
47
47
  "label": "Tests",
48
48
  "suffix": ""
49
49
  },
@@ -109,13 +109,6 @@
109
109
  "example": "/gate-and-ship",
110
110
  "category": "workflow"
111
111
  },
112
- {
113
- "name": "/axiom",
114
- "tagline": "Durable memory for agents",
115
- "description": "Load thin context, query project or global knowledge, create missing project scaffolds, and propose human-approved records in a private axiom-based knowledge repo.",
116
- "example": "/axiom before-any --project flowfabric",
117
- "category": "workflow"
118
- },
119
112
  {
120
113
  "name": "/banthis",
121
114
  "tagline": "Durable negative memory",
@@ -126,7 +119,7 @@
126
119
  {
127
120
  "name": "/agnix",
128
121
  "tagline": "Lint agent configs before they break",
129
- "description": "399 validation rules (126 auto-fixable) for Skills, Memory, Hooks, MCP, and Plugins across 10+ AI tools including Claude Code, Cursor, GitHub Copilot, Codex CLI, OpenCode, Gemini CLI, Cline, Windsurf, Roo Code, and Amp. SARIF output for GitHub Code Scanning.",
122
+ "description": "423 validation rules (129 auto-fixable) for Skills, Memory, Hooks, MCP, and Plugins across 10+ AI tools including Claude Code, Cursor, GitHub Copilot, Codex CLI, OpenCode, Gemini CLI, Cline, Windsurf, Roo Code, and Amp. SARIF output for GitHub Code Scanning.",
130
123
  "example": "/agnix --fix",
131
124
  "category": "linting"
132
125
  },
@@ -207,13 +200,6 @@
207
200
  "example": "/debate claude vs kiro about microservices vs monolith",
208
201
  "category": "analysis"
209
202
  },
210
- {
211
- "name": "/web-ctl",
212
- "tagline": "Browser automation for AI agents",
213
- "description": "Navigate, authenticate, and interact with web pages via headless Playwright. Persistent encrypted sessions, human-in-the-loop auth handoff with CAPTCHA detection, and anti-bot measures.",
214
- "example": "/web-ctl browse https://example.com",
215
- "category": "maintenance"
216
- },
217
203
  {
218
204
  "name": "/release",
219
205
  "tagline": "Versioned release with ecosystem detection",
@@ -445,7 +431,6 @@
445
431
  "sync-docs-agent",
446
432
  "agnix-agent",
447
433
  "consult-agent",
448
- "web-session",
449
434
  "skillers-compactor",
450
435
  "release-agent",
451
436
  "onboard-agent",
@@ -497,8 +482,6 @@
497
482
  "version": "5.0.0",
498
483
  "date": "2026-02-20",
499
484
  "highlights": [
500
- "New /web-ctl plugin - browser automation with encrypted session persistence",
501
- "Human-in-the-loop auth handoff with CAPTCHA detection",
502
485
  "Multi-platform support: Claude Code, OpenCode, Codex CLI"
503
486
  ]
504
487
  }
@@ -559,7 +542,7 @@
559
542
  ],
560
543
  "research": {
561
544
  "knowledge_base": "8,000 lines of curated documentation from Anthropic, OpenAI, Google, and Microsoft",
562
- "testing": "3,513 tests passing",
545
+ "testing": "3,518 tests passing",
563
546
  "drift_detect_repos": "1,000+ repositories validated",
564
547
  "token_reduction": "77% fewer tokens for drift-detect vs multi-agent approaches"
565
548
  },
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. 24 plugins, 49 agents, 45 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. 24 plugins, 49 agents, 44 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. 24 plugins, 49 agents, 45 skills.">
12
+ <meta property="og:description" content="A modular runtime and orchestration system for AI agents. 24 plugins, 49 agents, 44 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. 24 plugins, 49 agents, 45 skills.">
20
+ <meta name="twitter:description" content="AI workflow automation. 24 plugins, 49 agents, 44 skills.">
21
21
  <meta name="twitter:image" content="https://agent-sh.github.io/agentsys/assets/logo.png">
22
22
 
23
23
  <!-- Content Security Policy -->
@@ -107,14 +107,14 @@
107
107
  <div class="hero__inner">
108
108
  <div class="hero__content">
109
109
  <div class="hero__badge anim-fade-in" data-delay="100">
110
- 24 plugins &middot; 49 agents &middot; 45 skills
110
+ 24 plugins &middot; 49 agents &middot; 44 skills
111
111
  </div>
112
112
  <h1 class="hero__title anim-fade-up" id="hero-title" data-delay="200">
113
113
  A modular <span class="text-gradient">runtime and orchestration system</span><br>
114
114
  for AI agents.
115
115
  </h1>
116
116
  <p class="hero__subtitle anim-fade-up" data-delay="350">
117
- Structured pipelines, gated phases, specialized agents. Works with Claude Code, OpenCode, Codex CLI, Cursor, and Kiro. 3,513 tests. Production-grade.
117
+ Structured pipelines, gated phases, specialized agents. Works with Claude Code, OpenCode, Codex CLI, Cursor, and Kiro. 3,518 tests. Production-grade.
118
118
  </p>
119
119
  <div class="hero__ctas anim-fade-up" data-delay="500">
120
120
  <a href="#install" class="btn btn--primary">Get Started</a>
@@ -164,11 +164,11 @@
164
164
  <span class="stats__label">Agents</span>
165
165
  </div>
166
166
  <div class="stats__item">
167
- <span class="stats__number" aria-live="polite" data-target="45">0</span>
167
+ <span class="stats__number" aria-live="polite" data-target="44">0</span>
168
168
  <span class="stats__label">Skills</span>
169
169
  </div>
170
170
  <div class="stats__item">
171
- <span class="stats__number" aria-live="polite" data-target="3513">0</span>
171
+ <span class="stats__number" aria-live="polite" data-target="3518">0</span>
172
172
  <span class="stats__label">Tests Passing</span>
173
173
  </div>
174
174
  </div>
@@ -177,7 +177,7 @@
177
177
  <!-- ===== COMMANDS ===== -->
178
178
  <section class="commands" id="commands" aria-labelledby="commands-title">
179
179
  <div class="commands__inner">
180
- <h2 class="commands__title anim-fade-up" id="commands-title">24 Commands. One Toolkit.</h2>
180
+ <h2 class="commands__title anim-fade-up" id="commands-title">22 Commands. One Toolkit.</h2>
181
181
  <p class="commands__subtitle anim-fade-up" data-delay="100">Each works standalone. Together, they automate everything.</p>
182
182
 
183
183
  <div class="commands__tabs anim-fade-up" data-delay="200">
@@ -195,17 +195,15 @@
195
195
  <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-10" id="tab-10" tabindex="-1" data-index="10">/learn</button>
196
196
  <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-11" id="tab-11" tabindex="-1" data-index="11">/consult</button>
197
197
  <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-12" id="tab-12" tabindex="-1" data-index="12">/debate</button>
198
- <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>
199
- <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-14" id="tab-14" tabindex="-1" data-index="14">/prepare-delivery</button>
200
- <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-15" id="tab-15" tabindex="-1" data-index="15">/gate-and-ship</button>
201
- <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-16" id="tab-16" tabindex="-1" data-index="16">/release</button>
202
- <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-17" id="tab-17" tabindex="-1" data-index="17">/skillers</button>
203
- <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-18" id="tab-18" tabindex="-1" data-index="18">/onboard</button>
204
- <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-19" id="tab-19" tabindex="-1" data-index="19">/can-i-help</button>
205
- <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-20" id="tab-20" tabindex="-1" data-index="20">/axiom</button>
206
- <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-21" id="tab-21" tabindex="-1" data-index="21">/banthis</button>
207
- <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-22" id="tab-22" tabindex="-1" data-index="22">/skill-curator</button>
208
- <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-23" id="tab-23" tabindex="-1" data-index="23">/system-prompt-curator</button>
198
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-13" id="tab-13" tabindex="-1" data-index="13">/prepare-delivery</button>
199
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-14" id="tab-14" tabindex="-1" data-index="14">/gate-and-ship</button>
200
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-15" id="tab-15" tabindex="-1" data-index="15">/release</button>
201
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-16" id="tab-16" tabindex="-1" data-index="16">/skillers</button>
202
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-17" id="tab-17" tabindex="-1" data-index="17">/onboard</button>
203
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-18" id="tab-18" tabindex="-1" data-index="18">/can-i-help</button>
204
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-19" id="tab-19" tabindex="-1" data-index="19">/banthis</button>
205
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-20" id="tab-20" tabindex="-1" data-index="20">/skill-curator</button>
206
+ <button class="tabs__tab" role="tab" aria-selected="false" aria-controls="tab-panel-21" id="tab-21" tabindex="-1" data-index="21">/system-prompt-curator</button>
209
207
  </div>
210
208
 
211
209
  <!-- Tab panels -->
@@ -232,9 +230,9 @@
232
230
  <h3 class="tabs__panel-name">/agnix</h3>
233
231
  <p class="tabs__panel-tagline">Lint agent configs before they break</p>
234
232
  <ul class="tabs__panel-features">
235
- <li>399 validation rules across 36 categories</li>
233
+ <li>423 validation rules across 36 categories</li>
236
234
  <li>10+ AI tools: Claude Code, Cursor, Copilot, Codex, OpenCode, Gemini CLI</li>
237
- <li>126 auto-fixable rules with --fix flag</li>
235
+ <li>129 auto-fixable rules with --fix flag</li>
238
236
  <li>SARIF output for GitHub Code Scanning</li>
239
237
  </ul>
240
238
  <div class="code-block">
@@ -457,25 +455,6 @@
457
455
  </div>
458
456
 
459
457
  <div class="tabs__panel" role="tabpanel" id="tab-panel-13" aria-labelledby="tab-13" hidden>
460
- <h3 class="tabs__panel-name">/web-ctl</h3>
461
- <p class="tabs__panel-tagline">Browser automation for AI agents</p>
462
- <ul class="tabs__panel-features">
463
- <li>Headless Playwright with encrypted session persistence</li>
464
- <li>Human-in-the-loop auth handoff with CAPTCHA detection</li>
465
- <li>Anti-bot measures and output sanitization</li>
466
- <li>Snapshot-based accessibility tree for element discovery</li>
467
- </ul>
468
- <div class="code-block">
469
- <button class="code-block__copy" aria-label="Copy code to clipboard" data-code="/web-ctl goto https://example.com
470
- /web-ctl auth github --url https://github.com/login">
471
- <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>
472
- </button>
473
- <pre><code><span class="code-prompt">$</span> /web-ctl goto https://example.com <span class="code-comment"># Navigate</span>
474
- <span class="code-prompt">$</span> /web-ctl auth github --url https://github.com/login <span class="code-comment"># Auth handoff</span></code></pre>
475
- </div>
476
- </div>
477
-
478
- <div class="tabs__panel" role="tabpanel" id="tab-panel-14" aria-labelledby="tab-14" hidden>
479
458
  <h3 class="tabs__panel-name">/prepare-delivery</h3>
480
459
  <p class="tabs__panel-tagline">Pre-ship quality gates</p>
481
460
  <ul class="tabs__panel-features">
@@ -494,7 +473,7 @@
494
473
  </div>
495
474
  </div>
496
475
 
497
- <div class="tabs__panel" role="tabpanel" id="tab-panel-15" aria-labelledby="tab-15" hidden>
476
+ <div class="tabs__panel" role="tabpanel" id="tab-panel-14" aria-labelledby="tab-14" hidden>
498
477
  <h3 class="tabs__panel-name">/gate-and-ship</h3>
499
478
  <p class="tabs__panel-tagline">Quality gates then ship</p>
500
479
  <ul class="tabs__panel-features">
@@ -513,7 +492,7 @@
513
492
  </div>
514
493
  </div>
515
494
 
516
- <div class="tabs__panel" role="tabpanel" id="tab-panel-16" aria-labelledby="tab-16" hidden>
495
+ <div class="tabs__panel" role="tabpanel" id="tab-panel-15" aria-labelledby="tab-15" hidden>
517
496
  <h3 class="tabs__panel-name">/release</h3>
518
497
  <p class="tabs__panel-tagline">Versioned release with ecosystem detection</p>
519
498
  <ul class="tabs__panel-features">
@@ -532,7 +511,7 @@
532
511
  </div>
533
512
  </div>
534
513
 
535
- <div class="tabs__panel" role="tabpanel" id="tab-panel-17" aria-labelledby="tab-17" hidden>
514
+ <div class="tabs__panel" role="tabpanel" id="tab-panel-16" aria-labelledby="tab-16" hidden>
536
515
  <h3 class="tabs__panel-name">/skillers</h3>
537
516
  <p class="tabs__panel-tagline">Learn from your workflow patterns</p>
538
517
  <ul class="tabs__panel-features">
@@ -551,7 +530,7 @@
551
530
  </div>
552
531
  </div>
553
532
 
554
- <div class="tabs__panel" role="tabpanel" id="tab-panel-18" aria-labelledby="tab-18" hidden>
533
+ <div class="tabs__panel" role="tabpanel" id="tab-panel-17" aria-labelledby="tab-17" hidden>
555
534
  <h3 class="tabs__panel-name">/onboard</h3>
556
535
  <p class="tabs__panel-tagline">Codebase orientation for newcomers</p>
557
536
  <ul class="tabs__panel-features">
@@ -570,7 +549,7 @@
570
549
  </div>
571
550
  </div>
572
551
 
573
- <div class="tabs__panel" role="tabpanel" id="tab-panel-19" aria-labelledby="tab-19" hidden>
552
+ <div class="tabs__panel" role="tabpanel" id="tab-panel-18" aria-labelledby="tab-18" hidden>
574
553
  <h3 class="tabs__panel-name">/can-i-help</h3>
575
554
  <p class="tabs__panel-tagline">Find where to contribute</p>
576
555
  <ul class="tabs__panel-features">
@@ -589,26 +568,7 @@
589
568
  </div>
590
569
  </div>
591
570
 
592
- <div class="tabs__panel" role="tabpanel" id="tab-panel-20" aria-labelledby="tab-20" hidden>
593
- <h3 class="tabs__panel-name">/axiom</h3>
594
- <p class="tabs__panel-tagline">Durable memory for agents</p>
595
- <ul class="tabs__panel-features">
596
- <li>Loads thin global and project context</li>
597
- <li>Queries durable decisions, memories, and preferences</li>
598
- <li>Creates missing project scaffolds automatically</li>
599
- <li>Records only through a diff and human approval</li>
600
- </ul>
601
- <div class="code-block">
602
- <button class="code-block__copy" aria-label="Copy code to clipboard" data-code="/axiom before-any --project flowfabric
603
- /axiom query &quot;lease based&quot; --project flowfabric">
604
- <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>
605
- </button>
606
- <pre><code><span class="code-prompt">$</span> /axiom before-any --project flowfabric
607
- <span class="code-prompt">$</span> /axiom query "lease based" --project flowfabric</code></pre>
608
- </div>
609
- </div>
610
-
611
- <div class="tabs__panel" role="tabpanel" id="tab-panel-21" aria-labelledby="tab-21" hidden>
571
+ <div class="tabs__panel" role="tabpanel" id="tab-panel-19" aria-labelledby="tab-19" hidden>
612
572
  <h3 class="tabs__panel-name">/banthis</h3>
613
573
  <p class="tabs__panel-tagline">Durable negative memory</p>
614
574
  <ul class="tabs__panel-features">
@@ -627,7 +587,7 @@ banthis list">
627
587
  </div>
628
588
  </div>
629
589
 
630
- <div class="tabs__panel" role="tabpanel" id="tab-panel-22" aria-labelledby="tab-22" hidden>
590
+ <div class="tabs__panel" role="tabpanel" id="tab-panel-20" aria-labelledby="tab-20" hidden>
631
591
  <h3 class="tabs__panel-name">/skill-curator</h3>
632
592
  <p class="tabs__panel-tagline">Design reliable SKILL.md files</p>
633
593
  <ul class="tabs__panel-features">
@@ -646,7 +606,7 @@ banthis list">
646
606
  </div>
647
607
  </div>
648
608
 
649
- <div class="tabs__panel" role="tabpanel" id="tab-panel-23" aria-labelledby="tab-23" hidden>
609
+ <div class="tabs__panel" role="tabpanel" id="tab-panel-21" aria-labelledby="tab-21" hidden>
650
610
  <h3 class="tabs__panel-name">/system-prompt-curator</h3>
651
611
  <p class="tabs__panel-tagline">Design autonomous agent prompts</p>
652
612
  <ul class="tabs__panel-features">
@@ -742,7 +702,7 @@ banthis list">
742
702
  <!-- ===== AGENTS & SKILLS ===== -->
743
703
  <section class="agents-skills" id="agents-skills" aria-labelledby="as-title">
744
704
  <div class="agents-skills__inner">
745
- <h2 class="agents-skills__title anim-fade-up" id="as-title">49 Agents. 45 Skills.</h2>
705
+ <h2 class="agents-skills__title anim-fade-up" id="as-title">49 Agents. 44 Skills.</h2>
746
706
  <p class="agents-skills__subtitle anim-fade-up" data-delay="100">Right model for the task. Opus reasons. Sonnet validates. Haiku executes.</p>
747
707
 
748
708
  <!-- Agent tier tabs -->
@@ -829,7 +789,7 @@ banthis list">
829
789
  </div>
830
790
 
831
791
  <!-- Skills grid -->
832
- <h3 class="agents-skills__skills-title anim-fade-up" data-delay="300">45 Skills across 24 Plugins</h3>
792
+ <h3 class="agents-skills__skills-title anim-fade-up" data-delay="300">44 Skills across 24 Plugins</h3>
833
793
  <div class="skills-grid anim-fade-up" data-delay="350">
834
794
  <div class="skill-group">
835
795
  <span class="skill-group__label">prepare-delivery</span>
@@ -873,13 +833,6 @@ banthis list">
873
833
  <span class="skill-card">discover-tasks</span>
874
834
  </div>
875
835
  </div>
876
- <div class="skill-group">
877
- <span class="skill-group__label">web-ctl</span>
878
- <div class="skill-group__items">
879
- <span class="skill-card">web-auth</span>
880
- <span class="skill-card">web-browse</span>
881
- </div>
882
- </div>
883
836
  <div class="skill-group">
884
837
  <span class="skill-group__label">skillers</span>
885
838
  <div class="skill-group__items">
@@ -895,7 +848,6 @@ banthis list">
895
848
  <span class="skill-card">repo-intel</span>
896
849
  <span class="skill-card">sync-docs</span>
897
850
  <span class="skill-card">learn</span>
898
- <span class="skill-card">axiom</span>
899
851
  <span class="skill-card">banthis</span>
900
852
  <span class="skill-card">consult</span>
901
853
  <span class="skill-card">debate</span>
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 "24 plugins . 49 agents . 45 skills"
97
+ 1. **Badge** (top, above title): Small pill showing version or "24 plugins . 49 agents . 44 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:** "24 plugins, 49 agents, 45 skills. From task selection to merged PR. Works with Claude Code, OpenCode, Codex CLI, Cursor, and Kiro."
107
+ 3. **Subtitle:** "24 plugins, 49 agents, 44 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
@@ -229,7 +229,7 @@ Done. Task to merged PR in 12 minutes.
229
229
  | 1 | 20 | Plugins |
230
230
  | 2 | 49 | Agents |
231
231
  | 3 | 41 | Skills |
232
- | 4 | 3,513 | Tests Passing |
232
+ | 4 | 3,518 | Tests Passing |
233
233
 
234
234
  ### Styling
235
235
  - **Number:** 48px, font-weight 700, white, `font-variant-numeric: tabular-nums` (prevents layout shift during count)
@@ -265,7 +265,7 @@ Done. Task to merged PR in 12 minutes.
265
265
  - On mobile: naturally scrollable, slight gradient fade on right edge to indicate scrollability (20px gradient from transparent to section background)
266
266
 
267
267
  ### Tab Order
268
- `/next-task`, `/ship`, `/deslop`, `/perf`, `/drift-detect`, `/audit-project`, `/enhance`, `/repo-intel`, `/sync-docs`, `/axiom`, `/learn`, `/agnix`
268
+ `/next-task`, `/ship`, `/deslop`, `/perf`, `/drift-detect`, `/audit-project`, `/enhance`, `/repo-intel`, `/sync-docs`, `/learn`, `/agnix`
269
269
 
270
270
  (Most impactful first: the full workflow command, then the shipper, then individual tools)
271
271
 
@@ -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. 24 plugins, 49 agents, 45 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. 24 plugins, 49 agents, 44 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. 24 plugins, 49 agents, 45 skills. Task to merged PR.">
659
+ <meta property="og:description" content="AI workflow automation. 24 plugins, 49 agents, 44 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. 24 plugins, 49 agents, 45 skills.">
667
+ <meta name="twitter:description" content="AI workflow automation. 24 plugins, 49 agents, 44 skills.">
668
668
  <meta name="twitter:image" content="https://agent-sh.github.io/agentsys/assets/og-image.png">
669
669
  ```
670
670