Skip to main content

linear

Manage Linear issues with automatic team routing, labels, and status updates. Use when "create issue", "create ticket", "Linear task", "update issue status", "list teams", "track task in Linear", "project management", "attach to project", or "create Linear project".

소스 정보

저장소
Umbral-Bot/umbral-agent-stack
최근 소스 활동
2026년 3월 23일 23:30
감지된 SKILL.md 언어
스페인어
스타
0
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
linear
description
Manage Linear issues with automatic team routing, labels, and status updates. Use when "create issue", "create ticket", "Linear task", "update issue status", "list teams", "track task in Linear", "project management", "attach to project", or "create Linear project".
metadata
{"openclaw":{"emoji":"📋","requires":{"env":"[Truncated]"}}}
# Linear Skill Rick puede gestionar issues en Linear con routing automático de equipos Umbral, labels inteligentes y actualizaciones de estado. ## Requisitos - `LINEAR_API_KEY`: API key de Linear (Settings → API → Personal API keys). ## Tasks disponibles ### 1. Crear issue Task: `linear.create_issue` ```json { "title": "Revisar landing page de Marketing", "description": "Actualizar copy y CTAs según brief Q2.", "team_key": "marketing", "priority": 2 } ``` #### Parámetros | Parámetro | Tipo | Requerido | Descripción | |-----------|------|-----------|-------------| | `title` | str | sí | Título del issue | | `description` | str | no | Descripción detallada | | `team_key` | str | no | Clave del equipo Umbral (ej. `"marketing"`, `"asesoria"`). Se infiere del título si se omite | | `team_id` | str | no | UUID del equipo en Linear. Si no se pasa, se resuelve por `team_name` | | `team_name` | str | no | Nombre del equipo en Linear (default: `"Umbral"`) | | `priority` | int | no | `0` Sin prioridad, `1` Urgente, `2` Alta, `3` Media, `4` Baja | | `add_team_labels` | bool | no | Adjuntar labels del equipo (default: `true`) | #### Respuesta ```json { "ok": true, "id": "uuid-123", "identifier": "UMB-5", "title": "Revisar landing page de Marketing", "url": "https://linear.app/umbral/issue/UMB-5", "routing": { "team_key": "marketing", "labels_applied": ["Marketing", "Marketing Supervisor"], "supervisor": "Marketing Supervisor", "inferred": false, "linear_team_id": "uuid-team" } } ``` ### 2. Listar equipos Task: `linear.list_teams` ```json {} ``` Devuelve la lista de equipos configurados en Linear. #### Respuesta ```json { "ok": true, "teams": [ {"id": "uuid-team", "name": "Umbral"} ] } ``` ### 3. Actualizar estado de issue Task: `linear.update_issue_status` ```json { "issue_id": "uuid-123", "state_name": "Done", "comment": "Tarea completada correctamente.", "team_id": "uuid-team" } ``` #### Parámetros | Parámetro | Tipo | Requerido | Descripción | |-----------|------|-----------|-------------| | `issue_id` | str | sí | UUID del issue en Linear | | `state_name` | str | no | Nombre del workflow state (ej. `"Done"`, `"Cancelled"`, `"In Progress"`) | | `comment` | str | no | Comentario a agregar al issue | | `team_id` | str | no | Necesario para resolver `state_name` → `state_id` | ### 4. Listar proyectos Task: `linear.list_projects` ```json { "query": "Proyecto Embudo", "limit": 20 } ``` Devuelve proyectos de Linear filtrables por nombre. ### 5. Crear proyecto Task: `linear.create_project` ```json { "name": "Proyecto Embudo Ventas", "team_name": "Umbral", "description": "Proyecto operativo para el embudo de ventas." } ``` Notas: - Si `if_exists_return=true` (default), retorna el proyecto existente por nombre en vez de duplicarlo. - Requiere un `team_id` o un `team_name` resoluble. - Antes de crear un proyecto canonico de Agent Stack, reutilizar el alias historico si ya existe y preferir `LINEAR_AGENT_STACK_PROJECT_ID` en produccion. ### 6. Asociar issue a proyecto Task: `linear.attach_issue_to_project` ```json { "issue_id": "uuid-del-issue", "project_name": "Proyecto Embudo Ventas", "create_project_if_missing": true, "team_name": "Umbral" } ``` Notas: - Permite corregir issues que existan pero hayan quedado fuera del project view. - Si se usa `project_name` y no existe, puede crear el proyecto automáticamente. ### 7. Listar issues de un proyecto Task: `linear.list_project_issues` ```json { "project_name": "Proyecto Embudo Ventas", "limit": 50 } ``` Devuelve las issues actualmente asociadas a un proyecto. ### 7b. Publicar update de proyecto Task: `linear.create_project_update` ```json { "project_name": "Proyecto Embudo Ventas", "title": "Cierre de slice CTA", "body": "Se cerro la definicion provisional de CTA y queda pendiente validar captura.", "health": "onTrack" } ``` Usala para dejar trazabilidad ejecutiva en el proyecto de Linear sin abrir una issue nueva. ### 8. Publicar follow-up interno de Agent Stack Task: `linear.publish_agent_stack_followup` Usar esta task cuando el pendiente venga de: - auditorias del repo - drift operativo - deuda tecnica u operativa del propio stack - follow-ups de monitoreo o analisis sobre Worker, Dispatcher, OpenClaw, Redis, Notion, Linear, VPS o VM Ejemplo: ```json { "title": "Unificar dispatcher vivo en VPS", "summary": "Se detectaron dos procesos dispatcher.service activos.", "evidence": "ps aux mostro dos procesos Python del dispatcher; systemctl no reflejaba ese estado.", "impact": "Riesgo de doble consumo y drift operativo silencioso.", "next_action": "Dejar un solo metodo de arranque y matar el duplicado.", "kind": "operational_debt", "designated_agent": "codex" } ``` Notas: - publica siempre en el proyecto canónico `Mejora Continua Agent Stack` - no debe usarse para proyectos externos ni entregables de cliente ### 9. Tomar una issue de Agent Stack Task: `linear.claim_agent_stack_issue` Ejemplo: ```json { "identifier": "UMB-123", "agent_name": "rick", "comment": "Voy a tomar el slice de deploy y dejar trazabilidad." } ``` Notas: - agrega una label `Agente: <Nombre>` - puede mover la issue a `In Progress` - solo acepta issues del proyecto canónico de Agent Stack ### 10. Listar cola interna de Agent Stack Task: `linear.list_agent_stack_issues` Ejemplo: ```json { "only_unclaimed": true, "limit": 20 } ``` Sirve para que Rick u otros agentes derivados de OpenClaw vean qué pendientes internos del stack todavía no tienen owner operativo. ## Notas - El routing automático infiere el equipo Umbral a partir del título y descripción usando keyword scoring. - Los labels del equipo se crean automáticamente en Linear si no existen. - La config de equipos está en `config/teams.yaml`. - Todas las tasks se encolan vía el Dispatcher a Redis y las ejecuta el Worker. - Para proyectos oficiales, no basta con crear la issue: hay que dejarla asociada al project correcto en Linear. - Para deuda y mejora interna del repo, usar el proyecto canónico `Mejora Continua Agent Stack`.
GitHub에서 보기