Skip to main content
Glama

oc_skill_record

Record a skill with domain, name, steps, and contract ID into a JSON memory store. Idempotent on domain and name: updates steps and contract ID while preserving skill ID and usage counters. Optionally persist a frozen snapshot.

Instructions

Record a skill (domain, name, steps, contract_id) into the JSON skill memory store. Idempotent on (domain, name) — re-recording preserves the existing skill_id and usage counters while updating steps and contract_id. Pass frozen_snapshot to atomically write a gzipped snapshot alongside the record. Returns { skill_id, stored_at, snapshot_path? }. Core-tier; no LLM ranking. Use oc_skill_recall to retrieve skills.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYesDomain this skill belongs to (e.g. "amazon.com"). Used as the storage partition key and must be a non-empty string ≤ 253 chars.
nameYesHuman-readable skill name, unique within the domain (e.g. "add-to-cart"). Acts as the idempotency key together with domain.
stepsYesOpaque step list supplied by the host agent. The store persists this inline in the JSON file without schema validation. Each element may be any JSON-serialisable value.
contract_idYesIdentifier of the Outcome Contract that governs this skill (ties into oc_assert #784 and the contracts registry).
frozen_snapshotNoOptional opaque snapshot payload to persist alongside the record. Written exactly once (write-once semantics) under <rootDir>/<domain>/snapshots/<skill_id>.json.gz. Omit on re-records when you do not want to update the snapshot.
replay_artifactsNoOptional replay artifacts (selector-chain step recordings) to persist alongside the skill. Each artifact must conform to the ReplayArtifact schema. Ignored when OPENCHROME_SKILL_REPLAY is not enabled.
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description claims idempotency ('Idempotent on (domain, name)'), but the annotations set idempotentHint to false, creating a direct contradiction. Additionally, while it mentions atomic snapshot write and preservation of counters, it lacks details on authentication, error behavior, or side effects beyond the idempotency claim.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first states the core purpose, the second clarifies idempotency and directs to the sibling tool. No redundant information; every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Considering the 6 parameters (100% schema coverage) and no output schema, the description covers return values (skill_id, stored_at, snapshot_path?), idempotency behavior, and references the sibling tool. However, it does not mention the 'replay_artifacts' parameter or elaborate on 'Core-tier; no LLM ranking', leaving minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value beyond the schema by explaining that (domain, name) form an idempotency key preserving skill_id and usage counters, and by describing the atomic write behavior for frozen_snapshot. This contextual information helps the agent understand parameter interplay.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool records a skill into a JSON skill memory store, lists the key fields (domain, name, steps, contract_id), and explicitly distinguishes itself from the sibling tool oc_skill_recall by directing users to use that for retrieval. The verb 'Record' and resource 'skill' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use the tool (recording skills) and mentions idempotency on (domain, name), implying re-recording is allowed. It explicitly points to oc_skill_recall for retrieval, providing a clear alternative. However, it does not state when NOT to use it or any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shaun0927/openchrome'

If you have feedback or need assistance with the MCP directory API, please join our Discord server