Wendy Contributing logo

Wendy Contributing

Organization
wendylabsinc
wendy-contributing

Expert guidance on contributing to WendyOS: Yocto builds, agent internals, E2E testing, and system architecture. Use when developers mention: (1) building WendyOS images, (2) meta-wendyos layers or bitbake, (3) wendy-agent development or internals, (4) containerd or nerdctl on WendyOS, (5) E2E tests for wendy-agent, (6) Yocto recipes or bbappend files, (7) mDNS/Avahi service configuration, (8) device identity or UUID generation.

Overview

Publisherwendylabsinc
Repositoryclaude-skills
Skill namewendy-contributing
Stars
62
Forks
5
Bundled files
3
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 3 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by wendylabsinc on GitHub. Read the source before you install it.

Installation

Install the Wendy Contributing AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/wendylabsinc/claude-skills/tree/main/wendy-contributing
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/wendylabsinc/claude-skills.git /tmp/claude-skills
mkdir -p .claude/skills
cp -r /tmp/claude-skills/wendy-contributing .claude/skills/wendy-contributing
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Wendy Contributing in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Wendy Contributing on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Wendy Contributing is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

WendyOS Contributing

This skill covers internal development and contribution to WendyOS itself, including building OS images, understanding agent architecture, and running E2E tests.

Overview

WendyOS is an Embedded Linux operating system for edge computing built with Yocto. It supports:

  • NVIDIA Jetson devices (production with OTA updates)
  • Raspberry Pi 4/5 (edge devices)
  • ARM64 VMs (development)

Agent Architecture

The wendy-agent is a container daemon (similar to dockerd/containerd):

  • Manages container lifecycle via gRPC on port 50051
  • Images are pushed via wendy run, not pulled from Docker Hub
  • There's no docker pull equivalent - apps are deployed from source

Building WendyOS (Yocto)

WendyOS images are built with Yocto. Three meta layers exist:

LayerTargetImage
meta-wendyos-jetsonNVIDIA Jetsonedgeos-image
meta-wendyos-virtualARM64 VMedgeos-vm-image
meta-wendyos-rpiRaspberry Pi 4/5edgeos-rpi-image

Quick build (any layer):

bash
cd meta-wendyos-<target>
./bootstrap.sh
source ./repos/poky/oe-init-build-env build
bitbake <image-name>

For macOS, use the Docker build environment:

bash
cd docker && ./docker-util.sh shell

See references/yocto-meta-layers.md for detailed Yocto configuration.

E2E Testing

The wendy-agent repository includes an E2E test suite in E2ETests/.

Running E2E Tests

bash
# Start the VM
cd meta-wendyos-virtual
./scripts/setup-dev-vm.sh create && ./scripts/setup-dev-vm.sh start

# Deploy a test app first (required for container tests)
cd wendy-agent/Examples/HelloWorld
wendy run --json --device localhost:50051  # --json for non-interactive output

# Run E2E tests with fast path (CRITICAL for performance)
cd wendy-agent/E2ETests
E2E_USE_EXISTING_VM=true E2E_VM_PATH=/path/to/meta-wendyos-virtual swift test

Important: Always set E2E_USE_EXISTING_VM=true when the VM is already running. This skips shell script checks and reduces test time from ~5s/test to ~0.01s/test.

Tip: Use --json flag on all wendy commands for quick JSON responses without interactive polling.

Test Performance Tips

  • Use .serialized trait on test suites to avoid VM race conditions
  • Set E2E_USE_EXISTING_VM=true to skip redundant VM status checks
  • mDNS discovery tests take ~5s each (inherent to protocol)
  • Container state change tests can be slow - disable for quick runs
  • Don't use Issue.record() for expected failures (like WiFi in VM) - it counts as failure

CI Limitations

GitHub-hosted runners don't support nested virtualization. Use self-hosted runners or run E2E tests locally.

Test Suites

SuiteTestsTimeNotes
Device Connection7~0.07sgRPC connectivity
Container Deployment6~0.06sContainer lifecycle
WiFi Operations4~0.04sGraceful failures in VM
Hardware Capabilities4~0.07sDevice enumeration
Device Discovery4~21smDNS (slow by design)

System Internals

For debugging, container runtime details (containerd/nerdctl), mDNS discovery, device identity, and common pitfalls, see references/system-internals.md.

For Raspberry Pi specific configuration (serial console, flashing, partition layout), see references/raspberry-pi.md.

Reference Files

Load these files as needed for specific topics:

  • references/yocto-meta-layers.md - Yocto layer structure, build configuration, partition layouts, Docker build environment, common issues
  • references/system-internals.md - containerd runtime, containerd-registry, device identity, mDNS configuration, Lima VM development, offline image bundling
  • references/raspberry-pi.md - RPi machine configuration, serial console, flashing images, partition layout

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Wendy Contributing AI skill do?

Expert guidance on contributing to WendyOS: Yocto builds, agent internals, E2E testing, and system architecture. Use when developers mention: (1) building WendyOS images, (2) meta-wendyos layers or bitbake, (3) wendy-agent development or internals, (4) containerd or nerdctl on WendyOS, (5) E2E tests for wendy-agent, (6) Yocto recipes or bbappend files, (7) mDNS/Avahi service configuration, (8) device identity or UUID generation.

Why use Wendy Contributing on TypingMind?

Because you install it once and use it with any model. Wendy Contributing is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Wendy Contributing in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/wendylabsinc/claude-skills/tree/main/wendy-contributing. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Wendy Contributing?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Wendy Contributing?

As many as you like. As long as a model supports skills, you can use Wendy Contributing with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Wendy Contributing AI skill free?

It is published on GitHub by wendylabsinc. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇