windsurfrules

windsurfrules is a cursor rule for Windsurf from jnMetaCode/agency-orchestrator. It costs 606 tokens per session, scanned A, a copy of workflow-runner, Apache-2.0.

A rule-based runner for YAML workflows, where YAML is a text format commonly used to describe automated jobs and their steps.

In plain words
What is it for?
Use it to execute workflows with parallel or dependent steps, pass results between roles, and load role instructions from configured directories.
Why use it?
It provides a defined process for reading inputs, ordering dependent steps, applying conditions, and running multi-role collaboration tasks without handling each step manually.

Cursor rule for Windsurf

Written for Windsurf: a Windsurf rule.

Good fit Use it to execute workflows with parallel or dependent steps, pass results between roles, and load role instructions from configured directories.

Compare 6 cursor rules from other repositories ↓
Install with agentmods
npx agentmods add rules/jnmetacode/agency-orchestrator/windsurfrules
About the project

jnMetaCode/agency-orchestrator is a workflow system that lets people assemble teams of specialized AI roles from a natural-language request and run them against defined tasks and acceptance criteria. It is intended for individuals who want AI collaborators to produce research, content, products or other deliverables through web, desktop, Docker or command-line interfaces. The catalogue add-ons configure the agent roles and workflows used by the orchestrator.

jnMetaCode/agency-orchestrator · 2,367 stars · on GitHub · ao.aiolaola.com

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/jnMetaCode/agency-orchestrator

Made for: Windsurf.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for windsurfrules

README.md
[![agentmods](https://agentmods.dev/badge/rules/jnmetacode/agency-orchestrator/windsurfrules/github.svg)](https://agentmods.dev/rules/jnmetacode/agency-orchestrator/windsurfrules)
Your own site
<a href="https://agentmods.dev/rules/jnmetacode/agency-orchestrator/windsurfrules"><img src="https://agentmods.dev/badge/rules/jnmetacode/agency-orchestrator/windsurfrules/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for windsurfrules

Your own site · 80×15
<a href="https://agentmods.dev/rules/jnmetacode/agency-orchestrator/windsurfrules"><img src="https://agentmods.dev/badge/rules/jnmetacode/agency-orchestrator/windsurfrules.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 606 This file is loaded in full into every session.
When invoked 606 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 95% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00606 $0.00606
Opus 5.5 $0.00242 $0.00242
Sonnet 5.5 $0.00121 $0.00121
Haiku 4.5 $0.00061 $0.00061

Measured 1mo ago against content hash 9da397390927, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

windsurfrules scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

95% identical to workflow-runner — 5 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

integrations/windsurf/.windsurfrules · 51 lines

How it starts

The opening of the file, as written. The whole thing — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Multi-Role Workflow Runner

When the user asks to run a workflow (YAML file) or a multi-role collaboration task, follow these steps:

1. Parse Workflow

Read the specified YAML file. Extract name, inputs, steps, depends_on, conditions, and loops.

2. Collect Inputs

  • required: true inputs must be provided by the user
  • Optional inputs with default use the default value
  • Optional inputs without default are set to empty string

3. Build Execution Order

Topological sort by depends_on. Steps without dependencies belong to the same level and can run in parallel.

4. Execute Steps

For each step:

  1. Read agency-agents-zh/{role}.md (search order: YAML's agents_dir → ./agency-agents-zh/ → ../agency-agents-zh/ → node_modules/agency-agents-zh/)
  2. Extract all markdown content after the frontmatter (---) as the role personality
  3. Replace {{variables}} in the task with context values (from inputs or previous step outputs)
  4. Evaluate conditions: if condition is set, evaluate it. Skip the step if the condition is not met. Operators: contains, equals, not_contains, not_equals
  5. Fully embody the role — use that role's expertise, frameworks, and communication style. Output should be substantive.
  6. Store the step's output text into the context variable (if step has an output field)
  7. Check loops: if loop is set and exit_condition is not met, jump back to loop.back_to step (max: loop.max_iterations rounds)

Label each step: ### Step N/Total: step_id (Role Name)

5. Save Results

Save all outputs to files:

ao-output/{workflow-name}-{date}/
├── steps/
│   ├── 1-{step_id}.md
│   └── ...
├── summary.md          # Final step's full output
└── metadata.json       # Step states, timing, token counts

6. Suggest Iteration

After completion, always tell the user:

To improve a specific step, ask me to re-run from that step. I'll reuse all upstream outputs. For CLI: ao run <workflow> --resume last --from <step-id>

Read the full file on GitHub · 51 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 51 lines · 606 tokens per session scan A 9da397390927

Subscribe to this mod's changes

windsurfrules is a cursor rule published in the GitHub repository jnMetaCode/agency-orchestrator (2,367 stars, last pushed 3d ago), licensed Apache-2.0. It adds 606 tokens to every session, about $0.0024 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 95% identical to workflow-runner, differing in 5 lines, and is treated as a copy.