{"id":"44b17b75-89a0-4ab3-8e37-f67ccc5e65d0","entityType":"agent","slug":"clawhub-paodingai-calliper-compare2markdown","name":"Calliper SaaS Markdown","canonicalUrl":"https://www.xpersona.co/agent/clawhub-paodingai-calliper-compare2markdown","canonicalPath":"/agent/clawhub-paodingai-calliper-compare2markdown","generatedAt":"2026-10-10T21:39:58.248Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T18:19:55.438Z","emptyReason":null},"description":"Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by... Skill: Calliper SaaS Markdown Owner: paodingai Summary: Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by... Tags: latest:1.3.3 Version history: v1.3.3 | 2026-07-24T09:36:00.059Z | user Release v1.3.3 v1.3.2 | 2026-06-05T09:23:53.933Z | user Release v1.3.2 v1.3.1 | 2026-06-04T10:24:26.897Z | user Release v1.3.1","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s171rf8ak6hx9rzs693rsdpec5872404:calliper-compare2markdown","sourceUrl":"https://clawhub.ai/paodingai/calliper-compare2markdown","homepage":"https://clawhub.ai/paodingai/skills/calliper-compare2markdown","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/paodingai/calliper-compare2markdown","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/paodingai/skills/calliper-compare2markdown","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T18:19:55.438Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T18:19:55.438Z","emptyReason":null},"stars":null,"forks":null,"downloads":1299,"packageName":null,"latestVersion":"1.3.3","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T18:19:55.438Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T18:19:55.438Z","lastCrawledAt":"2026-10-10T18:19:55.438Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T18:19:55.438Z","lastVerifiedAt":null,"highlights":[{"version":"1.3.3","createdAt":"2026-07-24T09:36:00.059Z","changelog":"Release v1.3.3","fileCount":5,"zipByteSize":5928},{"version":"1.3.2","createdAt":"2026-06-05T09:23:53.933Z","changelog":"Release v1.3.2","fileCount":5,"zipByteSize":5971},{"version":"1.3.1","createdAt":"2026-06-04T10:24:26.897Z","changelog":"Release v1.3.1","fileCount":5,"zipByteSize":5985},{"version":"1.2.1","createdAt":"2026-05-20T02:29:35.295Z","changelog":"Version 1.2.1 - No file changes detected in this release. - Functionality and documentation remain identical to the previous version.","fileCount":5,"zipByteSize":5975},{"version":"1.2.0","createdAt":"2026-05-15T04:08:22.600Z","changelog":"- Initial release of Calliper-Compare2Markdown skill. - Supports comparing two local documents (PDF, Word, PPT, images) and outputs structured Markdown diffs. - Integrates with Calliper via synchronous API for single-step comparison. - Markdown output is suitable for review, clause comparison, and further extraction or rule checks downstream. - Offers flexible environment variable setup for authentication and API configuration. - Ensures robust error handling, progress reporting, and optional output file creation.","fileCount":4,"zipByteSize":4789}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171rf8ak6hx9rzs693rsdpec5872404:calliper-compare2markdown","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-paodingai-calliper-compare2markdown/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-paodingai-calliper-compare2markdown/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-paodingai-calliper-compare2markdown/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-paodingai-calliper-compare2markdown/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-paodingai-calliper-compare2markdown/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-paodingai-calliper-compare2markdown/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T21:39:58.247Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-paodingai-calliper-compare2markdown/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-paodingai-calliper-compare2markdown/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-paodingai-calliper-compare2markdown/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-paodingai-calliper-compare2markdown/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T18:19:55.438Z","emptyReason":null},"readme":"Skill: Calliper SaaS Markdown\n\nOwner: paodingai\n\nSummary: Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by...\n\nTags: latest:1.3.3\n\nVersion history:\n\nv1.3.3 | 2026-07-24T09:36:00.059Z | user\n\nRelease v1.3.3\n\nv1.3.2 | 2026-06-05T09:23:53.933Z | user\n\nRelease v1.3.2\n\nv1.3.1 | 2026-06-04T10:24:26.897Z | user\n\nRelease v1.3.1\n\nv1.2.1 | 2026-05-20T02:29:35.295Z | auto\n\nVersion 1.2.1\n\n- No file changes detected in this release.\n- Functionality and documentation remain identical to the previous version.\n\nv1.2.0 | 2026-05-15T04:08:22.600Z | user\n\n- Initial release of Calliper-Compare2Markdown skill.\n- Supports comparing two local documents (PDF, Word, PPT, images) and outputs structured Markdown diffs.\n- Integrates with Calliper via synchronous API for single-step comparison.\n- Markdown output is suitable for review, clause comparison, and further extraction or rule checks downstream.\n- Offers flexible environment variable setup for authentication and API configuration.\n- Ensures robust error handling, progress reporting, and optional output file creation.\n\nArchive index:\n\nArchive v1.3.3: 5 files, 5928 bytes\n\nFiles: agents/openai.yaml (608b), scripts/compare_to_markdown.js (6014b), skill-card.md (1878b), SKILL.md (3876b), _meta.json (144b)\n\nFile v1.3.3:SKILL.md\n\n---\nname: Calliper-Compare2Markdown\ndescription: Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by Calliper, and returns a structured markdown diff table suitable for change review, clause comparison, downstream extraction, and rule-based validation.\nmetadata:\n  {\n    'author': 'PAODINGAI',\n    'version': '1.1.0',\n    'openclaw':\n      {\n        'emoji': '🔍',\n        'requires': { 'env': ['PD_ROUTER_BASE_URL'], 'bins': ['node'] },\n      },\n  }\n---\n\n# Calliper-Compare2Markdown\n\nRun a JavaScript workflow that submits two local files to the `calliper` synchronous API through PDRouter (`POST /openapi/{serviceCode}/compare/markdown` by default) and returns Markdown diff output in one step. This is suitable for document comparison, change extraction, compliance checks, and feeding structured diff content into follow-up scripts.\n\n## Installation\n\n```bash\nnpx skills add PaodingAI/skills\n```\n\n## Usage\n\n```bash\nnode skills/calliper-compare2markdown/scripts/compare_to_markdown.js <left-file-path> <right-file-path> [output-markdown-path]\n```\n\n## Execution Constraints\n\n- You must invoke `scripts/compare_to_markdown.js` directly. Do not reimplement the API flow yourself.\n- The behavior contract below explains what the script does, what it outputs, and when to use it. It is not a manual checklist for the model to imitate step by step.\n- For any task that depends on cross-document differences, you must run this script first and continue from the generated Markdown result.\n- Only inspect or modify the script implementation when the script itself is unavailable, failing, or needs a fix. Do not bypass it during normal use.\n\n## When to Use\n\n- Use this skill when the user wants to compare two documents and get structured differences in Markdown.\n- Use this skill when the user says things like \"diff to markdown\", \"compare and output markdown\", \"导出差异 markdown\", or asks for a machine-readable diff summary.\n- When downstream work depends on differences, such as clause extraction, mismatch validation, or rule checks, use this skill first.\n- When the diff content is only intermediate input, prefer writing to a working file and extract only required segments instead of returning full raw Markdown.\n- When the user explicitly asks for the original markdown diff output, return the full Markdown directly.\n\n## Environment Variables\n\n- `PAODINGAI_API_KEY`: Preferred bearer token used by the script.\n- `CALLIPER_ACCESS_TOKEN`: Optional fallback bearer token when `PAODINGAI_API_KEY` is absent.\n- `PD_ROUTER_BASE_URL`: Optional. Defaults to `https://platform.paodingai.com/platform/`.\n- `PD_ROUTER_SERVICE_CODE`: Optional. Defaults to `calliper`.\n- `PD_ROUTER_COMPARE_ENDPOINT`: Optional. Defaults to `/compare/markdown`. Use only when routing endpoint differs.\n- `CALLIPER_COMPARE_CONFIG`: Optional. JSON string forwarded as `config` form field. Default is `{}`.\n\n## Script Behavior\n\n1. Read bearer token from `PAODINGAI_API_KEY`; fallback to `CALLIPER_ACCESS_TOKEN`; fail if both are missing.\n2. Validate both local input files exist.\n3. Send one multipart request with `file1`, `file2`, and optional `config` to `POST /openapi/{serviceCode}{compareEndpoint}` using `Authorization: Bearer <token>`.\n4. Parse final response and output:\n   - Markdown text directly when response is markdown/plain text.\n   - Otherwise, resolve markdown from common JSON fields (`data.markdown`, `markdown`) or fallback to JSON text.\n5. If `output-markdown-path` is provided, also write the same output text to that file while still printing to stdout.\n6. Write progress and errors to stderr and return non-zero exit code on failure.\n7. For field/table extraction tasks, parse and return only required fragments unless user explicitly asks for the full markdown diff.\n\nFile v1.3.3:_meta.json\n\n{\n  \"ownerId\": \"kn7fs43qz2hr5wsbcc9sn32qss82cr1y\",\n  \"slug\": \"calliper-compare2markdown\",\n  \"version\": \"1.3.3\",\n  \"publishedAt\": 1784885760059\n}\n\nFile v1.3.3:skill-card.md\n\n## Description:\n\nCompare two local documents and convert differences into LLM-ready Markdown in one synchronous call.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[paodingai](https://clawhub.ai/user/paodingai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and document-review agents use this skill to compare two local files and produce a structured Markdown diff for change review, clause comparison, extraction, and validation workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill uploads selected local documents and a bearer token to a configurable remote API destination.\n\nMitigation: Verify the API destination is the intended PaodingAI/Calliper HTTPS endpoint, use a narrowly scoped token, and avoid confidential or regulated documents unless approved for that service.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/paodingai/skills/calliper-compare2markdown)\n- [PaodingAI publisher profile](https://clawhub.ai/user/paodingai)\n- [PaodingAI platform API base](https://platform.paodingai.com/platform/)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown diff text, with JSON text fallback when the API response does not expose Markdown fields]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can print to stdout and optionally write the same Markdown output to a user-specified file path.]\n\n## Skill Version(s):\n\n1.3.3 (source: server release metadata; artifact frontmatter metadata.version is 1.1.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.3.3:agents/openai.yaml\n\ninterface:\n  display_name: \"Calliper SaaS Markdown\"\n  short_description: \"Compare two files and output markdown diff table\"\n  default_prompt: \"Always execute the bundled scripts/compare_to_markdown.js script, which calls the synchronous /openapi/{serviceCode}/compare/markdown API by default (endpoint configurable via PD_ROUTER_COMPARE_ENDPOINT) for two local files. Use PAODINGAI_API_KEY as bearer token and fallback to CALLIPER_ACCESS_TOKEN when needed. If the user explicitly asks for markdown output, return the markdown content directly; otherwise extract only the required diff content for the task.\"\n\nArchive v1.3.2: 5 files, 5971 bytes\n\nFiles: agents/openai.yaml (608b), scripts/compare_to_markdown.js (5997b), skill-card.md (2084b), SKILL.md (3804b), _meta.json (144b)\n\nFile v1.3.2:SKILL.md\n\n---\nname: Calliper-Compare2Markdown\ndescription: Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by Calliper, and returns a structured markdown diff table suitable for change review, clause comparison, downstream extraction, and rule-based validation.\nmetadata: {\"author\":\"PAODINGAI\",\"version\":\"1.1.0\",\"openclaw\":{\"emoji\":\"🔍\",\"requires\":{\"env\":[\"PD_ROUTER_BASE_URL\"],\"bins\":[\"node\"]}}}\n---\n\n# Calliper-Compare2Markdown\n\nRun a JavaScript workflow that submits two local files to the `calliper` synchronous API through PDRouter (`POST /openapi/{serviceCode}/compare/markdown` by default) and returns Markdown diff output in one step. This is suitable for document comparison, change extraction, compliance checks, and feeding structured diff content into follow-up scripts.\n\n## Installation\n\n```bash\nnpx skills add PaodingAI/skills\n```\n\n## Usage\n\n```bash\nnode skills/calliper-compare2markdown/scripts/compare_to_markdown.js <left-file-path> <right-file-path> [output-markdown-path]\n```\n\n## Execution Constraints\n\n- You must invoke `scripts/compare_to_markdown.js` directly. Do not reimplement the API flow yourself.\n- The behavior contract below explains what the script does, what it outputs, and when to use it. It is not a manual checklist for the model to imitate step by step.\n- For any task that depends on cross-document differences, you must run this script first and continue from the generated Markdown result.\n- Only inspect or modify the script implementation when the script itself is unavailable, failing, or needs a fix. Do not bypass it during normal use.\n\n## When to Use\n\n- Use this skill when the user wants to compare two documents and get structured differences in Markdown.\n- Use this skill when the user says things like \"diff to markdown\", \"compare and output markdown\", \"导出差异 markdown\", or asks for a machine-readable diff summary.\n- When downstream work depends on differences, such as clause extraction, mismatch validation, or rule checks, use this skill first.\n- When the diff content is only intermediate input, prefer writing to a working file and extract only required segments instead of returning full raw Markdown.\n- When the user explicitly asks for the original markdown diff output, return the full Markdown directly.\n\n## Environment Variables\n\n- `PAODINGAI_API_KEY`: Preferred bearer token used by the script.\n- `CALLIPER_ACCESS_TOKEN`: Optional fallback bearer token when `PAODINGAI_API_KEY` is absent.\n- `PD_ROUTER_BASE_URL`: Optional. Defaults to `https://platform.paodingai.com/`.\n- `PD_ROUTER_SERVICE_CODE`: Optional. Defaults to `calliper`.\n- `PD_ROUTER_COMPARE_ENDPOINT`: Optional. Defaults to `/compare/markdown`. Use only when routing endpoint differs.\n- `CALLIPER_COMPARE_CONFIG`: Optional. JSON string forwarded as `config` form field. Default is `{}`.\n\n## Script Behavior\n\n1. Read bearer token from `PAODINGAI_API_KEY`; fallback to `CALLIPER_ACCESS_TOKEN`; fail if both are missing.\n2. Validate both local input files exist.\n3. Send one multipart request with `file1`, `file2`, and optional `config` to `POST /openapi/{serviceCode}{compareEndpoint}` using `Authorization: Bearer <token>`.\n4. Parse final response and output:\n   - Markdown text directly when response is markdown/plain text.\n   - Otherwise, resolve markdown from common JSON fields (`data.markdown`, `markdown`) or fallback to JSON text.\n5. If `output-markdown-path` is provided, also write the same output text to that file while still printing to stdout.\n6. Write progress and errors to stderr and return non-zero exit code on failure.\n7. For field/table extraction tasks, parse and return only required fragments unless user explicitly asks for the full markdown diff.\n\nFile v1.3.2:_meta.json\n\n{\n  \"ownerId\": \"kn7fs43qz2hr5wsbcc9sn32qss82cr1y\",\n  \"slug\": \"calliper-compare2markdown\",\n  \"version\": \"1.3.2\",\n  \"publishedAt\": 1780651433933\n}\n\nFile v1.3.2:skill-card.md\n\n## Description: <br>\nCompare two local documents and convert differences into LLM-ready Markdown in one synchronous call. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[paodingai](https://clawhub.ai/user/paodingai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and document-review teams use this skill to compare two local PDF, Word, PowerPoint, or image documents through Calliper/PaodingAI and receive a structured Markdown diff for review, extraction, validation, or downstream agent workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Compared documents are uploaded to a configured Calliper/PaodingAI endpoint for processing. <br>\nMitigation: Use the skill only when remote processing is approved for the documents, especially for confidential or regulated content. <br>\nRisk: The workflow depends on bearer tokens and a configurable routing base URL. <br>\nMitigation: Store PAODINGAI_API_KEY and CALLIPER_ACCESS_TOKEN as secrets and verify PD_ROUTER_BASE_URL before execution. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/paodingai/calliper-compare2markdown) <br>\n- [PaodingAI platform endpoint](https://platform.paodingai.com/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Markdown, Text, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown diff text, optionally written to a file and also printed to stdout] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Node.js, a bearer token from PAODINGAI_API_KEY or CALLIPER_ACCESS_TOKEN, and network access to the configured PD Router endpoint.] <br>\n\n## Skill Version(s): <br>\n1.3.2 (source: server-resolved release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.3.2:agents/openai.yaml\n\ninterface:\n  display_name: \"Calliper SaaS Markdown\"\n  short_description: \"Compare two files and output markdown diff table\"\n  default_prompt: \"Always execute the bundled scripts/compare_to_markdown.js script, which calls the synchronous /openapi/{serviceCode}/compare/markdown API by default (endpoint configurable via PD_ROUTER_COMPARE_ENDPOINT) for two local files. Use PAODINGAI_API_KEY as bearer token and fallback to CALLIPER_ACCESS_TOKEN when needed. If the user explicitly asks for markdown output, return the markdown content directly; otherwise extract only the required diff content for the task.\"\n\nArchive v1.3.1: 5 files, 5985 bytes\n\nFiles: agents/openai.yaml (608b), scripts/compare_to_markdown.js (5997b), skill-card.md (2316b), SKILL.md (3801b), _meta.json (144b)\n\nFile v1.3.1:SKILL.md\n\n---\nname: Calliper-Compare2Markdown\ndescription: Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by Calliper, and returns a structured markdown diff table suitable for change review, clause comparison, downstream extraction, and rule-based validation.\nmetadata: {\"author\":\"PAODINGAI\",\"version\":\"1.1.0\",\"openclaw\":{\"emoji\":\"🔍\",\"requires\":{\"env\":[\"PD_ROUTER_BASE_URL\"],\"bins\":[\"node\"]}}}\n---\n\n# Calliper-Compare2Markdown\n\nRun a JavaScript workflow that submits two local files to the `calliper` synchronous API through PDRouter (`POST /openapi/{serviceCode}/compare/markdown` by default) and returns Markdown diff output in one step. This is suitable for document comparison, change extraction, compliance checks, and feeding structured diff content into follow-up scripts.\n\n## Installation\n\n```bash\nnpx skills add PaodingAI/skills\n```\n\n## Usage\n\n```bash\nnode skills/calliper-saas-markdown/scripts/compare_to_markdown.js <left-file-path> <right-file-path> [output-markdown-path]\n```\n\n## Execution Constraints\n\n- You must invoke `scripts/compare_to_markdown.js` directly. Do not reimplement the API flow yourself.\n- The behavior contract below explains what the script does, what it outputs, and when to use it. It is not a manual checklist for the model to imitate step by step.\n- For any task that depends on cross-document differences, you must run this script first and continue from the generated Markdown result.\n- Only inspect or modify the script implementation when the script itself is unavailable, failing, or needs a fix. Do not bypass it during normal use.\n\n## When to Use\n\n- Use this skill when the user wants to compare two documents and get structured differences in Markdown.\n- Use this skill when the user says things like \"diff to markdown\", \"compare and output markdown\", \"导出差异 markdown\", or asks for a machine-readable diff summary.\n- When downstream work depends on differences, such as clause extraction, mismatch validation, or rule checks, use this skill first.\n- When the diff content is only intermediate input, prefer writing to a working file and extract only required segments instead of returning full raw Markdown.\n- When the user explicitly asks for the original markdown diff output, return the full Markdown directly.\n\n## Environment Variables\n\n- `PD_ROUTER_API_KEY`: Preferred bearer token used by the script.\n- `CALLIPER_ACCESS_TOKEN`: Optional fallback bearer token when `PD_ROUTER_API_KEY` is absent.\n- `PD_ROUTER_BASE_URL`: Optional. Defaults to `https://platform.paodingai.com/`.\n- `PD_ROUTER_SERVICE_CODE`: Optional. Defaults to `calliper`.\n- `PD_ROUTER_COMPARE_ENDPOINT`: Optional. Defaults to `/compare/markdown`. Use only when routing endpoint differs.\n- `CALLIPER_COMPARE_CONFIG`: Optional. JSON string forwarded as `config` form field. Default is `{}`.\n\n## Script Behavior\n\n1. Read bearer token from `PD_ROUTER_API_KEY`; fallback to `CALLIPER_ACCESS_TOKEN`; fail if both are missing.\n2. Validate both local input files exist.\n3. Send one multipart request with `file1`, `file2`, and optional `config` to `POST /openapi/{serviceCode}{compareEndpoint}` using `Authorization: Bearer <token>`.\n4. Parse final response and output:\n   - Markdown text directly when response is markdown/plain text.\n   - Otherwise, resolve markdown from common JSON fields (`data.markdown`, `markdown`) or fallback to JSON text.\n5. If `output-markdown-path` is provided, also write the same output text to that file while still printing to stdout.\n6. Write progress and errors to stderr and return non-zero exit code on failure.\n7. For field/table extraction tasks, parse and return only required fragments unless user explicitly asks for the full markdown diff.\n\nFile v1.3.1:_meta.json\n\n{\n  \"ownerId\": \"kn7fs43qz2hr5wsbcc9sn32qss82cr1y\",\n  \"slug\": \"calliper-compare2markdown\",\n  \"version\": \"1.3.1\",\n  \"publishedAt\": 1780568666897\n}\n\nFile v1.3.1:skill-card.md\n\n## Description: <br>\nCompare two local documents with Calliper and produce LLM-ready Markdown differences in a synchronous workflow for review, extraction, and validation. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[paodingai](https://clawhub.ai/user/paodingai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, reviewers, and compliance teams use this skill to compare two supported local documents and receive structured Markdown differences that can feed review, extraction, or validation workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Selected documents, filenames, and optional comparison configuration are sent to the configured external Calliper/PaodingAI-compatible endpoint. <br>\nMitigation: Use only an approved endpoint, verify PD_ROUTER_BASE_URL before running, and avoid confidential documents unless that service is approved for the data. <br>\nRisk: The workflow requires bearer credentials for the external comparison service. <br>\nMitigation: Provide credentials through environment variables, keep tokens scoped and rotated, and avoid exposing them in shared logs or files. <br>\n\n\n## Reference(s): <br>\n- [Calliper-Compare2Markdown on ClawHub](https://clawhub.ai/paodingai/calliper-compare2markdown) <br>\n- [PaodingAI publisher profile](https://clawhub.ai/user/paodingai) <br>\n- [Default PaodingAI platform endpoint](https://platform.paodingai.com/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [markdown, text, files] <br>\n**Output Format:** [Markdown diff text, optionally written to an output file; JSON text fallback when the API response has no markdown field.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires two local input files, Node.js, a bearer token, and access to the configured Calliper/PaodingAI-compatible endpoint.] <br>\n\n## Skill Version(s): <br>\n1.3.1 (source: server release metadata; artifact metadata lists 1.1.0) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.3.1:agents/openai.yaml\n\ninterface:\n  display_name: \"Calliper SaaS Markdown\"\n  short_description: \"Compare two files and output markdown diff table\"\n  default_prompt: \"Always execute the bundled scripts/compare_to_markdown.js script, which calls the synchronous /openapi/{serviceCode}/compare/markdown API by default (endpoint configurable via PD_ROUTER_COMPARE_ENDPOINT) for two local files. Use PD_ROUTER_API_KEY as bearer token and fallback to CALLIPER_ACCESS_TOKEN when needed. If the user explicitly asks for markdown output, return the markdown content directly; otherwise extract only the required diff content for the task.\"\n\nArchive v1.2.1: 5 files, 5975 bytes\n\nFiles: agents/openai.yaml (608b), scripts/compare_to_markdown.js (5997b), skill-card.md (2255b), SKILL.md (3801b), _meta.json (144b)\n\nFile v1.2.1:SKILL.md\n\n---\nname: Calliper-Compare2Markdown\ndescription: Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by Calliper, and returns a structured markdown diff table suitable for change review, clause comparison, downstream extraction, and rule-based validation.\nmetadata: {\"author\":\"PAODINGAI\",\"version\":\"1.1.0\",\"openclaw\":{\"emoji\":\"🔍\",\"requires\":{\"env\":[\"PD_ROUTER_BASE_URL\"],\"bins\":[\"node\"]}}}\n---\n\n# Calliper-Compare2Markdown\n\nRun a JavaScript workflow that submits two local files to the `calliper` synchronous API through PDRouter (`POST /openapi/{serviceCode}/compare/markdown` by default) and returns Markdown diff output in one step. This is suitable for document comparison, change extraction, compliance checks, and feeding structured diff content into follow-up scripts.\n\n## Installation\n\n```bash\nnpx skills add PaodingAI/skills\n```\n\n## Usage\n\n```bash\nnode skills/calliper-saas-markdown/scripts/compare_to_markdown.js <left-file-path> <right-file-path> [output-markdown-path]\n```\n\n## Execution Constraints\n\n- You must invoke `scripts/compare_to_markdown.js` directly. Do not reimplement the API flow yourself.\n- The behavior contract below explains what the script does, what it outputs, and when to use it. It is not a manual checklist for the model to imitate step by step.\n- For any task that depends on cross-document differences, you must run this script first and continue from the generated Markdown result.\n- Only inspect or modify the script implementation when the script itself is unavailable, failing, or needs a fix. Do not bypass it during normal use.\n\n## When to Use\n\n- Use this skill when the user wants to compare two documents and get structured differences in Markdown.\n- Use this skill when the user says things like \"diff to markdown\", \"compare and output markdown\", \"导出差异 markdown\", or asks for a machine-readable diff summary.\n- When downstream work depends on differences, such as clause extraction, mismatch validation, or rule checks, use this skill first.\n- When the diff content is only intermediate input, prefer writing to a working file and extract only required segments instead of returning full raw Markdown.\n- When the user explicitly asks for the original markdown diff output, return the full Markdown directly.\n\n## Environment Variables\n\n- `PD_ROUTER_API_KEY`: Preferred bearer token used by the script.\n- `CALLIPER_ACCESS_TOKEN`: Optional fallback bearer token when `PD_ROUTER_API_KEY` is absent.\n- `PD_ROUTER_BASE_URL`: Optional. Defaults to `https://platform.paodingai.com/`.\n- `PD_ROUTER_SERVICE_CODE`: Optional. Defaults to `calliper`.\n- `PD_ROUTER_COMPARE_ENDPOINT`: Optional. Defaults to `/compare/markdown`. Use only when routing endpoint differs.\n- `CALLIPER_COMPARE_CONFIG`: Optional. JSON string forwarded as `config` form field. Default is `{}`.\n\n## Script Behavior\n\n1. Read bearer token from `PD_ROUTER_API_KEY`; fallback to `CALLIPER_ACCESS_TOKEN`; fail if both are missing.\n2. Validate both local input files exist.\n3. Send one multipart request with `file1`, `file2`, and optional `config` to `POST /openapi/{serviceCode}{compareEndpoint}` using `Authorization: Bearer <token>`.\n4. Parse final response and output:\n   - Markdown text directly when response is markdown/plain text.\n   - Otherwise, resolve markdown from common JSON fields (`data.markdown`, `markdown`) or fallback to JSON text.\n5. If `output-markdown-path` is provided, also write the same output text to that file while still printing to stdout.\n6. Write progress and errors to stderr and return non-zero exit code on failure.\n7. For field/table extraction tasks, parse and return only required fragments unless user explicitly asks for the full markdown diff.\n\nFile v1.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn7fs43qz2hr5wsbcc9sn32qss82cr1y\",\n  \"slug\": \"calliper-compare2markdown\",\n  \"version\": \"1.2.1\",\n  \"publishedAt\": 1779244175295\n}\n\nFile v1.2.1:skill-card.md\n\n## Description: <br>\nCompare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by Calliper, and returns a structured markdown diff table suitable for change review, clause comparison, downstream extraction, and rule-based validation. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[paodingai](https://clawhub.ai/user/paodingai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, reviewers, and document-analysis teams use this skill to compare two local documents and produce structured Markdown differences for change review, clause comparison, extraction, or validation workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Selected documents are uploaded to the configured Calliper/PDRouter service for comparison. <br>\nMitigation: Use the skill only when off-device document processing is approved for the documents being compared. <br>\nRisk: Bearer tokens and service routing configuration control where document comparison requests are sent. <br>\nMitigation: Verify PD_ROUTER_BASE_URL and the bearer token source before use, and keep credentials out of shared logs and files. <br>\n\n\n## Reference(s): <br>\n- [Calliper-Compare2Markdown on ClawHub](https://clawhub.ai/paodingai/calliper-compare2markdown) <br>\n- [PAODINGAI publisher profile](https://clawhub.ai/user/paodingai) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [markdown, text, shell commands, guidance] <br>\n**Output Format:** [Markdown diff text printed to stdout and optionally written to a Markdown file] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May return selected fragments for downstream extraction tasks unless the user explicitly asks for the full Markdown diff.] <br>\n\n## Skill Version(s): <br>\n1.2.1 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.2.1:agents/openai.yaml\n\ninterface:\n  display_name: \"Calliper SaaS Markdown\"\n  short_description: \"Compare two files and output markdown diff table\"\n  default_prompt: \"Always execute the bundled scripts/compare_to_markdown.js script, which calls the synchronous /openapi/{serviceCode}/compare/markdown API by default (endpoint configurable via PD_ROUTER_COMPARE_ENDPOINT) for two local files. Use PD_ROUTER_API_KEY as bearer token and fallback to CALLIPER_ACCESS_TOKEN when needed. If the user explicitly asks for markdown output, return the markdown content directly; otherwise extract only the required diff content for the task.\"\n\nArchive v1.2.0: 4 files, 4789 bytes\n\nFiles: agents/openai.yaml (608b), scripts/compare_to_markdown.js (5997b), SKILL.md (3801b), _meta.json (144b)\n\nFile v1.2.0:SKILL.md\n\n---\nname: Calliper-Compare2Markdown\ndescription: Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by Calliper, and returns a structured markdown diff table suitable for change review, clause comparison, downstream extraction, and rule-based validation.\nmetadata: {\"author\":\"PAODINGAI\",\"version\":\"1.1.0\",\"openclaw\":{\"emoji\":\"🔍\",\"requires\":{\"env\":[\"PD_ROUTER_BASE_URL\"],\"bins\":[\"node\"]}}}\n---\n\n# Calliper-Compare2Markdown\n\nRun a JavaScript workflow that submits two local files to the `calliper` synchronous API through PDRouter (`POST /openapi/{serviceCode}/compare/markdown` by default) and returns Markdown diff output in one step. This is suitable for document comparison, change extraction, compliance checks, and feeding structured diff content into follow-up scripts.\n\n## Installation\n\n```bash\nnpx skills add PaodingAI/skills\n```\n\n## Usage\n\n```bash\nnode skills/calliper-saas-markdown/scripts/compare_to_markdown.js <left-file-path> <right-file-path> [output-markdown-path]\n```\n\n## Execution Constraints\n\n- You must invoke `scripts/compare_to_markdown.js` directly. Do not reimplement the API flow yourself.\n- The behavior contract below explains what the script does, what it outputs, and when to use it. It is not a manual checklist for the model to imitate step by step.\n- For any task that depends on cross-document differences, you must run this script first and continue from the generated Markdown result.\n- Only inspect or modify the script implementation when the script itself is unavailable, failing, or needs a fix. Do not bypass it during normal use.\n\n## When to Use\n\n- Use this skill when the user wants to compare two documents and get structured differences in Markdown.\n- Use this skill when the user says things like \"diff to markdown\", \"compare and output markdown\", \"导出差异 markdown\", or asks for a machine-readable diff summary.\n- When downstream work depends on differences, such as clause extraction, mismatch validation, or rule checks, use this skill first.\n- When the diff content is only intermediate input, prefer writing to a working file and extract only required segments instead of returning full raw Markdown.\n- When the user explicitly asks for the original markdown diff output, return the full Markdown directly.\n\n## Environment Variables\n\n- `PD_ROUTER_API_KEY`: Preferred bearer token used by the script.\n- `CALLIPER_ACCESS_TOKEN`: Optional fallback bearer token when `PD_ROUTER_API_KEY` is absent.\n- `PD_ROUTER_BASE_URL`: Optional. Defaults to `https://platform.paodingai.com/`.\n- `PD_ROUTER_SERVICE_CODE`: Optional. Defaults to `calliper`.\n- `PD_ROUTER_COMPARE_ENDPOINT`: Optional. Defaults to `/compare/markdown`. Use only when routing endpoint differs.\n- `CALLIPER_COMPARE_CONFIG`: Optional. JSON string forwarded as `config` form field. Default is `{}`.\n\n## Script Behavior\n\n1. Read bearer token from `PD_ROUTER_API_KEY`; fallback to `CALLIPER_ACCESS_TOKEN`; fail if both are missing.\n2. Validate both local input files exist.\n3. Send one multipart request with `file1`, `file2`, and optional `config` to `POST /openapi/{serviceCode}{compareEndpoint}` using `Authorization: Bearer <token>`.\n4. Parse final response and output:\n   - Markdown text directly when response is markdown/plain text.\n   - Otherwise, resolve markdown from common JSON fields (`data.markdown`, `markdown`) or fallback to JSON text.\n5. If `output-markdown-path` is provided, also write the same output text to that file while still printing to stdout.\n6. Write progress and errors to stderr and return non-zero exit code on failure.\n7. For field/table extraction tasks, parse and return only required fragments unless user explicitly asks for the full markdown diff.\n\nFile v1.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn7fs43qz2hr5wsbcc9sn32qss82cr1y\",\n  \"slug\": \"calliper-compare2markdown\",\n  \"version\": \"1.2.0\",\n  \"publishedAt\": 1778818102600\n}\n\nFile v1.2.0:agents/openai.yaml\n\ninterface:\n  display_name: \"Calliper SaaS Markdown\"\n  short_description: \"Compare two files and output markdown diff table\"\n  default_prompt: \"Always execute the bundled scripts/compare_to_markdown.js script, which calls the synchronous /openapi/{serviceCode}/compare/markdown API by default (endpoint configurable via PD_ROUTER_COMPARE_ENDPOINT) for two local files. Use PD_ROUTER_API_KEY as bearer token and fallback to CALLIPER_ACCESS_TOKEN when needed. If the user explicitly asks for markdown output, return the markdown content directly; otherwise extract only the required diff content for the task.\"","readmeExcerpt":"Skill: Calliper SaaS Markdown Owner: paodingai Summary: Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by... Tags: latest:1.3.3 Version history: v1.3.3 | 2026-07-24T09:36:00.059Z | user Release v1.3.3 v1.3.2 | 2026-06-05T09:23:53.933Z | user Release v1.3.2 v1.3.1 | 2026-06-04T10:24:26.897Z | user Release v1.3.1","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"npx skills add PaodingAI/skills"},{"language":"bash","snippet":"node skills/calliper-compare2markdown/scripts/compare_to_markdown.js <left-file-path> <right-file-path> [output-markdown-path]"},{"language":"bash","snippet":"npx skills add PaodingAI/skills"},{"language":"bash","snippet":"node skills/calliper-compare2markdown/scripts/compare_to_markdown.js <left-file-path> <right-file-path> [output-markdown-path]"},{"language":"bash","snippet":"npx skills add PaodingAI/skills"},{"language":"bash","snippet":"node skills/calliper-saas-markdown/scripts/compare_to_markdown.js <left-file-path> <right-file-path> [output-markdown-path]"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: Calliper-Compare2Markdown\ndescription: Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by Calliper, and returns a structured markdown diff table suitable for change review, clause comparison, downstream extraction, and rule-based validation.\nmetadata:\n  {\n    'author': 'PAODINGAI',\n    'version': '1.1.0',\n    'openclaw':\n      {\n        'emoji': '🔍',\n        'requires': { 'env': ['PD_ROUTER_BASE_URL'], 'bins': ['node'] },\n      },\n  }\n---\n\n# Calliper-Compare2Markdown\n\nRun a JavaScript workflow that submits two local files to the `calliper` synchronous API through PDRouter (`POST /openapi/{serviceCode}/compare/markdown` by default) and returns Markdown diff output in one step. This is suitable for document comparison, change extraction, compliance checks, and feeding structured diff content into follow-up scripts.\n\n## Installation\n\n```bash\nnpx skills add PaodingAI/skills\n```\n\n## Usage\n\n```bash\nnode skills/calliper-compare2markdown/scripts/compare_to_markdown.js <left-file-path> <right-file-path> [output-markdown-path]\n```\n\n## Execution Constraints\n\n- You must invoke `scripts/compare_to_markdown.js` directly. Do not reimplement the API flow yourself.\n- The behavior contract below explains what the script does, what it outputs, and when to use it. It is not a manual checklist for the model to imitate step by step.\n- For any task that depends on cross-document differences, you must run this script first and continue from the generated Markdown result.\n- Only inspect or modify the script implementation when the script itself is unavailable, failing, or needs a fix. Do not bypass it during normal use.\n\n## When to Use\n\n- Use this skill when the user wants to compare two documents and get structured differences in Markdown.\n- Use this skill when the user says things like \"diff to markdown\", \"compare and output markdown\", \"导出差异 markdown\", or asks for a machine-readable diff summary.\n- When downstream work depends on differences, such as clause extraction, mismatch validation, or rule checks, use this skill first.\n- When the diff content is only intermediate input, prefer writing to a working file and extract only required segments instead of returning full raw Markdown.\n- When the user explicitly asks for the original markdown diff output, return the full Markdown directly.\n\n## Environment Variables\n\n- `PAODINGAI_API_KEY`: Preferred bearer token used by the script.\n- `CALLIPER_ACCESS_TOKEN`: Optional fallback bearer token when `PAODINGAI_API_KEY` is absent.\n- `PD_ROUTER_BASE_URL`: Optional. Defaults to `https://platform.paodingai.com/platform/`.\n- `PD_ROUTER_SERVICE_CODE`: Optional. Defaults to `calliper`.\n- `PD_ROUTER_COMPARE_ENDPOINT`: Optional. Defaults to `/compare/markdown`. Use only when routing endpoint differs.\n- `CALLIPER_COMPARE_CONFIG`: Optional. JSON string forwarded as `config` form field. Default is `{}`.\n\n## Script Behavior\n"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7fs43qz2hr5wsbcc9sn32qss82cr1y\",\n  \"slug\": \"calliper-compare2markdown\",\n  \"version\": \"1.3.3\",\n  \"publishedAt\": 1784885760059\n}"},{"path":"skill-card.md","content":"## Description:\n\nCompare two local documents and convert differences into LLM-ready Markdown in one synchronous call.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[paodingai](https://clawhub.ai/user/paodingai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and document-review agents use this skill to compare two local files and produce a structured Markdown diff for change review, clause comparison, extraction, and validation workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill uploads selected local documents and a bearer token to a configurable remote API destination.\n\nMitigation: Verify the API destination is the intended PaodingAI/Calliper HTTPS endpoint, use a narrowly scoped token, and avoid confidential or regulated documents unless approved for that service.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/paodingai/skills/calliper-compare2markdown)\n- [PaodingAI publisher profile](https://clawhub.ai/user/paodingai)\n- [PaodingAI platform API base](https://platform.paodingai.com/platform/)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown diff text, with JSON text fallback when the API response does not expose Markdown fields]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can print to stdout and optionally write the same Markdown output to a user-specified file path.]\n\n## Skill Version(s):\n\n1.3.3 (source: server release metadata; artifact frontmatter metadata.version is 1.1.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."},{"path":"agents/openai.yaml","content":"interface:\n  display_name: \"Calliper SaaS Markdown\"\n  short_description: \"Compare two files and output markdown diff table\"\n  default_prompt: \"Always execute the bundled scripts/compare_to_markdown.js script, which calls the synchronous /openapi/{serviceCode}/compare/markdown API by default (endpoint configurable via PD_ROUTER_COMPARE_ENDPOINT) for two local files. Use PAODINGAI_API_KEY as bearer token and fallback to CALLIPER_ACCESS_TOKEN when needed. If the user explicitly asks for markdown output, return the markdown content directly; otherwise extract only the required diff content for the task.\""}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by... Skill: Calliper SaaS Markdown Owner: paodingai Summary: Compare two local documents and convert differences into LLM-ready Markdown in one synchronous call. Supports PDF, Word, PPT, and image documents accepted by... Tags: latest:1.3.3 Version history: v1.3.3 | 2026-07-24T09:36:00.059Z | user Release v1.3.3 v1.3.2 | 2026-06-05T09:23:53.933Z | user Release v1.3.2 v1.3.1 | 2026-06-04T10:24:26.897Z | user Release v1.3.1","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1195,"uniquenessScore":46,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T18:19:55.438Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T18:19:55.438Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:39:58.248Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}