Windmill Trigger Type Checklist
windmill-labs/windmill
Checklist of every backend, frontend, CLI and capture change needed to add a new TriggerCrud-based trigger type, such as Azure, GCP or Kafka, to Windmill.
Message queue design expertise covering queue vs topic vs stream, delivery guarantees, dead letter queues, backpressure handling, RabbitMQ/Kafka/SQS patterns, event schema evolution, and ordering…
$ npx skills add FerroxLabs/wayland --skill queue-architect -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FerroxLabs/wayland queue-architect --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect .claude/skills/queue-architect && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "queue-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect into .claude/skills/queue-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "queue-architect", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architectType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FerroxLabs/wayland --skill queue-architect -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FerroxLabs/wayland queue-architect --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect .agents/skills/queue-architect && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "queue-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect into .agents/skills/queue-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "queue-architect", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill queue-architect -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FerroxLabs/wayland queue-architect --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect .cursor/skills/queue-architect && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "queue-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect into .cursor/skills/queue-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "queue-architect", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FerroxLabs/wayland.git --path src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FerroxLabs/wayland --skill queue-architect -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FerroxLabs/wayland queue-architect --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect .gemini/skills/queue-architect && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "queue-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect into .gemini/skills/queue-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "queue-architect", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FerroxLabs/wayland queue-architectInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FerroxLabs/wayland --skill queue-architect -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect .github/skills/queue-architect && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "queue-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect into .github/skills/queue-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "queue-architect", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill queue-architect -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FerroxLabs/wayland queue-architect --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect .opencode/skills/queue-architect && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "queue-architect" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect into .opencode/skills/queue-architect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "queue-architect", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
queue-architectMessage queue design expertise covering queue vs topic vs stream, delivery guarantees, dead letter queues, backpressure handling, RabbitMQ/Kafka/SQS patterns, event schema evolution, and ordering…
Queue Architect is an agent skill from FerroxLabs/wayland. Message queue design expertise covering queue vs topic vs stream, delivery guarantees, dead letter queues, backpressure handling, RabbitMQ/Kafka/SQS patterns, event schema evolution, and ordering guarantees. Use when the user asks about queue architect, queue architect best practices, or needs guidance on queue architect implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering Event-driven systems. It works with Apache Kafka. The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 4c030c7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript and markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Queue Architect loads about 4k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 384 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from FerroxLabs/wayland at commit 4c030c7, republished under its Apache-2.0 licence (© FerroxLabs). 384 words, ~3,953 tokens.
.claude/skills/queue-architect/SKILL.md (or your agent's skills folder).Design resilient message-driven architectures using queues, topics, and streams. This skill covers pattern selection, delivery guarantee tradeoffs, error handling, scaling strategies, and production operational concerns across major messaging platforms.
QUEUE (Point-to-Point):
- One producer, one consumer per message
- Message is removed after consumption
- Load balancing across consumers
- Use case: Task distribution, work queues
Producer -> [Queue] -> Consumer A
-> Consumer B (competing consumers)
TOPIC (Pub/Sub):
- One producer, multiple consumers per message
- Each subscriber gets a copy
- Fan-out pattern
- Use case: Event notification, broadcasting
Producer -> [Topic] -> Subscriber A (gets all messages)
-> Subscriber B (gets all messages)
-> Subscriber C (gets all messages)
STREAM (Log):
- Ordered, append-only log
- Consumers can replay from any position
- Consumer groups for parallel processing
- Retention-based (not deletion on consume)
- Use case: Event sourcing, audit logs, real-time analytics
Producer -> [Stream] -> Consumer Group 1 (offset tracking)
-> Consumer Group 2 (different offset)REQUIREMENT RECOMMENDED TECHNOLOGY
--------------------------------------------------------------
Simple task queue Redis (Bull/BullMQ), SQS
Guaranteed delivery + routing RabbitMQ
High throughput event streaming Kafka, Redpanda
Cloud-native, serverless SQS + SNS (AWS), Pub/Sub (GCP)
Event sourcing with replay Kafka, EventStoreDB
Simple pub/sub Redis Pub/Sub (ephemeral),
SNS (durable)
Delayed/scheduled messages BullMQ, SQS (delay), RabbitMQ (plugin)
Priority queues RabbitMQ, BullMQ
Complex routing RabbitMQ (exchanges)MESSAGE IS DELIVERED 0 OR 1 TIMES.
- Fire and skip
- No acknowledgment, no retry
- Fastest, simplest
- Acceptable data loss
USE CASE: Metrics, logs, analytics events where loss of a few
messages is acceptable.
IMPLEMENTATION:
Producer sends message without waiting for ack.
Consumer processes without confirming.MESSAGE IS DELIVERED 1 OR MORE TIMES.
- Producer retries until acknowledged
- Consumer acknowledges after processing
- Possible duplicates on failure/retry
- CONSUMER MUST BE IDEMPOTENT
USE CASE: Most business events (orders, payments, notifications).
IMPLEMENTATION:
1. Producer sends message and waits for broker ack
2. Consumer receives message
3. Consumer processes message
4. Consumer sends acknowledgment to broker
5. If step 3 or 4 fails, broker redelivers
IDEMPOTENCY STRATEGY:async function processOrderEvent(event: OrderEvent): Promise<void> {
// Check idempotency key before processing
const processed = await db.processedEvents.findUnique({
where: { eventId: event.id },
});
if (processed) return; // Already handled, skip
await db.$transaction(async (tx) => {
// Process the event
await tx.orders.update({
where: { id: event.orderId },
data: { status: event.newStatus },
});
// Record as processed (idempotency)
await tx.processedEvents.create({
data: { eventId: event.id, processedAt: new Date() },
});
});
}FLOW:
1. Consumer receives message
2. Processing fails
3. Message retried N times
4. After max retries, message moved to DLQ
5. DLQ monitored by alerts
6. Operations team investigates and reprocesses
CONFIGURATION DECISIONS:
max_retries: 3-5 (before DLQ)
retry_delay: Exponential backoff (1s, 5s, 30s, 2min, 10min)
dlq_retention: 7-30 days
dlq_alert_threshold: Any message (or batch threshold)// BullMQ dead letter queue pattern
import { Queue, Worker } from 'bullmq';
const orderQueue = new Queue('orders', {
defaultJobOptions: {
attempts: 5,
backoff: {
type: 'exponential',
delay: 1000, // 1s, 2s, 4s, 8s, 16s
},
removeOnComplete: { age: 3600 * 24 }, // Keep completed for 24h
removeOnFail: false, // Keep failed jobs for inspection
},
});
const worker = new Worker('orders', async (job) => {
try {
await processOrder(job.data);
} catch (error) {
# ... (condensed) ...
await alerting.notify(`Dead letter: Order ${job.data.orderId} failed permanently`, {
jobId: job.id,
error: error.message,
data: job.data,
});
}
});// Reprocess DLQ messages
async function reprocessDeadLetters(queueName: string, count: number = 10) {
const queue = new Queue(queueName);
const failedJobs = await queue.getFailed(0, count);
for (const job of failedJobs) {
console.log(`Reprocessing job ${job.id}:`, job.data);
await job.retry();
}
return { reprocessed: failedJobs.length };
}1. RATE LIMITING ON PRODUCER:
Limit message production rate to match consumer throughput.
Simple but may require buffering on producer side.
2. BOUNDED QUEUE SIZE:
Set maximum queue length.
When full: block producer, reject messages, or drop oldest.
3. CONSUMER SCALING:
Add consumers when queue depth exceeds threshold.
Kubernetes HPA based on queue length metric.
4. PREFETCH LIMIT:
Limit number of unacknowledged messages per consumer.
RabbitMQ: channel.prefetch(10)
Prevents fast broker from overwhelming slow consumer.
5. CIRCUIT BREAKER:
If downstream service is slow, stop consuming temporarily.
Resume after cool-down period.// Consumer with backpressure (prefetch + circuit breaker)
import CircuitBreaker from 'opossum';
const breaker = new CircuitBreaker(processMessage, {
timeout: 5000, // 5s per message
errorThresholdPercentage: 50,
resetTimeout: 30000, // 30s before retrying
});
breaker.on('open', () => {
console.warn('Circuit breaker OPEN -- pausing consumer');
consumer.pause();
});
breaker.on('halfOpen', () => {
console.info('Circuit breaker HALF-OPEN -- resuming consumer');
consumer.resume();
});DIRECT Exchange:
Routes message to queue with matching routing key.
Use: Specific task routing (order.created -> order-processing queue)
FANOUT Exchange:
Routes message to ALL bound queues (ignores routing key).
Use: Broadcasting (send notification to email, SMS, push queues)
TOPIC Exchange:
Routes based on routing key pattern matching.
Pattern: order.* matches order.created, order.updated
Pattern: order.# matches order.created, order.item.added
Use: Flexible routing (different consumers for different event types)
HEADERS Exchange:
Routes based on message headers (not routing key).
Use: Complex routing rules based on message metadataPRODUCER:
- Use publisher confirms (wait for broker ack)
- Set message persistence (deliveryMode: 2)
- Use mandatory flag to detect unroutable messages
CONSUMER:
- Always use manual acknowledgment (not auto-ack)
- Set prefetch count (QoS) to limit in-flight messages
- Use consumer cancellation notifications
QUEUE:
- Set durable: true (survives broker restart)
- Set appropriate TTL for messages
- Configure dead letter exchange for failed messages
- Set queue length limits with overflow policyTOPIC NAMING CONVENTION:
<domain>.<entity>.<event-type>
Example: ecommerce.orders.created
ecommerce.orders.updated
payments.transactions.completed
PARTITION STRATEGY:
- Partition by entity ID (all events for same entity in same partition)
- Ensures ordering per entity
- Number of partitions = max parallelism
producer.send({
topic: 'orders',
messages: [{
key: order.id, // Partition key
value: JSON.stringify(event),
headers: {
'event-type': 'order.created',
'event-id': uuid(),
'timestamp': Date.now().toString(),
},
}],
});CONSUMER GROUP:
- Multiple consumers share the work (one partition per consumer)
- Each message processed by exactly one consumer in the group
- Consumer failure: partitions rebalanced to remaining consumers
const consumer = kafka.consumer({ groupId: 'order-processor' });
await consumer.subscribe({ topic: 'orders', fromBeginning: false });
await consumer.run({
eachMessage: async ({ topic, partition, message }) => {
await processOrder(JSON.parse(message.value.toString()));
},
});
MULTIPLE CONSUMER GROUPS:
- Each group gets all messages independently
- Use for: different processing pipelines on same events
Group 'order-processor' -> Updates order status
Group 'analytics' -> Records analytics
Group 'notification' -> Sends notifications// SQS with proper error handling
import { SQSClient, ReceiveMessageCommand, DeleteMessageCommand } from '@aws-sdk/client-sqs';
const sqs = new SQSClient({ region: 'us-east-1' });
async function pollMessages() {
const { Messages } = await sqs.send(new ReceiveMessageCommand({
QueueUrl: QUEUE_URL,
MaxNumberOfMessages: 10,
WaitTimeSeconds: 20, // Long polling (reduces cost)
VisibilityTimeout: 300, // 5 min to process before retry
MessageAttributeNames: ['All'],
}));
if (!Messages) return;
await Promise.allSettled(
Messages.map(async (message) => {
try {
# ... (condensed) ...
} catch (error) {
console.error('Processing failed, will retry:', error);
// Message becomes visible again after VisibilityTimeout
}
})
);
}BACKWARD COMPATIBLE (consumers can read old AND new):
- Add optional field with default
- Remove field that was optional
- Widen type (int -> long)
FORWARD COMPATIBLE (old consumers can read new messages):
- Add optional field (old consumers ignore it)
- Remove optional field
FULL COMPATIBLE:
- Both backward and forward
- Only add optional fields with defaults
- Never remove or rename required fields
BREAKING (requires versioning):
- Remove required field
- Rename field
- Change field type incompatibly
- Change field semantics// Include schema version in messages
interface OrderEvent {
schemaVersion: number;
eventId: string;
eventType: 'order.created' | 'order.updated';
timestamp: string;
data: OrderEventData;
}
// Consumer handles multiple versions
function processOrderEvent(event: OrderEvent) {
switch (event.schemaVersion) {
case 1:
return processV1(event.data as OrderV1);
case 2:
return processV2(event.data as OrderV2);
default:
console.warn(`Unknown schema version: ${event.schemaVersion}`);
// Forward to DLQ for investigation
}
}
// Schema registry (Kafka + Avro/Protobuf)
// Automatically validates schema compatibility on publishGLOBAL ORDER (all messages in order):
- Single partition/queue
- Single consumer
- Limits throughput
- Rarely needed
PER-ENTITY ORDER (messages for same entity in order):
- Partition by entity ID
- All events for entity X go to same partition
- Ordered within partition, not across partitions
- RECOMMENDED for most use cases
NO ORDER GUARANTEE:
- Maximum throughput
- Messages processed in any order
- Consumer must handle out-of-order
- Good for independent events
FIFO QUEUES (AWS SQS FIFO):
- MessageGroupId for per-group ordering
- MessageDeduplicationId for exactly-once
- 300 messages/second per group (3000 with batching)Use this skill when:
Do NOT use this skill when:
# Queue Architect Analysis
## Context Assessment
[Situation summary and constraints]
## Recommended Approach
[Primary recommendation with rationale]
## Implementation Steps
1. [Step with specific details]
2. [Step with specific details]
3. [Step with specific details]
## Trade-offs and Considerations
- [Key trade-off 1]
- [Key trade-off 2]
## Next Steps
- [Immediate action item]
- [Follow-up action item]Input: "Help me implement queue architect for a medium-scale production application"
Output: A structured analysis covering current state assessment, recommended queue architect approach with specific patterns, implementation roadmap with milestones, and risk mitigation strategies tailored to the application scale and constraints.
© FerroxLabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect of FerroxLabs/wayland.
Open the folder on GitHubat commit 4c030c7
Queue Architect next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Queue Architect this skillFerroxLabs/wayland | 608 | — | ~4k | Automated safety check: Pass | Apache-2.0 | |
| Windmill Trigger Type Checklistwindmill-labs/windmill | 18k | — | ~4.7k | Automated safety check: Pass | Custom licence | |
| FoundatioFoundatioFx/Foundatio | 2.1k | — | ~3.9k | Automated safety check: Pass | Apache-2.0 | |
| Opensource Guide Coachcalf-ai/calfkit-sdk | 149 | 1 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Create Environmentgodatadriven/whirl | 205 | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Monstermq Graphql Configvogler75/monster-mq | 142 | — | ~2.3k | Automated safety check: Pass | GPL-3.0 |
windmill-labs/windmill
Checklist of every backend, frontend, CLI and capture change needed to add a new TriggerCrud-based trigger type, such as Azure, GCP or Kafka, to Windmill.
FoundatioFx/Foundatio
A skill your agent uses when working with Foundatio infrastructure abstractions for .NET -- caching, queuing, messaging, file storage, distributed locking, or background jobs.
calf-ai/calfkit-sdk
A skill your agent uses when a user wants guidance on starting, contributing to, growing, governing, funding, securing, or sustaining an open source project, or asks about contributor onboarding…
godatadriven/whirl
Create a new Whirl environment in the envs/ directory. An agent skill from godatadriven/whirl.
vogler75/monster-mq
Guide for configuring, managing, and mutating MonsterMQ settings, devices, flows, AI agents, users, loggers, archive groups, topic schemas, and publishing messages via the GraphQL API.
wshobson/agents
Designs event stores for event-sourced systems: requirements, a comparison of EventStoreDB, PostgreSQL, Kafka, DynamoDB and Marten, and stream and versioning practices.
FerroxLabs/wayland
Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.
FerroxLabs/wayland
OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.
FerroxLabs/wayland
Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.
FerroxLabs/wayland
End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.
FerroxLabs/wayland
Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…
FerroxLabs/wayland
Web accessibility expertise covering WCAG 2.2 conformance, audit methodology, ARIA patterns, keyboard navigation, screen reader testing, focus management, form accessibility, and automated vs manual…
Works with
Categories
Message queue design expertise covering queue vs topic vs stream, delivery guarantees, dead letter queues, backpressure handling, RabbitMQ/Kafka/SQS patterns, event schema evolution, and ordering…. Queue Architect is an agent skill from FerroxLabs/wayland. Message queue design expertise covering queue vs topic vs stream, delivery guarantees, dead letter queues, backpressure handling, RabbitMQ/Kafka/SQS patterns, event schema evolution, and ordering guarantees.
Queue Architect fits situations like: the user asks about queue architect; queue architect best practices; needs guidance on queue architect implementation; the user needs a different specialized skill.
Run `npx skills add FerroxLabs/wayland --skill queue-architect -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect in FerroxLabs/wayland) into .claude/skills/queue-architect in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FerroxLabs/wayland --skill queue-architect -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/backend-systems/queue-architect in FerroxLabs/wayland) into .agents/skills/queue-architect in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FerroxLabs/wayland --skill queue-architect -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/queue-architect, .gemini/skills/queue-architect, .github/skills/queue-architect and .opencode/skills/queue-architect in your project.
SKILL.md names no scripts, command-line tools or credentials: Queue Architect is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Queue Architect is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Queue Architect: Windmill Trigger Type Checklist (windmill-labs/windmill, 18k stars), Foundatio (FoundatioFx/Foundatio, 2.1k stars), Opensource Guide Coach (calf-ai/calfkit-sdk, 149 stars) and Create Environment (godatadriven/whirl, 205 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 1,194 skills in this directory. The repository was last updated on October 6, 2026.
Source: FerroxLabs/wayland on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.