From syndicate
Spins up a self-governing organization that iterates on a deliverable until it ships. Use when the user wants something built, written, or designed through iterative improvement.
How this skill is triggered — by the user, by Claude, or both
Slash command
/syndicate:runThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You spin up an organization to do a job or run a venture. The user gives you a goal. You stand up the syndicate (workers, management, oversight), attempt the work, score it, refine the approach, and iterate until you ship something good. In **job** mode, the syndicate dissolves after shipping. In **venture** mode, it ships and then finds the next thing to improve.
You spin up an organization to do a job or run a venture. The user gives you a goal. You stand up the syndicate (workers, management, oversight), attempt the work, score it, refine the approach, and iterate until you ship something good. In job mode, the syndicate dissolves after shipping. In venture mode, it ships and then finds the next thing to improve.
A structurally separate coherence agent watches the trajectory and shuts things down if the organization is spiraling. For procedural details (subagent invocation, formats, git workflow), read references/loop.md. For architectural background, read references/architecture.md.
If syndicate/ doesn't exist in the project root, bootstrap it:
templates/ directory to syndicate/ in the project root.git symbolic-ref refs/remotes/origin/HEAD, fall back to main). If no remote exists, record none. Write the result to syndicate/.pr-target.syndicate/run-<N> off the current HEAD (N increments if prior runs exist in the branch namespace).syndicate/ directory on that branch.syndicate-seed-<N> (local only).If syndicate/ exists, you are resuming. Check out the existing syndicate/run-<N> branch and pick up where you left off.
Before building anything, have a conversation with the user to establish a shared understanding of the goal:
goal.md and criteria.md.The criteria are still hypotheses. They will evolve as the syndicate learns. But they start from a shared understanding, not unvalidated assumptions.
You are in the exploration phase. Convergence is structurally impossible until you transition out.
Make your first attempt. Produce the real deliverable with 2+ parallel variants, each taking a meaningfully different approach. Score each criterion on a 1 to 5 scale (1 = not met, 5 = fully met). Score honestly, and ask whether building this revealed that the criteria themselves are wrong.
After scoring, perform the criteria ratchet (see step 5 below). Document ratchet and pruning actions in meta-notes.
Skip the coherence check for generation 1. There is no trajectory to evaluate yet.
isolation: "worktree"). All run simultaneously as background agents. Each variant writes to its own output directory (attempts/gen-N-a/, gen-N-b/, etc.).scores.jsonl (include phase and ratchet fields). Record all variants in branches.jsonl.flag, you must change your approach. Each flag increments the plateau counter; continue or prune resets it. On prune, all variants are pruned and the next generation branches from the previous winner.syndicate/run-<N> as a single commit: gen-<G>: <one sentence>. Mark other variants pruned in branches.jsonl. Force-remove all variant worktrees and delete their branches immediately.meta-notes.md. Note what was tried in parallel, what worked, what didn't. If a pattern has recurred enough to be reusable, promote it to a learned agent or domain skill. Distill meta-notes when they get too long.The syndicate governs itself. No generation count from the user.
During exploration, go wide: always 2+ variants with genuinely different approaches. During convergence, go narrow when confident (1 to 2 variants) or wide when stuck (3 to 4). All variants in a generation use the same model.
The syndicate starts in exploration phase and must explicitly transition to convergence phase before convergence stopping conditions apply.
Eligibility: at least 3 exploration generations complete, and at least 2 genuinely different approaches tried across variants (not just parameter tweaks).
To transition, write a transition rationale to meta-notes:
Pass the transition rationale summary to the coherence agent in the next invocation. If the coherence agent flags a thin rationale, remain in exploration phase and attempt at least one more generation before reconsidering. During convergence, the criteria ratchet is optional, criteria cannot be softened but can be pruned with justification.
The coherence agent is the key insight from TurkoMatic (2011): self-organizing systems reliably derail without a structurally separate observer. It runs as a native subagent with zero tool access. It never sees your code, skills, or prompts. Only fitness trajectories, complexity metrics, and commit messages. Its instructions (agents/coherence.md) are fixed and cannot be modified. This separation is the whole point.
A wasted generation costs more than a better model. Start strong, downgrade with evidence.
Start the task agent on opus. Downgrade to sonnet if evidence shows the task is simple enough (scores near max on first attempt, straightforward deliverable). Never change model and approach in the same generation. The coherence agent always runs on sonnet. Learned agents default to sonnet.
skills/: techniques, patterns, approachskills/domain/: domain-specific knowledge (promoted from learnings or imported from installed plugins)skills-manifest.jsonl: provenance and lifecycle tracking for domain skillsprompts/task.md: how the task agent is instructedcriteria.md: your understanding of what good looks like (sharpen as you learn, don't soften to game scores)learned-agents/: specialized subagents promoted from recurring patterns in meta-notes. These are living documents. Revise them as understanding deepens.meta-notes.md: observations and learnings, distilled periodically to stay manageablegoal.md: the user's goal doesn't changeagents/: core subagent prompts (task, coherence) bundled with this skillmetrics/: append-only recordventure.jsonl (venture mode only, distilled periodically like meta-notes. Git preserves full history)reports/: round boundary reports and dissolution reportOn stopping, copy the best attempt to the project root. Commit the final state on syndicate/run-<N>. Read syndicate/.pr-target: if it is not none, push the branch and open a PR targeting that branch. The PR description includes the goal, final scores, generation count, and path to the dissolution or round report. If no remote exists, tell the user which branch contains the deliverable.
Job mode: Write a dissolution report to reports/final.md summarizing what was accomplished and what was learned. The syndicate dissolves.
Venture mode: The syndicate enters a discovery phase. After discovery completes, write a round report to reports/round-N.md covering what shipped, the score trajectory, what was learned, and the next round's focus. If discovery finds nothing worth improving, write a dissolution report to reports/final.md instead. In interactive sessions, also present the report directly to the user.
If the user's intent is ongoing improvement (not a one-shot deliverable), run as a venture. When in doubt, default to job. The user can always say "keep going."
A venture is a sequence of rounds. Each round is a normal evolution cycle that converges and ships. Each new round starts back in exploration phase, so the full diverge-then-converge cycle repeats. Instead of dissolving, the syndicate then enters a discovery phase: review what shipped, identify the highest-value improvement, write new criteria targeting it, and start the next round. Generation numbering stays global across rounds.
The user controls duration by controlling the session. There is no token budget. The syndicate keeps finding improvements until the user stops it or discovery finds nothing worth improving.
For discovery procedure and round transition mechanics, read references/loop.md.
meta-notes.md and check learned-agents/ before every generation. Don't repeat failures. When stuck, dig into git history for distilled-away context.npx claudepluginhub ryansinger/syndicate --plugin syndicateYC Office Hours brainstorming: startup mode with six forcing questions to validate demand, or builder mode for design thinking on side projects. Saves a design doc. Use before planning reviews.
Generates atomic PLAN.md files for hierarchical project planning in solo agentic dev with Claude. Covers briefs, roadmaps, phases; includes tasks, verification, checkpoints, success criteria.
Explores design alternatives with parallel agents for brainstorming ideas, solutions, or comparisons in software projects.