Skip to content
Open
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
5 changes: 5 additions & 0 deletions .cursor-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,11 @@
"name": "orchestrate",
"source": "orchestrate",
"description": "Fan large tasks out across parallel Cursor cloud agents with planners, workers, verifiers, and structured handoffs."
},
{
"name": "orgx",
"source": "orgx",
"description": "OrgX execution control plane for Cursor with MCP, rules, skills, hooks, commands, and specialist agents."
}
]
}
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc
| `docs-canvas` | [Docs Canvas](docs-canvas/) | Cursor | Developer Tools | Render documentation — architecture notes, API references, runbooks, and codebase walkthroughs — as a navigable Cursor Canvas with sections, table of contents, diagrams, and cross-references. |
| `cursor-sdk` | [Cursor SDK](cursor-sdk/) | Cursor | Developer Tools | Build apps, scripts, CI pipelines, and automations on top of the Cursor TypeScript SDK (@cursor/sdk) — runtime selection, auth, streaming, MCP, error handling, and ready-to-extend integration patterns. |
| `orchestrate` | [Orchestrate](orchestrate/) | Cursor | Developer Tools | Fan large tasks out across parallel Cursor cloud agents with planners, workers, verifiers, and structured handoffs. |
| `orgx` | [OrgX](orgx/) | OrgX Team | Productivity | OrgX execution control plane for Cursor with MCP, rules, skills, hooks, commands, and specialist agents. |

Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest).

Expand Down
35 changes: 35 additions & 0 deletions orgx/.cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"name": "orgx",
"displayName": "OrgX",
"description": "OrgX execution control plane for Cursor with bootstrap, resumable workstreams, proof, decisions, Work Graph hooks, and specialist agents.",
"version": "0.1.1",
"author": {
"name": "OrgX Team",
"email": "reviewers@useorgx.com"
},
"homepage": "https://useorgx.com",
"repository": "https://github.com/useorgx/cursor-plugin",
"license": "MIT",
"category": "productivity",
"tags": [
"mcp",
"agent-orchestration",
"workstreams",
"proof",
"developer-tools"
],
"keywords": [
"orgx",
"cursor",
"mcp",
"workflow",
"agents"
],
"logo": "assets/logo.svg",
"rules": "rules",
"skills": "skills",
"agents": "agents",
"commands": "commands",
"hooks": "hooks/hooks.json",
"mcpServers": ".mcp.json"
}
3 changes: 3 additions & 0 deletions orgx/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules/
artifacts/
.DS_Store
8 changes: 8 additions & 0 deletions orgx/.mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"mcpServers": {
"orgx": {
"type": "http",
"url": "https://mcp.useorgx.com/mcp"
}
}
}
21 changes: 21 additions & 0 deletions orgx/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 OrgX

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
44 changes: 44 additions & 0 deletions orgx/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# `@useorgx/cursor-plugin`

OrgX plugin for Cursor.

This repo contains the plugin artifact needed for Cursor Marketplace submission and local Cursor installs. It bundles the OrgX MCP server with Cursor-native rules, commands, hooks, skills, and specialist agents.

## What this plugin includes

- `.cursor-plugin/plugin.json` manifest
- `.mcp.json` pointing at the hosted OrgX MCP server
- Cursor rules for the OrgX execution loop
- Commands for starting and resuming workstreams, checking proof, and reviewing decisions
- Quiet hooks for session, tool, and subagent lifecycle events
- Passive Work Graph hook outbox for audit-first reconciliation
- Specialist agents for engineering, product, design, operations, marketing, sales, and orchestration

## Local testing

1. Run `npm run verify`
2. Run `npm run install:local`
3. Restart Cursor or run `Developer: Reload Window`
4. Confirm the plugin loads from `~/.cursor/plugins/local/orgx`

## Hook behavior

Cursor lifecycle hooks call `scripts/hooks/record-work-graph-event.mjs`. The
script writes compact, redacted JSONL events to
`~/.config/useorgx/wizard/hooks/events.jsonl` by default, or to
`ORGX_WIZARD_HOOK_OUTBOX` when set.

These hook records are a passive backstop for later Work Graph reconciliation.
They should answer whether meaningful work happened without durable OrgX
writeback. They do not store raw prompts, raw transcripts, API keys, tokens, or
storage state.

## Marketplace

Cursor plugin docs:

- `https://cursor.com/docs/plugins`
- `https://cursor.com/docs/reference/plugins`
- `https://cursor.com/marketplace/publish`

The current repo is the product artifact that was previously missing. `orgx-mcp` is only the remote MCP server; Cursor Marketplace expects a plugin bundle repo like this one.
6 changes: 6 additions & 0 deletions orgx/agents/design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Design

Own interface quality, hierarchy, and interaction clarity.

- Preserve the existing design system unless a change is intentional and scoped.
- Mobile behavior is part of the design, not an afterthought.
7 changes: 7 additions & 0 deletions orgx/agents/engineering.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Engineering

Own implementation quality, verification, and technical execution.

- Read code before changing it.
- Prefer minimal, reviewable diffs.
- Separate implemented from verified.
6 changes: 6 additions & 0 deletions orgx/agents/marketing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Marketing

Own positioning, messaging, and launch clarity.

- Keep claims grounded in shipped capability.
- Translate technical value into crisp user-facing language.
6 changes: 6 additions & 0 deletions orgx/agents/operations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Operations

Own reliability, rollout safety, and runtime readiness.

- Prefer reversible changes.
- Surface operational risk directly.
7 changes: 7 additions & 0 deletions orgx/agents/orchestrator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Orchestrator

Coordinate cross-domain work in OrgX.

- Keep execution aligned to the active initiative and workstream.
- Decide when a specialist agent should be invoked.
- Synthesize specialist outputs into one concrete next step.
6 changes: 6 additions & 0 deletions orgx/agents/product.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Product

Own problem framing, scope clarity, and measurable outcomes.

- Translate work into user value and outcome language.
- Reduce ambiguity before expanding scope.
6 changes: 6 additions & 0 deletions orgx/agents/sales.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Sales

Own commercial framing and adoption-oriented narratives.

- Focus on concrete differentiators.
- Avoid parity framing when the product category is different.
6 changes: 6 additions & 0 deletions orgx/assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions orgx/commands/orgx-resume-workstream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Resume the most relevant OrgX workstream for the current repo.

Checklist:
- Fetch bootstrap context for `source_client=cursor`.
- Use resumable workstreams and active sessions first.
- Re-state the current task, blockers, and the next concrete action.
- If proof or decisions are pending, surface them before continuing implementation.
7 changes: 7 additions & 0 deletions orgx/commands/orgx-review-pending-decisions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Review OrgX decisions that still need human approval.

Checklist:
- List the pending decisions in priority order.
- Give enough context to approve or reject safely.
- Do not auto-approve anything without explicit user confirmation.
- If a decision blocks execution, say exactly what remains blocked.
7 changes: 7 additions & 0 deletions orgx/commands/orgx-show-proof-status.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Show OrgX proof status for the active workstream or task.

Checklist:
- Prefer the currently active task or most recently resumed workstream.
- Summarize what proof exists and what proof is still missing.
- Distinguish implemented work from verified work.
- End with the smallest next action that closes the highest-signal proof gap.
8 changes: 8 additions & 0 deletions orgx/commands/orgx-start-workstream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Start an OrgX workstream for the current repo.

Checklist:
- Fetch bootstrap context for `source_client=cursor`.
- Prefer the active workspace and recommended action from OrgX.
- If a resumable workstream exists, explain why a new workstream is still justified before creating one.
- If execution credentials are missing, stop at setup guidance instead of pretending execution is available.
- End with the concrete next step, not a generic summary.
30 changes: 30 additions & 0 deletions orgx/docs/marketplace-submission.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Marketplace Submission Notes

## Product artifact

Cursor Marketplace reviews plugins, not bare MCP servers.

This repo is the plugin artifact that sits on top of `orgx-mcp` and bundles:

- `.cursor-plugin/plugin.json`
- `.mcp.json`
- rules
- skills
- agents
- commands
- hooks

## Publish flow

1. Verify locally with `npm run verify`
2. Install locally with `npm run install:local`
3. Confirm the plugin loads in Cursor from `~/.cursor/plugins/local/cursor-plugin`
4. Submit for review at `https://cursor.com/marketplace/publish`

## Repo-local overlay

The plugin defaults can be overridden additively by project-specific overlays inside a target repo:

- `.cursor/orgx/`
- `.cursor/commands/`
- `.cursor/rules/`
29 changes: 29 additions & 0 deletions orgx/hooks/hooks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"hooks": {
"sessionStart": [
{
"command": "node ./scripts/hooks/session-start.mjs"
}
],
"postToolUse": [
{
"command": "node ./scripts/hooks/post-tool-use.mjs"
}
],
"postToolUseFailure": [
{
"command": "node ./scripts/hooks/post-tool-use-failure.mjs"
}
],
"subagentStart": [
{
"command": "node ./scripts/hooks/subagent-start.mjs"
}
],
"subagentStop": [
{
"command": "node ./scripts/hooks/subagent-stop.mjs"
}
]
}
}
33 changes: 33 additions & 0 deletions orgx/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"name": "@useorgx/cursor-plugin",
"version": "0.1.1",
"description": "OrgX plugin for Cursor with MCP, rules, skills, passive Work Graph hooks, commands, and specialist agents.",
"type": "module",
"private": true,
"scripts": {
"verify": "node ./scripts/verify-plugin.mjs",
"install:local": "node ./scripts/install-local.mjs",
"check": "npm run verify"
},
"engines": {
"node": ">=18.0.0"
},
"keywords": [
"cursor",
"cursor-plugin",
"orgx",
"mcp",
"agent-orchestration",
"workflow"
],
"author": "OrgX Team <team@useorgx.com>",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/useorgx/cursor-plugin.git"
},
"homepage": "https://github.com/useorgx/cursor-plugin",
"bugs": {
"url": "https://github.com/useorgx/cursor-plugin/issues"
}
}
12 changes: 12 additions & 0 deletions orgx/rules/orgx-execution-loop.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
description: OrgX-native execution loop for Cursor.
alwaysApply: true
---

# OrgX Execution Loop

- Treat OrgX as the execution control plane, not as a passive notes store.
- Prefer starting from OrgX bootstrap context, resumable workstreams, and proof status before inventing new scope.
- If work is blocked by missing context or a real decision, surface it explicitly instead of guessing.
- Close the loop with proof, artifacts, and verification steps whenever work is ready for review.
- Keep repo-local overrides in `.cursor/orgx/` additive to the default OrgX bundle.
16 changes: 16 additions & 0 deletions orgx/scripts/hooks/post-tool-use-failure.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env node

import { exitCodeForResult, main, readStdin } from './record-work-graph-event.mjs';

readStdin()
.then((stdinText) =>
main({
argv: ['--event=post_tool_use_failure', '--source_client=cursor'],
stdinText,
})
)
.then((result) => process.exit(exitCodeForResult(result)))
.catch((error) => {
process.stderr.write(`OrgX Cursor post-tool-use-failure hook failed: ${error.message}\n`);
process.exit(1);
});
13 changes: 13 additions & 0 deletions orgx/scripts/hooks/post-tool-use.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env node

import { exitCodeForResult, main, readStdin } from './record-work-graph-event.mjs';

readStdin()
.then((stdinText) =>
main({ argv: ['--event=post_tool_use', '--source_client=cursor'], stdinText })
)
.then((result) => process.exit(exitCodeForResult(result)))
.catch((error) => {
process.stderr.write(`OrgX Cursor post-tool-use hook failed: ${error.message}\n`);
process.exit(1);
});
Loading