Add a command to discover existing Confluence pages — by space, by parent, or by title/CQL — so a user or an agent can answer "what pages already exist here?" before creating (and avoid duplicates).
Why
Today there's no user-facing way to enumerate or find pages; SearchPagesByTitle exists only internally (used by create's duplicate check and fix's title lookup). An agent in Claude Code planning a publish needs to see the current tree/space first — e.g. to pick a parent, detect an existing page to update instead of create, or reconcile.
Shape (to refine)
list under a space and/or parent (children of a page), and/or search by title or CQL.
- Emit id / title / space / parent / url per hit; first-class
--json (array of results in the standard envelope).
- Reuse the client's
_links.next pagination that SyncAttachments/listing already rely on.
Open questions
- One command with flags (
--space, --parent, --query) or two (list vs search)?
- Expose raw CQL, or a curated subset (title/space/parent) to keep it safe and simple?
- Depth for
--parent (direct children vs full descendants; note getConfluencePageDescendants semantics).
Notes
Add a command to discover existing Confluence pages — by space, by parent, or by title/CQL — so a user or an agent can answer "what pages already exist here?" before creating (and avoid duplicates).
Why
Today there's no user-facing way to enumerate or find pages;
SearchPagesByTitleexists only internally (used bycreate's duplicate check andfix's title lookup). An agent in Claude Code planning a publish needs to see the current tree/space first — e.g. to pick a parent, detect an existing page toupdateinstead ofcreate, or reconcile.Shape (to refine)
listunder a space and/or parent (children of a page), and/orsearchby title or CQL.--json(array of results in the standard envelope)._links.nextpagination thatSyncAttachments/listing already rely on.Open questions
--space,--parent,--query) or two (listvssearch)?--parent(direct children vs full descendants; notegetConfluencePageDescendantssemantics).Notes
info(single page) and theexportsubcommand (Implement an export subcommand (page + attachments to the filesystem) #37).