← Plugin catalog
Productivity

Thegram

C.Lab v4.5.0

One .gram for people and AI

Full description ↓

Save this plugin to Following and return to review observed changes. Follow up to 10 plugins free.

Description

From the marketplace listing

Keep the memory of a plan, research topic, project or everyday work in one structured .gram file shared by people and AI. When you authorize saving, preserve useful information from conversations and apps available through your supported AI client's connectors, together with its sources, decisions, relationships and change history. Explore the same records through document, dashboard and graph views in compatible Thegram apps, with revision history instead of a separate history or duplicated content for each view. Cloud surfaces currently support Document and Dashboard; Graph is available in the desktop app. Views depend on the recorded structure and the app. The bundled English thegram-cloud skill retrieves relevant context and maintains outcomes within your approved purpose and destination; queries, analysis and drafts stay read-only unless saving is authorized. Use Thegram Cloud vaults or Google Drive separately connected at vault.thegram.one. The cloud plugin needs no running Mac and cannot access local-only Mac files. It does not itself fetch other apps. Shared-vault viewers cannot write.

Language: English · Automatically detected from descriptions.

What changed

Thegram

Oct 31, 2026 · 7 saved observations

Skill · Oct 31, 2026 · 12:10 UTC · Compared with Oct 31, 2026 · 01:08 UTC

WHAT CHANGED

Instructions updated for thegram-cloud

Full description — Now says: Read and write Thegram memory with the vault_* tools. One method answers from the person's vaults and from every GramHub shared dataset with the right scope...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Open full comparison.

Full description

Before

Oct 31, 2026 · 01:08 UTC

Build and maintain enterprise-grade, source-backed knowledge in Thegram .gram documents with vault_* tools. Research any subject, project, organization or plan across the connected sources the request covers (repositories, documents, cha...

After

Oct 31, 2026 · 12:10 UTC

Read and write Thegram memory with the vault_* tools. One method answers from the person's vaults and from every GramHub shared dataset with the right scope and filters, and, when the person asks to save, records facts as typed records i...

Skill instructions

Before

Oct 31, 2026 · 01:08 UTC

Build and maintain enterprise-grade, source-backed knowledge in Thegram .gram documents with vault_* tools. Research any subject, project, organization or plan across the connected sources the request covers (repositories, documents, cha...

After

Oct 31, 2026 · 12:10 UTC

Read and write Thegram memory with the vault_* tools. One method answers from the person's vaults and from every GramHub shared dataset with the right scope and filters, and, when the person asks to save, records facts as typed records i...

Supporting files

Before

Oct 31, 2026 · 01:08 UTC

[{"relative_path":"references/automations.md","size_in_bytes":4637},{"relative_path":"references/backfill.md","size_in_bytes":9508},{"relative_path":"references/contracts.md","size_in_bytes":24050},{"relative_path":"references/examples.m...

After

Oct 31, 2026 · 12:10 UTC

[]

Read SKILL.md text changes →

Metadata · Oct 31, 2026 · 12:10 UTC · Compared with Oct 31, 2026 · 01:08 UTC

WHAT CHANGED

Declared capabilities changed

Declared skills — Now says: [{"description":"Read and write Thegram memory with the vault_* tools. One method answers from the person's vaults and from every GramHub shared dataset with...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Open full comparison.

Declared skills

Before

Oct 31, 2026 · 01:08 UTC

[{"description":"Build and maintain enterprise-grade, source-backed knowledge in Thegram .gram documents with vault_* tools. Research any subject, project, organization or plan across the connected sources the request covers (repositorie...

After

Oct 31, 2026 · 12:10 UTC

[{"description":"Read and write Thegram memory with the vault_* tools. One method answers from the person's vaults and from every GramHub shared dataset with the right scope and filters, and, when the person asks to save, records facts a...

Composer icon dark url

Before

Oct 31, 2026 · 01:08 UTC

https://files.openai.com/content?id=file_0000000084ac8206a13061544b751f3c

After

Oct 31, 2026 · 12:10 UTC

https://files.openai.com/content?id=file_000000005c48820981b872d3a4abd6e4

Composer icon url

Before

Oct 31, 2026 · 01:08 UTC

https://files.openai.com/content?id=file_000000006e10820690df5a03c521ad44

After

Oct 31, 2026 · 12:10 UTC

https://files.openai.com/content?id=file_0000000011588209b6eb3f376a18429c

Logo url

Before

Oct 31, 2026 · 01:08 UTC

https://files.openai.com/content?id=file_0000000051dc82069c0cbeb4a3cf4af6

After

Oct 31, 2026 · 12:10 UTC

https://files.openai.com/content?id=file_0000000050988209912db0f762509064

Metadata: full comparison →Listing: full comparison →

Skill · Oct 31, 2026 · 01:08 UTC · Compared with Oct 28, 2026 · 13:11 UTC

WHAT CHANGED

Instructions updated for thegram-cloud

Full description — Now says: vault_*

Observed in instructions or declared skills. Runtime behavior has not been tested.

Open full comparison.

Full description

Before

Oct 28, 2026 · 13:11 UTC

gram_*

After

Oct 31, 2026 · 01:08 UTC

vault_*

Skill instructions

Before

Oct 28, 2026 · 13:11 UTC

gram_* tools. Research any subject, project, organization or plan across the connected sources the request covers (repositories, documents, chats, mail, calendars, the web) with an evidence-driven task plan, and write one deeply explaine...

After

Oct 31, 2026 · 01:08 UTC

vault_* tools. Research any subject, project, organization or plan across the connected sources the request covers (repositories, documents, chats, mail, calendars, the web) with an evidence-driven task plan, and write one deeply explain...

Supporting files

Before

Oct 28, 2026 · 13:11 UTC

[{"relative_path":"references/automations.md","size_in_bytes":4632},{"relative_path":"references/backfill.md","size_in_bytes":9471},{"relative_path":"references/contracts.md","size_in_bytes":22434},{"relative_path":"references/examples.m...

After

Oct 31, 2026 · 01:08 UTC

[{"relative_path":"references/automations.md","size_in_bytes":4637},{"relative_path":"references/backfill.md","size_in_bytes":9508},{"relative_path":"references/contracts.md","size_in_bytes":24050},{"relative_path":"references/examples.m...

Read SKILL.md text changes →
3 more changes that day

Declared skills changed from “[{"description":"Build and maintain enterprise-grade, source-backed knowledge in Thegram .gram documents with gram_* tools. Research any subject, project, organization or plan across the connected sources the request covers (repositories...” to “[{"description":"Build and maintain enterprise-grade, source-backed knowledge in Thegram .gram documents with vault_* tools. Research any subject, project, organization or plan across the connected sources the request covers (repositorie...”.

Metadata evidence →

Package contents changed in 14 files: .claude-plugin/marketplace.json, .claude-plugin/plugin.json, plugin.json, …. Open the file diff to inspect the edits.

Files evidence →

Package contents changed in 13 files: .claude-plugin/marketplace.json, .claude-plugin/plugin.json, plugin.json, …. Open the file diff to inspect the edits.

Files evidence →
Earlier changes · 4 more observation days on this page
Thegram

Oct 30, 2026 · 1 saved observations

Capabilities & instructions

Declared skills changed from “[{"description":"Build and maintain enterprise-grade, source-backed knowledge in Thegram .gram documents with gram_* tools. Research any subject, project, organization or plan across the connected sources the request covers (repositories...” to “[{"description":"Build and maintain enterprise-grade, source-backed knowledge in Thegram .gram documents with vault_* tools. Research any subject, project, organization or plan across the connected sources the request covers (repositorie...”.

Listing evidence →
Thegram

Oct 28, 2026 · 4 saved observations

Capabilities & instructions

Instruction wording changed from “{from}`.” to “{from}`. A first page that stops with `LOW_RELEVANCE` already holds the strong matches; follow `more` only when the question needs every match.”. 1 additional added or edited line is in the evidence.

Skill evidence →
Technical updates

Package contents changed in 5 files: .claude-plugin/marketplace.json, .claude-plugin/plugin.json, plugin.json, …. Open the file diff to inspect the edits.

Files evidence →
Technical updates

Published version changed from 4.4.1 to 4.4.2. Supporting listing metadata also changed.

Metadata evidence →Listing evidence →
Thegram

Oct 27, 2026 · 5 saved observations

Capabilities & instructions

Instruction wording changed from “Use Thegram gram_* tools as purpose-based memory shared by people and AI across ChatGPT, Claude, Grok and coding agents. Retrieve source-backed context, decisions and history; when saving is authorized, record self-contained outcomes in ...” to “Build and maintain enterprise-grade, source-backed knowledge in Thegram .gram documents with gram_* tools. Research any subject, project, organization or plan across the connected sources the request covers (repositories, documents, chat...”. 77 additional added or edited lines are in the evidence.

Skill evidence →
Capabilities & instructions

Declared skills changed from “[{"description":"Use Thegram gram_* tools as purpose-based memory shared by people and AI across ChatGPT, Claude, Grok and coding agents. Retrieve source-backed context, decisions and history; when saving is authorized, record self-conta...” to “[{"description":"Build and maintain enterprise-grade, source-backed knowledge in Thegram .gram documents with gram_* tools. Research any subject, project, organization or plan across the connected sources the request covers (repositories...”.

Metadata evidence →Listing evidence →
Technical updates

Package contents changed in 18 files: .claude-plugin/marketplace.json, .claude-plugin/plugin.json, plugin.json, …. Open the file diff to inspect the edits.

Files evidence →
1 more changes that day

Is v2 template: added “false”.

Metadata evidence →
Thegram

Oct 24, 2026 · 4 saved observations

Capabilities & instructions

Instruction wording changed from “cloud gram_* MCP tools as purpose-based memory shared by people, dot, and other AI assistants. Retrieve source-backed context and change history from authorized .gram files and, only when the user authorizes saving, record durable outcom...” to “gram_* tools as purpose-based memory shared by people and AI across ChatGPT, Claude, Grok and coding agents. Retrieve source-backed context, decisions and history; when saving is authorized, record self-contained outcomes in the establis...”. 170 additional added or edited lines are in the evidence.

Skill evidence →
Capabilities & instructions

Declared skills changed from “[{"description":"Use Thegram cloud gram_* MCP tools as purpose-based memory shared by people, dot, and other AI assistants. Retrieve source-backed context and change history from authorized .gram files and, only when the user authorizes ...” to “[{"description":"Use Thegram gram_* tools as purpose-based memory shared by people and AI across ChatGPT, Claude, Grok and coding agents. Retrieve source-backed context, decisions and history; when saving is authorized, record self-conta...”.

Metadata evidence →Listing evidence →
Technical updates

Package contents changed in 12 files: .claude-plugin/marketplace.json, .claude-plugin/plugin.json, plugin.json, …. Open the file diff to inspect the edits.

Files evidence →

Competitor profile

From the developer’s listing and package; capabilities are not independently tested. Package observed Nov 3, 2026.

Declared capabilities

  • Purpose-based memory shared by people and AI
  • Find source-grounded decisions, history and tasks
  • Keep structured .gram records and relationships together

Declared limitations

  • Unsupported bulk deletion
  • Unrelated travel booking request
  • Unauthorized cross-account access

Review scenarios; not an exhaustive list.

Cost & access

Thegram does not sell products or process payments.

Terms may have changed since this observation.

Starter prompt

What changed in my research notes this week, and what sources support it?

View package source →

Keywords

Matches for “Remote access”

Exact text from the indicated source. A mention alone does not establish support for your task.

Publisher keywords · listing

memory thegram mcp remote

Publisher full description

Keep the memory of a plan, research topic, project or everyday work in one structured .gram file shared by people and AI. When you authorize saving, preserve useful information from conversations and apps available through your supported AI client's connectors, together with its sources, decisions, relationships and change history. Explore the same records through document, dashboard and graph views in compatible Thegram apps, with revision history instead of a separate history or duplicated content for each view. Cloud surfaces currently support Document and Dashboard; Graph is available in the desktop app. Views depend on the recorded structure and the app. The bundled English thegram-cloud skill retrieves relevant context and maintains outcomes within your approved purpose and destination; queries, analysis and drafts stay read-only unless saving is authorized. Use Thegram Cloud vaults or Google Drive separately connected at vault.thegram.one. The cloud plugin needs no running Mac and cannot access local-only Mac files. It does not itself fetch other apps. Shared-vault viewers cannot write.

Files & skills

File archives

Plugin package9 files · 30.8 KBBrowse files →
Skill instructions
thegram-cloud11.3 KB

View saved version →

---
name: thegram-cloud
description: Read and write Thegram memory with the vault_* tools. One method answers from the person's vaults and from every GramHub shared dataset with the right scope and filters, and, when the person asks to save, records facts as typed records in the right .gram document without write errors.
---

# Thegram

Tools (host prefixes allowed): reads `vault_browse`, `vault_search`, `vault_read`, `vault_changes`, `vault_comments`, `vault_guide`; writes `vault_create`, `vault_edit`, `vault_delete`, `vault_restore`, `vault_move`, `vault_comment`, `vault_feedback`. A ref is `@mounts/<vault>/<folder>/<doc>.gram`, a record `…gram#<id>`, a section `…gram§<heading>`; use refs exactly as tools return them. Answer in the person's language and cite `path#id`.

## 1. Scope first

Call `vault_browse {}` once per conversation unless the person gave a ref. Each row has `ref`, `label`, `access` and top `folders`.

- `access: "write"`: the person's and their organizations' vaults. `access: "read"` (`@mounts/hub-team-*`): shared GramHub datasets, read-only, often tens of thousands of documents, and new ones appear over time. There is no fixed list.
- Always pass `folder` (a vault, hub or dataset folder ref) to `vault_search`, and `path` to `vault_browse {select}`. An unscoped search spans every vault and hub, is slow and mixes personal notes with public data.
- Never walk folders with `vault_browse` to find a document: names are opaque and there can be thousands. Use only refs a tool returned; a guessed folder fails with `E_PATH`.

## 2. One way to read any vault or hub

The same steps serve a personal vault and every hub. Nothing here depends on what a dataset holds.

1. **Ask plainly.** `vault_search {query, folder}`; `query` is never empty. A sentence with the exact names, codes or numbers a record would hold. A named document or article is looked up directly and does not depend on the index.
2. **Learn the dataset from one hit.** Hits carry `tags`, `at`, `due`, `observed`; otherwise `vault_read` one hit with `fields:["tag"]`. Tags are `key:value` exactly as stored: copy them from a hit, never guess a value. Every data record in a hub carries one `종류` tag (its kind); guide and source records carry none. `group_by:"종류"` with the question's words lists which kinds match and how many. A record without tags keeps the source row as JSON in `d`: filter it by words and dates. Date meanings differ per dataset; a dataset folder may hold `guide.gram` (meanings) and `coverage.gram` (period covered): read them with `vault_browse {path, ids:true}` and `vault_read` when meaning or freshness matters.
3. **Narrow with structure.** `tag:["k:v", …]` (every tag must hold), `from`/`to` (`YYYY`, `YYYY-MM` or a date), `valid_at:"YYYY-MM-DD"`, `terms:[…]`, `group_by:"<tag key>"`, `per_group`, `type`, `status`, `limit` up to 20. `order:"-at"` returns the newest by `at` first and `"at"` the oldest first (for "latest", "first", "most recent"); the default ranks by match. `query` holds words from the record text, never a tag string.
   - `terms` (one to four nouns every hit must hold) filter; `query` ranks. By default hits are ordered by how rare the `query` words are in a record; a word in the title counts three times, in a tag twice. Records holding the same words tie and keep document order, so the first hit can be any of them: put the distinguishing words in `query` too, choose by `title` and `tags`, and read before relying on one.
   - `group_by` gives the size of each value of one tag key and a `next` call per group: it shows which kinds of record match and how many in one call. Report `candidates` instead of paging to count. Pair it with a tag that ties the records together (copied from a hit), or it groups every record the words touch. Leave out `related_by` unless asked.
   - `valid_at` keeps records in force that day (`at` on or before it, `due` empty or after it). A later date returns what is scheduled; a date before the earliest stored record returns 0 candidates: say older records are not stored, and never present current text as valid on that day.
4. **Read the answer's metadata every time.**
   - `note` with `INDEX_PENDING`, or `coverage.files_pending` > 0: those documents are left out. Say the result is partial; for a lookup, ask again without filters, or later. `E_INDEXING`: nothing indexed yet, same remedy.
   - `mode:"keyword"` with `reason:"WIDE_SCOPE_KEYWORD"`: a filtered wide search ranks by matching words, not meaning. Use the dataset's own words and check `matched` and `gaps`.
   - `omitted` with `PAGE_LIMIT`, or `more`: call `next.tool` with `next.args` exactly; never build a cursor. Page only when the question needs every match (counts, lists, rankings) and say where you stopped.
   - `relevance:"weak"`: the hits are only nearby; say the dataset may not hold the answer.
   - `E_SCOPE_TOO_WIDE`: `as_of` and date fields other than `at`, `due`, `observed` need a small scope; pick a folder from `candidates` or name `documents`.
5. **Open before quoting.** A hit's `summary` is cut short (for row datasets it is only the date). Call `vault_read {refs:[…]}` once with every ref you need (up to 16, `fields:["t","d","at","due"]`). Name the dataset, the ref and the record's date; hub data is a published snapshot, not live.
6. **Conclude carefully.** Never answer "none found" from one empty or odd result: change the words or a tag spelling once. A kind absent from `groups` holds no record with all the `terms`: say so for those words. A result you already have that returned the kind still counts: check it first. Stop when the question is answered; page further only when asked.
7. Hubs are never a write destination. Do not copy hub records into the person's vault unless asked.

## 3. More reads of one document

- Links of one record: `vault_read {refs, relations:{direction:"both"}}`.
- State: `vault_browse {path, summary:true}` gives open records, `rev`, `hash` and `next`; later `vault_changes {path, since: next}` gives only what changed.
- All record ids: `vault_browse {path, ids:true}`, then `vault_read` the ids you need.
- Lists: `vault_browse {path, select:{type, status, tag, from, to}}`.

## 4. Writing, only when the person asks to save

A writable connection is not permission: save only what the person asked, where they asked or where the subject already lives. Never switch to another vault after a refusal.

Every write:

1. Read the records you will change (`vault_read`, `fields:["t","d","x"]`). `set` and `unset` carry `old`, the exact value read (`null` when empty).
2. Send one `vault_edit {path, request_id, operations}` per coherent change, with a new stable `request_id` per intended change. Reuse a `request_id` only to repeat the same call.
3. While the answer says `sync.state: "queued"`, repeat the identical call; it usually settles within 5–20 seconds. The write landed only at `"synced"`: then `vault_read` the changed records.

Records:

- `type` is one of: project goal requirement assumption decision task blocker risk event artifact evidence metric component system service source history knowledge context person agent run. Any other word, `note` included, fails (with a misleading `E_DUPLICATE_FIELD`).
- Every record needs `t`, a short title, never a date or id. Field values are arrays: `{"t":["…"],"d":["…"]}`; `d` is one self-contained sentence of the outcome.
- `x` values: task backlog, open, active, review, blocked, waiting, completed, cancelled, archived; goal open, active, completed, cancelled, archived; project planning, active, at-risk, on-hold, completed, cancelled, archived; decision proposed, accepted, rejected, superseded; risk open, mitigated, resolved, accepted, closed. These five types require `x`. An event requires `at` (ISO date or time; `x` confirmed, tentative, cancelled), a metric `value` and `unit`, an artifact `ref`.
- `id`: lowercase letters, digits and `-` with a type prefix (`task-…`, `dec-…`, `risk-…`); no dots, spaces or dates.
- Links: `[["part-of","prj-x"]]` with part-of, implements, depends, derives, related, supports, contradicts, replaces, blocks, enables. The target must exist or be added earlier in the same call.
- A status change is `set x` with `old`, never a new record. A full replacement sets the old record `superseded` and links `replaces` from the new one. Never remove a record that was true.
- `ref` is one URL others can open, never a local path; `source` holds `source` record ids.

Operations:

- add: `{"op":"add","record":{"type":"task","id":"task-x","fields":{"t":["…"],"x":["open"]},"links":[["part-of","prj-y"]]},"place":{"section":"<existing heading>"}}`. `place` may also be `{"after":"<id>"}` or `"end"`; the section must already exist.
- set: `{"op":"set","entity":"task-x","key":"x","value":"completed","old":"active"}`
- prose: `{"op":"edit-text","entity":"doc","kind":"rich","old":"<exact text occurring once>","new":"…"}`. Never in the same call as an `add` with `place`; add records first, edit prose in the next call.
- New section, or a change to the last section: `edit-text` anchored on the last line of the body, e.g. `"old":"[[last-id]]"`, `"new":"[[last-id]]\n\n# Heading\n\nText"`. The `section` op works only on an existing section that is not the last, with `base_revision` and `expected_hash` from `vault_read {refs:["<path>§<heading>"], source:true}`. A source read of the last section ends with internal `@ids` lines: never copy them into new text.
- remove, and replacing the whole body, need `base_revision` and `expected_hash` (the `rev` and `hash` of `vault_browse {path, summary:true}`).

New document: first check that none on the subject exists. Then `vault_create {path, title, base_revision:null, request_id, content:{text, records}}` with a short ASCII slug filename in an existing writable folder, headings in `text` and each record's `[[id]]` alone on a line where it should appear.

## 5. Errors: fix the cause, never resend unchanged

| code | fix |
|---|---|
| `E_PRECONDITION` | `details.conditions` shows the actual value or the missing anchor: reread, decide, resend with a new `request_id` |
| `E_TEMPLATE` | `details.diagnostics` names the record, field and allowed values |
| `E_ARGUMENT` | missing `old`, `place` mixed with a body edit, or a wrong shape |
| `E_SYNTAX` | an id, link target or field key holds a bad character, usually a dot |
| `E_MISSING_TARGET` | add the link target first, in the same call |
| `E_AMBIGUOUS_TEXT` | `old` must occur exactly once: copy a longer exact span from a `source:true` read |
| `E_CAS_REQUIRED` | add `base_revision` and `expected_hash` from a fresh summary |
| `E_REQUEST_REUSE` | that `request_id` carried different content: use a new one |
| `E_RICH` "Invalid @ids line" | a `section` op reached the end of the body: use the `edit-text` append above |
| `E_LONG_PARAGRAPH` | a paragraph would pass 1,000 characters: put new detail in its own paragraph |
| `STALE_CURSOR` | the documents changed: rerun from the first page |
| `AGENT_SCOPE_DENIED`, `E_READ_ONLY`, `E_FORBIDDEN`, `E_PATH` | stop and tell the person (Thegram Settings → Connected agents); never write elsewhere |

A write answer may carry `decision_analysis` suggestions. They are never applied and need no action.

## 6. Report

Name the refs you relied on. For a write, give the document path, the new revision and the changed record ids after the readback. Say plainly what was partial: index pending, pages left unread, weak relevance.

Release notes

4.5.0: Replaces the bundled thegram-cloud skill with one short file and no references. One method reads every vault and shared GramHub dataset: scope first, vault_search with a folder, tags copied from a hit, group_by for the kinds of record, order for newest or oldest, and open before quoting; it writes only what the person asks to save. Record shapes and write rules come from vault_guide and the tool schemas. Coding agents use the same plugin and endpoint with an API key bearer header. Preserves the published plugin identity, MCP configuration and skill namespace.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package license
UNLICENSED
Package author
Roy Kim
Keywords
See keywords
Listing translations
ko-KR
Commerce declaration
Does not support commerceThis does not establish whether access is free or paid.
Review scenarios
5 positive · 3 negativeScenario counts, not test results.

Declared capabilities

  • Purpose-based memory shared by people and AI
  • Find source-grounded decisions, history and tasks
  • Keep structured .gram records and relationships together
  • One .gram for documents, dashboards and supported graph views

Some manifest fields differ or could not be read. The structured report retains the source references.

Package observed Nov 3, 2026.

Technical details
First seen
Oct 24, 2026 · 12:40 UTC
Last seen
Nov 3, 2026 · 18:00 UTC
Latest observed change
Oct 31, 2026 · 12:10 UTC
Collection status
Collected

plugin_asdk_app_6acc810ccabc8191acd3f457dc498d43

Download plugin data (JSON)