Skip to content
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
81edf34
fix: align marketplace.json with Claude Code plugin schema
avifenesh Feb 21, 2026
64391b3
feat(cross-platform): add Cursor platform constants
avifenesh Feb 22, 2026
4bf1c27
feat(adapter-transforms): add transformForCursor function
avifenesh Feb 22, 2026
8fbde06
feat(discovery): add getCursorRuleMappings function
avifenesh Feb 22, 2026
f7c313f
feat(cli): wire Cursor platform into installer
avifenesh Feb 22, 2026
e18b981
docs(checklists): add Cursor column to cross-platform compatibility
avifenesh Feb 22, 2026
313a49f
test: add Cursor platform tests
avifenesh Feb 22, 2026
c08e372
test: add missing Cursor test coverage
avifenesh Feb 22, 2026
9e19909
fix: remove unused type destructuring in installForCursor
avifenesh Feb 22, 2026
452598e
fix: address review findings - YAML injection, path traversal, test gaps
avifenesh Feb 22, 2026
c9b48b7
fix: remove unused ruleName destructuring in transformForCursor
avifenesh Feb 22, 2026
71c6536
fix: escape $ patterns in replace and handle nested braces in Task regex
avifenesh Feb 22, 2026
606e7a5
feat(cursor): rewrite to install skills, commands, and rules separately
avifenesh Feb 22, 2026
85331d7
fix: path traversal in skills, safer platform detection, scoped cleanup
avifenesh Feb 22, 2026
74f5625
fix: scope skill cleanup to known names, preserve user-created skills
avifenesh Feb 22, 2026
a82dcd5
docs: update changelog and readme for revised Cursor support
avifenesh Feb 22, 2026
0bcdd91
docs: sync all documentation for 4-platform support
avifenesh Feb 22, 2026
a5b5dd6
fix: Restore marketplace.json plugin format and dependencies
avifenesh Feb 22, 2026
507e364
merge: resolve CLAUDE.md conflict with main
avifenesh Feb 22, 2026
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
72 changes: 29 additions & 43 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,129 +24,115 @@
"plugins": [
{
"name": "next-task",
"source": "https://github.com/agent-sh/next-task",
"source": {"source": "url", "url": "https://github.com/agent-sh/next-task.git"},
Copy link

Copilot AI Feb 22, 2026

Choose a reason for hiding this comment

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

The marketplace.json has changed the source field from a string to an object format {"source": "url", "url": "..."}, but the fetchPlugin function at line 297 and usage at line 465 expect plugin.source to be a string. This will cause the installer to fail when trying to fetch plugins.

The code at line 314 expects to parse URLs like "https://github.com/owner/repo" or "github:owner/repo" but will receive an object instead.

Either revert the marketplace.json changes to keep source as a string, or update the fetchPlugin function to handle the new object format by extracting plugin.source.url when plugin.source is an object.

Copilot uses AI. Check for mistakes.
"description": "Master workflow orchestrator: autonomous workflow with model optimization (opus/sonnet/haiku), two-file state management, workflow enforcement gates, 14 specialist agents",
"version": "1.0.0",
"category": "productivity",
"requires": ["deslop", "sync-docs", "ship"],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/next-task"
},
Copy link

Copilot AI Feb 22, 2026

Choose a reason for hiding this comment

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

The requires and core fields have been removed from all plugin entries in marketplace.json, but the dependency resolution system in resolvePluginDeps (line 272 in bin/cli.js) checks for plugin.requires to build the dependency graph. Removing these fields will break transitive dependency installation.

According to the repo memory, "plugins[].requires drives transitive dependency installs", so these fields are essential for the installer to work correctly. If these fields are being deprecated, the dependency resolution code needs to be updated accordingly. Otherwise, restore the requires fields.

Copilot uses AI. Check for mistakes.
{
"name": "ship",
"source": "https://github.com/agent-sh/ship",
"source": {"source": "url", "url": "https://github.com/agent-sh/ship.git"},
"description": "Complete PR workflow: commit to production, skips review when called from next-task, removes task from registry on cleanup, automatic rollback",
"version": "1.0.0",
"category": "deployment",
"requires": ["next-task"],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/ship"
},
{
"name": "deslop",
"source": "https://github.com/agent-sh/deslop",
"source": {"source": "url", "url": "https://github.com/agent-sh/deslop.git"},
"description": "3-phase AI slop detection: regex patterns (HIGH), multi-pass analyzers (MEDIUM), CLI tools (LOW)",
"version": "1.0.0",
"category": "development",
"requires": ["next-task"],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/deslop"
},
{
"name": "audit-project",
"source": "https://github.com/agent-sh/audit-project",
"source": {"source": "url", "url": "https://github.com/agent-sh/audit-project.git"},
"description": "Multi-agent iterative code review until zero issues remain",
"version": "1.0.0",
"category": "development",
"requires": [],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/audit-project"
},
{
"name": "drift-detect",
"source": "https://github.com/agent-sh/drift-detect",
"source": {"source": "url", "url": "https://github.com/agent-sh/drift-detect.git"},
"description": "Deep repository analysis to realign project plans with code reality - detects drift, gaps, and creates prioritized reconstruction plans",
"version": "1.0.0",
"category": "productivity",
"requires": [],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/drift-detect"
},
{
"name": "enhance",
"source": "https://github.com/agent-sh/enhance",
"source": {"source": "url", "url": "https://github.com/agent-sh/enhance.git"},
"description": "Master enhancement orchestrator: parallel analyzer execution for plugins, agents, docs, CLAUDE.md, and prompts with unified reporting",
"version": "1.0.0",
"category": "development",
"requires": [],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/enhance"
},
{
"name": "sync-docs",
"source": "https://github.com/agent-sh/sync-docs",
"source": {"source": "url", "url": "https://github.com/agent-sh/sync-docs.git"},
"description": "Standalone documentation sync: find outdated refs, update CHANGELOG, flag stale examples based on code changes",
"version": "1.0.0",
"category": "development",
"requires": ["next-task"],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/sync-docs"
},
{
"name": "repo-map",
"source": "https://github.com/agent-sh/repo-map",
"source": {"source": "url", "url": "https://github.com/agent-sh/repo-map.git"},
"description": "AST-based repository map generation using ast-grep with incremental updates for faster drift analysis",
"version": "1.0.0",
"category": "development",
"requires": [],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/repo-map"
},
{
"name": "perf",
"source": "https://github.com/agent-sh/perf",
"source": {"source": "url", "url": "https://github.com/agent-sh/perf.git"},
"description": "Rigorous performance investigation workflow with baselines, profiling, hypotheses, and evidence-backed decisions",
"version": "1.0.0",
"category": "development",
"requires": [],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/perf"
},
{
"name": "learn",
"source": "https://github.com/agent-sh/learn",
"source": {"source": "url", "url": "https://github.com/agent-sh/learn.git"},
"description": "Research topics online and create comprehensive learning guides with RAG-optimized indexes",
"version": "1.0.0",
"category": "productivity",
"requires": ["enhance"],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/learn"
},
{
"name": "agnix",
"source": "https://github.com/agent-sh/agnix",
"source": {"source": "url", "url": "https://github.com/agent-sh/agnix.git"},
"description": "Lint agent configuration files (SKILL.md, CLAUDE.md, hooks, MCP) against 155 rules across 10+ AI tools",
"version": "1.0.0",
"category": "development",
"requires": [],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/agnix"
},
{
"name": "consult",
"source": "https://github.com/agent-sh/consult",
"source": {"source": "url", "url": "https://github.com/agent-sh/consult.git"},
"description": "Cross-tool AI consultation: get second opinions from Gemini CLI, Codex CLI, Claude Code, OpenCode, or Copilot CLI with model and thinking effort control",
"version": "1.0.0",
"category": "productivity",
"requires": [],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/consult"
},
{
"name": "debate",
"source": "https://github.com/agent-sh/debate",
"source": {"source": "url", "url": "https://github.com/agent-sh/debate.git"},
"description": "Structured multi-round debate between AI tools with proposer/challenger roles and verdict",
"version": "1.0.0",
"category": "productivity",
"requires": [],
"core": ">=1.0.0"
"homepage": "https://github.com/agent-sh/debate"
},
{
"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",
"source": {"source": "url", "url": "https://github.com/agent-sh/web-ctl.git"},
"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"
"homepage": "https://github.com/agent-sh/web-ctl"
}
]
}
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ Cannot skip in /next-task:
- Use CHANGELOG.md for completion tracking (not summary files)
- BEFORE starting → Read the relevant checklist (`checklists/*.md`)
- BEFORE delivering any work, especially releases → Go through that checklist item by item
- 3 platforms: Claude Code + OpenCode + Codex - ALL must work
- 4 platforms: Claude Code + OpenCode + Codex + Cursor - ALL must work
- Agent/Skill pattern: Agents invoke skills, skills have implementation
- Create PRs for non-trivial changes
</end-reminder>
Expand Down
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

- **Cursor platform support (#261)** — agentsys now installs to Cursor as a 4th platform alongside Claude Code, OpenCode, and Codex CLI. Use `agentsys --tool cursor` or `agentsys install <plugin> --tool cursor` to install. Skills are copied to `.cursor/skills/` (same SKILL.md format - no transform needed), commands to `.cursor/commands/` (light transform), and rules to `.cursor/rules/*.mdc` (MDC frontmatter). All content is project-scoped. Cursor v2.4+ natively supports the Agent Skills standard.

- **`/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.
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ Cannot skip in /next-task:
- Use CHANGELOG.md for completion tracking (not summary files)
- BEFORE starting → Read the relevant checklist (`checklists/*.md`)
- BEFORE delivering any work, especially releases → Go through that checklist item by item
- 3 platforms: Claude Code + OpenCode + Codex - ALL must work
- 4 platforms: Claude Code + OpenCode + Codex + Cursor - ALL must work
- Agent/Skill pattern: Agents invoke skills, skills have implementation
- Create PRs for non-trivial changes
</end-reminder>
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
</p>

<p align="center">
<b>14 plugins · 43 agents · 30 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 · 4 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 @@ -30,7 +30,7 @@
</p>

<p align="center">
<b>Built for Claude Code · Codex CLI · OpenCode</b>
<b>Built for Claude Code · Codex CLI · OpenCode · Cursor</b>
</p>

<p align="center"><em>New skills, agents, and integrations ship constantly. Follow for real-time updates:</em></p>
Expand All @@ -51,7 +51,7 @@ An agent orchestration system — 14 plugins, 43 agents, and 30 skills that comp

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.

The system runs on Claude Code, OpenCode, and Codex CLI. Install via the marketplace or the npm installer, and the plugins are fetched automatically from their repos.
The system runs on Claude Code, OpenCode, Codex CLI, and Cursor. Install via the marketplace or the npm installer, and the plugins are fetched automatically from their repos.

---

Expand Down Expand Up @@ -878,11 +878,12 @@ Every command works standalone. [`/deslop`](#deslop) cleans code without needing
npm install -g agentsys && agentsys
```

Interactive installer for Claude Code, OpenCode, and Codex CLI.
Interactive installer for Claude Code, OpenCode, Codex CLI, and Cursor.

```bash
# Non-interactive install
agentsys --tool claude # Single tool
agentsys --tool cursor # Cursor (project-scoped skills + commands)
agentsys --tools "claude,opencode" # Multiple tools
agentsys --development # Dev mode (bypasses marketplace)
```
Expand Down Expand Up @@ -933,7 +934,7 @@ The system is built on research, not guesswork.
- 1,818 tests passing
- Drift-detect validated on 1,000+ repositories
- E2E workflow testing across all commands
- Cross-platform validation (Claude Code, OpenCode, Codex CLI)
- Cross-platform validation (Claude Code, OpenCode, Codex CLI, Cursor)

**Methodology:**
- `/perf` investigation phases based on recorded real performance investigation sessions
Expand Down
Loading