Back to list
tstapler

markdown-confluence-sync

by tstapler

Tyler Stapler's dotfiles

5🍴 1📅 Jan 2, 2026

SKILL.md


name: markdown-confluence-sync description: Sync markdown projects to Confluence using the markdown_confluence tool. Use for publishing, crawling, and managing Confluence pages from local markdown files.

Markdown Confluence Sync

Synchronize local markdown projects with Confluence using the markdown-confluence CLI tool.

Tool Location

/Users/tylerstapler/Documents/personal-wiki/tools/markdown_confluence/.venv/bin/markdown-confluence

Quick Reference

Environment Variables (Required for Authentication)

export CONFLUENCE_BASE_URL="https://betfanatics.atlassian.net"
export ATLASSIAN_USER_NAME="tyler.stapler@betfanatics.com"
# ATLASSIAN_API_TOKEN must be set (retrieved from keychain/secrets)

Core Commands

CommandPurpose
publishUpload markdown to Confluence
crawl pageDownload a single Confluence page
crawl page-treeDownload page and descendants
handle-deletedManage deleted local files
validate-linksCheck broken links

Publishing Workflow

1. Setup Configuration

Create .markdown-confluence.json in your project:

{
  "confluence": {
    "base_url": "https://betfanatics.atlassian.net",
    "parent_id": "PARENT_PAGE_ID",
    "username": "tyler.stapler@betfanatics.com"
  },
  "publish": {
    "folder_to_publish": ".",
    "frontmatter_from_document_start": true,
    "resolve_relative_links": true,
    "respect_link_dependencies": true
  }
}

2. Add Frontmatter to Markdown Files

---
connie-title: "Custom Page Title"
connie-page-id: "123456"        # Existing page ID (auto-added after first publish)
connie-parent-id: "789012"      # Override parent page
connie-publish: true            # Set false to skip
---

# Your Content Here

3. Publish Commands

# Always dry-run first
CONFLUENCE_BASE_URL="https://betfanatics.atlassian.net" \
ATLASSIAN_USER_NAME="tyler.stapler@betfanatics.com" \
/Users/tylerstapler/Documents/personal-wiki/tools/markdown_confluence/.venv/bin/markdown-confluence \
publish . --config .markdown-confluence.json --dry-run --verbose

# Actual publish
/Users/tylerstapler/Documents/personal-wiki/tools/markdown_confluence/.venv/bin/markdown-confluence \
publish . --config .markdown-confluence.json --verbose

# Force update unchanged content
publish . --config .markdown-confluence.json --force

# Stop on first error
publish . --config .markdown-confluence.json --fail-fast

Crawling Confluence

Download Single Page

CONFLUENCE_BASE_URL="https://betfanatics.atlassian.net" \
ATLASSIAN_USER_NAME="tyler.stapler@betfanatics.com" \
/Users/tylerstapler/Documents/personal-wiki/tools/markdown_confluence/.venv/bin/markdown-confluence \
crawl page PAGE_ID_OR_URL --output ./output_dir --verbose

Download Page Tree

markdown-confluence crawl page-tree PAGE_ID --output ./output_dir --max-depth 3 --verbose

Key Publish Options

OptionDescription
--dry-runPreview without publishing
--verbose / -vIncrease output detail
--forceForce update unchanged pages
--fail-fastStop on first error
--delete-archivedDelete archived pages
--force-hierarchyUse directory structure for hierarchy
--update-frontmatterUpdate frontmatter with corrected IDs
--pattern "**/*.md"Filter files to publish
--exclude "**/draft/**"Exclude patterns

Frontmatter Fields

FieldPurpose
connie-titleCustom page title
connie-page-idExisting page ID (for updates)
connie-parent-idParent page ID
connie-parent-page-idAlternative parent field
connie-publishEnable/disable publishing
connie-skip-link-resolutionSkip link resolution

Common Workflows

New Project Setup

  1. Create project directory with markdown files
  2. Create .markdown-confluence.json with parent page ID
  3. Run --dry-run to verify structure
  4. Publish - frontmatter will be auto-updated with page IDs

Update Existing Project

  1. Edit markdown files
  2. Run publish (tool detects changes via hashing)
  3. Use --force if content unchanged but needs update

Troubleshooting

  • 400 Bad Request: Parent page may have corrupted format
  • Duplicate title: Add unique connie-title in frontmatter
  • Page not found: Page ID invalid, tool will auto-create new page
  • Archived pages: Use --delete-archived to recreate

Features

  • Mermaid diagram rendering
  • Wikilink support ([[page]] and [[page|title]])
  • Relative link resolution between markdown files
  • Directory hierarchy to page hierarchy mapping
  • Asset/image handling
  • Content hashing for efficient updates

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon