Install
$ agentstack add skill-jgorostegui-notion-agent-cli-notion-agent-cli ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
CLI
node ${CLAUDE_PLUGIN_ROOT}/scripts/actions.mjs [args...]
Run actions directly. If the decision tree does not cover your case, run schema for live metadata. Prefer schema over reading source.
Quick Patterns
- Read + summarize/report ->
getPage->createPage(2 calls) - Copy with modifications ->
copyPageWith(1 call) - Merge pages ->
createPage->mergePages(2 calls) - Batch property update ->
batchSetProperties(1 call)
Decision Tree
- Find something ->
search "query"orworkspaceMap - Read a page ->
getPage - Query a database ->
queryDatabase(markdown table;--format rawfor JSON) - Create a page ->
createPage "Title" "markdown content" - Replace all content ->
updatePage "content" - Add to end ->
appendBlocks "content" - Update properties ->
setProperties '{"Status":"Done"}' - Markdown table to database ->
importTable "| md | table |" --title "Name"(infers column types) - Full copy with subpages ->
deepCopy - Copy + modify ->
copyPageWith "Title" --appendMd "## Extra" - Merge pages ->
mergePages '["id1","id2"]' - Read one section ->
extractSection "Heading" - Edit one section ->
replaceSection "Heading" "new content" - Batch update ->
batchSetProperties '["id1","id2"]' '{"Status":"Done"}'
Key Behaviors
- Page reads and database queries return markdown by default.
getPage and extractSection return markdown. queryDatabase returns a compact markdown table with row IDs for follow-up actions.
setPropertiesauto-types values from the database schema.
Pass {"Status": "Done"} — no raw Notion API format needed.
createPageaccepts markdown as the content argument.- Compound actions save turns — each CLI call is one agentic turn:
copyPageWith= read + modify + create in 1 callmergePages= N reads + merge in 1 call (target must exist; usecreatePagefirst)batchSetProperties= N updates in 1 call- Stdin mode for large content:
echo '{"action":"createPage",...}' | node ${CLAUDE_PLUGIN_ROOT}/scripts/actions.mjs -
- Auto-snapshot before destructive operations.
Common Pitfalls
- Do NOT fetch database entries individually —
queryDatabasereturns all in one call - Do NOT use
getPage+createPagewhencopyPageWithdoes both in one call - Do NOT use multiple
setPropertieswhenbatchSetPropertieshandles N pages - Do NOT read the script source — use
schemaor the references below mergePagestarget must already exist — usecreatePagefirst to create it- Large content (>4KB) should use stdin mode, not inline CLI args
- Properties are auto-typed from the database schema — pass simple values like
{"Status": "Done"}, not raw Notion API format - File/image URLs expire after ~1 hour — re-fetch if reusing later
References
references/action-reference.md— Read when you need exact parameter names or options for an unfamiliar action.references/workflows.md— Read when combining operations or piping large content via stdin.references/api-limits.md— Read when hitting API errors, size limits, or unexpected behavior.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jgorostegui
- Source: jgorostegui/notion-agent-cli
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.