write-connector

Add a new built-in OpenWiki source connector. Use when a user asks to create or implement an OpenWiki connector.

npx skills add https://github.com/langchain-ai/openwiki --skill write-connector

Write An OpenWiki Connector

OpenWiki connectors are built-in TypeScript modules in the OSS repository. Do not create a plugin marketplace, dynamic connector package, or runtime-loaded untrusted connector. Add normal source files and tests.

Prefer Custom MCP For Arbitrary Servers

If the knowledge source already exposes a read-only MCP server (HTTP or stdio), use the built-in custom-mcp connector instead of adding a new ConnectorId:

  • Configure ~/.openwiki/connectors/custom-mcp/config.json with enabled, transport, optional allowedTools, and optional readOnlyOperations.
  • Put secrets in ~/.openwiki/.env and reference them as ${ENV_NAME} in transport headers/env.
  • Agent tools openwiki_list_mcp_tools / openwiki_call_mcp_tool accept custom-mcp.

Add a dedicated built-in connector only when you need provider-specific auth, scoping UI, or deterministic API pulls that MCP cannot express.

Required Shape

  • Add the connector to src/connectors/types.ts and src/connectors/registry.ts.
  • Implement the connector under src/connectors/sources/.ts.
  • The connector must expose a ConnectorRuntime with id, displayName, description, backend, requiredEnv, supportsAgenticDiscovery, and ingest().
  • Ingestion writes raw JSON/manifests under ~/.openwiki/connectors//raw//.
  • State lives in ~/.openwiki/connectors//state.json.
  • Config lives in ~/.openwiki/connectors//config.json.
  • Secrets live in ~/.openwiki/.env and are referenced only by env var name.

Security Rules

  • Never read, print, log, return, or hardcode secret values.
  • Do not store credentials in connector config, raw files, state, logs, or tests.
  • Validate connector IDs and raw file paths so reads and writes stay inside ~/.openwiki/connectors//.
  • Use deterministic ingestion code for credentialed external fetching.
  • If wrapping MCP, treat the MCP server as read-only and call only allowlisted read/dump operations from connector config.
  • Do not let untrusted connector manifests instantiate arbitrary commands or arbitrary network endpoints without explicit built-in code review.
  • For custom-mcp, users configure a reviewed built-in wrapper; still require allowedTools and/or MCP readOnlyHint before agentic tool calls (no mutating-tool heuristics beyond Notion's hosted endpoint).

Ingestion Rules

  • Git/local repos should write compact manifests and let the agent inspect the local repo as the source of truth.
  • Sources with timestamps should store per-stream cursors.
  • Sources with object metadata should store IDs, last edited timestamps, and content hashes.
  • Sources with pagination should store enough state to continue without refetching everything.
  • Raw dumps should preserve source IDs, timestamps, URLs, authors, and enough provenance for citations.

User-Facing Finish

When done, tell the user:

  • which connector files changed,
  • which env vars to set in ~/.openwiki/.env,
  • what config file to create or edit,
  • how to run openwiki personal --update to trigger ingestion,
  • which scopes/permissions the source provider requires.

Mais skills de langchain-ai

langgraph-docs
langchain-ai
Acesse a documentação do LangGraph para construir agentes com estado e fluxos de trabalho multiagente. Busca a documentação oficial do LangGraph em Python, abordando máquinas de estado, design de agentes baseado em grafos e padrões com intervenção humana. Prioriza a documentação relevante por tipo de consulta: guias de implementação para perguntas de "como fazer", páginas conceituais para teoria, tutoriais para exemplos completos e referências de API para detalhes técnicos. Seleciona automaticamente de 2 a 4 URLs de documentação mais relevantes e recupera seu conteúdo para responder...
official
langgraph-human-in-the-loop
langchain-ai
Pausar a execução do grafo para revisão, aprovação ou validação humana e, em seguida, retomar com a contribuição do usuário. Requer três componentes: um checkpointer (InMemorySaver ou PostgresSaver), um ID de thread na configuração e payloads de interrupção serializáveis em JSON. interrupt(value) pausa e exibe dados; Command(resume=value) retoma e retorna esse valor ao nó pausado. Todo código antes de interrupt() é reexecutado na retomada, portanto, os efeitos colaterais devem ser idempotentes (use upsert, não insert). Suporta fluxos de aprovação,...
official
web-research
langchain-ai
Use esta habilidade para solicitações relacionadas a pesquisa na web; ela fornece uma abordagem estruturada para realizar pesquisas web abrangentes.
official
langchain-oss-primer
langchain-ai
SEMPRE COMEÇE AQUI para qualquer projeto de construção de agentes LangChain, Deep Agents ou LangGraph. Ponto de partida obrigatório antes de escolher outras habilidades ou escrever qualquer…
official
skill-creator
langchain-ai
Guia para criar skills eficazes que estendem as capacidades do agente com conhecimento especializado, fluxos de trabalho ou integrações de ferramentas. Use esta skill quando o usuário…
official
social-media
langchain-ai
Cria posts para redes sociais específicas da plataforma, com conteúdo baseado em pesquisa e imagens de acompanhamento geradas. Suporta posts no LinkedIn (1.300 caracteres com tom profissional) e threads no Twitter/X (280 caracteres por tweet no formato 1/🧵). Exige delegar a pesquisa a um subagente antes de escrever e, em seguida, ler os resultados para garantir precisão e relevância. Gera imagens sociais atraentes automaticamente usando a ferramenta generate_social_image, com composições ousadas e de alto contraste otimizadas para telas pequenas...
official
deep-agents-memory
langchain-ai
Backends de memória e arquivos plugáveis para Deep Agents com opções de roteamento efêmero, persistente e híbrido. Quatro tipos de backend: StateBackend (efêmero, com escopo de thread), StoreBackend (persistente entre sessões), FilesystemBackend (acesso real a disco para desenvolvimento local) e CompositeBackend (roteia diferentes caminhos para diferentes backends). FilesystemMiddleware fornece seis ferramentas de operação de arquivos: ls, read_file, write_file, edit_file, glob, grep. CompositeBackend usa correspondência de prefixo mais longo para rotear...
official
deep-agents-orchestration
langchain-ai
Orquestrar subagentes, planejar tarefas de múltiplas etapas e exigir aprovação humana para operações sensíveis. Delegar trabalho a subagentes especializados por meio da ferramenta de tarefas; subagentes personalizados suportam conjuntos de ferramentas isolados e prompts de sistema, enquanto o subagente "de propósito geral" padrão herda a configuração do agente principal. Planejar e acompanhar fluxos de trabalho complexos com write_todos, organizando tarefas entre estados pendente, em andamento e concluído; requer um thread_id para persistência entre invocações. Implementar...
official