@jahia/agentic 0.2.0 → 0.4.0
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.
- package/CHANGELOG.md +8 -0
- package/README.md +28 -0
- package/dist/claude/.claude/agents/cnd-child-nodes.md +74 -0
- package/dist/claude/.claude/agents/cnd-jahia-mixins.md +113 -0
- package/dist/claude/.claude/agents/cnd-numbers-dates.md +61 -0
- package/dist/claude/.claude/agents/cnd-string-selectors.md +94 -0
- package/dist/claude/.claude/agents/jahia-cnd-author.md +130 -0
- package/dist/claude/.claude/agents/jahia-dev-worker.md +264 -0
- package/dist/claude/.claude/agents/jahia-reviewer.md +105 -0
- package/dist/claude/.claude/rules/jahia.md +15 -6
- package/dist/claude/.claude/skills/jahia/SKILL.md +23 -11
- package/dist/claude/.claude/skills/jahia-content/SKILL.md +102 -84
- package/dist/claude/.claude/skills/jahia-content-create-content/SKILL.md +255 -280
- package/dist/claude/.claude/skills/jahia-content-explore-structure/SKILL.md +187 -96
- package/dist/claude/.claude/skills/jahia-content-media-upload/SKILL.md +197 -0
- package/dist/claude/.claude/skills/jahia-content-move-content/SKILL.md +160 -165
- package/dist/claude/.claude/skills/jahia-content-organize/SKILL.md +209 -0
- package/dist/claude/.claude/skills/jahia-content-publish/SKILL.md +181 -0
- package/dist/claude/.claude/skills/jahia-content-query-content/SKILL.md +122 -92
- package/dist/claude/.claude/skills/jahia-content-translate-content/SKILL.md +154 -225
- package/dist/claude/.claude/skills/jahia-dev-accessibility/SKILL.md +3 -3
- package/dist/claude/.claude/skills/jahia-dev-build-component/SKILL.md +10 -7
- package/dist/claude/.claude/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/claude/.claude/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/claude/.claude/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/claude/.claude/skills/jahia-dev-cypress/SKILL.md +150 -330
- package/dist/claude/.claude/skills/jahia-dev-define-content-type/SKILL.md +43 -486
- package/dist/claude/.claude/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
- package/dist/claude/.claude/skills/jahia-dev-query-content/SKILL.md +93 -296
- package/dist/claude/.claude/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/claude/.claude/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/claude/.claude/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/claude/.claude/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/claude/.claude/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/claude/.claude/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/claude/.claude/skills/jahia-jcr-sql2/SKILL.md +258 -0
- package/dist/claude/.claude/skills/jahia-orchestrate/SKILL.md +148 -0
- package/dist/claude/.claude/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
- package/dist/claude/CLAUDE.md +16 -13
- package/dist/codex/.agents/skills/jahia/SKILL.md +23 -11
- package/dist/codex/.agents/skills/jahia-content/SKILL.md +102 -84
- package/dist/codex/.agents/skills/jahia-content-create-content/SKILL.md +255 -280
- package/dist/codex/.agents/skills/jahia-content-explore-structure/SKILL.md +187 -96
- package/dist/codex/.agents/skills/jahia-content-media-upload/SKILL.md +197 -0
- package/dist/codex/.agents/skills/jahia-content-move-content/SKILL.md +160 -165
- package/dist/codex/.agents/skills/jahia-content-organize/SKILL.md +209 -0
- package/dist/codex/.agents/skills/jahia-content-publish/SKILL.md +181 -0
- package/dist/codex/.agents/skills/jahia-content-query-content/SKILL.md +122 -92
- package/dist/codex/.agents/skills/jahia-content-translate-content/SKILL.md +154 -225
- package/dist/codex/.agents/skills/jahia-dev-accessibility/SKILL.md +3 -3
- package/dist/codex/.agents/skills/jahia-dev-build-component/SKILL.md +10 -7
- package/dist/codex/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/codex/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/codex/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/codex/.agents/skills/jahia-dev-cypress/SKILL.md +150 -330
- package/dist/codex/.agents/skills/jahia-dev-define-content-type/SKILL.md +43 -486
- package/dist/codex/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
- package/dist/codex/.agents/skills/jahia-dev-query-content/SKILL.md +93 -296
- package/dist/codex/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/codex/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/codex/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/codex/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/codex/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/codex/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/codex/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
- package/dist/codex/.agents/skills/jahia-orchestrate/SKILL.md +148 -0
- package/dist/codex/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
- package/dist/codex/.codex/agents/cnd-child-nodes.toml +3 -0
- package/dist/codex/.codex/agents/cnd-jahia-mixins.toml +3 -0
- package/dist/codex/.codex/agents/cnd-numbers-dates.toml +3 -0
- package/dist/codex/.codex/agents/cnd-string-selectors.toml +3 -0
- package/dist/codex/.codex/agents/jahia-cnd-author.toml +3 -0
- package/dist/codex/.codex/agents/jahia-dev-worker.toml +3 -0
- package/dist/codex/.codex/agents/jahia-reviewer.toml +3 -0
- package/dist/codex/AGENTS.md +17 -10
- package/dist/copilot/.agents/skills/jahia/SKILL.md +23 -11
- package/dist/copilot/.agents/skills/jahia-content/SKILL.md +102 -84
- package/dist/copilot/.agents/skills/jahia-content-create-content/SKILL.md +255 -280
- package/dist/copilot/.agents/skills/jahia-content-explore-structure/SKILL.md +187 -96
- package/dist/copilot/.agents/skills/jahia-content-media-upload/SKILL.md +197 -0
- package/dist/copilot/.agents/skills/jahia-content-move-content/SKILL.md +160 -165
- package/dist/copilot/.agents/skills/jahia-content-organize/SKILL.md +209 -0
- package/dist/copilot/.agents/skills/jahia-content-publish/SKILL.md +181 -0
- package/dist/copilot/.agents/skills/jahia-content-query-content/SKILL.md +122 -92
- package/dist/copilot/.agents/skills/jahia-content-translate-content/SKILL.md +154 -225
- package/dist/copilot/.agents/skills/jahia-dev-accessibility/SKILL.md +3 -3
- package/dist/copilot/.agents/skills/jahia-dev-build-component/SKILL.md +10 -7
- package/dist/copilot/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/copilot/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/copilot/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/copilot/.agents/skills/jahia-dev-cypress/SKILL.md +150 -330
- package/dist/copilot/.agents/skills/jahia-dev-define-content-type/SKILL.md +43 -486
- package/dist/copilot/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
- package/dist/copilot/.agents/skills/jahia-dev-query-content/SKILL.md +93 -296
- package/dist/copilot/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/copilot/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/copilot/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/copilot/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/copilot/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/copilot/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/copilot/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
- package/dist/copilot/.agents/skills/jahia-orchestrate/SKILL.md +148 -0
- package/dist/copilot/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
- package/dist/copilot/AGENTS.md +17 -10
- package/dist/cursor/.agents/skills/jahia/SKILL.md +23 -11
- package/dist/cursor/.agents/skills/jahia-content/SKILL.md +102 -84
- package/dist/cursor/.agents/skills/jahia-content-create-content/SKILL.md +255 -280
- package/dist/cursor/.agents/skills/jahia-content-explore-structure/SKILL.md +187 -96
- package/dist/cursor/.agents/skills/jahia-content-media-upload/SKILL.md +197 -0
- package/dist/cursor/.agents/skills/jahia-content-move-content/SKILL.md +160 -165
- package/dist/cursor/.agents/skills/jahia-content-organize/SKILL.md +209 -0
- package/dist/cursor/.agents/skills/jahia-content-publish/SKILL.md +181 -0
- package/dist/cursor/.agents/skills/jahia-content-query-content/SKILL.md +122 -92
- package/dist/cursor/.agents/skills/jahia-content-translate-content/SKILL.md +154 -225
- package/dist/cursor/.agents/skills/jahia-dev-accessibility/SKILL.md +3 -3
- package/dist/cursor/.agents/skills/jahia-dev-build-component/SKILL.md +10 -7
- package/dist/cursor/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/cursor/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/cursor/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/cursor/.agents/skills/jahia-dev-cypress/SKILL.md +150 -330
- package/dist/cursor/.agents/skills/jahia-dev-define-content-type/SKILL.md +43 -486
- package/dist/cursor/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
- package/dist/cursor/.agents/skills/jahia-dev-query-content/SKILL.md +93 -296
- package/dist/cursor/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/cursor/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/cursor/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/cursor/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/cursor/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/cursor/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/cursor/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
- package/dist/cursor/.agents/skills/jahia-orchestrate/SKILL.md +148 -0
- package/dist/cursor/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
- package/dist/cursor/.cursor/agents/cnd-child-nodes.md +74 -0
- package/dist/cursor/.cursor/agents/cnd-jahia-mixins.md +113 -0
- package/dist/cursor/.cursor/agents/cnd-numbers-dates.md +61 -0
- package/dist/cursor/.cursor/agents/cnd-string-selectors.md +94 -0
- package/dist/cursor/.cursor/agents/jahia-cnd-author.md +130 -0
- package/dist/cursor/.cursor/agents/jahia-dev-worker.md +264 -0
- package/dist/cursor/.cursor/agents/jahia-reviewer.md +105 -0
- package/dist/cursor/.cursor/rules/jahia.mdc +15 -6
- package/dist/gemini/.agents/skills/jahia/SKILL.md +23 -11
- package/dist/gemini/.agents/skills/jahia-content/SKILL.md +102 -84
- package/dist/gemini/.agents/skills/jahia-content-create-content/SKILL.md +255 -280
- package/dist/gemini/.agents/skills/jahia-content-explore-structure/SKILL.md +187 -96
- package/dist/gemini/.agents/skills/jahia-content-media-upload/SKILL.md +197 -0
- package/dist/gemini/.agents/skills/jahia-content-move-content/SKILL.md +160 -165
- package/dist/gemini/.agents/skills/jahia-content-organize/SKILL.md +209 -0
- package/dist/gemini/.agents/skills/jahia-content-publish/SKILL.md +181 -0
- package/dist/gemini/.agents/skills/jahia-content-query-content/SKILL.md +122 -92
- package/dist/gemini/.agents/skills/jahia-content-translate-content/SKILL.md +154 -225
- package/dist/gemini/.agents/skills/jahia-dev-accessibility/SKILL.md +3 -3
- package/dist/gemini/.agents/skills/jahia-dev-build-component/SKILL.md +10 -7
- package/dist/gemini/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/gemini/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/gemini/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/gemini/.agents/skills/jahia-dev-cypress/SKILL.md +150 -330
- package/dist/gemini/.agents/skills/jahia-dev-define-content-type/SKILL.md +43 -486
- package/dist/gemini/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
- package/dist/gemini/.agents/skills/jahia-dev-query-content/SKILL.md +93 -296
- package/dist/gemini/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/gemini/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/gemini/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/gemini/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/gemini/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/gemini/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/gemini/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
- package/dist/gemini/.agents/skills/jahia-orchestrate/SKILL.md +148 -0
- package/dist/gemini/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
- package/dist/gemini/AGENTS.md +17 -10
- package/dist/gemini/GEMINI.md +2 -2
- package/dist/index.js +13 -0
- package/dist/opencode/.agents/skills/jahia/SKILL.md +23 -11
- package/dist/opencode/.agents/skills/jahia-content/SKILL.md +102 -84
- package/dist/opencode/.agents/skills/jahia-content-create-content/SKILL.md +255 -280
- package/dist/opencode/.agents/skills/jahia-content-explore-structure/SKILL.md +187 -96
- package/dist/opencode/.agents/skills/jahia-content-media-upload/SKILL.md +197 -0
- package/dist/opencode/.agents/skills/jahia-content-move-content/SKILL.md +160 -165
- package/dist/opencode/.agents/skills/jahia-content-organize/SKILL.md +209 -0
- package/dist/opencode/.agents/skills/jahia-content-publish/SKILL.md +181 -0
- package/dist/opencode/.agents/skills/jahia-content-query-content/SKILL.md +122 -92
- package/dist/opencode/.agents/skills/jahia-content-translate-content/SKILL.md +154 -225
- package/dist/opencode/.agents/skills/jahia-dev-accessibility/SKILL.md +3 -3
- package/dist/opencode/.agents/skills/jahia-dev-build-component/SKILL.md +10 -7
- package/dist/opencode/.agents/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/opencode/.agents/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/opencode/.agents/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/opencode/.agents/skills/jahia-dev-cypress/SKILL.md +150 -330
- package/dist/opencode/.agents/skills/jahia-dev-define-content-type/SKILL.md +43 -486
- package/dist/opencode/.agents/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
- package/dist/opencode/.agents/skills/jahia-dev-query-content/SKILL.md +93 -296
- package/dist/opencode/.agents/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/opencode/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/opencode/.agents/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/opencode/.agents/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/opencode/.agents/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/opencode/.agents/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/opencode/.agents/skills/jahia-jcr-sql2/SKILL.md +258 -0
- package/dist/opencode/.agents/skills/jahia-orchestrate/SKILL.md +148 -0
- package/dist/opencode/.agents/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
- package/dist/opencode/.opencode/agents/cnd-child-nodes.md +74 -0
- package/dist/opencode/.opencode/agents/cnd-jahia-mixins.md +113 -0
- package/dist/opencode/.opencode/agents/cnd-numbers-dates.md +61 -0
- package/dist/opencode/.opencode/agents/cnd-string-selectors.md +94 -0
- package/dist/opencode/.opencode/agents/jahia-cnd-author.md +130 -0
- package/dist/opencode/.opencode/agents/jahia-dev-worker.md +264 -0
- package/dist/opencode/.opencode/agents/jahia-reviewer.md +105 -0
- package/dist/opencode/AGENTS.md +17 -10
- package/dist/windsurf/.windsurf/rules/jahia.md +15 -6
- package/dist/windsurf/.windsurf/skills/jahia/SKILL.md +23 -11
- package/dist/windsurf/.windsurf/skills/jahia-content/SKILL.md +102 -84
- package/dist/windsurf/.windsurf/skills/jahia-content-create-content/SKILL.md +255 -280
- package/dist/windsurf/.windsurf/skills/jahia-content-explore-structure/SKILL.md +187 -96
- package/dist/windsurf/.windsurf/skills/jahia-content-media-upload/SKILL.md +197 -0
- package/dist/windsurf/.windsurf/skills/jahia-content-move-content/SKILL.md +160 -165
- package/dist/windsurf/.windsurf/skills/jahia-content-organize/SKILL.md +209 -0
- package/dist/windsurf/.windsurf/skills/jahia-content-publish/SKILL.md +181 -0
- package/dist/windsurf/.windsurf/skills/jahia-content-query-content/SKILL.md +122 -92
- package/dist/windsurf/.windsurf/skills/jahia-content-translate-content/SKILL.md +154 -225
- package/dist/windsurf/.windsurf/skills/jahia-dev-accessibility/SKILL.md +3 -3
- package/dist/windsurf/.windsurf/skills/jahia-dev-build-component/SKILL.md +10 -7
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-page-template/SKILL.md +59 -21
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-template-set/SKILL.md +20 -47
- package/dist/windsurf/.windsurf/skills/jahia-dev-create-view/SKILL.md +3 -3
- package/dist/windsurf/.windsurf/skills/jahia-dev-cypress/SKILL.md +150 -330
- package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/SKILL.md +43 -486
- package/dist/windsurf/.windsurf/skills/jahia-dev-define-content-type/references/modeling-decisions.md +52 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-query-content/SKILL.md +93 -296
- package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/SKILL.md +79 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/scripts/check-cnd.d.mts +13 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-review-cnd/scripts/check-cnd.mjs +198 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-site-review/SKILL.md +70 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-site-review/scripts/review-pages.mjs +85 -0
- package/dist/windsurf/.windsurf/skills/jahia-dev-start-local/SKILL.md +18 -26
- package/dist/windsurf/.windsurf/skills/jahia-jcr-sql2/SKILL.md +258 -0
- package/dist/windsurf/.windsurf/skills/jahia-orchestrate/SKILL.md +148 -0
- package/dist/windsurf/.windsurf/skills/jahia-orchestrate/scripts/verify-pages.mjs +59 -0
- package/dist/windsurf/AGENTS.md +17 -10
- package/package.json +3 -3
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jahia-content-publish
|
|
3
|
+
description: Publishes and unpublishes Jahia content via MCP tools. Use when asked to make edits live, remove content from live, or check whether a page or subtree is ready for publication.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill: jahia-content-publish
|
|
7
|
+
|
|
8
|
+
Handles publication workflows using MCP tools via the `jahia` MCP server.
|
|
9
|
+
|
|
10
|
+
> **Never call Jahia's GraphQL API directly.** Use only MCP tools. If a capability is missing, report it — do not work around with curl/GraphQL.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Core concepts
|
|
15
|
+
|
|
16
|
+
- **EDIT workspace** — where authors create and modify draft content
|
|
17
|
+
- **LIVE workspace** — what public visitors see
|
|
18
|
+
- **Publication is language-scoped** — you publish specific language versions
|
|
19
|
+
- **Publishing a parent can include its subtree**
|
|
20
|
+
- **Workflow may apply** — `publication.publish` may start approval instead of publishing directly
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Step 1 — Check publication status
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
tool: publication.status
|
|
28
|
+
args: {
|
|
29
|
+
"path": "/sites/SITE_KEY/home/about",
|
|
30
|
+
"language": "en",
|
|
31
|
+
"subNodes": true,
|
|
32
|
+
"references": true
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
This tells you:
|
|
37
|
+
- whether the node or subtree is already published
|
|
38
|
+
- whether descendants are modified or unpublished
|
|
39
|
+
- whether references may block publication
|
|
40
|
+
- whether the current user can publish
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Step 2 — Publish
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
tool: publication.publish
|
|
48
|
+
args: {
|
|
49
|
+
"path": "/sites/SITE_KEY/home/about",
|
|
50
|
+
"languages": ["en", "fr"]
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Possible outcomes:
|
|
55
|
+
- direct publish to LIVE
|
|
56
|
+
- workflow started for approval
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Step 3 — If approval workflow starts, complete it
|
|
61
|
+
|
|
62
|
+
List pending tasks:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
tool: workflow.tasks
|
|
66
|
+
args: {}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Approve:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
tool: workflow.complete
|
|
73
|
+
args: {
|
|
74
|
+
"taskId": "TASK_ID",
|
|
75
|
+
"outcome": "accept",
|
|
76
|
+
"comment": "Approved — reviewed and ready"
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Reject:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
tool: workflow.complete
|
|
84
|
+
args: {
|
|
85
|
+
"taskId": "TASK_ID",
|
|
86
|
+
"outcome": "reject",
|
|
87
|
+
"comment": "Needs revision"
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Step 4 — Unpublish
|
|
94
|
+
|
|
95
|
+
Remove content from LIVE while keeping EDIT:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
tool: publication.unpublish
|
|
99
|
+
args: {
|
|
100
|
+
"path": "/sites/SITE_KEY/home/about/main/outdated-section",
|
|
101
|
+
"languages": ["en"]
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Common publication patterns
|
|
108
|
+
|
|
109
|
+
### Publish a newly created page and its content
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
tool: publication.publish
|
|
113
|
+
args: {
|
|
114
|
+
"path": "/sites/SITE_KEY/home/new-page",
|
|
115
|
+
"languages": ["en"]
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Publish translated content
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
tool: publication.publish
|
|
123
|
+
args: {
|
|
124
|
+
"path": "/sites/SITE_KEY/home/about",
|
|
125
|
+
"languages": ["fr"]
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Publish a deletion after `content.markForDeletion`
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
tool: publication.publish
|
|
133
|
+
args: {
|
|
134
|
+
"path": "/sites/SITE_KEY/home/old-page",
|
|
135
|
+
"languages": ["en"]
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Check whether a subtree is ready
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
tool: publication.status
|
|
143
|
+
args: {
|
|
144
|
+
"path": "/sites/SITE_KEY/home",
|
|
145
|
+
"language": "en",
|
|
146
|
+
"subNodes": true,
|
|
147
|
+
"references": true
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Key rules
|
|
154
|
+
|
|
155
|
+
| Rule | Detail |
|
|
156
|
+
|------|--------|
|
|
157
|
+
| Always specify languages | Publication is language-scoped |
|
|
158
|
+
| Publish is subtree-aware | Publishing a page includes its content areas and descendants |
|
|
159
|
+
| Workflow is automatic | `publication.publish` decides whether it can publish directly |
|
|
160
|
+
| References matter | Use `references: true` in status checks when media or linked content is involved |
|
|
161
|
+
| Mark-for-deletion needs publish | The deletion becomes live only after publication |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Common errors
|
|
166
|
+
|
|
167
|
+
| Error | Cause | Fix |
|
|
168
|
+
|-------|-------|-----|
|
|
169
|
+
| `NODE_NOT_FOUND` | The path does not exist in EDIT | Verify with `content.get` |
|
|
170
|
+
| `NO_PUBLISH_PERMISSION` | User lacks publishing rights | Check the user's roles |
|
|
171
|
+
| Workflow started but content is still not live | Approval is still pending | Complete the task via `workflow.tasks` and `workflow.complete` |
|
|
172
|
+
| `MANDATORY_LANGUAGE_UNPUBLISHABLE` | Required language content is missing | Add the missing translation first |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Related skills
|
|
177
|
+
|
|
178
|
+
- `/jahia-content-create-content` — create pages and content before publishing them
|
|
179
|
+
- `/jahia-content-translate-content` — translate content before publishing new locales
|
|
180
|
+
- `/jahia-content-organize` — publish after moves, copies, reorders, or deletions
|
|
181
|
+
|
|
@@ -1,29 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jahia-content-query-content
|
|
3
|
-
description: Queries JCR content from a running Jahia instance via
|
|
3
|
+
description: Queries JCR content from a running Jahia instance via MCP tools. Use when asked to list, inspect, or retrieve content nodes, check what content exists, or audit a site's content.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Skill: jahia-content-query-content
|
|
7
7
|
|
|
8
|
-
Retrieves JCR content from a running Jahia instance using the
|
|
8
|
+
Retrieves JCR content from a running Jahia instance using MCP tools (via the `jahia` MCP server).
|
|
9
|
+
|
|
10
|
+
> **Never call Jahia's GraphQL API directly.** Use only MCP tools. If a capability is missing, report it — do not work around with curl/GraphQL.
|
|
9
11
|
|
|
10
12
|
---
|
|
11
13
|
|
|
12
14
|
## Prerequisites
|
|
13
15
|
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
- GraphQL endpoint: `http://localhost:8080/modules/graphql`
|
|
17
|
-
|
|
18
|
-
**Auth pattern — always use both flags:**
|
|
19
|
-
```bash
|
|
20
|
-
curl -u root:root1234 \
|
|
21
|
-
-H "Content-Type: application/json" \
|
|
22
|
-
-H "Origin: http://localhost:8080" \
|
|
23
|
-
...
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
> ⚠️ The `Origin: http://localhost:8080` header is **required**. Requests without it return `Permission denied` even with correct credentials.
|
|
16
|
+
- MCP server `jahia` connected with a valid API token
|
|
17
|
+
- Know the target **siteKey** (call `site.list` if unsure)
|
|
27
18
|
|
|
28
19
|
---
|
|
29
20
|
|
|
@@ -31,99 +22,145 @@ curl -u root:root1234 \
|
|
|
31
22
|
|
|
32
23
|
### 1 — Get a node by path
|
|
33
24
|
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
25
|
+
```
|
|
26
|
+
tool: content.get
|
|
27
|
+
args: { "path": "/sites/mySite/home/about/main/intro-text" }
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Returns all readable properties, mixins, and metadata. Also accepts `uuid`.
|
|
31
|
+
|
|
32
|
+
### 2 — List children of a node
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
tool: content.list
|
|
36
|
+
args: {
|
|
37
|
+
"parentPath": "/sites/mySite/home/about/main",
|
|
38
|
+
"limit": 50
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Optional: `childNodeType` to filter, `projectProperties` to include specific properties.
|
|
43
|
+
|
|
44
|
+
### 3 — Search by node type
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
tool: content.search
|
|
48
|
+
args: {
|
|
49
|
+
"siteKey": "mySite",
|
|
50
|
+
"nodeType": "mymodule:article",
|
|
51
|
+
"locale": "en",
|
|
52
|
+
"sortBy": "jcr:created",
|
|
53
|
+
"order": "desc",
|
|
54
|
+
"limit": 10
|
|
55
|
+
}
|
|
42
56
|
```
|
|
43
57
|
|
|
44
|
-
###
|
|
58
|
+
### 4 — Full-text search
|
|
45
59
|
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
60
|
+
```
|
|
61
|
+
tool: content.search
|
|
62
|
+
args: {
|
|
63
|
+
"siteKey": "mySite",
|
|
64
|
+
"nodeType": "jmix:droppableContent",
|
|
65
|
+
"locale": "en",
|
|
66
|
+
"fullText": "insurance",
|
|
67
|
+
"sortBy": "_score",
|
|
68
|
+
"order": "desc"
|
|
69
|
+
}
|
|
54
70
|
```
|
|
55
71
|
|
|
56
|
-
###
|
|
72
|
+
### 5 — Filter by property value
|
|
57
73
|
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
74
|
+
```
|
|
75
|
+
tool: content.search
|
|
76
|
+
args: {
|
|
77
|
+
"siteKey": "mySite",
|
|
78
|
+
"nodeType": "mymodule:article",
|
|
79
|
+
"locale": "en",
|
|
80
|
+
"properties": [
|
|
81
|
+
{ "name": "jcr:createdBy", "op": "eq", "value": "root" }
|
|
82
|
+
]
|
|
83
|
+
}
|
|
66
84
|
```
|
|
67
85
|
|
|
68
|
-
|
|
86
|
+
Operators: `eq`, `like`, `gt`, `gte`, `lt`, `lte`, `isNull`, `isNotNull`
|
|
69
87
|
|
|
70
|
-
###
|
|
88
|
+
### 6 — List all sites
|
|
71
89
|
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
-H "Content-Type: application/json" \
|
|
75
|
-
-H "Origin: http://localhost:8080" \
|
|
76
|
-
-X POST http://localhost:8080/modules/graphql \
|
|
77
|
-
-d '{
|
|
78
|
-
"query": "{ jcr { nodesByQuery(query: \"SELECT * FROM [namespace:article] WHERE [product] = \u0027jahia\u0027 AND ISDESCENDANTNODE(\u0027/sites/mySite\u0027)\", queryLanguage: SQL2) { nodes { name path } } } }"
|
|
79
|
-
}'
|
|
90
|
+
```
|
|
91
|
+
tool: site.list
|
|
80
92
|
```
|
|
81
93
|
|
|
82
|
-
###
|
|
94
|
+
### 7 — List all pages
|
|
83
95
|
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
-H "Origin: http://localhost:8080" \
|
|
88
|
-
-X POST http://localhost:8080/modules/graphql \
|
|
89
|
-
-d '{
|
|
90
|
-
"query": "{ jcr { nodesByQuery(query: \"SELECT * FROM [jnt:virtualsite] WHERE ISCHILDNODE(\u0027/sites\u0027)\", queryLanguage: SQL2) { nodes { name path } } } }"
|
|
91
|
-
}'
|
|
96
|
+
```
|
|
97
|
+
tool: page.list
|
|
98
|
+
args: { "siteKey": "mySite" }
|
|
92
99
|
```
|
|
93
100
|
|
|
94
|
-
|
|
101
|
+
Supports: `templateName`, `titleContains`, `createdAfter`, `modifiedAfter`, `sortBy`, `order`.
|
|
95
102
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
### 8 — Check publication status
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
tool: publication.status
|
|
107
|
+
args: {
|
|
108
|
+
"path": "/sites/mySite/home/about",
|
|
109
|
+
"language": "en",
|
|
110
|
+
"subNodes": true
|
|
111
|
+
}
|
|
104
112
|
```
|
|
105
113
|
|
|
106
|
-
|
|
114
|
+
Returns publication status, lock/WIP flags, and permission info.
|
|
107
115
|
|
|
108
116
|
---
|
|
109
117
|
|
|
110
|
-
##
|
|
118
|
+
## content.search parameter reference
|
|
111
119
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
120
|
+
**Required:**
|
|
121
|
+
- `siteKey` — scopes search under `/sites/<siteKey>`
|
|
122
|
+
- `nodeType` — JCR type (e.g. `jnt:page`, `jnt:file`, `jmix:droppableContent`)
|
|
115
123
|
|
|
116
|
-
|
|
117
|
-
|
|
124
|
+
**Optional:**
|
|
125
|
+
- `locale` — locale for i18n property resolution (e.g. `"en"`)
|
|
126
|
+
- `fullText` — full-text expression (phrase `"..."`, OR, exclusion `-term`)
|
|
127
|
+
- `fullTextField` — scope full-text to one property
|
|
128
|
+
- `basePath` — restrict to a subtree
|
|
129
|
+
- `properties` — array of property filters (AND-combined)
|
|
130
|
+
- `projectProperties` — properties to include in results
|
|
131
|
+
- `sortBy` — property name (default: `"jcr:lastModified"`) or `"_score"` with fullText
|
|
132
|
+
- `order` — `"asc"` or `"desc"` (default: `"desc"`)
|
|
133
|
+
- `offset` — skip N results (default: 0)
|
|
134
|
+
- `limit` — max results 1–100 (default: 20)
|
|
118
135
|
|
|
119
|
-
|
|
120
|
-
SELECT * FROM [ns:typeName] WHERE [propName] = 'value'
|
|
136
|
+
---
|
|
121
137
|
|
|
122
|
-
|
|
123
|
-
SELECT * FROM [ns:typeName] WHERE ISDESCENDANTNODE('/sites/mySite') ORDER BY [jcr:created] DESC
|
|
138
|
+
## Common search patterns
|
|
124
139
|
|
|
125
|
-
|
|
126
|
-
|
|
140
|
+
Last 5 created contents:
|
|
141
|
+
```
|
|
142
|
+
tool: content.search
|
|
143
|
+
args: {
|
|
144
|
+
"siteKey": "mySite",
|
|
145
|
+
"nodeType": "jmix:droppableContent",
|
|
146
|
+
"locale": "en",
|
|
147
|
+
"sortBy": "jcr:created",
|
|
148
|
+
"order": "desc",
|
|
149
|
+
"limit": 5
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Recently modified pages:
|
|
154
|
+
```
|
|
155
|
+
tool: content.search
|
|
156
|
+
args: {
|
|
157
|
+
"siteKey": "mySite",
|
|
158
|
+
"nodeType": "jnt:page",
|
|
159
|
+
"locale": "en",
|
|
160
|
+
"sortBy": "jcr:lastModified",
|
|
161
|
+
"order": "desc",
|
|
162
|
+
"limit": 10
|
|
163
|
+
}
|
|
127
164
|
```
|
|
128
165
|
|
|
129
166
|
---
|
|
@@ -132,13 +169,6 @@ SELECT * FROM [ns:typeName] WHERE ISDESCENDANTNODE('/sites/mySite') ORDER BY [jc
|
|
|
132
169
|
|
|
133
170
|
| Error | Cause | Fix |
|
|
134
171
|
|-------|-------|-----|
|
|
135
|
-
| `
|
|
136
|
-
|
|
|
137
|
-
|
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## References
|
|
142
|
-
|
|
143
|
-
- Jahia GraphQL API: `http://localhost:8080/modules/graphql` (open in browser for interactive playground)
|
|
144
|
-
- JCR-SQL2 language spec: https://docs.adobe.com/content/docs/en/spec/jcr/2.0/6_Query.html
|
|
172
|
+
| `PATH_NOT_FOUND` | Node doesn't exist at given path | Verify path with `content.list` on parent |
|
|
173
|
+
| No results returned | Wrong `nodeType` or `siteKey` | Check available types with `site.types` |
|
|
174
|
+
| Missing i18n properties | `locale` not passed | Always include `locale` for i18n content |
|