Communitygithub.com

curiositech/windags-skills

Genera especificaciones OpenAPI 3.0/3.1, tipos TypeScript y ejemplos curl a partir del código de manejadores de rutas existentes. Soporta Express, Next.js API Routes, Fastify y Hono.

¿Qué es windags-skills?

Esta herramienta de habilidad para agentes de IA se especializa en extraer automáticamente documentación de API directamente desde el código de los manejadores de rutas existentes. A diferencia de otras herramientas que diseñan APIs desde cero, esta analiza la implementación real para generar especificaciones OpenAPI 3.0/3.1 precisas, tipos TypeScript que reflejan el contrato real de la API y ejemplos curl funcionales. Soporta múltiples frameworks web populares como Express, Next.js (tanto App Router como Pages Router), Fastify y Hono, detectando automáticamente el framework en uso y aplicando la estrategia de extracción adecuada. Además de documentar rutas, parámetros y cuerpos de solicitud/respuesta, la herramienta rastrea cadenas de middleware para determinar requisitos de autenticación, identifica configuraciones de limitación de tasa y cataloga códigos de error analizando los patrones de retorno y lanzamiento de excepciones en los manejadores. Es útil para equipos que necesitan mantener sincronizada la documentación de su API con el código fuente, generar tipos de cliente TypeScript actualizados automáticamente y crear ejemplos de uso realistas, todo ello a partir del código existente y no de intenciones de diseño.

Compatible con~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/curiositech/windags-skills/tree/HEAD/skills/api-documentation-generator

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Generador de Documentación de API

Extrae documentación de API a partir del código de manejadores de rutas existentes. Lee tu código fuente, infiere esquemas y produce especificaciones OpenAPI, tipos TypeScript y ejemplos curl ejecutables, basándose en la implementación real, no en la intención de diseño.

Disparadores de Activación

Actívalo en: "generar documentación de API", "OpenAPI desde código", "documentar endpoints", "referencia de API", "generación swagger", "documentación de endpoints", "crear tipos de API", "ejemplos curl para API"

NO para: Diseño de API desde cero --> api-architect | Creación de OpenAPI sin código fuente --> openapi-spec-writer | Pruebas de API --> test-automation-expert

Capacidades Principales

  • Extraer definiciones de rutas de manejadores Express, Next.js App Router, Next.js Pages API Routes, Fastify y Hono
  • Inferir esquemas de solicitud/respuesta a partir de tipos TypeScript, esquemas Zod o validación en tiempo de ejecución
  • Generar especificaciones OpenAPI 3.0/3.1 con parámetros de ruta precisos, cadenas de consulta y cuerpos de solicitud
  • Producir definiciones de tipos TypeScript que coincidan con el contrato real de la API
  • Crear ejemplos curl para cada endpoint con datos de muestra realistas
  • Documentar requisitos de autenticación rastreando cadenas de middleware
  • Identificar la configuración de limitación de tasa y documentar los límites por endpoint
  • Catalogar respuestas de error analizando patrones de lanzamiento/retorno en los manejadores
  • Detectar endpoints no documentados (rutas que existen pero no tienen JSDoc o esquema)

Detección de Framework

Antes de generar cualquier cosa, identifica el framework. La estrategia de extracción difiere significativamente.

Express / Similar a Express

Señales: app.get(), router.post(), express.Router()
Fuente de ruta: app._router.stack o archivos de router explícitos
Cadena de middleware: el orden de app.use() importa para la detección de autenticación

Busca patrones de registro de rutas:

  • router.get('/users/:id', authenticate, getUser) -- el middleware antes del manejador significa que se requiere autenticación
  • app.use('/api/v1', rateLimiter({ max: 100 }), apiRouter) -- limitador de tasa aplicado a un subárbol

Next.js App Router

Señales: archivos route.ts que exportan GET, POST, PUT, DELETE, PATCH
Fuente de ruta: Convención del sistema de archivos en app/api/
Cadena de middleware: middleware.ts en los límites de directorio

Los parámetros de ruta provienen de nombres de carpeta: app/api/users/[id]/route.ts --> /api/users/{id}

Next.js Pages API Routes

Señales: pages/api/**/*.ts con export default handler
Fuente de ruta: Convención del sistema de archivos
Enrutamiento de métodos: switch req.method dentro del manejador

Fastify

Señales: fastify.get(), fastify.route(), propiedad schema en opciones de ruta
Fuente de ruta: Registro de plugins con fastify.register()
Esquema: Las rutas de Fastify a menudo ya tienen JSON Schema -- extráelo y conviértelo

Fastify es el framework más fácil de documentar porque las rutas frecuentemente declaran sus propios esquemas. Prioriza la extracción de schema.body, schema.response y schema.querystring existentes antes de inferir.

Hono

Señales: app.get(), app.post(), Hono(), zValidator()
Fuente de ruta: Encadenamiento de métodos en la instancia de Hono
Validación: basada en Zod a través del middleware zValidator

Hono con zValidator te proporciona esquemas Zod directamente. Convierte Zod --> JSON Schema --> esquema OpenAPI.

Proceso de Extracción

Paso 1: Descubrir Rutas

Escanea el proyecto en busca de registros de rutas. No te bases en un único punto de entrada: los frameworks a menudo dividen las rutas en varios archivos.

# Express: encontrar archivos de router
grep -rl "express.Router\|app.get\|app.post\|router\." src/ --include="*.ts" --include="*.js"

# Next.js App Router: encontrar manejadores de ruta
find src/app/api -name "route.ts" -o -name "route.js"

# Next.js Pages: encontrar rutas de API
find src/pages/api -name "*.ts" -o -name "*.js"

# Fastify: encontrar registros de rutas
grep -rl "fastify\.\(get\|post\|put\|delete\|route\)" src/ --include="*.ts"

# Hono: encontrar definiciones de rutas
grep -rl "app\.\(get\|post\|put\|delete\|patch\)" src/ --include="*.ts"

Paso 2: Extraer Esquemas

Para cada ruta, identifica las formas de solicitud y respuesta.

Orden de prioridad para fuentes de esquemas:

  1. Esquemas de validación explícitos (Zod/Joi/Yup) (mayor confianza)
  2. Anotaciones de tipos TypeScript en solicitud/respuesta
  3. Declaraciones JSON Schema (Fastify)
  4. Anotaciones JSDoc @param / @returns
  5. Inferencia en tiempo de ejecución a partir de la construcción de la respuesta (menor confianza -- márcalo como aproximado)

Al usar inferencia en tiempo de ejecución (opción 5), marca siempre el esquema con x-inferred: true en la salida OpenAPI para que los consumidores sepan que puede estar incompleto.

Paso 3: Rastrear Autenticación

Recorre la cadena de middleware para cada ruta y determina los requisitos de autenticación:

  • Sin middleware de autenticación: Marcar como security: [] (público)
  • Middleware de token Bearer: Marcar como security: [{ bearerAuth: [] }]
  • Middleware de clave API: Marcar como security: [{ apiKeyAuth: [] }]
  • Autenticación por sesión/cookie: Marcar como security: [{ cookieAuth: [] }]
  • Múltiples opciones de autenticación: Listar todas como alternativas en el array de seguridad

Paso 4: Catalogar Errores

Lee cada manejador y enumera cada respuesta de error:

  • res.status(400).json(...) o throw new BadRequestError(...) --> esquema de respuesta 400
  • res.status(401) --> 401 (incluir si hay middleware de autenticación presente incluso sin lanzamiento explícito)
  • res.status(404) --> 404
  • res.status(409) --> 409 (conflicto, común en operaciones de creación)
  • res.status(422) --> 422 (fallo de validación)
  • res.status(429) --> 429 (limitado por tasa, incluir si se detecta middleware limitador de tasa)
  • res.status(500) --> 500 (siempre incluir como posibilidad)

Paso 5: Generar Salidas

Produce tres artefactos:

  1. Especificación OpenAPI (YAML, no JSON -- más legible, más fácil de diferenciar)
  2. Tipos TypeScript (archivo .d.ts independiente con todos los tipos de solicitud/respuesta)
  3. Ejemplos curl (uno por endpoint, con encabezados y cargas útiles de muestra)

Puntos de Decisión

Cuando el código base NO tiene esquemas de validación

Si los manejadores aceptan req.body sin validación Zod/Joi, debes inferir los tipos a partir del uso. Busca:

  • Patrones de acceso a propiedades: req.body.name, req.body.email --> { name: string, email: string }
  • Desestructuración: const { name, email } = req.body --> misma inferencia
  • Llamadas de inserción en base de datos: db.users.create({ name: body.name }) --> hacer referencia cruzada con el esquema de la BD si está disponible

Marca toda la especificación con una advertencia: x-schemas-inferred: true a nivel de información.

Cuando las rutas usan segmentos de ruta dinámicos

  • Express: :id --> OpenAPI {id}
  • Next.js: [id] --> OpenAPI {id}
  • Next.js catch-all: [...slug] --> OpenAPI {slug} con nota sobre el comportamiento de array
  • Fastify: :id --> OpenAPI {id}
  • Hono: :id --> OpenAPI {id}

Cuando la forma de la respuesta varía según el código de estado

Documenta cada código de estado con su propio esquema. No combines 200 y 201 en un solo esquema si difieren. Patrón común:

responses:
  '200':
    description: Usuario encontrado
    content:
      application/json:
        schema:
          $ref: '#/components/schemas/User'
  '404':
    description: Usuario no encontrado
    content:
      application/json:
        schema:
          $ref: '#/components/schemas/ErrorResponse'

Cuando los límites de tasa difieren por endpoint

Documenta los límites de tasa usando extensiones OpenAPI:

x-rate-limit:
  requests: 100
  window: 60s
  scope: por-clave-api

Si el limitador de tasa es global (aplicado una vez a nivel de aplicación), documéntalo en la sección info de nivel superior. Si es por ruta, documéntalo en cada operación.

Generación de Tipos TypeScript

Genera tipos que coincidan exactamente con la especificación OpenAPI. Usa tipos con marca para IDs cuando el código base los use.

// Generado a partir de la especificación OpenAPI -- no editar manualmente

export interface CreateUserRequest {
  name: string;
  email: string;
  role?: 'admin' | 'member' | 'viewer';
}

export interface CreateUserResponse {
  id: string;
  name: string;
  email: string;
  role: 'admin' | 'member' | 'viewer';
  createdAt: string; // ISO 8601
}

export interface ErrorResponse {
  error: {
    code: string;
    message: string;
    details?: Array<{
      field: string;
      issue: string;
    }>;
  };
}

export interface PaginatedResponse<T> {
  data: T[];
  meta: {
    page: number;
    perPage: number;
    total: number;
    hasMore: boolean;
  };
}

Generación de Ejemplos Curl

Genera un curl por endpoint. Usa datos realistas pero obviamente falsos.

# GET /api/users/:id -- Obtener un solo usuario
curl -X GET https://api.example.com/api/users/usr_abc123 \
  -H "Authorization: Bearer sk_test_..." \
  -H "Accept: application/json"

# POST /api/users -- Crear un nuevo usuario
curl -X POST https://api.example.com/api/users \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Ada Lovelace",
    "email": "[email protected]",
    "role": "member"
  }'

# GET /api/users -- Listar usuarios con paginación
curl -X GET "https://api.example.com/api/users?page=1&perPage=20&role=admin" \
  -H "Authorization: Bearer sk_test_..." \
  -H "Accept: application/json"

Reglas para ejemplos curl:

  • Incluir siempre la URL completa (usar https://api.example.com como base)
  • Incluir todos los encabezados requeridos
  • Usar -d con JSON formateado para cuerpos de solicitud
  • Poner entre comillas las URLs que contengan parámetros de consulta
  • Mostrar el método HTTP explícitamente incluso para GET
  • Usar sk_test_... para tokens de autenticación (obviamente falsos)
  • Usar valores de campo realistas, no "string" o "test"

Anti-Patrones

1. Documentar APIs Aspiracionales

Síntoma: La especificación describe endpoints que aún no existen en el código Solución: Solo documenta lo que el código realmente implementa. Si un endpoint planificado está en comentarios o en un archivo de especificación pero no en los manejadores, exclúyelo.

2. Ignorar Efectos Secundarios del Middleware

Síntoma: La documentación dice que el endpoint es público cuando en realidad requiere autenticación a través de un middleware padre Solución: Rastrea toda la cadena de middleware desde la raíz de la aplicación hasta el manejador. Un router.use(auth) arriba de la definición de la ruta significa que todas las rutas debajo requieren autenticación.

3. Asumir la Forma del Cuerpo de la Solicitud

Síntoma: Documentar req.body como any u object porque no hay validación Solución: Inferir a partir del uso (acceso a propiedades, desestructuración, llamadas a base de datos). Marcar como x-inferred: true. Recomendar agregar validación Zod.

4. Documentación de Errores Plana

Síntoma: Cada endpoint lista el mismo genérico "400 Bad Request" sin detalles Solución: Leer las rutas de error de cada manejador. Documentar los códigos de error y mensajes específicos devueltos. Diferentes fallos de validación deben mostrar diferentes respuestas de ejemplo.

5. Documentos Generados Obsoletos

Síntoma: La especificación se generó una vez y nunca se actualizó cuando el código cambió Solución: Generar en una ruta conocida (docs/openapi.yaml). Agregar una verificación de CI que regenere y compare con la especificación confirmada. Si divergen, fallar la compilación.

6. Documentación de Paginación Faltante

Síntoma: Endpoints de lista documentados sin esquemas de parámetros de consulta para paginación Solución: Si el manejador soporta page, limit, cursor, offset o parámetros similares, documéntalos con valores predeterminados y máximos.

7. Cargas de Archivos No Documentadas

Síntoma: Endpoints multipart/form-data documentados como JSON Solución: Detectar multer, formidable, busboy o el manejo nativo de archivos del framework. Usar el tipo de contenido multipart/form-data con el esquema binario adecuado.

Lista de Verificación de Calidad

[ ] Cada manejador de ruta en el código base tiene una operación OpenAPI correspondiente
[ ] Los parámetros de ruta coinciden entre el código y la especificación (sin discrepancias :id vs {userId})
[ ] Los esquemas del cuerpo de la solicitud cubren todos los campos requeridos y opcionales
[ ] Los esquemas de respuesta coinciden con la estructura JSON real (verificado leyendo el retorno del manejador)
[ ] Los requisitos de autenticación coinciden con el análisis de la cadena de middleware
[ ] La información de límite de tasa está documentada donde existe middleware de limitación de tasa
[ ] Las respuestas de error están catalogadas a partir de declaraciones reales de lanzamiento/retorno en los manejadores
[ ] Los ejemplos curl se ejecutan correctamente contra una instancia en ejecución
[ ] Los tipos TypeScript se compilan sin errores
[ ] No hay esquemas x-inferred sin documentar (cada uno marcado tiene un TODO para validación adecuada)
[ ] Los parámetros de paginación están documentados con valores predeterminados y máximos
[ ] Los endpoints de carga de archivos usan el tipo de contenido multipart/form-data
[ ] La especificación OpenAPI se valida con spectral o swagger-cli lint
[ ] La especificación generada se confirma en una ruta conocida para la comparación en CI

Artefactos de Salida

  1. docs/openapi.yaml -- Especificación completa de OpenAPI 3.0/3.1
  2. docs/api-types.d.ts -- Definiciones de tipos TypeScript para todas las formas de solicitud/respuesta
  3. docs/api-examples.sh -- Ejemplos curl ejecutables para cada endpoint
  4. docs/api-coverage.md -- Informe que enumera rutas documentadas vs no documentadas

Validación

# Lintear la especificación OpenAPI generada
npx @stoplight/spectral-cli lint docs/openapi.yaml

# Validar la estructura de la especificación
npx swagger-cli validate docs/openapi.yaml

# Generar un cliente TypeScript para verificar que los tipos compilan
npx openapi-typescript docs/openapi.yaml -o /tmp/api-check.d.ts
tsc --noEmit /tmp/api-check.d.ts

# Comparar con la última especificación confirmada (verificación CI)
diff <(cat docs/openapi.yaml) <(npx tsx scripts/generate-api-docs.ts --stdout) && echo "La especificación está actualizada" || echo "La especificación está obsoleta"

Cubre: Generación de OpenAPI | Extracción de tipos TypeScript | Creación de ejemplos curl | Documentación de autenticación | Documentación de límites de tasa | Catalogación de códigos de error

Úsalo con: api-architect (diseño primero, documentar después) | openapi-spec-writer (autoría manual) | test-automation-expert (pruebas de contrato contra la especificación generada)

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.

Skills relacionados