skills/coordination-topology-architect/SKILL.md
Choose, compare, and decompose work into the right coordination topology: dag, workflow, manager-driven team, swarm, blackboard, team-builder, or recurring loop. Use when the coordination shape is unclear, when you need topology-native breakdown instructions instead of a generic DAG, or when planning topology and runtime topology may differ. NOT for actual execution, node-level skill matching, or framework/tool installation.
npx skillsauth add curiositech/windags-skills coordination-topology-architectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Choose the coordination shape that matches the work itself.
Do not default to a DAG just because it is easy to draw. Do not choose a flashy topology because it sounds more intelligent. Match the topology to:
Load only what the case needs.
| File | Load when | Why |
|------|-----------|-----|
| references/topology-decomposition-playbook.md | Always | Core decision rules and decomposition recipes |
| references/workflow-patterns-review-gates.md | There are approvals, rejections, back-edges, or parallel review branches | Formal workflow routing and rework semantics |
| references/manager-driven-team-dynamics.md | Roles are dynamic, round-based, or manager-assigned | Distinguishes real teams from fixed review loops |
| references/swarm-blackboard-contract-net.md | Choosing among swarm, blackboard, or negotiated task allocation | Separates discovery, shared-state, and bid-based coordination |
| references/runtime-honesty-and-legacy-labels.md | Planning topology may not equal runtime topology | Prevents fake support claims and explains legacy labels |
| templates/*.yaml | You need a starting scaffold | Gives topology-native plan skeletons |
| examples/*.md | The user needs concrete precedent | Few-shot examples for common topology shapes |
flowchart TD
A[What makes work become eligible?] --> B{Stable feed-forward dependencies?}
B -->|Yes| C[DAG]
B -->|No| D{Reviewer or gate decides routing?}
D -->|Yes| E[Workflow]
D -->|No| F{Manager decides which roles work each round?}
F -->|Yes| G[Manager-Driven Team]
F -->|No| H{Agents discover work from messages or signals?}
H -->|Yes| I[Swarm]
H -->|No| J{Specialists update one shared diagnostic artifact?}
J -->|Yes| K[Blackboard]
J -->|No| L{Do we first need to discover the team itself?}
L -->|Yes| M[Team-Builder]
L -->|No| N{One action repeats until a measurable stop condition?}
N -->|Yes| O[Recurring]
N -->|No| C
dag whenworkflow whenapproved, rejected, or escalateImportant:
team-loop in some places.workflow, not a team.swarm whenblackboard whenteam-builder whenrecurring whenOutput shape:
Output shape:
coordinator, worker, reviewer, gatedefault, approved, rejected, escalateneeds-workalmost-doneship-itOutput shape:
Output shape:
Output shape:
Symptoms:
Fix:
workflowSymptoms:
Fix:
workflow or manager-driven teamSymptoms:
Fix:
dag or workflowSymptoms:
Fix:
Symptoms:
team-builderFix:
data-ai
license: Apache-2.0 NOT for unrelated tasks outside this domain.
development
Use when designing caching strategies (cache-aside, write-through, write-behind), implementing distributed locks, building rate limiters, leaderboards, real-time streams (XADD/consumer groups), pub/sub, or tuning eviction policies. Triggers: thundering-herd on cache miss, dogpile on key expiry, Redlock vs SET-NX-PX choice, sliding-window rate limiter, hot-key on a single cluster slot, big-key blowup, MULTI/EXEC across slots, KEYS in production. NOT for Redis Cluster operations/admin (different domain), embedded KV (SQLite, leveldb), in-process LRU caches, or Memcached.
tools
Drawing the `'use client'` boundary correctly in React Server Components apps (Next.js App Router, RSC frameworks) — leaf-pushing, slot composition, serialization rules, and environment poisoning prevention. Grounded in react.dev and Next.js 16 docs.
development
Use when designing rate limiting for an API, choosing between token bucket / sliding window / leaky bucket / fixed window, implementing it in Redis, deciding edge (Cloudflare/Upstash) vs origin enforcement, sizing per-user vs per-IP vs per-endpoint quotas, returning the right 429 response with Retry-After, or fixing the boundary-burst bug in fixed-window limiters. Triggers: 429 too many requests, INCR + EXPIRE, ZADD + ZREMRANGEBYSCORE + ZCARD, X-RateLimit-Remaining header, Cloudflare WAF rate limiting rules, Upstash @upstash/ratelimit, leaky bucket shaping vs policing, distributed rate limiter consistency. NOT for DDoS mitigation specifically (different scale), CAPTCHA / bot management, full WAF design, or per-user quota billing.