epam/timebase-agent-plugins/timebase-cpp-client

Claude Code and agent skill by epam/timebase-agent-plugins

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when the user explicitly asks for TimeBase C++ client code, for example connecting to TimeBase from C++, reading/writing streams, dxapi library acquisition and CMake/vcxproj setup, or TimeBase C++ client debugging.

Install

npx vskill@latest install epam/timebase-agent-plugins/timebase-cpp-client

SKILL.md

TimeBase C++ Client

Mission

Teach correct use of the TimeBase native C++ client: connection lifecycle, positional field access via DataReader/DataWriter, cursors and loaders. Prefer MCP-grounded stream and schema facts before generating code.

Scope: Enterprise Edition only

This skill covers the Enterprise Edition (EE) dxapi client. Community Edition C++ is not yet supported by this skill. If a user asks specifically for a Community Edition C++ client, say so rather than improvising.

When to use this skill

Use only when the user explicitly requests C++ together with TimeBase.

Typical tasks:

  • connecting via TickDb::createFromUrl and resolving streams,
  • reads/writes via TickCursor/TickLoader with positional DataReader/DataWriter field access,
  • historical, live/resettable (createCursor/reset), or reverse cursor reads,
  • hand-written typed message codecs for polymorphic/type-name-dispatched read and write,
  • stream creation via TickDb::createStream, TickDb::createFileStream, or QQL DDL,
  • topic publish/poll via TopicDB/TickDirectLoader/TickMessagePoller,
  • stream spaces, listing/clearing/renaming/destructively-deleting streams, locking, periodicity, write buffering,
  • dynamic resubscription on a live cursor, multiplexed cursors,
  • schema introspection or generic (schema-driven) decode from C++,
  • in-place schema changes via TickStream::changeSchema,
  • bound/parameterized QQL execution or QQL validation via compileQuery,
  • acquiring and linking the dxapi native library (Nexus tar.gz on Linux/macOS, NuGet package on Windows),
  • Decimal64/DFP field conversions,
  • debugging connection, linking, or build failures.

Do not use for pure QQL authoring with no C++ code to write (use the qql-generator skill instead) or for pure MCP discovery with no code to write.

How to route requests

  1. Confirm the user asked for C++ + TimeBase, not generic C++ help.
  2. When stream names, schema, symbols, or time bounds matter, use MCP discovery first (references/mcp-assisted-discovery.md).
  3. Detect how dxapi is already acquired in the target project (extracted archive on Linux/macOS, NuGet package or manually-vendored folder on Windows) and preserve it, don't move or re-derive it.
  4. Before generating connection, stream, or cursor/loader code, verify the exact signature from the project's vendored dxapi headers (references/project-setup.md) rather than from memory.
  5. Pick the smallest proven reference and example for the access pattern.
  6. For library acquisition and build integration, use references/project-setup.md.

Mandatory policy

  • Ground stream keys and schema from MCP or user input. Do not invent field names, type names, or stream keys.
  • dxapi has no generated/bound message classes for arbitrary schemas. DataReader/DataWriter field access is positional, in the exact order fields are declared in the schema, there is no name-based field lookup. Get the field order right from get_stream_schema before writing any read/write code.
  • When QQL authoring is central, use the QQL generator skill first. Return here for C++ execution via TickDb::executeQuery.
  • Never invent an exact Nexus/NuGet artifact version. Use whatever is already pinned in the project, or ask the user to confirm the current release. See references/project-setup.md.
  • Use placeholder-based credentials (e.g. NEXUS_USER/NEXUS_PASS) for Nexus/NuGet feed access, and preserve any existing naming convention the project already uses. Never hardcode credentials.
  • Keep TickDb, TickCursor, and TickLoader lifecycle explicit: wrap in std::unique_ptr and call close() on every exit path, including exceptions.
  • Start read-only unless writes are required. Do not write to streams unless the user asked.
  • Treat TickStream::clear()/truncate()/purge()/deleteData()/deleteStream(), deleteSpaces, changeSchema, and TickDb::format() as destructive/irreversible. Confirm intent with the user before generating a call to any of them.
  • LoadingOptions::writeMode set to REWRITE/TRUNCATE/REPLACE is also destructive. A default-constructed LoadingOptions() already defaults writeMode to REWRITE, not APPEND, so always set writeMode = WriteMode::APPEND explicitly for an ordinary write. Confirm the intended mode with the user before generating loader setup for anything else.

MCP-first workflow

When the task depends on live server context, follow the discovery order in `references/mcp-assisted-discovery.md` before generating field-access code. If MCP is unavailable, state what is missing and ask the user for stream/schema context before finalizing.

Capability map

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
6
7-day trend score
10

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/epam/timebase-agent-plugins/timebase-cpp-client/badge)](https://verified-skill.com/skills/epam/timebase-agent-plugins/timebase-cpp-client)

Something wrong with this skill or its page? Tell us.