@latellu/atlas-agent-skills 0.5.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "atlas",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "Work with Atlas CMS from Claude Code: bundles the Atlas MCP server (read/write content via tools) and the atlas-cms skill that teaches agents when and how to use the MCP tools, the @latellu/atlas-sdk delivery/management clients, and the @latellu/atlas-cli type generator.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Latellu",
|
|
7
7
|
"url": "https://github.com/tenriajeng"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://docs.atlas.latellu.com/docs/
|
|
9
|
+
"homepage": "https://docs.atlas.latellu.com/docs/agent-skill",
|
|
10
10
|
"repository": "https://github.com/tenriajeng/atlas-agent-skills",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"keywords": ["atlas", "cms", "headless-cms", "mcp", "sdk"]
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ export ATLAS_LIVE_API_KEY="atlas_live_xxx..." # read tools
|
|
|
18
18
|
export ATLAS_MGMT_API_KEY="atlas_mgmt_xxx..." # write tools
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
Create keys at [cms.atlas.latellu.com/dashboard/api-keys](https://cms.atlas.latellu.com/dashboard/api-keys). Full guide: [docs.atlas.latellu.com/docs/
|
|
21
|
+
Create keys at [cms.atlas.latellu.com/dashboard/api-keys](https://cms.atlas.latellu.com/dashboard/api-keys). Full guide: [docs.atlas.latellu.com/docs/agent-skill](https://docs.atlas.latellu.com/docs/agent-skill).
|
|
22
22
|
|
|
23
23
|
## Other agents (Cursor, Codex, opencode, Gemini CLI, ...)
|
|
24
24
|
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@latellu/atlas-agent-skills",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "Agent skill + MCP configuration for Atlas CMS. Works as a Claude Code plugin and as plain markdown guidance for any AI coding agent (Cursor, Codex, opencode, Gemini CLI, ...).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Latellu (https://github.com/tenriajeng)",
|
|
7
|
-
"homepage": "https://docs.atlas.latellu.com/docs/
|
|
7
|
+
"homepage": "https://docs.atlas.latellu.com/docs/agent-skill",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
10
|
"url": "git+https://github.com/tenriajeng/atlas-agent-skills.git"
|
|
@@ -53,15 +53,16 @@ browser-delivered code. Management usage is server-side only (API routes, script
|
|
|
53
53
|
|
|
54
54
|
Every REST response is an envelope: `{ success, message, data?, meta?, code?, errors? }`.
|
|
55
55
|
The SDK and MCP unwrap it, but two payload quirks leak through in places: `entry.data`,
|
|
56
|
-
page `seo`, and block `data` are stored/transported as **JSON strings** (the SDK
|
|
57
|
-
|
|
56
|
+
page `seo`, and block `data` are stored/transported as **JSON strings** (the SDK and
|
|
57
|
+
MCP ≥ 1.2.0 parse them for you), and list `meta` uses
|
|
58
58
|
`{ total_data, current_page, page_size, total_pages, next_cursor }`.
|
|
59
59
|
|
|
60
60
|
Error codes you will actually see: `UNAUTHORIZED` (401 — missing/empty/wrong-class key),
|
|
61
61
|
`FORBIDDEN` (403 — missing scope or RBAC), `NOT_FOUND` (404 — also returned for
|
|
62
62
|
other-workspace resources), `VALIDATION_ERROR` (400 — with field detail),
|
|
63
63
|
`PAGE_TOO_DEEP` (400 — offset pagination past page 1000), and 429 rate limiting
|
|
64
|
-
(
|
|
64
|
+
(the SDK management client and MCP ≥ 1.2.0 retry automatically; elsewhere back off
|
|
65
|
+
exponentially yourself).
|
|
65
66
|
|
|
66
67
|
Pagination limits: `limit` max 100, `page` max 1000; past that, switch to cursor
|
|
67
68
|
pagination (`meta.next_cursor`, opaque — never construct cursors yourself; `total_data`
|
|
@@ -88,7 +88,8 @@ The MCP manage plane is now fully covered. These gaps remain:
|
|
|
88
88
|
|
|
89
89
|
- **No automatic merge on `update_entry`** — the tool replaces `data` wholesale, so you
|
|
90
90
|
must read-modify-write yourself: `get_entry` → merge your changes → `update_entry`.
|
|
91
|
-
The management SDK
|
|
91
|
+
(The management SDK's `update` is a full replace too — this is API semantics, not an
|
|
92
|
+
MCP quirk.)
|
|
92
93
|
- **Schema is dashboard-only.** Creating content types, fields, or block types is not
|
|
93
94
|
exposed via MCP, SDK, or API. "Create a content type" = ask the user to do it in the
|
|
94
95
|
dashboard, then continue.
|
|
@@ -100,8 +101,9 @@ format per field type (richtext = Tiptap HTML, relation/image = UUIDs, etc.).
|
|
|
100
101
|
|
|
101
102
|
- **Drafts are invisible to live keys** — `list_entries(status="draft")` returning
|
|
102
103
|
empty means key scoping, not an empty workspace.
|
|
103
|
-
- **`get_entry`
|
|
104
|
-
|
|
104
|
+
- **`get_entry` looks up by slug alone** (slug-global, `content_type` is not sent to the
|
|
105
|
+
API) — but if the entry found belongs to a different content type than you requested,
|
|
106
|
+
the tool returns a clear mismatch error instead of the wrong entry.
|
|
105
107
|
- Every write sends a fresh auto-generated `Idempotency-Key` per call, so re-issuing a
|
|
106
108
|
failed create as a *new tool call* is a new operation — check whether the first call
|
|
107
109
|
actually landed (e.g. `get_entry`) before retrying creates.
|