Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "agentsys",
"description": "13 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",
"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",
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Top-level marketplace description says “14 specialized plugins…” but the feature list that follows doesn’t mention browser automation/web testing (the newly added web-ctl plugin). This makes the description internally inconsistent; either add browser automation to the list or rephrase to avoid enumerating plugin areas.

Suggested change
"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",
"description": "14 specialized plugins for AI workflow automation - task orchestration, PR workflow, browser automation & web testing, 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",

Copilot uses AI. Check for mistakes.
"version": "5.1.0",
"owner": {
"name": "Avi Fenesh",
Expand Down Expand Up @@ -138,6 +138,15 @@
"category": "productivity",
"requires": [],
"core": ">=1.0.0"
},
{
"name": "web-ctl",
"source": "https://github.com/agent-sh/web-ctl",
"description": "Browser automation and web testing toolkit for AI agents — headless browser control, persistent sessions, auth handoff, and prompt injection defense",
"version": "1.0.0",
"category": "automation",
"requires": [],
"core": ">=1.0.0"
}
]
}
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- **`/web-ctl` plugin** — New plugin for browser automation and web testing. Headless browser control via Playwright with persistent encrypted sessions, human-in-the-loop auth handoff (including CAPTCHA detection and checkpoint mode), anti-bot measures (webdriver spoofing, random delays), WSL detection with Windows Chrome fallback, and prompt injection defense via `[PAGE_CONTENT: ...]` delimiters. Includes `web-session` agent, `web-auth` and `web-browse` skills, and the `/web-ctl` command. Available at [agent-sh/web-ctl](https://github.com/agent-sh/web-ctl).

- **Plugin extraction to standalone repos (#250)** — All 13 plugins extracted from `plugins/` into standalone repos under the `agent-sh` org (`agent-sh/next-task`, `agent-sh/ship`, `agent-sh/deslop`, `agent-sh/audit-project`, `agent-sh/enhance`, `agent-sh/perf`, `agent-sh/drift-detect`, `agent-sh/sync-docs`, `agent-sh/repo-map`, `agent-sh/learn`, `agent-sh/consult`, `agent-sh/debate`, `agent-sh/agnix`). The `plugins/` directory has been removed from this repo. agentsys is now a marketplace + installer.

- **External plugin fetching in installer** — `bin/cli.js` now fetches plugins from their standalone GitHub repos at install time rather than bundling them. The installer resolves the correct version for each platform using the marketplace manifest.
Expand Down
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,9 @@ bin/cli.js → npm CLI installer
|--------|--------|--------|---------|
<!-- GEN:END:claude-architecture -->

> Note: `plugins/ → 0 plugins` is correct — all 13 plugins now live in standalone repos under
> the [agent-sh](https://github.com/agent-sh) org. The ecosystem-wide counts (13 plugins,
> 42 agents, 28 skills) reflect all repos combined. agentsys is the marketplace and installer.
> Note: `plugins/ → 0 plugins` is correct — all 14 plugins now live in standalone repos under
> the [agent-sh](https://github.com/agent-sh) org. The ecosystem-wide counts (14 plugins,
> 43 agents, 30 skills) reflect all repos combined. agentsys is the marketplace and installer.
Comment on lines +94 to +96
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This note updates ecosystem-wide counts to 14 plugins / 43 agents / 30 skills, but CLAUDE.md’s command list below still doesn’t mention /web-ctl. For consistency, add /web-ctl to the Commands section so users see the new command reflected alongside the updated counts.

Copilot uses AI. Check for mistakes.

**Pattern**: `Command → Agent → Skill` (orchestration → invocation → implementation)
</architecture>
Expand Down
45 changes: 41 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
</p>

<p align="center">
<b>13 plugins · 42 agents · 28 skills (across all repos) · 26k lines of lib code · 3,357 tests · 3 platforms</b><br>
<b>14 plugins · 43 agents · 30 skills (across all repos) · 26k lines of lib code · 3,357 tests · 3 platforms</b><br>
<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>
</p>

Expand All @@ -47,7 +47,7 @@ AI models can write code. That's not the hard part anymore. The hard part is eve

## What This Is

An agent orchestration system — 13 plugins, 42 agents, and 28 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.
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.

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.

Expand Down Expand Up @@ -104,8 +104,8 @@ Skills are the reusable implementation units. Agents invoke skills; commands orc
| Section | What's there |
|---------|--------------|
| [The Approach](#the-approach) | Why it's built this way |
| [Commands](#commands) | All 12 commands overview |
| [Skills](#skills) | 28 skills across plugins |
| [Commands](#commands) | All 13 commands overview |
| [Skills](#skills) | 30 skills across plugins |
| [Command Details](#command-details) | Deep dive into each command |
| [How Commands Work Together](#how-commands-work-together) | Standalone vs integrated |
| [Design Philosophy](#design-philosophy) | The thinking behind the architecture |
Expand Down Expand Up @@ -690,6 +690,43 @@ agent-knowledge/

**Agent:** debate-orchestrator (opus model for orchestration)

### /web-ctl

**Purpose:** Browser automation for AI agents — navigate, authenticate, and interact with web pages.

**What it does:**

1. **Session Management** - Persistent browser sessions with AES-256-GCM encrypted storage
2. **Auth Handoff** - Opens a headed browser for the user to complete login; agent monitors for success
3. **Headless Browsing** - Navigate, click, type, fill, read, screenshot, capture network, evaluate JS
4. **CAPTCHA/Checkpoint** - Escalates to headed browser for human verification
5. **Prompt Injection Defense** - All web content wrapped in `[PAGE_CONTENT: ...]` delimiters; agent treats it as untrusted data

**Usage:**

```bash
# Navigate to a URL
/web-ctl goto https://example.com

# Authenticate to a site (opens browser for you to log in)
/web-ctl auth twitter --url https://x.com/i/flow/login

# Multi-step browsing
/web-ctl # describe what you want to do, agent orchestrates it
```

**Install:**

```bash
agentsys install web-ctl
npm install playwright
npx playwright install chromium
```

**Agent:** web-session (sonnet model)

**Skills:** web-auth, web-browse

---

## How Commands Work Together
Expand Down
6 changes: 3 additions & 3 deletions __tests__/cli-subcommands.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ describe('searchPlugins', () => {
const output = logOutput.join('\n');
expect(output).toContain('next-task');
expect(output).toContain('deslop');
expect(output).toContain('13 plugin(s) found');
expect(output).toContain('14 plugin(s) found');
});

test('filters by name', () => {
Expand Down Expand Up @@ -364,10 +364,10 @@ describe('granular install recording', () => {
});

describe('loadMarketplace', () => {
test('loads marketplace.json with 13 plugins', () => {
test('loads marketplace.json with 14 plugins', () => {
const marketplace = loadMarketplace();
expect(marketplace.plugins).toBeDefined();
expect(marketplace.plugins.length).toBe(13);
expect(marketplace.plugins.length).toBe(14);
});

test('all plugins have name, source, version', () => {
Expand Down
40 changes: 40 additions & 0 deletions agent-knowledge/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
| All-in-One Plus Modular Packages | all-in-one-plus-modular-packages.md | 40 | deep | 2026-02-21 |
| GitHub Org Project Management (Multi-Repo OSS) | github-org-project-management.md | 15 | deep | 2026-02-21 |
| GitHub Organization Structure Patterns | github-org-structure-patterns.md | 18 | deep | 2026-02-21 |
| Multi-Product Org Docs & Website Architecture | multi-product-org-docs.md | 42 | deep | 2026-02-21 |

## Trigger Phrases

Expand Down Expand Up @@ -91,6 +92,31 @@ Use this knowledge when user asks about:
- "GitHub org profile README" -> github-org-structure-patterns.md
- "developer tool org layout" -> github-org-structure-patterns.md
- "open source org patterns" -> github-org-structure-patterns.md
- "multi-product docs" -> multi-product-org-docs.md
- "documentation architecture" -> multi-product-org-docs.md
- "docs site structure" -> multi-product-org-docs.md
- "Docusaurus multi-instance" -> multi-product-org-docs.md
- "Starlight Astro docs" -> multi-product-org-docs.md
- "Mintlify docs" -> multi-product-org-docs.md
- "VitePress multi-sidebar" -> multi-product-org-docs.md
- "developer portal" -> multi-product-org-docs.md
- "plugin catalog page" -> multi-product-org-docs.md
- "marketplace page design" -> multi-product-org-docs.md
- "docs SEO multi-product" -> multi-product-org-docs.md
- "hub and spoke docs" -> multi-product-org-docs.md
- "unified docs vs separate sites" -> multi-product-org-docs.md
- "llms.txt AI discoverability" -> multi-product-org-docs.md
- "GitHub Pages org site docs" -> multi-product-org-docs.md
- "HashiCorp developer portal" -> multi-product-org-docs.md
- "Supabase docs structure" -> multi-product-org-docs.md
- "agent-sh website" -> multi-product-org-docs.md
- "agnix docs separate site" -> multi-product-org-docs.md
- "plugin catalog generation" -> multi-product-org-docs.md
- "cross-product navigation" -> multi-product-org-docs.md
- "product switcher docs" -> multi-product-org-docs.md
- "Diataxis framework" -> multi-product-org-docs.md
- "Pagefind search" -> multi-product-org-docs.md
- "docs-as-code" -> multi-product-org-docs.md

## Quick Lookup

Expand Down Expand Up @@ -152,6 +178,20 @@ Use this knowledge when user asks about:
| starter workflows, workflow-templates | github-org-structure-patterns.md |
| github pages org site | github-org-structure-patterns.md |
| verified domain github | github-org-structure-patterns.md |
| multi-product docs, documentation architecture | multi-product-org-docs.md |
| Docusaurus, Starlight, Mintlify, VitePress | multi-product-org-docs.md |
| developer portal, docs site structure | multi-product-org-docs.md |
| plugin catalog, marketplace page | multi-product-org-docs.md |
| docs SEO, llms.txt, AI discoverability | multi-product-org-docs.md |
| hub-and-spoke, unified portal | multi-product-org-docs.md |
| HashiCorp, Supabase, Vercel docs | multi-product-org-docs.md |
| product switcher, cross-product navigation | multi-product-org-docs.md |
| Diataxis, docs-as-code | multi-product-org-docs.md |
| Pagefind, Algolia DocSearch | multi-product-org-docs.md |
| agent-sh website, agnix docs | multi-product-org-docs.md |
| GitBook, ReadMe, Nextra | multi-product-org-docs.md |
| GitHub Pages docs hosting | multi-product-org-docs.md |
| Cloudflare Pages, Vercel hosting | multi-product-org-docs.md |

## How to Use

Expand Down
40 changes: 40 additions & 0 deletions agent-knowledge/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
| All-in-One Plus Modular Packages | all-in-one-plus-modular-packages.md | 40 | deep | 2026-02-21 |
| GitHub Org Project Management (Multi-Repo OSS) | github-org-project-management.md | 15 | deep | 2026-02-21 |
| GitHub Organization Structure Patterns | github-org-structure-patterns.md | 18 | deep | 2026-02-21 |
| Multi-Product Org Docs & Website Architecture | multi-product-org-docs.md | 42 | deep | 2026-02-21 |

Comment on lines 13 to 16
Copy link

Copilot AI Feb 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR description focuses on registering the web-ctl plugin and updating counts/docs, but this change also adds a new deep learning guide (agent-knowledge/multi-product-org-docs.md) plus a 500+ line sources JSON and updates the knowledge index/trigger phrases. If this is intentional, it should be called out in the PR summary (or split into a separate PR) to keep review scope clear.

Copilot uses AI. Check for mistakes.
## Trigger Phrases

Expand Down Expand Up @@ -91,6 +92,31 @@ Use this knowledge when user asks about:
- "GitHub org profile README" -> github-org-structure-patterns.md
- "developer tool org layout" -> github-org-structure-patterns.md
- "open source org patterns" -> github-org-structure-patterns.md
- "multi-product docs" -> multi-product-org-docs.md
- "documentation architecture" -> multi-product-org-docs.md
- "docs site structure" -> multi-product-org-docs.md
- "Docusaurus multi-instance" -> multi-product-org-docs.md
- "Starlight Astro docs" -> multi-product-org-docs.md
- "Mintlify docs" -> multi-product-org-docs.md
- "VitePress multi-sidebar" -> multi-product-org-docs.md
- "developer portal" -> multi-product-org-docs.md
- "plugin catalog page" -> multi-product-org-docs.md
- "marketplace page design" -> multi-product-org-docs.md
- "docs SEO multi-product" -> multi-product-org-docs.md
- "hub and spoke docs" -> multi-product-org-docs.md
- "unified docs vs separate sites" -> multi-product-org-docs.md
- "llms.txt AI discoverability" -> multi-product-org-docs.md
- "GitHub Pages org site docs" -> multi-product-org-docs.md
- "HashiCorp developer portal" -> multi-product-org-docs.md
- "Supabase docs structure" -> multi-product-org-docs.md
- "agent-sh website" -> multi-product-org-docs.md
- "agnix docs separate site" -> multi-product-org-docs.md
- "plugin catalog generation" -> multi-product-org-docs.md
- "cross-product navigation" -> multi-product-org-docs.md
- "product switcher docs" -> multi-product-org-docs.md
- "Diataxis framework" -> multi-product-org-docs.md
- "Pagefind search" -> multi-product-org-docs.md
- "docs-as-code" -> multi-product-org-docs.md

## Quick Lookup

Expand Down Expand Up @@ -152,6 +178,20 @@ Use this knowledge when user asks about:
| starter workflows, workflow-templates | github-org-structure-patterns.md |
| github pages org site | github-org-structure-patterns.md |
| verified domain github | github-org-structure-patterns.md |
| multi-product docs, documentation architecture | multi-product-org-docs.md |
| Docusaurus, Starlight, Mintlify, VitePress | multi-product-org-docs.md |
| developer portal, docs site structure | multi-product-org-docs.md |
| plugin catalog, marketplace page | multi-product-org-docs.md |
| docs SEO, llms.txt, AI discoverability | multi-product-org-docs.md |
| hub-and-spoke, unified portal | multi-product-org-docs.md |
| HashiCorp, Supabase, Vercel docs | multi-product-org-docs.md |
| product switcher, cross-product navigation | multi-product-org-docs.md |
| Diataxis, docs-as-code | multi-product-org-docs.md |
| Pagefind, Algolia DocSearch | multi-product-org-docs.md |
| agent-sh website, agnix docs | multi-product-org-docs.md |
| GitBook, ReadMe, Nextra | multi-product-org-docs.md |
| GitHub Pages docs hosting | multi-product-org-docs.md |
| Cloudflare Pages, Vercel hosting | multi-product-org-docs.md |

## How to Use

Expand Down
Loading