Saltar al contenido principal

Prompts y resources

Además de las tools MCP (core / sessions / dashboards), el MCP de Whet expone 2 prompts y 2 resources. Los prompts son templates guía que el cliente invoca cuando el usuario los selecciona explícitamente. Los resources son URIs que el agente lee como contexto antes de actuar.

Prompts

Los prompts devuelven un mensaje listo para mandar al modelo — con los placeholders ya rellenados y un workflow narrado paso a paso. En Claude Desktop aparecen en el menú /, en Cursor en el palette.

draft_from_handle

Guía el flujo "armá un draft analizando los últimos posts de un handle" end-to-end.

Argumentos:

NombreTipoRequiredDescripción
handlestringHandle a trackear (con o sin @).
intentstring (min 10)Por qué importa este handle, 1–2 oraciones.
max_draftsstringnoCap de drafts de la primera tanda. Default "3".

Workflow que devuelve:

  1. Llamar create_pipeline_from_intent con el handle, el intent y un idempotency_key fresco.
  2. Pollear el run devuelto.
  3. Cuando el pipeline reporta ready (o read_inbox devuelve posts), llamar list_posts y elegir los top-engagement.
  4. Para cada candidate top-N, llamar start_draft con un idempotency_key único por post.
  5. Reportar los run IDs para que el usuario revise.

Cuándo usarlo: el operador quiere drafts rápidos sin crear un pipeline persistente desde la UI.

refine_post

Guía el loop de refinement libre sobre un artifact existente.

Argumentos:

NombreTipoRequiredDescripción
artifact_idstringrf_<uuid> o bf_<uuid> del draft a refinar.
goalstring (min 10)Goal en lenguaje natural — "más corto y punchier", "match @balajis voice", etc.

Workflow que devuelve:

  1. Leer el draft actual vía el resource artifact://{artifact_id}.
  2. Elegir el refinement_type que matchea el goal:
    • shorter / tighter / condenserefinement_type=shorter
    • punchier / sharper hookrefinement_type=more_punchy
    • tone shiftrefinement_type=change_tone con params: { new_tone: ... }
    • emulate voicerefinement_type=match_voice con params: { handle: @... }
  3. Llamar el endpoint de refinement (POST /artifacts/{parent_id}/refine en el backend, o la fachada /api/picko/refinements) con parent_id=rf_<uuid> | bf_<uuid>.
  4. Pollear el nuevo artifact; loopear si todavía no matchea el goal.
  5. Cuando está satisfactorio, llamar publish_artifact sobre el hijo final.

Cuándo usarlo: después de leer el inbox y elegir un draft que necesita una variante. Es la forma agent-friendly de un loop que el cliente puede iterar sin pedir más input al humano.

Nota importante: el argumento es goal en lenguaje natural, no un enum cerrado. El prompt elige internamente el refinement_type apropiado según lo que diga el goal.


Resources

Los resources son URIs que el agente lee con resources/read para tener contexto antes de actuar. Son read-only — no hay tool resources/write. Las operaciones mutativas van por tools explícitas.

pipeline://{id}

Lee el detalle completo de un pipeline.

pipeline://pp_a1b2c3

Devuelve la configuración (source, kind, scope, tone, auto-fanout), los últimos runs con su estado, métricas resumidas y errores recurrentes si los hay. Útil antes de invocar diagnose_pipeline — a veces alcanza con leer el resource.

artifact://{id}

Lee el detalle completo de un artifact.

artifact://rf_4f5g

Devuelve el texto/data, el estado (review, ready, published, archived), la genealogía (parent_id si es variante, hijos si los tiene) y el pipeline de origen. Útil para que el agente lea el contenido antes de proponer un refinement o citarlo en una respuesta al usuario.


Convenciones

  • Los prompts son idempotentes: dos llamadas con los mismos argumentos producen el mismo mensaje. Sin side effects.
  • Los argumentos de los prompts son strings libres (excepto handles). El prompt mismo razona sobre intención y goal — no hay enums cerrados que el cliente tenga que elegir de antemano.
  • Si tu cliente MCP no soporta prompts/resources (solo tools), las mismas operaciones son alcanzables vía las tools MCP — solo perdés los workflows narrados.