Communitygithub.com

curiositech/windags-skills

Design decisions for when and what sounds to use in web apps, mobile apps, and desktop native apps — plus how to create them with AI. Covers UI sound vocabulary (confirms, alerts, transitions, errors), platform conventions (iOS, macOS, Material), creating sounds with AI tools (ElevenLabs, AudioCraft, Stable Audio), Web Audio API for procedural sounds, haptic-audio pairing, and the psychology of satisfying vs. annoying UI sounds. Activate on 'app sounds', 'UI sounds', 'notification sound', 'sound design app', 'earcons', 'sonic branding', 'interaction sounds', 'feedback sounds', 'app audio', 'satisfying sounds'. NOT for professional audio engineering (use sound-engineer), Windows 3.1 retro sounds specifically (use win31-audio-design), music composition (use sound-engineer).

windags-skills란 무엇인가요?

windags-skills is a Claude Code agent skill that design decisions for when and what sounds to use in web apps, mobile apps, and desktop native apps — plus how to create them with AI. Covers UI sound vocabulary (confirms, alerts, transitions, errors), platform conventions (iOS, macOS, Material), creating sounds with AI tools (ElevenLabs, AudioCraft, Stable Audio), Web Audio API for procedural sounds, haptic-audio pairing, and the psychology of satisfying vs. annoying UI sounds. Activate on 'app sounds', 'UI sounds', 'notification sound', 'sound design app', 'earcons', 'sonic branding', 'interaction sounds', 'feedback sounds', 'app audio', 'satisfying sounds'. NOT for professional audio engineering (use sound-engineer), Windows 3.1 retro sounds specifically (use win31-audio-design), music composition (use sound-engineer).

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/curiositech/windags-skills/tree/HEAD/skills/app-sound-design

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

App Sound Design

Makes the design decisions about when, what, and how sounds should appear in applications. This is not about audio engineering (that is sound-engineer) or retro sound effects (that is win31-audio-design). This skill answers the hardest question in UI sound: should this interaction make a noise at all? And if yes, what kind?

When to Use

Use for:

  • Deciding which interactions in a web or mobile app should have sound feedback
  • Selecting appropriate sound characteristics for notifications, confirmations, errors
  • Creating AI-generated UI sounds with ElevenLabs, AudioCraft, or Stable Audio
  • Implementing procedural sounds with Web Audio API
  • Pairing haptic feedback with audio on iOS/Android
  • Establishing a sonic brand identity for a product
  • Auditing an app's existing sound design for annoyance vs. helpfulness

Do NOT use for:

  • Professional audio mixing/mastering -> use sound-engineer
  • Windows 3.1 themed system sounds -> use win31-audio-design
  • Music composition or soundtrack -> use sound-engineer
  • Accessibility screen reader audio -> use accessibility-expert
  • Game audio systems (3D positional, dynamic music) -> use sound-engineer

The Fundamental Question: Should This Make a Sound?

Does the interaction need FEEDBACK?
|
+-- User initiated action (tap, click, submit)?
|   +-- Is the result visible on screen?
|   |   +-- YES and obvious --> Sound is OPTIONAL (often skip)
|   |   +-- YES but subtle --> Sound HELPS (gentle confirm)
|   |   +-- NO (background process) --> Sound RECOMMENDED
|   +-- Is the action destructive?
|       +-- YES --> Sound RECOMMENDED (distinct warning tone)
|       +-- NO --> Sound OPTIONAL
|
+-- System initiated event (notification, alert)?
|   +-- Is the user in the app?
|   |   +-- YES --> Subtle in-app sound
|   |   +-- NO --> Notification sound (follow OS conventions)
|   +-- Is it time-sensitive?
|       +-- YES --> More urgent/attention-grabbing sound
|       +-- NO --> Can be silent or ambient
|
+-- Ambient/atmospheric (background state)?
    +-- Does the app benefit from presence? --> Subtle ambient
    +-- Is the user working/focused? --> SILENCE

The UI Sound Vocabulary

Every application needs sounds from these categories. Not all categories are required — most apps need 3-5.

Tier 1: Essential (Most Apps Need These)

Sound TypePurposeCharacterDurationExample
ConfirmAction succeededBright, rising pitch100-300msSlack message sent
ErrorAction failedLow, flat or descending200-400msForm validation fail
NotificationNew information arrivedDistinctive, medium energy300-600msSlack incoming message

Tier 2: Polish (Apps That Care)

Sound TypePurposeCharacterDurationExample
TransitionNavigation between viewsSubtle whoosh or tap50-150msiOS page turn
ToggleBinary state changeCrisp click or snap50-100msSwitch on/off
HoverMouse-over feedbackBarely audible tick20-50msMenu item hover
SelectionItem chosen from listSoft pop or pluck50-150msDropdown select
DeleteDestructive removalHollow thud or swoosh150-300msTrash action

Tier 3: Delight (Apps With Personality)

Sound TypePurposeCharacterDurationExample
AchievementMilestone reachedMusical, celebratory500ms-2sDuolingo lesson complete
AmbientBackground presenceLooping, atmosphericContinuousNoisli, Forest app
Brand StingApp open/closeIconic, memorable500ms-1.5sNetflix ta-dum
Easter EggHidden delightPlayful, unexpectedVariableKonami code reward

Platform Conventions

Apple (iOS / macOS)

Apple HIG mandates specific audio behaviors:

  • System sounds are sacred: Never override or replace system alert sounds
  • Respect the silent switch: If the physical mute switch is on, your app sounds STOP (except media playback)
  • Audio session categories matter:
    • ambient — mixes with other audio, respects silent switch
    • soloAmbient — silences other audio, respects silent switch
    • playback — ignores silent switch (for media apps ONLY)
  • Haptics pair with sounds: Use UIImpactFeedbackGenerator alongside audio

Apple's Sound Characteristics:

  • Clean sine waves and filtered tones
  • Minimal overtones (pure, not buzzy)
  • Short decay (sounds do not linger)
  • Consistent volume relative to system sounds
// iOS: Play a system sound
import AudioToolbox
AudioServicesPlaySystemSound(1057) // Standard keyboard click

// iOS: Haptic + custom sound
let generator = UIImpactFeedbackGenerator(style: .light)
generator.impactOccurred()
// Play your custom sound simultaneously

Material Design (Android)

Google's sound design principles:

  • Functional first: Sound should inform, not decorate
  • Subtle by default: UI sounds should be quieter than media
  • Haptic-first on Android: Prefer haptic feedback; add sound only when haptics are insufficient
  • Sound ON only when meaningful: Default state should be silent for most interactions

Material Sound Characteristics:

  • Short, crisp percussive sounds
  • Subtle harmonic content (not pure sine waves)
  • Slightly warmer than Apple (more mid-frequency)
  • Designed to work on low-quality phone speakers

Web Apps

Web has the WEAKEST sound conventions, which means more freedom but also more risk of annoyance.

  • Never autoplay sound — browsers block it and users hate it
  • Require user gesture first: Web Audio API requires a user interaction before playing
  • Provide volume control: Always let users mute or adjust
  • Consider headphone users: What sounds fine on laptop speakers may be jarring on headphones

Creating Sounds with AI

ElevenLabs Sound Effects

Best for: Realistic, high-quality UI sounds with specific character descriptions.

# Generate a confirmation chime
curl -X POST "https://api.elevenlabs.io/v1/sound-generation" \
  -H "xi-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Short bright upward chime, digital, clean sine wave, 200ms, UI confirmation sound",
    "duration_seconds": 0.5
  }'

Effective prompts for ElevenLabs:

  • Confirm: "Short bright ascending two-note chime, clean digital, warm, 200ms"
  • Error: "Low hollow thud with slight buzz, digital, 300ms, not harsh"
  • Notification: "Gentle three-note xylophone melody, friendly, 400ms"
  • Toggle: "Crisp mechanical click, plastic switch, 50ms"
  • Delete: "Soft hollow swoosh moving downward, 200ms"
  • Achievement: "Bright ascending arpeggio, sparkly, celebratory, 1 second"

Meta AudioCraft (Open Source)

Best for: Developers who want full control and no API costs.

from audiocraft.models import AudioGen
from audiocraft.data.audio import audio_write

model = AudioGen.get_pretrained('facebook/audiogen-medium')
model.set_generation_params(duration=0.5)

# Generate UI sounds
descriptions = [
    "short digital confirmation beep, ascending pitch, clean",
    "low error buzz, brief, not harsh, digital",
    "gentle notification chime, two notes, pleasant",
]

wav = model.generate(descriptions)
for i, w in enumerate(wav):
    audio_write(f'ui_sound_{i}', w.cpu(), model.sample_rate)

Stable Audio Open

Best for: Longer ambient sounds, background textures, brand stings.

import torch
from stable_audio_tools import get_pretrained_model
from stable_audio_tools.inference.generation import generate_diffusion_cond

model, model_config = get_pretrained_model("stabilityai/stable-audio-open-1.0")

# Generate ambient background
conditioning = [{
    "prompt": "calm ambient digital texture, warm low hum, suitable for productivity app background, loopable",
    "seconds_total": 10
}]

Post-Processing Checklist

AI-generated sounds need cleanup before shipping:

  1. Trim silence — remove leading/trailing dead air
  2. Normalize volume — all UI sounds should be at consistent perceived loudness
  3. Fade in/out — 5-10ms fade prevents clicking artifacts
  4. Compress dynamic range — UI sounds should have consistent volume
  5. Export as WAV (for native) or OGG/MP3 (for web, under 50KB per sound)
  6. Test on target speakers — phone speakers cut frequencies below 200Hz

Web Audio API: Procedural Sounds

For web apps, generating sounds procedurally eliminates the need for audio files entirely. Smaller bundles, instant availability.

class UISound {
  private ctx: AudioContext | null = null;

  private getContext(): AudioContext {
    if (!this.ctx) {
      this.ctx = new AudioContext();
    }
    return this.ctx;
  }

  /** Bright ascending confirmation */
  confirm(): void {
    const ctx = this.getContext();
    const osc = ctx.createOscillator();
    const gain = ctx.createGain();

    osc.connect(gain);
    gain.connect(ctx.destination);

    osc.type = 'sine';
    osc.frequency.setValueAtTime(600, ctx.currentTime);
    osc.frequency.linearRampToValueAtTime(900, ctx.currentTime + 0.15);

    gain.gain.setValueAtTime(0.15, ctx.currentTime);
    gain.gain.exponentialRampToValueAtTime(0.001, ctx.currentTime + 0.2);

    osc.start(ctx.currentTime);
    osc.stop(ctx.currentTime + 0.2);
  }

  /** Low descending error tone */
  error(): void {
    const ctx = this.getContext();
    const osc = ctx.createOscillator();
    const gain = ctx.createGain();

    osc.connect(gain);
    gain.connect(ctx.destination);

    osc.type = 'triangle';
    osc.frequency.setValueAtTime(400, ctx.currentTime);
    osc.frequency.linearRampToValueAtTime(200, ctx.currentTime + 0.3);

    gain.gain.setValueAtTime(0.12, ctx.currentTime);
    gain.gain.exponentialRampToValueAtTime(0.001, ctx.currentTime + 0.35);

    osc.start(ctx.currentTime);
    osc.stop(ctx.currentTime + 0.35);
  }

  /** Subtle click for toggles and selections */
  click(): void {
    const ctx = this.getContext();
    const osc = ctx.createOscillator();
    const gain = ctx.createGain();

    osc.connect(gain);
    gain.connect(ctx.destination);

    osc.type = 'square';
    osc.frequency.setValueAtTime(800, ctx.currentTime);

    gain.gain.setValueAtTime(0.08, ctx.currentTime);
    gain.gain.exponentialRampToValueAtTime(0.001, ctx.currentTime + 0.05);

    osc.start(ctx.currentTime);
    osc.stop(ctx.currentTime + 0.05);
  }

  /** Three-note notification melody */
  notify(): void {
    const ctx = this.getContext();
    const notes = [523, 659, 784]; // C5, E5, G5

    notes.forEach((freq, i) => {
      const osc = ctx.createOscillator();
      const gain = ctx.createGain();
      osc.connect(gain);
      gain.connect(ctx.destination);

      osc.type = 'sine';
      osc.frequency.setValueAtTime(freq, ctx.currentTime);

      const start = ctx.currentTime + i * 0.12;
      gain.gain.setValueAtTime(0, start);
      gain.gain.linearRampToValueAtTime(0.12, start + 0.02);
      gain.gain.exponentialRampToValueAtTime(0.001, start + 0.15);

      osc.start(start);
      osc.stop(start + 0.15);
    });
  }
}

// Usage
const sound = new UISound();
document.querySelector('#submit')?.addEventListener('click', () => sound.confirm());

Haptic-Audio Pairing (Mobile)

On mobile, haptics and audio should be designed as a UNIT. The haptic arrives first (immediate physical feedback), the sound arrives second (confirmation and character).

Pairing Guide

InteractionHapticSoundTiming
Tap buttonLight impactShort clickSimultaneous
Toggle switchMedium impactCrisp snapHaptic 10ms before sound
Pull-to-refreshSelection tick during pull; notification on completeSubtle stretch sound; confirm chimeHaptic leads by 20ms
Delete swipeHeavy impact at thresholdHollow swooshHaptic at commit point
Long pressRigid continuousLow building humHaptic starts with sound
SuccessSuccess pattern (triple tap)Ascending arpeggioAligned to beat

iOS Implementation

import UIKit
import AVFoundation

class FeedbackManager {
    static let shared = FeedbackManager()

    private let lightImpact = UIImpactFeedbackGenerator(style: .light)
    private let mediumImpact = UIImpactFeedbackGenerator(style: .medium)
    private let heavyImpact = UIImpactFeedbackGenerator(style: .heavy)
    private let notificationFeedback = UINotificationFeedbackGenerator()

    func tapConfirm() {
        lightImpact.impactOccurred()
        SoundPlayer.play(.confirm)
    }

    func errorShake() {
        notificationFeedback.notificationOccurred(.error)
        SoundPlayer.play(.error)
    }

    func deleteCommit() {
        heavyImpact.impactOccurred()
        SoundPlayer.play(.delete)
    }
}

The Psychology of Satisfying Sounds

Why some UI sounds feel "right" and others feel "cheap":

Satisfying Sound Properties

PropertyWhy It WorksExample
Pitch risesSignals progress, optimism, completionConfirm chimes go UP
Short decayFeels responsive and controlledNintendo menu sounds
Harmonic richnessFeels organic and warmSlack's "knock" sound
Consistent volumeFeels professional and predictableApple system sounds
Rhythmic alignmentFeels intentional and designedDuolingo's streak counter

Annoying Sound Properties

PropertyWhy It GratesAvoid
Repetitive without variationHumans habituate, then are irritatedSame exact sound 100x/day
Too loud relative to contextBreaks concentration, startlesNotification sounds above -12dB
Pure sine at high frequencyPerceived as alarm, triggers anxietyAny sound above 2kHz pure tone
Long sustained notesFeels like something is wrongTones lasting >500ms for routine feedback
Dissonant intervalsCreates unconscious discomfortMinor seconds or tritones in notifications

The Repetition Threshold

Any sound heard more than ~15 times per hour becomes irritating regardless of how pleasant it initially was. Solutions:

  1. Vary subtly: Randomize pitch by +/- 5%, or choose from 3-4 variants
  2. Reduce frequency: After the 5th trigger, reduce volume by 30%
  3. Let users control: Always provide per-sound-type mute toggles
  4. Silence by default: Only enable sounds that users opt into
// Subtle pitch variation to prevent habituation
function playWithVariation(baseFrequency: number): void {
  const variation = 1 + (Math.random() - 0.5) * 0.1; // +/- 5%
  const frequency = baseFrequency * variation;
  // ... use this frequency in your oscillator
}

Sound Design Decision Matrix

App TypeConfirmErrorNotificationTransitionAmbientBrand Sting
Productivity (Notion)OptionalYesYesSkipSkipSkip
Social (Slack)YesYesYesSkipSkipSkip
GamingYesYesYesYesYesYes
E-commerceSkipYesYesSkipSkipOptional
Creative toolsYesYesOptionalYesOptionalOptional
Health/meditationSkipSkipGentleYesYesYes
Finance/bankingSkipYesYesSkipSkipSkip
Children's appsYesYesYesYesOptionalYes

Anti-Patterns

Anti-Pattern: Sound on Every Click

Playing a sound on every button click, link tap, and scroll event creates an overwhelming audio assault. Reserve sounds for MEANINGFUL state changes, not routine navigation.

Anti-Pattern: Autoplay Background Audio

Web apps that play ambient sound without user consent will be immediately closed. Always require explicit opt-in. Browsers actively block autoplay audio for good reason.

Anti-Pattern: Skeuomorphic Sound Mismatch

Playing a typewriter click sound in a modern chat app creates cognitive dissonance unless the entire aesthetic is retro. Sound must match the visual design language.

Anti-Pattern: No Mute Option

Every app with sound MUST have an easily discoverable mute control. Burying it 3 menus deep is nearly as bad as having no mute at all.

Anti-Pattern: Identical Sounds for Different Events

Using the same chime for "message sent" and "message received" destroys the information value of sound. Each semantic category must have a distinct sound.

Anti-Pattern: Notification Sound in Focused Contexts

Playing notification sounds while a user is in a full-screen editor, reading an article, or watching a video. Respect focus state and suppress non-critical audio.

Anti-Pattern: Ignoring Hardware Diversity

A beautiful sound designed on studio monitors may be a harsh buzz on phone speakers. Always test on the cheapest speakers your users will have: phone speakers cut below 200Hz and boost 1-4kHz.


Quality Checklist

  • Every sound answers "why does this interaction need audio feedback?"
  • Sound vocabulary mapped: which interactions get which sound type
  • Platform conventions respected (iOS silent switch, Android haptic-first)
  • Mute control discoverable within 1 tap/click
  • All sounds under 500ms for routine feedback (longer only for achievements/brand)
  • Consistent perceived volume across all UI sounds
  • Sounds tested on phone speakers, laptop speakers, and headphones
  • prefers-reduced-motion considered for audio (some users want minimal sensory input)
  • Repetition threshold addressed (variation, volume reduction, or frequency limit)
  • Sound files under 50KB each (web) or appropriately compressed (native)
  • Web Audio API used with user gesture gate (no autoplay violations)
  • Haptic-audio pairing designed as a unit on mobile
  • Sounds match the visual design language (modern sounds for modern UI, retro for retro)
  • At least 3 people have tested the sounds in context and not found them annoying

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

curiositech/windags-skills

Expert in 2000s-era music visualization (Milkdrop, AVS, Geiss) and modern WebGL implementations. Specializes in Butterchurn integration, Web Audio API AnalyserNode FFT data, GLSL shaders for audio-reactive visuals, and psychedelic generative art. Activate on "Milkdrop", "music visualization", "WebGL visualizer", "Butterchurn", "audio reactive", "FFT visualization", "spectrum analyzer". NOT for simple bar charts/waveforms (use basic canvas), video editing, or non-audio visuals.

curiositech/windags-skills

Expert legal research agent for finding and scraping expungement data state by state. Knows authoritative sources, URL patterns, Firecrawl configuration, and 2026 legal landscape.

curiositech/windags-skills

Expert in 3D computer vision labeling tools, workflows, and AI-assisted annotation for LiDAR, point clouds, and sensor fusion. Covers SAM4D/Point-SAM, human-in-the-loop architectures, and vertical-specific training strategies. Activate on '3D labeling', 'point cloud annotation', 'LiDAR labeling', 'SAM 3D', 'SAM4D', 'sensor fusion annotation', '3D bounding box', 'semantic segmentation point cloud'. NOT for 2D image labeling (use clip-aware-embeddings), general ML training (use ml-engineer), video annotation without 3D (use computer-vision-pipeline), or VLM prompt engineering (use prompt-engineer).

curiositech/windags-skills

Implement WCAG 2.2 AA/AAA compliance with automated testing, keyboard navigation, screen reader support, and focus management. Activate on: accessibility audit, WCAG compliance, keyboard navigation, screen reader, aria attributes, axe-core, focus trap. NOT for: design-level accessibility review (use design-accessibility-auditor), color contrast only (use css-in-js-architect).

curiositech/windags-skills

Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that actually work for neurodivergent minds.

curiositech/windags-skills

Designs digital experiences for ADHD brains using neuroscience research and UX principles. Expert in reducing cognitive load, time blindness solutions, dopamine-driven engagement, and compassionate design patterns. Activate on 'ADHD design', 'cognitive load', 'accessibility', 'neurodivergent UX', 'time blindness', 'dopamine-driven', 'executive function'. NOT for general accessibility (WCAG only), neurotypical UX design, or simple UI styling without ADHD context.

curiositech/windags-skills

>- Apply crisis decision-making research to agent routing, uncertainty triage, and coordination failure analysis in time-pressured systems. Use when diagnosing handoff failures, analytical paralysis, or expert judgment under incomplete information. NOT for routine coding, simple CRUD design, or static single-agent tasks with complete information.

curiositech/windags-skills

Extend and modify the admin dashboard, developer portal, and operations console. Use when adding new admin tabs, metrics, monitoring features, or internal tools. Activates for dashboard development, analytics, user management, and internal tooling.

curiositech/windags-skills

Conversation patterns and interaction protocols for multi-agent systems. Covers request/response, pub/sub, blackboard, delegation chains, debate, critique, consensus, fan-out/fan-in, supervisor-worker, and peer negotiation. Deep analysis of AutoGen conversation patterns, CrewAI delegation, LangGraph state passing, and FIPA-ACL performatives. Teaches how to design what agents say to each other and in what order. Activate on: "agent conversation", "agent protocol", "multi-agent debate", "agent delegation", "supervisor worker pattern", "agent voting", "consensus protocol", "fan-out fan-in", "agent negotiation", "blackboard pattern", "agent dialogue", "conversation topology", "agent handoff". NOT for: wire format or serialization (use agent-interchange-formats), orchestration infrastructure (use agentic-infrastructure-2026), single agent behavior (use agentic-patterns).

curiositech/windags-skills

Meta-agent for creating new custom agents, skills, and MCP integrations. Expert in agent design, MCP development, skill architecture, and rapid prototyping. Activate on 'create agent', 'new skill', 'MCP server', 'custom tool', 'agent design'. NOT for using existing agents (invoke them directly), general coding (use language-specific skills), or infrastructure setup (use deployment-engineer).

curiositech/windags-skills

AI-powered calendar management and agent-based scheduling coordination. Covers calendar APIs (Google Calendar, CalDAV/iCal), AI scheduling assistants (Reclaim, Clockwise, Motion, Cal.com), building custom calendar agents with MCP, multi-calendar merging, timezone management, focus block protection, meeting fatigue detection, and agent-to-agent meeting negotiation protocols. Activate on: "calendar agent", "AI scheduling", "calendar coordination", "meeting scheduling", "calendar API", "focus time protection", "calendar optimization", "Google Calendar MCP", "Reclaim", "Clockwise", "Motion", "Cal.com", "smart scheduling", "calendar-aware agent", "timezone scheduling", "agent negotiation meetings". NOT for: manual calendar UI component design (use form-validation-architect), project management scheduling or Gantt charts (use project-management-guru-adhd), general time-tracking or pomodoro apps (use adhd-daily-planner for time-awareness), building the agent itself from scratch (use agent-creator).

curiositech/windags-skills

Build and adopt production AI agent infrastructure in 2026. Covers framework selection (LangGraph, CrewAI, AutoGen, MCP), orchestration patterns, evaluation, observability, memory systems, and tool use. Also covers the SOCIAL dimension: how to sell agent infrastructure internally, change management, measuring ROI, building trust in autonomous systems, and scaling adoption across teams. Activate on: "agent infrastructure", "agent framework comparison", "which agent framework", "sell AI tools internally", "agent adoption", "agent observability", "agent evaluation", "MCP architecture", "agentic mesh", "enterprise AI agents", "AI change management", "agent ROI". NOT for: building specific agents (use ai-engineer), designing agent behavior patterns (use agentic-patterns), prompt tuning (use prompt-engineer).

curiositech/windags-skills

Fundamental patterns for effective agentic behavior. Teaches decomposition, tool orchestration, error recovery, context management, quality self-assessment, and knowing when to stop. Model-agnostic principles that make any agent more effective regardless of domain. Activate on: "how should I structure this agent", "agentic workflow", "agent patterns", "multi-step task", "tool orchestration", "/agentic-patterns", "decompose this", "agent best practices", "chain of actions", "when should the agent stop", "agent loop design". NOT for: creating agent infrastructure (use agent-creator), building DAGs (use windags-architect), specific tool implementation.

curiositech/windags-skills

Automated discovery and matching of agent skills for dynamic task routing and capability assessment

curiositech/windags-skills

Cryptographic security for agentic systems — zero-trust agent networking, signed message envelopes (JWS/JWE), capability-based security (ocaps), Merkle tree audit trails, WASM sandboxing, and formal verification. Covers CLI dev tool security, mTLS between agents, permission boundaries (least privilege for AI agents), and supply chain security for skills/plugins. Activate on: "agent security", "zero trust agents", "secure agent communication", "capability-based security", "ocap", "signed messages between agents", "agent audit trail", "sandbox agent execution", "agent permissions", "mTLS agents", "cryptographic verification", "agent supply chain", "OWASP agentic", "prove agent did X", "tamper-proof agent logs". NOT for: application-level SAST scanning (use security-auditor), network firewall rules (use infrastructure), SOC2/HIPAA compliance (organizational), or prompt injection defense (use prompt-engineer).

curiositech/windags-skills

Data structures and serialization formats for agent-to-agent communication. Covers message envelopes, structured output schemas, capability declarations, task handoff payloads, error/retry signaling, and context windows as data structures. Deep comparison of A2A protocol, MCP, OpenAI function calling, and LangChain message types. Teaches when to use rigid schemas vs free-form with validation, typed vs untyped, streaming vs batch. Activate on: "agent message format", "agent communication schema", "agent-to-agent protocol", "A2A protocol", "MCP message format", "structured output for agents", "agent interop", "interchange format", "agent serialization", "task handoff format", "capability declaration". NOT for: what agents say to each other (use agent-conversation-protocols), orchestration topology (use multi-agent-coordination), building agent infrastructure (use agentic-infrastructure-2026).

curiositech/windags-skills

Logic-based agent programming language implementing BDI architecture for practical autonomous agent development

curiositech/windags-skills

>- Design AgentSpeak(L)-style BDI agents with context-guarded plans, selection functions, and intention stacks. Use for interruptible autonomy, agent policy, and multi-agent orchestration in dynamic environments. NOT for simple rule engines, static planners, or centralized workflows.

curiositech/windags-skills

Foundational concurrent computation model where actors communicate exclusively through asynchronous message passing

curiositech/windags-skills

license: Apache-2.0 NOT for unrelated tasks outside this domain.

관련 스킬