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.

Mehr Skills von langchain-ai

langgraph-docs
langchain-ai
We need to translate the given English text into German, preserving the name "langgraph-docs" if it appears. The text is a description of an agent skill. The instruction says: "Translate only the text inside <text>. Do not include the name unless it appears in the source text." The name "langgraph-docs" does not appear in the source text, so we should not include it. Also, do not add labels like "description" etc. Just translate the text. The text: "Access LangGraph documentation to build stateful agents and multi-agent workflows. Fetches official LangGraph Python docs covering state machines, graph-based agent design, and human-in-the-loop patterns Prioritizes relevant documentation by query type: implementation guides for how-to questions, concept pages for theory, tutorials for end-to-end examples, and API references for technical details Automatically selects 2–4 most relevant documentation URLs and retrieves their content to answer..." Note: There is a missing period after "patterns" and before "Prioritizes". Also the last part seems cut off:
official
langgraph-human-in-the-loop
langchain-ai
Pausiere die Graph-Ausführung für menschliche Überprüfung, Genehmigung oder Validierung und setze sie dann mit deren Eingabe fort. Erfordert drei Komponenten: einen Checkpointer (InMemorySaver oder PostgresSaver), eine Thread-ID in der Konfiguration und JSON-serialisierbare Interrupt-Payloads. interrupt(value) pausiert und zeigt Daten an; Command(resume=value) setzt fort und gibt diesen Wert an den pausierten Knoten zurück. Der gesamte Code vor interrupt() wird bei Fortsetzung erneut ausgeführt, daher müssen Seiteneffekte idempotent sein (upsert verwenden, nicht insert). Unterstützt Genehmigungs-Workflows,...
official
web-research
langchain-ai
Verwenden Sie diese Fähigkeit für Anfragen im Zusammenhang mit Web-Recherche; sie bietet einen strukturierten Ansatz zur Durchführung umfassender Web-Recherchen.
official
langchain-oss-primer
langchain-ai
BEGINNE HIER IMMER für jedes LangChain-, Deep Agents- oder LangGraph-Agent-Bauprojekt. Erforderlicher Ausgangspunkt, bevor andere Fähigkeiten ausgewählt oder Code geschrieben wird…
official
skill-creator
langchain-ai
Leitfaden zur Erstellung effektiver Skills, die die Fähigkeiten eines Agenten durch spezialisiertes Wissen, Workflows oder Tool-Integrationen erweitern. Verwenden Sie diesen Skill, wenn der Benutzer…
official
social-media
langchain-ai
Erstellt plattformspezifische Social-Media-Beiträge mit recherchierten Inhalten und generierten Begleitbildern. Unterstützt LinkedIn-Beiträge (1.300 Zeichen mit professionellem Ton) und Twitter/X-Threads (280 Zeichen pro Tweet im 1/🧵-Format). Erfordert die Delegierung der Recherche an einen Unteragenten vor dem Schreiben, gefolgt vom Lesen der Ergebnisse, um Genauigkeit und Relevanz sicherzustellen. Generiert automatisch auffällige Social-Bilder mit dem generate_social_image-Tool mit kräftigen, kontrastreichen Kompositionen, optimiert für kleine...
official
deep-agents-memory
langchain-ai
We need to translate the given English text into German. The text describes a pluggable memory and file backends system for Deep Agents. It mentions four backend types and a FilesystemMiddleware with six file operation tools. The name "deep-agents-memory" is not in the text, so we don't include it. We must preserve technical terms like "StateBackend", "StoreBackend", "FilesystemBackend", "CompositeBackend", "FilesystemMiddleware", and the tool names (ls, read_file, etc.). Also preserve "Deep Agents" as is? It's a product name, so keep it. Translate the rest naturally. Let's translate: "Pluggable memory and file backends for Deep Agents with ephemeral, persistent, and hybrid routing options." -> "Steckbare Speicher- und Datei-Backends für Deep Agents mit flüchtigen, persistenten und hybriden Routing-Optionen." "Four backend types: StateBackend (thread-scoped, ephemeral), StoreBackend (cross-session persistent), Filesystem
official
deep-agents-orchestration
langchain-ai
Orchestriere Unteragenten, plane mehrstufige Aufgaben und fordere menschliche Genehmigung für sensible Vorgänge an. Delegiere Arbeit an spezialisierte Unteragenten über das Aufgabenwerkzeug; benutzerdefinierte Unteragenten unterstützen isolierte Werkzeugsätze und Systemaufforderungen, während der standardmäßige "Allzweck"-Unteragent die Hauptagentenkonfiguration übernimmt. Plane und verfolge komplexe Arbeitsabläufe mit write_todos, organisiere Aufgaben in den Status "ausstehend", "in Bearbeitung" und "abgeschlossen"; erfordert eine thread_id für die Beständigkeit über Aufrufe hinweg. Implementiere...
official