{"id":"477f379a-931d-474c-8784-21db85952604","entityType":"agent","slug":"clawhub-chrischall-honeybook","name":"honeybook","canonicalUrl":"https://www.xpersona.co/agent/clawhub-chrischall-honeybook","canonicalPath":"/agent/clawhub-chrischall-honeybook","generatedAt":"2026-10-09T21:25:27.751Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T16:31:24.999Z","emptyReason":null},"description":"This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook. Skill: honeybook Owner: chrischall Summary: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.3K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:honeybook","sourceUrl":"https://clawhub.ai/chrischall/honeybook","homepage":"https://clawhub.ai/chrischall/skills/honeybook","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/chrischall/honeybook","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/chrischall/skills/honeybook","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":67,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"Ho"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T16:31:24.999Z","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-09T16:31:24.999Z","emptyReason":null},"stars":null,"forks":null,"downloads":2306,"packageName":null,"latestVersion":"1.2.5","tractionLabel":"2.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T16:31:24.999Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T16:31:24.999Z","lastCrawledAt":"2026-10-09T16:31:24.999Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T16:31:24.999Z","lastVerifiedAt":null,"highlights":[{"version":"1.2.5","createdAt":"2026-10-07T13:35:42.553Z","changelog":"- Removed the file skill-card.md. - No other changes to features, tools, or documentation. - The skill continues to support all existing HoneyBook-related workflows and tools.","fileCount":3,"zipByteSize":5450},{"version":"1.2.4","createdAt":"2026-10-05T02:50:46.492Z","changelog":"- Removed the documentation file skill-card.md. - No changes to the skill functionality; only a documentation file was deleted.","fileCount":3,"zipByteSize":5397},{"version":"1.2.3","createdAt":"2026-10-03T01:41:10.222Z","changelog":"- Removed the documentation file skill-card.md. - No changes to functionality or features; this update is documentation-only.","fileCount":3,"zipByteSize":5456},{"version":"1.2.2","createdAt":"2026-09-28T13:55:40.203Z","changelog":"- Removed obsolete skill-card.md documentation file. - Updated SKILL.md to improve and clarify documentation. - No changes to core functionality; this update is documentation cleanup.","fileCount":3,"zipByteSize":5504},{"version":"1.2.1","createdAt":"2026-09-25T15:53:06.089Z","changelog":"- Removed the redundant file: skill-card.md. - No changes to functionality or documentation in this release. - Housekeeping update for a cleaner project structure.","fileCount":3,"zipByteSize":5459},{"version":"1.2.0","createdAt":"2026-09-24T15:11:57.671Z","changelog":"- Updated confirmation flow: tools like `sign_contract`, `pay_invoice`, and `send_message` now prompt for user confirmation before proceeding, replacing the previous `confirm:true` argument. - Improved workflow documentation to reflect changes in confirmation steps, especially for sending messages and approvals. - Removed redundant details and clarified explanations in various tool descriptions for accuracy and conciseness. - Removed outdated documentation file (`skill-card.md`).","fileCount":3,"zipByteSize":5482},{"version":"1.1.4","createdAt":"2026-09-23T21:40:49.239Z","changelog":"- Removed the skill documentation file: skill-card.md - No changes to features, tools, or workflows. - Documentation cleanup only; no user-facing functionality affected.","fileCount":3,"zipByteSize":5413},{"version":"1.1.3","createdAt":"2026-09-23T15:40:41.022Z","changelog":"- Removed the file: skill-card.md - No other changes to skill behavior or functionality.","fileCount":3,"zipByteSize":5453}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:honeybook","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","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-chrischall-honeybook/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-honeybook/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-honeybook/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-honeybook/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-honeybook/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-honeybook/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-09T21:25:27.747Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-honeybook/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-honeybook/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-honeybook/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-honeybook/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-09T16:31:24.999Z","emptyReason":null},"readme":"Skill: honeybook\n\nOwner: chrischall\n\nSummary: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n\nTags: latest:1.2.5\n\nVersion history:\n\nv1.2.5 | 2026-10-07T13:35:42.553Z | auto\n\n- Removed the file skill-card.md.\n- No other changes to features, tools, or documentation.\n- The skill continues to support all existing HoneyBook-related workflows and tools.\n\nv1.2.4 | 2026-10-05T02:50:46.492Z | auto\n\n- Removed the documentation file skill-card.md.\n- No changes to the skill functionality; only a documentation file was deleted.\n\nv1.2.3 | 2026-10-03T01:41:10.222Z | auto\n\n- Removed the documentation file skill-card.md.\n- No changes to functionality or features; this update is documentation-only.\n\nv1.2.2 | 2026-09-28T13:55:40.203Z | auto\n\n- Removed obsolete skill-card.md documentation file.\n- Updated SKILL.md to improve and clarify documentation.\n- No changes to core functionality; this update is documentation cleanup.\n\nv1.2.1 | 2026-09-25T15:53:06.089Z | auto\n\n- Removed the redundant file: skill-card.md.\n- No changes to functionality or documentation in this release.\n- Housekeeping update for a cleaner project structure.\n\nv1.2.0 | 2026-09-24T15:11:57.671Z | auto\n\n- Updated confirmation flow: tools like `sign_contract`, `pay_invoice`, and `send_message` now prompt for user confirmation before proceeding, replacing the previous `confirm:true` argument.\n- Improved workflow documentation to reflect changes in confirmation steps, especially for sending messages and approvals.\n- Removed redundant details and clarified explanations in various tool descriptions for accuracy and conciseness.\n- Removed outdated documentation file (`skill-card.md`).\n\nv1.1.4 | 2026-09-23T21:40:49.239Z | auto\n\n- Removed the skill documentation file: skill-card.md\n- No changes to features, tools, or workflows.\n- Documentation cleanup only; no user-facing functionality affected.\n\nv1.1.3 | 2026-09-23T15:40:41.022Z | auto\n\n- Removed the file: skill-card.md\n- No other changes to skill behavior or functionality.\n\nv1.1.2 | 2026-09-21T05:03:42.050Z | auto\n\n- Removed the file: skill-card.md\n- No changes to functionality or usage.\n- Internal documentation cleanup only.\n\nv1.1.1 | 2026-09-21T04:13:27.536Z | auto\n\n- Removed the file: skill-card.md.\n- No changes to the skill logic or functionality.\n\nv1.1.0 | 2026-09-20T02:49:59.900Z | auto\n\n- Removed the file: skill-card.md\n- No functional or user-facing changes; this is a documentation/file cleanup release.\n\nv1.0.0 | 2026-09-19T11:19:55.610Z | auto\n\n- Initial release of the HoneyBook skill.\n- Removed the sample file skill-card.md.\n- No changes to core features or functionality; workflows and tool details remain as documented.\n\nv0.10.5 | 2026-09-15T19:24:12.079Z | auto\n\n- Removed the file skill-card.md.\n- No functional or documentation changes to the skill or its behavior.\n\nv0.10.4 | 2026-09-14T14:09:23.247Z | auto\n\n- Removed the file: skill-card.md.\n- No changes to user-facing features or functionality.\n\nv0.10.3 | 2026-09-10T17:53:18.337Z | auto\n\n## honeybook skill v0.10.3 changelog\n\n- Removed the file: skill-card.md\n- No changes to existing features or functionality.\n- Documentation and workflows remain unchanged.\n\nv0.10.2 | 2026-09-09T21:19:50.772Z | auto\n\n- Removed the file skill-card.md.\n- No other changes to skill functionality or documentation.\n\nv0.10.1 | 2026-09-05T00:54:08.708Z | auto\n\n- Added detailed explanation of the `view` parameter for `get_project` and `get_flow` tools, clarifying differences in response shapes.\n- Documented the use of the `section` parameter (not `view`) for `get_workspace_file`.\n- Clarified which tools accept shape parameters and how they impact returned data.\n- Expanded documentation on how response payloads behave with `compact` and `raw` settings for relevant tools.\n- Removed outdated skill-card.md file.\n\nv0.10.0 | 2026-09-04T22:23:44.130Z | auto\n\n- Removed the skill-card.md file.\n- No changes to core functionality or tools; only documentation updated.\n- Version 0.10.0 maintains all previous workflows and features.\n\nv0.9.0 | 2026-09-02T23:01:34.737Z | auto\n\nExpanded support for HoneyBook portal features, including messaging, meetings, tasks, and notes.\n\n- Added support for messaging, meetings, tasks, notes, and attachments in workflows and tool descriptions.\n- New tools: list and send messages, mark messages seen, list meetings, tasks, notes, attachments, and payments.\n- Updated triggers and descriptions to handle requests involving messages, meetings, tasks, and other event interactions.\n- Removed outdated documentation file (skill-card.md). \n- Expanded workflow examples for real-world client interactions beyond contracts and invoices.\n\nv0.8.2 | 2026-08-31T21:24:51.441Z | auto\n\n- Removed the file: skill-card.md\n- No changes to user-facing functionality or features.\n\nv0.8.1 | 2026-08-31T20:51:19.009Z | auto\n\n- Removed the skill-card.md file.\n- No changes to functionality or documentation.\n\nv0.8.0 | 2026-08-31T20:16:05.393Z | auto\n\nExpanded support for HoneyBook questionnaires with two credential types and updated workflows.\n\n- Added questionnaire (flow) support: tools for capturing flow credentials and reading questionnaires.\n- Introduced `use_flow_link` and `get_flow` for handling vendor questionnaires.\n- Split active credentials into `portalSessions` and `flowCredentials`.\n- Updated notes to clarify credential scope and storage (separate caches for portal sessions and flows).\n- Removed outdated sample file (`skill-card.md`).\n\nv0.7.1 | 2026-08-31T15:50:34.846Z | auto\n\n- Removed the skill-card.md file.\n- No user-facing functionality changes; all skill features remain the same.\n\nv0.7.0 | 2026-08-31T00:22:48.260Z | auto\n\n- Removed the skill-card.md file.\n- No user-facing changes or updates to tool functionality.\n\nv0.6.0 | 2026-08-29T13:54:49.180Z | auto\n\n- Removed the file skill-card.md.\n- No functional or user-facing changes; documentation file cleanup only.\n\nv0.5.0 | 2026-08-28T11:34:55.370Z | auto\n\n- Removed sample documentation file: skill-card.md\n- No functional or workflow changes; documentation only\n\nv0.1.13 | 2026-05-21T20:11:56.511Z | auto\n\nNo changes detected in this version.\n\n- Version 0.1.13 released with no updates or modifications from the previous version.\n- All workflows, tools, and documentation remain unchanged.\n\nv0.1.12 | 2026-05-21T17:51:33.850Z | auto\n\nNo changes detected in this version.\n\n- Version 0.1.12 released with no file changes.\n\nv0.0.0-test | 2026-05-06T10:38:49.243Z | auto\n\n- Initial test release of the HoneyBook skill.\n- Provides 8 tools to view and manage contracts, invoices, and payments across wedding vendors.\n- Supports session capture via vendor magic-links and deep-link access to sign contracts and pay invoices.\n- Includes workflows for checking unsigned contracts, invoice status, and summarizing vendor activity.\n- Secure session management and multi-vendor support built-in.\n\nv0.1.11 | 2026-05-04T01:55:39.640Z | auto\n\nNo user-visible changes in this release.\n\n- Version bump to 0.1.11 with no code or documentation updates detected.\n\nv0.1.10 | 2026-04-22T10:45:29.681Z | auto\n\nNo changes detected for version 0.1.10.\n\n- No updates or modifications were made in this release.\n\nv0.1.9 | 2026-04-22T10:34:18.172Z | auto\n\nNo changes detected in this version.\n\n- No file or documentation changes found for version 0.1.9.\n- Functionality and description remain the same as the previous release.\n\nv0.1.8 | 2026-04-22T10:31:53.125Z | auto\n\nNo user-facing changes in this release.\n\n- Version bump only; no files were modified.\n- All features and workflows remain unchanged.\n\nv0.1.7 | 2026-04-22T10:21:11.353Z | auto\n\nNo user-facing changes in this release.\n\n- Version bumped to 0.1.7\n- No file changes detected\n\nv0.1.6 | 2026-04-22T10:10:49.270Z | auto\n\nNo changes detected in this version.\n\n- Version 0.1.6 was released with no file modifications or updates to features, tools, or documentation.\n\nv0.1.5 | 2026-04-21T23:58:07.157Z | auto\n\nNo changes detected in this version.\n\n- The SKILL.md and related files remain unchanged from the previous version.\n\nv0.1.4 | 2026-04-21T13:44:19.517Z | auto\n\nHoneyBook skill v0.1.4\n\n- Added detailed skill overview, triggers, and tool descriptions to SKILL.md\n- Clarified use-cases and workflows for managing contracts, invoices, and payments across multiple wedding vendors\n- Documented input triggers for the skill, including common user requests and phrases\n- Outlined security and session-handling behavior for portal access\n- Updated documentation to guide users on how to check contract and invoice statuses, sign contracts, and pay invoices via deep links\n\nArchive index:\n\nArchive v1.2.5: 3 files, 5450 bytes\n\nFiles: skill-card.md (1892b), SKILL.md (9173b), _meta.json (128b)\n\nFile v1.2.5:SKILL.md\n\n---\nname: honeybook\ndescription: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n---\n\n# honeybook-mcp\n\nMCP server for HoneyBook's client portal — contracts, invoices, questionnaires, messages, meetings, tasks and payments across multiple wedding vendors, with magic-link session capture, in-portal messaging, and deep-link fallback for signing and paying.\n\n## Tools\n\n- `use_magic_link` — Capture a portal session from a vendor magic-link URL (`/app/link/resolve/…`)\n- `use_flow_link` — Capture a questionnaire credential from a flow link (`/flow/<flowId>?hash=…`)\n- `list_active_sessions` — Show active credentials, split into `portalSessions` and `flowCredentials`\n- `get_flow(flow_id?, view?)` — Read one questionnaire (flow) and its answers (two calls: public `/minimal` for the vendor company id, then `/client/flow/<id>/active?ctxc=…`)\n- `list_workspace_files` — All files one vendor has shared (filter by type)\n- `get_workspace_file(file_id, section?)` — Full detail for one file. Takes `section`, **not** `view` — see below\n- `get_workspace` — Workspace detail + status flags\n- `list_payment_methods` — Saved payment methods\n- `sign_contract` — Deep link to sign in portal (asks the user to confirm first)\n- `pay_invoice` — Deep link to pay in portal (asks the user to confirm first)\n- `list_projects` — Your projects (HoneyBook \"events\") with a vendor, each with the `workspace_id` the tools below take\n- `get_project(project_id, view?)` — Project details: date, time, location, guests, custom fields, people (name/email/phone/role)\n- `list_messages` — Messages in a workspace (`kind=activity` for the activity log, `kind=all` for both): compact cards, newest first; never marks anything seen\n- `get_message` — One message in full (`format=text` default, or `html`) with attachments and delivery status\n- `send_message` — Send a new message (`subject` + `body`) or reply (`reply_to_message_id`, subject inherited) through the portal; asks the user to confirm first\n- `mark_messages_seen` — Mark feed items seen, the way opening the Activity tab does\n- `list_meetings` — Meetings the vendor scheduled (consultations, Zoom calls): time, join link, password; rescheduled meetings show their latest time\n- `list_tasks` — Tasks assigned to you with today/this-week/overdue counts and task groups\n- `list_notes` — Notes the vendor shared (meeting notes, AI recaps)\n- `list_attachments` — Loose images, files and bookmarks (not contracts/invoices — those are workspace files)\n- `list_payments` — Every payment on every file in a workspace, with paid/unpaid totals\n\n## Response shape (`view`)\n\nOnly **two** tools here take the fleet's `view` parameter: `get_project` and\n`get_flow`. Both honour `compact | raw`, and **`compact` is the default** — you\nget the cheap shape without asking for it. There is no `full` rung on either:\n`raw` already IS every field HoneyBook sent, so a third value would silently\nalias to one of the other two.\n\nThe two compact rungs are **not the same kind of thing**, and the difference\ndecides which one you can trust to be complete:\n\n- **`get_project` compact is a field projection.** It keeps `_id`, `name`,\n  `type`, `date`/`end_date`, `time_start`/`time_end`, `timezone`, `location`,\n  `venue_name`, `guests`, `budget`, `details`, `project_dates`, non-empty\n  `custom_fields`, `image_url`, `last_activity_date`, and a de-duplicated\n  `people[]` (`_id`, `name`, `email`, `phone`, `role`, `job_title`, `company`).\n  Everything else is dropped — `view: \"raw\"` returns the untrimmed `/details`\n  response, which embeds the **vendor's entire account**. Ask for it only when\n  you need a field the list above does not name.\n- **`get_flow` compact is a byte ceiling, not a projection.** No field is\n  pruned. Under 200,000 bytes the questionnaire comes back whole and `compact`\n  and `raw` differ only in indentation. Over it, compact replaces the flow with\n  `truncated: { bytes, limit, topLevelKeys, hint }` — its own table of contents\n  instead of its content. So on a large questionnaire the compact rung returns\n  no questions at all; that is the signal to re-call with `view: \"raw\"`. (A real\n  `/active` payload measured 96,246 bytes, comfortably under the ceiling, so the\n  ordinary case is the whole thing.)\n\n**`get_workspace_file` does not take `view`. It takes `section`** —\n`summary` (default) | `pricing` | `agreement` | `payments` | `all` | `raw` —\nand that is a different question, deliberately kept. `view` asks *how much of\nthe whole record to keep*; `section` asks *which part of it to expand*: line\nitems and tax/svc detail (`pricing`), contract HTML and signatures\n(`agreement`), the full payment schedule (`payments`). `all` is the whole file\nwith the vendor-side heavy fields pruned — `vendor_emails` alone measured\n~1.3 MB on one real proposal — and `raw` keeps even those.\n\n**The surprise worth knowing:** passing `view:` to `get_workspace_file` does not\nerror. The unknown key is stripped during validation, the call succeeds, and you\nget the `summary` section — the default you would have got anyway. Nothing tells\nyou the argument was ignored. Use the `section` name.\n\nEvery other tool has no shape parameter, for one of two reasons:\n\n- **Its output is already narrow, with no fatter rung to ask for.**\n  `list_projects`, `list_messages`, `list_meetings`, `list_payments`,\n  `list_tasks` and `list_active_sessions` return hand-built rows rather than the\n  upstream payload. `list_messages` in particular returns compact cards with a\n  240-character `preview` and **no body** — `get_message` is the way to the full\n  text, not a `view` value.\n- **It does not return a record at all.** `sign_contract`, `pay_invoice`,\n  `use_magic_link` and `use_flow_link` answer with prose, a deep link, or a\n  capture receipt.\n\nOne last mechanical note: `raw` comes back **indented**, while `compact` is\nminified. That is deliberate — `raw` is the rung a person reads when a payload\nis not what they expected, and indentation is most of what makes an unfamiliar\nshape legible.\n\n## Workflows\n\n- **First time** → user pastes magic-link URL from vendor email → `use_magic_link` → session captured\n- **\"Fill in / read the vendor's questionnaire\"** → user pastes the `/flow/<id>?hash=…` link → `use_flow_link` → `get_flow`\n- **\"What contracts haven't I signed?\"** → `list_workspace_files` with `file_type=agreement`, filter by `is_file_accepted=false`\n- **\"Summarize my HB status with Silk Veil\"** → `get_workspace` (status flags) + `list_workspace_files`\n- **\"Send me a link to sign the photographer's contract\"** → `list_workspace_files` → `sign_contract` (confirm when prompted)\n- **\"Which invoices are overdue?\"** → `list_workspace_files` with `file_type=invoice`, sort by due date\n- **\"What did the planner send me?\" / \"Read me the latest checklist\"** → `list_projects` → `list_messages` → `get_message`\n- **\"Reply to Ivy and ask about the rehearsal\"** → `list_messages` (find the message) → `send_message` with `reply_to_message_id` → show the user the preview → once they approve, re-run with the same arguments plus the returned `confirmToken` (on a client that shows a confirmation prompt, the prompt replaces these two steps)\n- **\"When is my next Zoom with the planner?\"** → `list_meetings`; the join link and password are in the row\n- **\"What have I paid and what's left?\"** → `list_payments` (`totals.paid` / `totals.unpaid`); to pay one, `pay_invoice`\n- **\"Do I have anything to do?\"** → `list_tasks` (`counts.overdue`, `counts.today`)\n\n## Notes\n\n- Each vendor = separate session keyed by portal origin (e.g. `https://acme.hbportal.co`)\n- Sessions cached in `~/.honeybook-mcp/sessions.json` (mode 0600)\n- **Two credential kinds, not interchangeable.** A portal session reads workspaces/files/invoices; a flow credential is HoneyBook's \"weak auth\", scoped to ONE questionnaire, cached separately in `~/.honeybook-mcp/flows.json`. A portal tool refuses a flow credential by name rather than failing upstream\n- The flow storage key contains the flow id, so the ContextMint Bridge extension asks to re-approve the scope once per new questionnaire\n- Write tools (`sign_contract`, `pay_invoice`) return deep links in v2\n- Session expires → re-run `use_magic_link` with a fresh URL from the vendor's email\n- `send_message` goes out as a real HoneyBook email to everyone in the workspace (the vendor and any co-clients). Always show the user the preview and get their explicit approval before passing the `confirmToken` back — never reuse or invent a token\n- `list_messages` / `get_message` read the same feed the Activity tab renders and do not mark items seen; `unseen_count` counts messages from other people you have not opened\n\nFile v1.2.5:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"honeybook\",\n  \"version\": \"1.2.5\",\n  \"publishedAt\": 1791380142553\n}\n\nFile v1.2.5:skill-card.md\n\n## Description:\n\nHelps users review HoneyBook client-portal records, manage vendor messages, and access contract-signing and invoice-payment links.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nHoneyBook clients use this skill to review wedding-vendor contracts, invoices, questionnaires, projects, messages, meetings, tasks, and payments, and to prepare replies or obtain signing and payment links.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Portal data and locally stored portal or questionnaire credentials are sensitive.\n\nMitigation: Install only if comfortable with this access and local credential storage; share portal and flow links only when needed.\n\nRisk: Sending a message emails the vendor and other workspace participants.\n\nMitigation: Review the message preview and obtain explicit approval before sending.\n\nRisk: Signing or paying can create binding or financial consequences.\n\nMitigation: Approve signing or payment confirmations only when the action is intended.\n\n## Reference(s):\n\n- [HoneyBook skill listing](https://clawhub.ai/chrischall/skills/honeybook)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Guidance]\n\n**Output Format:** [Text, structured records, and portal links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Message listings show previews; full messages require a separate request. Signing and payment actions return portal links.]\n\n## Skill Version(s):\n\n1.2.5 (source: ClawHub release metadata)\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\nArchive v1.2.4: 3 files, 5397 bytes\n\nFiles: skill-card.md (1780b), SKILL.md (9173b), _meta.json (128b)\n\nFile v1.2.4:SKILL.md\n\n---\nname: honeybook\ndescription: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n---\n\n# honeybook-mcp\n\nMCP server for HoneyBook's client portal — contracts, invoices, questionnaires, messages, meetings, tasks and payments across multiple wedding vendors, with magic-link session capture, in-portal messaging, and deep-link fallback for signing and paying.\n\n## Tools\n\n- `use_magic_link` — Capture a portal session from a vendor magic-link URL (`/app/link/resolve/…`)\n- `use_flow_link` — Capture a questionnaire credential from a flow link (`/flow/<flowId>?hash=…`)\n- `list_active_sessions` — Show active credentials, split into `portalSessions` and `flowCredentials`\n- `get_flow(flow_id?, view?)` — Read one questionnaire (flow) and its answers (two calls: public `/minimal` for the vendor company id, then `/client/flow/<id>/active?ctxc=…`)\n- `list_workspace_files` — All files one vendor has shared (filter by type)\n- `get_workspace_file(file_id, section?)` — Full detail for one file. Takes `section`, **not** `view` — see below\n- `get_workspace` — Workspace detail + status flags\n- `list_payment_methods` — Saved payment methods\n- `sign_contract` — Deep link to sign in portal (asks the user to confirm first)\n- `pay_invoice` — Deep link to pay in portal (asks the user to confirm first)\n- `list_projects` — Your projects (HoneyBook \"events\") with a vendor, each with the `workspace_id` the tools below take\n- `get_project(project_id, view?)` — Project details: date, time, location, guests, custom fields, people (name/email/phone/role)\n- `list_messages` — Messages in a workspace (`kind=activity` for the activity log, `kind=all` for both): compact cards, newest first; never marks anything seen\n- `get_message` — One message in full (`format=text` default, or `html`) with attachments and delivery status\n- `send_message` — Send a new message (`subject` + `body`) or reply (`reply_to_message_id`, subject inherited) through the portal; asks the user to confirm first\n- `mark_messages_seen` — Mark feed items seen, the way opening the Activity tab does\n- `list_meetings` — Meetings the vendor scheduled (consultations, Zoom calls): time, join link, password; rescheduled meetings show their latest time\n- `list_tasks` — Tasks assigned to you with today/this-week/overdue counts and task groups\n- `list_notes` — Notes the vendor shared (meeting notes, AI recaps)\n- `list_attachments` — Loose images, files and bookmarks (not contracts/invoices — those are workspace files)\n- `list_payments` — Every payment on every file in a workspace, with paid/unpaid totals\n\n## Response shape (`view`)\n\nOnly **two** tools here take the fleet's `view` parameter: `get_project` and\n`get_flow`. Both honour `compact | raw`, and **`compact` is the default** — you\nget the cheap shape without asking for it. There is no `full` rung on either:\n`raw` already IS every field HoneyBook sent, so a third value would silently\nalias to one of the other two.\n\nThe two compact rungs are **not the same kind of thing**, and the difference\ndecides which one you can trust to be complete:\n\n- **`get_project` compact is a field projection.** It keeps `_id`, `name`,\n  `type`, `date`/`end_date`, `time_start`/`time_end`, `timezone`, `location`,\n  `venue_name`, `guests`, `budget`, `details`, `project_dates`, non-empty\n  `custom_fields`, `image_url`, `last_activity_date`, and a de-duplicated\n  `people[]` (`_id`, `name`, `email`, `phone`, `role`, `job_title`, `company`).\n  Everything else is dropped — `view: \"raw\"` returns the untrimmed `/details`\n  response, which embeds the **vendor's entire account**. Ask for it only when\n  you need a field the list above does not name.\n- **`get_flow` compact is a byte ceiling, not a projection.** No field is\n  pruned. Under 200,000 bytes the questionnaire comes back whole and `compact`\n  and `raw` differ only in indentation. Over it, compact replaces the flow with\n  `truncated: { bytes, limit, topLevelKeys, hint }` — its own table of contents\n  instead of its content. So on a large questionnaire the compact rung returns\n  no questions at all; that is the signal to re-call with `view: \"raw\"`. (A real\n  `/active` payload measured 96,246 bytes, comfortably under the ceiling, so the\n  ordinary case is the whole thing.)\n\n**`get_workspace_file` does not take `view`. It takes `section`** —\n`summary` (default) | `pricing` | `agreement` | `payments` | `all` | `raw` —\nand that is a different question, deliberately kept. `view` asks *how much of\nthe whole record to keep*; `section` asks *which part of it to expand*: line\nitems and tax/svc detail (`pricing`), contract HTML and signatures\n(`agreement`), the full payment schedule (`payments`). `all` is the whole file\nwith the vendor-side heavy fields pruned — `vendor_emails` alone measured\n~1.3 MB on one real proposal — and `raw` keeps even those.\n\n**The surprise worth knowing:** passing `view:` to `get_workspace_file` does not\nerror. The unknown key is stripped during validation, the call succeeds, and you\nget the `summary` section — the default you would have got anyway. Nothing tells\nyou the argument was ignored. Use the `section` name.\n\nEvery other tool has no shape parameter, for one of two reasons:\n\n- **Its output is already narrow, with no fatter rung to ask for.**\n  `list_projects`, `list_messages`, `list_meetings`, `list_payments`,\n  `list_tasks` and `list_active_sessions` return hand-built rows rather than the\n  upstream payload. `list_messages` in particular returns compact cards with a\n  240-character `preview` and **no body** — `get_message` is the way to the full\n  text, not a `view` value.\n- **It does not return a record at all.** `sign_contract`, `pay_invoice`,\n  `use_magic_link` and `use_flow_link` answer with prose, a deep link, or a\n  capture receipt.\n\nOne last mechanical note: `raw` comes back **indented**, while `compact` is\nminified. That is deliberate — `raw` is the rung a person reads when a payload\nis not what they expected, and indentation is most of what makes an unfamiliar\nshape legible.\n\n## Workflows\n\n- **First time** → user pastes magic-link URL from vendor email → `use_magic_link` → session captured\n- **\"Fill in / read the vendor's questionnaire\"** → user pastes the `/flow/<id>?hash=…` link → `use_flow_link` → `get_flow`\n- **\"What contracts haven't I signed?\"** → `list_workspace_files` with `file_type=agreement`, filter by `is_file_accepted=false`\n- **\"Summarize my HB status with Silk Veil\"** → `get_workspace` (status flags) + `list_workspace_files`\n- **\"Send me a link to sign the photographer's contract\"** → `list_workspace_files` → `sign_contract` (confirm when prompted)\n- **\"Which invoices are overdue?\"** → `list_workspace_files` with `file_type=invoice`, sort by due date\n- **\"What did the planner send me?\" / \"Read me the latest checklist\"** → `list_projects` → `list_messages` → `get_message`\n- **\"Reply to Ivy and ask about the rehearsal\"** → `list_messages` (find the message) → `send_message` with `reply_to_message_id` → show the user the preview → once they approve, re-run with the same arguments plus the returned `confirmToken` (on a client that shows a confirmation prompt, the prompt replaces these two steps)\n- **\"When is my next Zoom with the planner?\"** → `list_meetings`; the join link and password are in the row\n- **\"What have I paid and what's left?\"** → `list_payments` (`totals.paid` / `totals.unpaid`); to pay one, `pay_invoice`\n- **\"Do I have anything to do?\"** → `list_tasks` (`counts.overdue`, `counts.today`)\n\n## Notes\n\n- Each vendor = separate session keyed by portal origin (e.g. `https://acme.hbportal.co`)\n- Sessions cached in `~/.honeybook-mcp/sessions.json` (mode 0600)\n- **Two credential kinds, not interchangeable.** A portal session reads workspaces/files/invoices; a flow credential is HoneyBook's \"weak auth\", scoped to ONE questionnaire, cached separately in `~/.honeybook-mcp/flows.json`. A portal tool refuses a flow credential by name rather than failing upstream\n- The flow storage key contains the flow id, so the ContextMint Bridge extension asks to re-approve the scope once per new questionnaire\n- Write tools (`sign_contract`, `pay_invoice`) return deep links in v2\n- Session expires → re-run `use_magic_link` with a fresh URL from the vendor's email\n- `send_message` goes out as a real HoneyBook email to everyone in the workspace (the vendor and any co-clients). Always show the user the preview and get their explicit approval before passing the `confirmToken` back — never reuse or invent a token\n- `list_messages` / `get_message` read the same feed the Activity tab renders and do not mark items seen; `unseen_count` counts messages from other people you have not opened\n\nFile v1.2.4:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"honeybook\",\n  \"version\": \"1.2.4\",\n  \"publishedAt\": 1791168646492\n}\n\nFile v1.2.4:skill-card.md\n\n## Description:\n\nHelps users review and manage HoneyBook client-portal projects, messages, contracts, invoices, payments, meetings, and tasks across vendors.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nHoneyBook clients can check vendor projects, questionnaires, messages, contracts, invoices, meetings, and tasks, and prepare replies or links for signing and payment.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Magic links and cached sessions can expose sensitive client-portal messages, contracts, invoices, and payment records.\n\nMitigation: Share links only with the intended agent, protect portal access, and request raw records only when needed.\n\nRisk: Outbound messages reach workspace participants, while signing and payment links can lead to consequential actions.\n\nMitigation: Review recipients and message previews, and personally approve each message, signing, or payment step.\n\n## Reference(s):\n\n- [HoneyBook skill release on ClawHub](https://clawhub.ai/chrischall/skills/honeybook)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Plain text, structured portal summaries, and links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Compact views are the default; signing and payment use portal links.]\n\n## Skill Version(s):\n\n1.2.4 (source: server-resolved release evidence)\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\nArchive v1.2.3: 3 files, 5456 bytes\n\nFiles: skill-card.md (1985b), SKILL.md (9173b), _meta.json (128b)\n\nFile v1.2.3:SKILL.md\n\n---\nname: honeybook\ndescription: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n---\n\n# honeybook-mcp\n\nMCP server for HoneyBook's client portal — contracts, invoices, questionnaires, messages, meetings, tasks and payments across multiple wedding vendors, with magic-link session capture, in-portal messaging, and deep-link fallback for signing and paying.\n\n## Tools\n\n- `use_magic_link` — Capture a portal session from a vendor magic-link URL (`/app/link/resolve/…`)\n- `use_flow_link` — Capture a questionnaire credential from a flow link (`/flow/<flowId>?hash=…`)\n- `list_active_sessions` — Show active credentials, split into `portalSessions` and `flowCredentials`\n- `get_flow(flow_id?, view?)` — Read one questionnaire (flow) and its answers (two calls: public `/minimal` for the vendor company id, then `/client/flow/<id>/active?ctxc=…`)\n- `list_workspace_files` — All files one vendor has shared (filter by type)\n- `get_workspace_file(file_id, section?)` — Full detail for one file. Takes `section`, **not** `view` — see below\n- `get_workspace` — Workspace detail + status flags\n- `list_payment_methods` — Saved payment methods\n- `sign_contract` — Deep link to sign in portal (asks the user to confirm first)\n- `pay_invoice` — Deep link to pay in portal (asks the user to confirm first)\n- `list_projects` — Your projects (HoneyBook \"events\") with a vendor, each with the `workspace_id` the tools below take\n- `get_project(project_id, view?)` — Project details: date, time, location, guests, custom fields, people (name/email/phone/role)\n- `list_messages` — Messages in a workspace (`kind=activity` for the activity log, `kind=all` for both): compact cards, newest first; never marks anything seen\n- `get_message` — One message in full (`format=text` default, or `html`) with attachments and delivery status\n- `send_message` — Send a new message (`subject` + `body`) or reply (`reply_to_message_id`, subject inherited) through the portal; asks the user to confirm first\n- `mark_messages_seen` — Mark feed items seen, the way opening the Activity tab does\n- `list_meetings` — Meetings the vendor scheduled (consultations, Zoom calls): time, join link, password; rescheduled meetings show their latest time\n- `list_tasks` — Tasks assigned to you with today/this-week/overdue counts and task groups\n- `list_notes` — Notes the vendor shared (meeting notes, AI recaps)\n- `list_attachments` — Loose images, files and bookmarks (not contracts/invoices — those are workspace files)\n- `list_payments` — Every payment on every file in a workspace, with paid/unpaid totals\n\n## Response shape (`view`)\n\nOnly **two** tools here take the fleet's `view` parameter: `get_project` and\n`get_flow`. Both honour `compact | raw`, and **`compact` is the default** — you\nget the cheap shape without asking for it. There is no `full` rung on either:\n`raw` already IS every field HoneyBook sent, so a third value would silently\nalias to one of the other two.\n\nThe two compact rungs are **not the same kind of thing**, and the difference\ndecides which one you can trust to be complete:\n\n- **`get_project` compact is a field projection.** It keeps `_id`, `name`,\n  `type`, `date`/`end_date`, `time_start`/`time_end`, `timezone`, `location`,\n  `venue_name`, `guests`, `budget`, `details`, `project_dates`, non-empty\n  `custom_fields`, `image_url`, `last_activity_date`, and a de-duplicated\n  `people[]` (`_id`, `name`, `email`, `phone`, `role`, `job_title`, `company`).\n  Everything else is dropped — `view: \"raw\"` returns the untrimmed `/details`\n  response, which embeds the **vendor's entire account**. Ask for it only when\n  you need a field the list above does not name.\n- **`get_flow` compact is a byte ceiling, not a projection.** No field is\n  pruned. Under 200,000 bytes the questionnaire comes back whole and `compact`\n  and `raw` differ only in indentation. Over it, compact replaces the flow with\n  `truncated: { bytes, limit, topLevelKeys, hint }` — its own table of contents\n  instead of its content. So on a large questionnaire the compact rung returns\n  no questions at all; that is the signal to re-call with `view: \"raw\"`. (A real\n  `/active` payload measured 96,246 bytes, comfortably under the ceiling, so the\n  ordinary case is the whole thing.)\n\n**`get_workspace_file` does not take `view`. It takes `section`** —\n`summary` (default) | `pricing` | `agreement` | `payments` | `all` | `raw` —\nand that is a different question, deliberately kept. `view` asks *how much of\nthe whole record to keep*; `section` asks *which part of it to expand*: line\nitems and tax/svc detail (`pricing`), contract HTML and signatures\n(`agreement`), the full payment schedule (`payments`). `all` is the whole file\nwith the vendor-side heavy fields pruned — `vendor_emails` alone measured\n~1.3 MB on one real proposal — and `raw` keeps even those.\n\n**The surprise worth knowing:** passing `view:` to `get_workspace_file` does not\nerror. The unknown key is stripped during validation, the call succeeds, and you\nget the `summary` section — the default you would have got anyway. Nothing tells\nyou the argument was ignored. Use the `section` name.\n\nEvery other tool has no shape parameter, for one of two reasons:\n\n- **Its output is already narrow, with no fatter rung to ask for.**\n  `list_projects`, `list_messages`, `list_meetings`, `list_payments`,\n  `list_tasks` and `list_active_sessions` return hand-built rows rather than the\n  upstream payload. `list_messages` in particular returns compact cards with a\n  240-character `preview` and **no body** — `get_message` is the way to the full\n  text, not a `view` value.\n- **It does not return a record at all.** `sign_contract`, `pay_invoice`,\n  `use_magic_link` and `use_flow_link` answer with prose, a deep link, or a\n  capture receipt.\n\nOne last mechanical note: `raw` comes back **indented**, while `compact` is\nminified. That is deliberate — `raw` is the rung a person reads when a payload\nis not what they expected, and indentation is most of what makes an unfamiliar\nshape legible.\n\n## Workflows\n\n- **First time** → user pastes magic-link URL from vendor email → `use_magic_link` → session captured\n- **\"Fill in / read the vendor's questionnaire\"** → user pastes the `/flow/<id>?hash=…` link → `use_flow_link` → `get_flow`\n- **\"What contracts haven't I signed?\"** → `list_workspace_files` with `file_type=agreement`, filter by `is_file_accepted=false`\n- **\"Summarize my HB status with Silk Veil\"** → `get_workspace` (status flags) + `list_workspace_files`\n- **\"Send me a link to sign the photographer's contract\"** → `list_workspace_files` → `sign_contract` (confirm when prompted)\n- **\"Which invoices are overdue?\"** → `list_workspace_files` with `file_type=invoice`, sort by due date\n- **\"What did the planner send me?\" / \"Read me the latest checklist\"** → `list_projects` → `list_messages` → `get_message`\n- **\"Reply to Ivy and ask about the rehearsal\"** → `list_messages` (find the message) → `send_message` with `reply_to_message_id` → show the user the preview → once they approve, re-run with the same arguments plus the returned `confirmToken` (on a client that shows a confirmation prompt, the prompt replaces these two steps)\n- **\"When is my next Zoom with the planner?\"** → `list_meetings`; the join link and password are in the row\n- **\"What have I paid and what's left?\"** → `list_payments` (`totals.paid` / `totals.unpaid`); to pay one, `pay_invoice`\n- **\"Do I have anything to do?\"** → `list_tasks` (`counts.overdue`, `counts.today`)\n\n## Notes\n\n- Each vendor = separate session keyed by portal origin (e.g. `https://acme.hbportal.co`)\n- Sessions cached in `~/.honeybook-mcp/sessions.json` (mode 0600)\n- **Two credential kinds, not interchangeable.** A portal session reads workspaces/files/invoices; a flow credential is HoneyBook's \"weak auth\", scoped to ONE questionnaire, cached separately in `~/.honeybook-mcp/flows.json`. A portal tool refuses a flow credential by name rather than failing upstream\n- The flow storage key contains the flow id, so the ContextMint Bridge extension asks to re-approve the scope once per new questionnaire\n- Write tools (`sign_contract`, `pay_invoice`) return deep links in v2\n- Session expires → re-run `use_magic_link` with a fresh URL from the vendor's email\n- `send_message` goes out as a real HoneyBook email to everyone in the workspace (the vendor and any co-clients). Always show the user the preview and get their explicit approval before passing the `confirmToken` back — never reuse or invent a token\n- `list_messages` / `get_message` read the same feed the Activity tab renders and do not mark items seen; `unseen_count` counts messages from other people you have not opened\n\nFile v1.2.3:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"honeybook\",\n  \"version\": \"1.2.3\",\n  \"publishedAt\": 1790991670222\n}\n\nFile v1.2.3:skill-card.md\n\n## Description:\n\nHelps users review and manage HoneyBook client-portal contracts, invoices, questionnaires, messages, meetings, tasks, and payments across vendors.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nHoneyBook clients use this skill to check vendor contracts, invoices, questionnaires, messages, meetings, payments, and tasks, and to request portal links or send messages with confirmation.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Portal magic links and questionnaire flow links can grant access to private client information.\n\nMitigation: Treat links as login credentials and provide them only when you intend to grant the agent portal or questionnaire access.\n\nRisk: Detailed views can disclose more vendor and portal data than a summary needs.\n\nMitigation: Use compact or summary views by default and request raw data only when necessary.\n\nRisk: Messages reach workspace recipients, and signing or payment links initiate consequential user actions.\n\nMitigation: Review message previews and recipients, and confirm each send, sign, or pay action before proceeding.\n\n## Reference(s):\n\n- [HoneyBook skill on ClawHub](https://clawhub.ai/chrischall/skills/honeybook)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Conversational summaries, message previews, and portal links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Compact responses by default; some detailed views expose additional vendor or portal data.]\n\n## Skill Version(s):\n\n1.2.3 (source: ClawHub release metadata)\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\nArchive v1.2.2: 3 files, 5504 bytes\n\nFiles: skill-card.md (2104b), SKILL.md (9173b), _meta.json (128b)\n\nFile v1.2.2:SKILL.md\n\n---\nname: honeybook\ndescription: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n---\n\n# honeybook-mcp\n\nMCP server for HoneyBook's client portal — contracts, invoices, questionnaires, messages, meetings, tasks and payments across multiple wedding vendors, with magic-link session capture, in-portal messaging, and deep-link fallback for signing and paying.\n\n## Tools\n\n- `use_magic_link` — Capture a portal session from a vendor magic-link URL (`/app/link/resolve/…`)\n- `use_flow_link` — Capture a questionnaire credential from a flow link (`/flow/<flowId>?hash=…`)\n- `list_active_sessions` — Show active credentials, split into `portalSessions` and `flowCredentials`\n- `get_flow(flow_id?, view?)` — Read one questionnaire (flow) and its answers (two calls: public `/minimal` for the vendor company id, then `/client/flow/<id>/active?ctxc=…`)\n- `list_workspace_files` — All files one vendor has shared (filter by type)\n- `get_workspace_file(file_id, section?)` — Full detail for one file. Takes `section`, **not** `view` — see below\n- `get_workspace` — Workspace detail + status flags\n- `list_payment_methods` — Saved payment methods\n- `sign_contract` — Deep link to sign in portal (asks the user to confirm first)\n- `pay_invoice` — Deep link to pay in portal (asks the user to confirm first)\n- `list_projects` — Your projects (HoneyBook \"events\") with a vendor, each with the `workspace_id` the tools below take\n- `get_project(project_id, view?)` — Project details: date, time, location, guests, custom fields, people (name/email/phone/role)\n- `list_messages` — Messages in a workspace (`kind=activity` for the activity log, `kind=all` for both): compact cards, newest first; never marks anything seen\n- `get_message` — One message in full (`format=text` default, or `html`) with attachments and delivery status\n- `send_message` — Send a new message (`subject` + `body`) or reply (`reply_to_message_id`, subject inherited) through the portal; asks the user to confirm first\n- `mark_messages_seen` — Mark feed items seen, the way opening the Activity tab does\n- `list_meetings` — Meetings the vendor scheduled (consultations, Zoom calls): time, join link, password; rescheduled meetings show their latest time\n- `list_tasks` — Tasks assigned to you with today/this-week/overdue counts and task groups\n- `list_notes` — Notes the vendor shared (meeting notes, AI recaps)\n- `list_attachments` — Loose images, files and bookmarks (not contracts/invoices — those are workspace files)\n- `list_payments` — Every payment on every file in a workspace, with paid/unpaid totals\n\n## Response shape (`view`)\n\nOnly **two** tools here take the fleet's `view` parameter: `get_project` and\n`get_flow`. Both honour `compact | raw`, and **`compact` is the default** — you\nget the cheap shape without asking for it. There is no `full` rung on either:\n`raw` already IS every field HoneyBook sent, so a third value would silently\nalias to one of the other two.\n\nThe two compact rungs are **not the same kind of thing**, and the difference\ndecides which one you can trust to be complete:\n\n- **`get_project` compact is a field projection.** It keeps `_id`, `name`,\n  `type`, `date`/`end_date`, `time_start`/`time_end`, `timezone`, `location`,\n  `venue_name`, `guests`, `budget`, `details`, `project_dates`, non-empty\n  `custom_fields`, `image_url`, `last_activity_date`, and a de-duplicated\n  `people[]` (`_id`, `name`, `email`, `phone`, `role`, `job_title`, `company`).\n  Everything else is dropped — `view: \"raw\"` returns the untrimmed `/details`\n  response, which embeds the **vendor's entire account**. Ask for it only when\n  you need a field the list above does not name.\n- **`get_flow` compact is a byte ceiling, not a projection.** No field is\n  pruned. Under 200,000 bytes the questionnaire comes back whole and `compact`\n  and `raw` differ only in indentation. Over it, compact replaces the flow with\n  `truncated: { bytes, limit, topLevelKeys, hint }` — its own table of contents\n  instead of its content. So on a large questionnaire the compact rung returns\n  no questions at all; that is the signal to re-call with `view: \"raw\"`. (A real\n  `/active` payload measured 96,246 bytes, comfortably under the ceiling, so the\n  ordinary case is the whole thing.)\n\n**`get_workspace_file` does not take `view`. It takes `section`** —\n`summary` (default) | `pricing` | `agreement` | `payments` | `all` | `raw` —\nand that is a different question, deliberately kept. `view` asks *how much of\nthe whole record to keep*; `section` asks *which part of it to expand*: line\nitems and tax/svc detail (`pricing`), contract HTML and signatures\n(`agreement`), the full payment schedule (`payments`). `all` is the whole file\nwith the vendor-side heavy fields pruned — `vendor_emails` alone measured\n~1.3 MB on one real proposal — and `raw` keeps even those.\n\n**The surprise worth knowing:** passing `view:` to `get_workspace_file` does not\nerror. The unknown key is stripped during validation, the call succeeds, and you\nget the `summary` section — the default you would have got anyway. Nothing tells\nyou the argument was ignored. Use the `section` name.\n\nEvery other tool has no shape parameter, for one of two reasons:\n\n- **Its output is already narrow, with no fatter rung to ask for.**\n  `list_projects`, `list_messages`, `list_meetings`, `list_payments`,\n  `list_tasks` and `list_active_sessions` return hand-built rows rather than the\n  upstream payload. `list_messages` in particular returns compact cards with a\n  240-character `preview` and **no body** — `get_message` is the way to the full\n  text, not a `view` value.\n- **It does not return a record at all.** `sign_contract`, `pay_invoice`,\n  `use_magic_link` and `use_flow_link` answer with prose, a deep link, or a\n  capture receipt.\n\nOne last mechanical note: `raw` comes back **indented**, while `compact` is\nminified. That is deliberate — `raw` is the rung a person reads when a payload\nis not what they expected, and indentation is most of what makes an unfamiliar\nshape legible.\n\n## Workflows\n\n- **First time** → user pastes magic-link URL from vendor email → `use_magic_link` → session captured\n- **\"Fill in / read the vendor's questionnaire\"** → user pastes the `/flow/<id>?hash=…` link → `use_flow_link` → `get_flow`\n- **\"What contracts haven't I signed?\"** → `list_workspace_files` with `file_type=agreement`, filter by `is_file_accepted=false`\n- **\"Summarize my HB status with Silk Veil\"** → `get_workspace` (status flags) + `list_workspace_files`\n- **\"Send me a link to sign the photographer's contract\"** → `list_workspace_files` → `sign_contract` (confirm when prompted)\n- **\"Which invoices are overdue?\"** → `list_workspace_files` with `file_type=invoice`, sort by due date\n- **\"What did the planner send me?\" / \"Read me the latest checklist\"** → `list_projects` → `list_messages` → `get_message`\n- **\"Reply to Ivy and ask about the rehearsal\"** → `list_messages` (find the message) → `send_message` with `reply_to_message_id` → show the user the preview → once they approve, re-run with the same arguments plus the returned `confirmToken` (on a client that shows a confirmation prompt, the prompt replaces these two steps)\n- **\"When is my next Zoom with the planner?\"** → `list_meetings`; the join link and password are in the row\n- **\"What have I paid and what's left?\"** → `list_payments` (`totals.paid` / `totals.unpaid`); to pay one, `pay_invoice`\n- **\"Do I have anything to do?\"** → `list_tasks` (`counts.overdue`, `counts.today`)\n\n## Notes\n\n- Each vendor = separate session keyed by portal origin (e.g. `https://acme.hbportal.co`)\n- Sessions cached in `~/.honeybook-mcp/sessions.json` (mode 0600)\n- **Two credential kinds, not interchangeable.** A portal session reads workspaces/files/invoices; a flow credential is HoneyBook's \"weak auth\", scoped to ONE questionnaire, cached separately in `~/.honeybook-mcp/flows.json`. A portal tool refuses a flow credential by name rather than failing upstream\n- The flow storage key contains the flow id, so the ContextMint Bridge extension asks to re-approve the scope once per new questionnaire\n- Write tools (`sign_contract`, `pay_invoice`) return deep links in v2\n- Session expires → re-run `use_magic_link` with a fresh URL from the vendor's email\n- `send_message` goes out as a real HoneyBook email to everyone in the workspace (the vendor and any co-clients). Always show the user the preview and get their explicit approval before passing the `confirmToken` back — never reuse or invent a token\n- `list_messages` / `get_message` read the same feed the Activity tab renders and do not mark items seen; `unseen_count` counts messages from other people you have not opened\n\nFile v1.2.2:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"honeybook\",\n  \"version\": \"1.2.2\",\n  \"publishedAt\": 1790603740203\n}\n\nFile v1.2.2:skill-card.md\n\n## Description:\n\nHelps users review HoneyBook client-portal projects, vendor files, invoices, payments, questionnaires, meetings, tasks, and messages, and prepare portal actions with confirmation.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nHoneyBook clients can check vendor projects, contracts, invoices, payments, questionnaires, and messages, and request links to sign or pay or approved replies to vendors.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Cached portal sessions can expose access to client and vendor information on a shared or compromised device.\n\nMitigation: Use only for explicitly requested HoneyBook access; protect the device and delete cached sessions or rotate access if it is shared or compromised.\n\nRisk: Reading portal records can expose sensitive invoices, payment details, contact information, and private messages.\n\nMitigation: Limit access and sharing to records needed for the user's request, and avoid exposing sensitive details unnecessarily.\n\nRisk: Sending a portal message can email vendors and other workspace participants.\n\nMitigation: Show the message preview and obtain the user's explicit approval before sending.\n\n## Reference(s):\n\n- [HoneyBook skill on ClawHub](https://clawhub.ai/chrischall/skills/honeybook)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Text or Markdown with portal links and message previews]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Responses can summarize portal records or provide links for signing and payment; sending a message requires explicit confirmation.]\n\n## Skill Version(s):\n\n1.2.2 (source: server-resolved ClawHub release)\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\nArchive v1.2.1: 3 files, 5459 bytes\n\nFiles: skill-card.md (1915b), SKILL.md (9165b), _meta.json (128b)\n\nFile v1.2.1:SKILL.md\n\n---\nname: honeybook\ndescription: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n---\n\n# honeybook-mcp\n\nMCP server for HoneyBook's client portal — contracts, invoices, questionnaires, messages, meetings, tasks and payments across multiple wedding vendors, with magic-link session capture, in-portal messaging, and deep-link fallback for signing and paying.\n\n## Tools\n\n- `use_magic_link` — Capture a portal session from a vendor magic-link URL (`/app/link/resolve/…`)\n- `use_flow_link` — Capture a questionnaire credential from a flow link (`/flow/<flowId>?hash=…`)\n- `list_active_sessions` — Show active credentials, split into `portalSessions` and `flowCredentials`\n- `get_flow(flow_id?, view?)` — Read one questionnaire (flow) and its answers (two calls: public `/minimal` for the vendor company id, then `/client/flow/<id>/active?ctxc=…`)\n- `list_workspace_files` — All files one vendor has shared (filter by type)\n- `get_workspace_file(file_id, section?)` — Full detail for one file. Takes `section`, **not** `view` — see below\n- `get_workspace` — Workspace detail + status flags\n- `list_payment_methods` — Saved payment methods\n- `sign_contract` — Deep link to sign in portal (asks the user to confirm first)\n- `pay_invoice` — Deep link to pay in portal (asks the user to confirm first)\n- `list_projects` — Your projects (HoneyBook \"events\") with a vendor, each with the `workspace_id` the tools below take\n- `get_project(project_id, view?)` — Project details: date, time, location, guests, custom fields, people (name/email/phone/role)\n- `list_messages` — Messages in a workspace (`kind=activity` for the activity log, `kind=all` for both): compact cards, newest first; never marks anything seen\n- `get_message` — One message in full (`format=text` default, or `html`) with attachments and delivery status\n- `send_message` — Send a new message (`subject` + `body`) or reply (`reply_to_message_id`, subject inherited) through the portal; asks the user to confirm first\n- `mark_messages_seen` — Mark feed items seen, the way opening the Activity tab does\n- `list_meetings` — Meetings the vendor scheduled (consultations, Zoom calls): time, join link, password; rescheduled meetings show their latest time\n- `list_tasks` — Tasks assigned to you with today/this-week/overdue counts and task groups\n- `list_notes` — Notes the vendor shared (meeting notes, AI recaps)\n- `list_attachments` — Loose images, files and bookmarks (not contracts/invoices — those are workspace files)\n- `list_payments` — Every payment on every file in a workspace, with paid/unpaid totals\n\n## Response shape (`view`)\n\nOnly **two** tools here take the fleet's `view` parameter: `get_project` and\n`get_flow`. Both honour `compact | raw`, and **`compact` is the default** — you\nget the cheap shape without asking for it. There is no `full` rung on either:\n`raw` already IS every field HoneyBook sent, so a third value would silently\nalias to one of the other two.\n\nThe two compact rungs are **not the same kind of thing**, and the difference\ndecides which one you can trust to be complete:\n\n- **`get_project` compact is a field projection.** It keeps `_id`, `name`,\n  `type`, `date`/`end_date`, `time_start`/`time_end`, `timezone`, `location`,\n  `venue_name`, `guests`, `budget`, `details`, `project_dates`, non-empty\n  `custom_fields`, `image_url`, `last_activity_date`, and a de-duplicated\n  `people[]` (`_id`, `name`, `email`, `phone`, `role`, `job_title`, `company`).\n  Everything else is dropped — `view: \"raw\"` returns the untrimmed `/details`\n  response, which embeds the **vendor's entire account**. Ask for it only when\n  you need a field the list above does not name.\n- **`get_flow` compact is a byte ceiling, not a projection.** No field is\n  pruned. Under 200,000 bytes the questionnaire comes back whole and `compact`\n  and `raw` differ only in indentation. Over it, compact replaces the flow with\n  `truncated: { bytes, limit, topLevelKeys, hint }` — its own table of contents\n  instead of its content. So on a large questionnaire the compact rung returns\n  no questions at all; that is the signal to re-call with `view: \"raw\"`. (A real\n  `/active` payload measured 96,246 bytes, comfortably under the ceiling, so the\n  ordinary case is the whole thing.)\n\n**`get_workspace_file` does not take `view`. It takes `section`** —\n`summary` (default) | `pricing` | `agreement` | `payments` | `all` | `raw` —\nand that is a different question, deliberately kept. `view` asks *how much of\nthe whole record to keep*; `section` asks *which part of it to expand*: line\nitems and tax/svc detail (`pricing`), contract HTML and signatures\n(`agreement`), the full payment schedule (`payments`). `all` is the whole file\nwith the vendor-side heavy fields pruned — `vendor_emails` alone measured\n~1.3 MB on one real proposal — and `raw` keeps even those.\n\n**The surprise worth knowing:** passing `view:` to `get_workspace_file` does not\nerror. The unknown key is stripped during validation, the call succeeds, and you\nget the `summary` section — the default you would have got anyway. Nothing tells\nyou the argument was ignored. Use the `section` name.\n\nEvery other tool has no shape parameter, for one of two reasons:\n\n- **Its output is already narrow, with no fatter rung to ask for.**\n  `list_projects`, `list_messages`, `list_meetings`, `list_payments`,\n  `list_tasks` and `list_active_sessions` return hand-built rows rather than the\n  upstream payload. `list_messages` in particular returns compact cards with a\n  240-character `preview` and **no body** — `get_message` is the way to the full\n  text, not a `view` value.\n- **It does not return a record at all.** `sign_contract`, `pay_invoice`,\n  `use_magic_link` and `use_flow_link` answer with prose, a deep link, or a\n  capture receipt.\n\nOne last mechanical note: `raw` comes back **indented**, while `compact` is\nminified. That is deliberate — `raw` is the rung a person reads when a payload\nis not what they expected, and indentation is most of what makes an unfamiliar\nshape legible.\n\n## Workflows\n\n- **First time** → user pastes magic-link URL from vendor email → `use_magic_link` → session captured\n- **\"Fill in / read the vendor's questionnaire\"** → user pastes the `/flow/<id>?hash=…` link → `use_flow_link` → `get_flow`\n- **\"What contracts haven't I signed?\"** → `list_workspace_files` with `file_type=agreement`, filter by `is_file_accepted=false`\n- **\"Summarize my HB status with Silk Veil\"** → `get_workspace` (status flags) + `list_workspace_files`\n- **\"Send me a link to sign the photographer's contract\"** → `list_workspace_files` → `sign_contract` (confirm when prompted)\n- **\"Which invoices are overdue?\"** → `list_workspace_files` with `file_type=invoice`, sort by due date\n- **\"What did the planner send me?\" / \"Read me the latest checklist\"** → `list_projects` → `list_messages` → `get_message`\n- **\"Reply to Ivy and ask about the rehearsal\"** → `list_messages` (find the message) → `send_message` with `reply_to_message_id` → show the user the preview → once they approve, re-run with the same arguments plus the returned `confirmToken` (on a client that shows a confirmation prompt, the prompt replaces these two steps)\n- **\"When is my next Zoom with the planner?\"** → `list_meetings`; the join link and password are in the row\n- **\"What have I paid and what's left?\"** → `list_payments` (`totals.paid` / `totals.unpaid`); to pay one, `pay_invoice`\n- **\"Do I have anything to do?\"** → `list_tasks` (`counts.overdue`, `counts.today`)\n\n## Notes\n\n- Each vendor = separate session keyed by portal origin (e.g. `https://acme.hbportal.co`)\n- Sessions cached in `~/.honeybook-mcp/sessions.json` (mode 0600)\n- **Two credential kinds, not interchangeable.** A portal session reads workspaces/files/invoices; a flow credential is HoneyBook's \"weak auth\", scoped to ONE questionnaire, cached separately in `~/.honeybook-mcp/flows.json`. A portal tool refuses a flow credential by name rather than failing upstream\n- The flow storage key contains the flow id, so the fetchproxy extension asks to re-approve the scope once per new questionnaire\n- Write tools (`sign_contract`, `pay_invoice`) return deep links in v2\n- Session expires → re-run `use_magic_link` with a fresh URL from the vendor's email\n- `send_message` goes out as a real HoneyBook email to everyone in the workspace (the vendor and any co-clients). Always show the user the preview and get their explicit approval before passing the `confirmToken` back — never reuse or invent a token\n- `list_messages` / `get_message` read the same feed the Activity tab renders and do not mark items seen; `unseen_count` counts messages from other people you have not opened\n\nFile v1.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"honeybook\",\n  \"version\": \"1.2.1\",\n  \"publishedAt\": 1790351586089\n}\n\nFile v1.2.1:skill-card.md\n\n## Description:\n\nHelps clients review HoneyBook vendor portals for contracts, invoices, payments, questionnaires, messages, meetings, and tasks.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nClients use this skill to review wedding-vendor portal information, track outstanding contracts and invoices, and communicate with vendors through HoneyBook.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Broad wedding-related prompts may trigger access to sensitive HoneyBook portal data unnecessarily.\n\nMitigation: Confirm that the user wants HoneyBook accessed before opening portal data for an ambiguous request.\n\nRisk: Raw portal views and saved sessions can expose sensitive account or client information.\n\nMitigation: Prefer compact views, request raw data only when necessary, and safeguard portal sessions.\n\nRisk: Sending a portal message can email vendors and other workspace participants.\n\nMitigation: Preview the recipients and message, and obtain the user's explicit approval before sending.\n\n## Reference(s):\n\n- [HoneyBook skill on ClawHub](https://clawhub.ai/chrischall/skills/honeybook)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance, Links]\n\n**Output Format:** [Text or Markdown with portal deep links when applicable]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can summarize portal records and provide signing or payment links; outgoing messages require confirmation.]\n\n## Skill Version(s):\n\n1.2.1 (source: ClawHub release evidence)\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\nArchive v1.2.0: 3 files, 5482 bytes\n\nFiles: skill-card.md (2077b), SKILL.md (9165b), _meta.json (128b)\n\nFile v1.2.0:SKILL.md\n\n---\nname: honeybook\ndescription: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n---\n\n# honeybook-mcp\n\nMCP server for HoneyBook's client portal — contracts, invoices, questionnaires, messages, meetings, tasks and payments across multiple wedding vendors, with magic-link session capture, in-portal messaging, and deep-link fallback for signing and paying.\n\n## Tools\n\n- `use_magic_link` — Capture a portal session from a vendor magic-link URL (`/app/link/resolve/…`)\n- `use_flow_link` — Capture a questionnaire credential from a flow link (`/flow/<flowId>?hash=…`)\n- `list_active_sessions` — Show active credentials, split into `portalSessions` and `flowCredentials`\n- `get_flow(flow_id?, view?)` — Read one questionnaire (flow) and its answers (two calls: public `/minimal` for the vendor company id, then `/client/flow/<id>/active?ctxc=…`)\n- `list_workspace_files` — All files one vendor has shared (filter by type)\n- `get_workspace_file(file_id, section?)` — Full detail for one file. Takes `section`, **not** `view` — see below\n- `get_workspace` — Workspace detail + status flags\n- `list_payment_methods` — Saved payment methods\n- `sign_contract` — Deep link to sign in portal (asks the user to confirm first)\n- `pay_invoice` — Deep link to pay in portal (asks the user to confirm first)\n- `list_projects` — Your projects (HoneyBook \"events\") with a vendor, each with the `workspace_id` the tools below take\n- `get_project(project_id, view?)` — Project details: date, time, location, guests, custom fields, people (name/email/phone/role)\n- `list_messages` — Messages in a workspace (`kind=activity` for the activity log, `kind=all` for both): compact cards, newest first; never marks anything seen\n- `get_message` — One message in full (`format=text` default, or `html`) with attachments and delivery status\n- `send_message` — Send a new message (`subject` + `body`) or reply (`reply_to_message_id`, subject inherited) through the portal; asks the user to confirm first\n- `mark_messages_seen` — Mark feed items seen, the way opening the Activity tab does\n- `list_meetings` — Meetings the vendor scheduled (consultations, Zoom calls): time, join link, password; rescheduled meetings show their latest time\n- `list_tasks` — Tasks assigned to you with today/this-week/overdue counts and task groups\n- `list_notes` — Notes the vendor shared (meeting notes, AI recaps)\n- `list_attachments` — Loose images, files and bookmarks (not contracts/invoices — those are workspace files)\n- `list_payments` — Every payment on every file in a workspace, with paid/unpaid totals\n\n## Response shape (`view`)\n\nOnly **two** tools here take the fleet's `view` parameter: `get_project` and\n`get_flow`. Both honour `compact | raw`, and **`compact` is the default** — you\nget the cheap shape without asking for it. There is no `full` rung on either:\n`raw` already IS every field HoneyBook sent, so a third value would silently\nalias to one of the other two.\n\nThe two compact rungs are **not the same kind of thing**, and the difference\ndecides which one you can trust to be complete:\n\n- **`get_project` compact is a field projection.** It keeps `_id`, `name`,\n  `type`, `date`/`end_date`, `time_start`/`time_end`, `timezone`, `location`,\n  `venue_name`, `guests`, `budget`, `details`, `project_dates`, non-empty\n  `custom_fields`, `image_url`, `last_activity_date`, and a de-duplicated\n  `people[]` (`_id`, `name`, `email`, `phone`, `role`, `job_title`, `company`).\n  Everything else is dropped — `view: \"raw\"` returns the untrimmed `/details`\n  response, which embeds the **vendor's entire account**. Ask for it only when\n  you need a field the list above does not name.\n- **`get_flow` compact is a byte ceiling, not a projection.** No field is\n  pruned. Under 200,000 bytes the questionnaire comes back whole and `compact`\n  and `raw` differ only in indentation. Over it, compact replaces the flow with\n  `truncated: { bytes, limit, topLevelKeys, hint }` — its own table of contents\n  instead of its content. So on a large questionnaire the compact rung returns\n  no questions at all; that is the signal to re-call with `view: \"raw\"`. (A real\n  `/active` payload measured 96,246 bytes, comfortably under the ceiling, so the\n  ordinary case is the whole thing.)\n\n**`get_workspace_file` does not take `view`. It takes `section`** —\n`summary` (default) | `pricing` | `agreement` | `payments` | `all` | `raw` —\nand that is a different question, deliberately kept. `view` asks *how much of\nthe whole record to keep*; `section` asks *which part of it to expand*: line\nitems and tax/svc detail (`pricing`), contract HTML and signatures\n(`agreement`), the full payment schedule (`payments`). `all` is the whole file\nwith the vendor-side heavy fields pruned — `vendor_emails` alone measured\n~1.3 MB on one real proposal — and `raw` keeps even those.\n\n**The surprise worth knowing:** passing `view:` to `get_workspace_file` does not\nerror. The unknown key is stripped during validation, the call succeeds, and you\nget the `summary` section — the default you would have got anyway. Nothing tells\nyou the argument was ignored. Use the `section` name.\n\nEvery other tool has no shape parameter, for one of two reasons:\n\n- **Its output is already narrow, with no fatter rung to ask for.**\n  `list_projects`, `list_messages`, `list_meetings`, `list_payments`,\n  `list_tasks` and `list_active_sessions` return hand-built rows rather than the\n  upstream payload. `list_messages` in particular returns compact cards with a\n  240-character `preview` and **no body** — `get_message` is the way to the full\n  text, not a `view` value.\n- **It does not return a record at all.** `sign_contract`, `pay_invoice`,\n  `use_magic_link` and `use_flow_link` answer with prose, a deep link, or a\n  capture receipt.\n\nOne last mechanical note: `raw` comes back **indented**, while `compact` is\nminified. That is deliberate — `raw` is the rung a person reads when a payload\nis not what they expected, and indentation is most of what makes an unfamiliar\nshape legible.\n\n## Workflows\n\n- **First time** → user pastes magic-link URL from vendor email → `use_magic_link` → session captured\n- **\"Fill in / read the vendor's questionnaire\"** → user pastes the `/flow/<id>?hash=…` link → `use_flow_link` → `get_flow`\n- **\"What contracts haven't I signed?\"** → `list_workspace_files` with `file_type=agreement`, filter by `is_file_accepted=false`\n- **\"Summarize my HB status with Silk Veil\"** → `get_workspace` (status flags) + `list_workspace_files`\n- **\"Send me a link to sign the photographer's contract\"** → `list_workspace_files` → `sign_contract` (confirm when prompted)\n- **\"Which invoices are overdue?\"** → `list_workspace_files` with `file_type=invoice`, sort by due date\n- **\"What did the planner send me?\" / \"Read me the latest checklist\"** → `list_projects` → `list_messages` → `get_message`\n- **\"Reply to Ivy and ask about the rehearsal\"** → `list_messages` (find the message) → `send_message` with `reply_to_message_id` → show the user the preview → once they approve, re-run with the same arguments plus the returned `confirmToken` (on a client that shows a confirmation prompt, the prompt replaces these two steps)\n- **\"When is my next Zoom with the planner?\"** → `list_meetings`; the join link and password are in the row\n- **\"What have I paid and what's left?\"** → `list_payments` (`totals.paid` / `totals.unpaid`); to pay one, `pay_invoice`\n- **\"Do I have anything to do?\"** → `list_tasks` (`counts.overdue`, `counts.today`)\n\n## Notes\n\n- Each vendor = separate session keyed by portal origin (e.g. `https://acme.hbportal.co`)\n- Sessions cached in `~/.honeybook-mcp/sessions.json` (mode 0600)\n- **Two credential kinds, not interchangeable.** A portal session reads workspaces/files/invoices; a flow credential is HoneyBook's \"weak auth\", scoped to ONE questionnaire, cached separately in `~/.honeybook-mcp/flows.json`. A portal tool refuses a flow credential by name rather than failing upstream\n- The flow storage key contains the flow id, so the fetchproxy extension asks to re-approve the scope once per new questionnaire\n- Write tools (`sign_contract`, `pay_invoice`) return deep links in v2\n- Session expires → re-run `use_magic_link` with a fresh URL from the vendor's email\n- `send_message` goes out as a real HoneyBook email to everyone in the workspace (the vendor and any co-clients). Always show the user the preview and get their explicit approval before passing the `confirmToken` back — never reuse or invent a token\n- `list_messages` / `get_message` read the same feed the Activity tab renders and do not mark items seen; `unseen_count` counts messages from other people you have not opened\n\nFile v1.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"honeybook\",\n  \"version\": \"1.2.0\",\n  \"publishedAt\": 1790262717671\n}\n\nFile v1.2.0:skill-card.md\n\n## Description:\n\nHelps an agent work with HoneyBook client-portal data for vendor workspaces, contracts, invoices, questionnaires, messages, meetings, tasks, notes, attachments, and payments.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal HoneyBook portal users use this skill to review vendor-shared project information, contracts, invoices, questionnaires, messages, meetings, tasks, notes, attachments, and payment status. The skill also supports confirmed user-directed actions such as preparing portal links for signing or payment and sending HoneyBook messages.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Broad HoneyBook-related triggers may route generic wedding, payment, message, or meeting requests into tools that access sensitive portal data.\n\nMitigation: Confirm the user intends to use HoneyBook before reading portal data, marking messages seen, sending messages, or providing signing and payment links.\n\nRisk: Local HoneyBook portal credentials may remain available after the user no longer needs access.\n\nMitigation: Review and clear the local ~/.honeybook-mcp credential cache when HoneyBook access is no longer needed.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/honeybook)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance]\n\n**Output Format:** [Markdown or plain text summaries with portal links and confirmation guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include sensitive HoneyBook portal details and user-confirmed outbound message or portal-action previews.]\n\n## Skill Version(s):\n\n1.2.0 (source: server release evidence)\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\nArchive v1.1.4: 3 files, 5413 bytes\n\nFiles: skill-card.md (2074b), SKILL.md (8913b), _meta.json (128b)\n\nFile v1.1.4:SKILL.md\n\n---\nname: honeybook\ndescription: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n---\n\n# honeybook-mcp\n\nMCP server for HoneyBook's client portal — contracts, invoices, questionnaires, messages, meetings, tasks and payments across multiple wedding vendors, with magic-link session capture, in-portal messaging, and deep-link fallback for signing and paying.\n\n## Tools\n\n- `use_magic_link` — Capture a portal session from a vendor magic-link URL (`/app/link/resolve/…`)\n- `use_flow_link` — Capture a questionnaire credential from a flow link (`/flow/<flowId>?hash=…`)\n- `list_active_sessions` — Show active credentials, split into `portalSessions` and `flowCredentials`\n- `get_flow(flow_id?, view?)` — Read one questionnaire (flow) and its answers (two calls: public `/minimal` for the vendor company id, then `/client/flow/<id>/active?ctxc=…`)\n- `list_workspace_files` — All files one vendor has shared (filter by type)\n- `get_workspace_file(file_id, section?)` — Full detail for one file. Takes `section`, **not** `view` — see below\n- `get_workspace` — Workspace detail + status flags\n- `list_payment_methods` — Saved payment methods\n- `sign_contract` — Deep link to sign in portal (requires `confirm:true`)\n- `pay_invoice` — Deep link to pay in portal (requires `confirm:true`)\n- `list_projects` — Your projects (HoneyBook \"events\") with a vendor, each with the `workspace_id` the tools below take\n- `get_project(project_id, view?)` — Project details: date, time, location, guests, custom fields, people (name/email/phone/role)\n- `list_messages` — Messages in a workspace (`kind=activity` for the activity log, `kind=all` for both): compact cards, newest first; never marks anything seen\n- `get_message` — One message in full (`format=text` default, or `html`) with attachments and delivery status\n- `send_message` — Send a new message (`subject` + `body`) or reply (`reply_to_message_id`, subject inherited) through the portal; requires `confirm:true`\n- `mark_messages_seen` — Mark feed items seen, the way opening the Activity tab does\n- `list_meetings` — Meetings the vendor scheduled (consultations, Zoom calls): time, join link, password; rescheduled meetings show their latest time\n- `list_tasks` — Tasks assigned to you with today/this-week/overdue counts and task groups\n- `list_notes` — Notes the vendor shared (meeting notes, AI recaps)\n- `list_attachments` — Loose images, files and bookmarks (not contracts/invoices — those are workspace files)\n- `list_payments` — Every payment on every file in a workspace, with paid/unpaid totals\n\n## Response shape (`view`)\n\nOnly **two** tools here take the fleet's `view` parameter: `get_project` and\n`get_flow`. Both honour `compact | raw`, and **`compact` is the default** — you\nget the cheap shape without asking for it. There is no `full` rung on either:\n`raw` already IS every field HoneyBook sent, so a third value would silently\nalias to one of the other two.\n\nThe two compact rungs are **not the same kind of thing**, and the difference\ndecides which one you can trust to be complete:\n\n- **`get_project` compact is a field projection.** It keeps `_id`, `name`,\n  `type`, `date`/`end_date`, `time_start`/`time_end`, `timezone`, `location`,\n  `venue_name`, `guests`, `budget`, `details`, `project_dates`, non-empty\n  `custom_fields`, `image_url`, `last_activity_date`, and a de-duplicated\n  `people[]` (`_id`, `name`, `email`, `phone`, `role`, `job_title`, `company`).\n  Everything else is dropped — `view: \"raw\"` returns the untrimmed `/details`\n  response, which embeds the **vendor's entire account**. Ask for it only when\n  you need a field the list above does not name.\n- **`get_flow` compact is a byte ceiling, not a projection.** No field is\n  pruned. Under 200,000 bytes the questionnaire comes back whole and `compact`\n  and `raw` differ only in indentation. Over it, compact replaces the flow with\n  `truncated: { bytes, limit, topLevelKeys, hint }` — its own table of contents\n  instead of its content. So on a large questionnaire the compact rung returns\n  no questions at all; that is the signal to re-call with `view: \"raw\"`. (A real\n  `/active` payload measured 96,246 bytes, comfortably under the ceiling, so the\n  ordinary case is the whole thing.)\n\n**`get_workspace_file` does not take `view`. It takes `section`** —\n`summary` (default) | `pricing` | `agreement` | `payments` | `all` | `raw` —\nand that is a different question, deliberately kept. `view` asks *how much of\nthe whole record to keep*; `section` asks *which part of it to expand*: line\nitems and tax/svc detail (`pricing`), contract HTML and signatures\n(`agreement`), the full payment schedule (`payments`). `all` is the whole file\nwith the vendor-side heavy fields pruned — `vendor_emails` alone measured\n~1.3 MB on one real proposal — and `raw` keeps even those.\n\n**The surprise worth knowing:** passing `view:` to `get_workspace_file` does not\nerror. The unknown key is stripped during validation, the call succeeds, and you\nget the `summary` section — the default you would have got anyway. Nothing tells\nyou the argument was ignored. Use the `section` name.\n\nEvery other tool has no shape parameter, for one of two reasons:\n\n- **Its output is already narrow, with no fatter rung to ask for.**\n  `list_projects`, `list_messages`, `list_meetings`, `list_payments`,\n  `list_tasks` and `list_active_sessions` return hand-built rows rather than the\n  upstream payload. `list_messages` in particular returns compact cards with a\n  240-character `preview` and **no body** — `get_message` is the way to the full\n  text, not a `view` value.\n- **It does not return a record at all.** `sign_contract`, `pay_invoice`,\n  `use_magic_link` and `use_flow_link` answer with prose, a deep link, or a\n  capture receipt.\n\nOne last mechanical note: `raw` comes back **indented**, while `compact` is\nminified. That is deliberate — `raw` is the rung a person reads when a payload\nis not what they expected, and indentation is most of what makes an unfamiliar\nshape legible.\n\n## Workflows\n\n- **First time** → user pastes magic-link URL from vendor email → `use_magic_link` → session captured\n- **\"Fill in / read the vendor's questionnaire\"** → user pastes the `/flow/<id>?hash=…` link → `use_flow_link` → `get_flow`\n- **\"What contracts haven't I signed?\"** → `list_workspace_files` with `file_type=agreement`, filter by `is_file_accepted=false`\n- **\"Summarize my HB status with Silk Veil\"** → `get_workspace` (status flags) + `list_workspace_files`\n- **\"Send me a link to sign the photographer's contract\"** → `list_workspace_files` → `sign_contract` with `confirm:true`\n- **\"Which invoices are overdue?\"** → `list_workspace_files` with `file_type=invoice`, sort by due date\n- **\"What did the planner send me?\" / \"Read me the latest checklist\"** → `list_projects` → `list_messages` → `get_message`\n- **\"Reply to Ivy and ask about the rehearsal\"** → `list_messages` (find the message) → `send_message` with `reply_to_message_id` and no `confirm` (preview) → re-run with `confirm:true`\n- **\"When is my next Zoom with the planner?\"** → `list_meetings`; the join link and password are in the row\n- **\"What have I paid and what's left?\"** → `list_payments` (`totals.paid` / `totals.unpaid`); to pay one, `pay_invoice`\n- **\"Do I have anything to do?\"** → `list_tasks` (`counts.overdue`, `counts.today`)\n\n## Notes\n\n- Each vendor = separate session keyed by portal origin (e.g. `https://acme.hbportal.co`)\n- Sessions cached in `~/.honeybook-mcp/sessions.json` (mode 0600)\n- **Two credential kinds, not interchangeable.** A portal session reads workspaces/files/invoices; a flow credential is HoneyBook's \"weak auth\", scoped to ONE questionnaire, cached separately in `~/.honeybook-mcp/flows.json`. A portal tool refuses a flow credential by name rather than failing upstream\n- The flow storage key contains the flow id, so the fetchproxy extension asks to re-approve the scope once per new questionnaire\n- Write tools (`sign_contract`, `pay_invoice`) return deep links in v2\n- Session expires → re-run `use_magic_link` with a fresh URL from the vendor's email\n- `send_message` goes out as a real HoneyBook email to everyone in the workspace (the vendor and any co-clients). Always show the preview (no `confirm`) before sending\n- `list_messages` / `get_message` read the same feed the Activity tab renders and do not mark items seen; `unseen_count` counts messages from other people you have not opened\n\nFile v1.1.4:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"honeybook\",\n  \"version\": \"1.1.4\",\n  \"publishedAt\": 1790199649239\n}\n\nFile v1.1.4:skill-card.md\n\n## Description:\n\nThis skill helps an agent work with HoneyBook client-portal data for wedding-vendor contracts, invoices, proposals, payments, messages, meetings, tasks, and questionnaires.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external users use this skill to let an agent inspect HoneyBook portal status, summarize vendor activity, retrieve project and payment details, and prepare controlled portal actions such as sending messages or opening signing and payment links.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: HoneyBook magic links, flow links, and cached sessions can function as credentials.\n\nMitigation: Install and use the skill only when the agent is intended to handle HoneyBook portal links and sessions, and treat pasted portal or flow links as sensitive credential material.\n\nRisk: Message, contract, and invoice workflows can affect real HoneyBook vendors, co-clients, agreements, and payments.\n\nMitigation: Review previews before sending messages and use confirm:true only when ready to send a real portal message or open signing or payment links.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/honeybook)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown, structured tool guidance, and inline command or configuration snippets]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include portal deep links, previews for outbound messages, compact summaries, and raw HoneyBook records when requested.]\n\n## Skill Version(s):\n\n1.1.4 (source: server release metadata)\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\nArchive v1.1.3: 3 files, 5453 bytes\n\nFiles: skill-card.md (2210b), SKILL.md (8913b), _meta.json (128b)\n\nFile v1.1.3:SKILL.md\n\n---\nname: honeybook\ndescription: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n---\n\n# honeybook-mcp\n\nMCP server for HoneyBook's client portal — contracts, invoices, questionnaires, messages, meetings, tasks and payments across multiple wedding vendors, with magic-link session capture, in-portal messaging, and deep-link fallback for signing and paying.\n\n## Tools\n\n- `use_magic_link` — Capture a portal session from a vendor magic-link URL (`/app/link/resolve/…`)\n- `use_flow_link` — Capture a questionnaire credential from a flow link (`/flow/<flowId>?hash=…`)\n- `list_active_sessions` — Show active credentials, split into `portalSessions` and `flowCredentials`\n- `get_flow(flow_id?, view?)` — Read one questionnaire (flow) and its answers (two calls: public `/minimal` for the vendor company id, then `/client/flow/<id>/active?ctxc=…`)\n- `list_workspace_files` — All files one vendor has shared (filter by type)\n- `get_workspace_file(file_id, section?)` — Full detail for one file. Takes `section`, **not** `view` — see below\n- `get_workspace` — Workspace detail + status flags\n- `list_payment_methods` — Saved payment methods\n- `sign_contract` — Deep link to sign in portal (requires `confirm:true`)\n- `pay_invoice` — Deep link to pay in portal (requires `confirm:true`)\n- `list_projects` — Your projects (HoneyBook \"events\") with a vendor, each with the `workspace_id` the tools below take\n- `get_project(project_id, view?)` — Project details: date, time, location, guests, custom fields, people (name/email/phone/role)\n- `list_messages` — Messages in a workspace (`kind=activity` for the activity log, `kind=all` for both): compact cards, newest first; never marks anything seen\n- `get_message` — One message in full (`format=text` default, or `html`) with attachments and delivery status\n- `send_message` — Send a new message (`subject` + `body`) or reply (`reply_to_message_id`, subject inherited) through the portal; requires `confirm:true`\n- `mark_messages_seen` — Mark feed items seen, the way opening the Activity tab does\n- `list_meetings` — Meetings the vendor scheduled (consultations, Zoom calls): time, join link, password; rescheduled meetings show their latest time\n- `list_tasks` — Tasks assigned to you with today/this-week/overdue counts and task groups\n- `list_notes` — Notes the vendor shared (meeting notes, AI recaps)\n- `list_attachments` — Loose images, files and bookmarks (not contracts/invoices — those are workspace files)\n- `list_payments` — Every payment on every file in a workspace, with paid/unpaid totals\n\n## Response shape (`view`)\n\nOnly **two** tools here take the fleet's `view` parameter: `get_project` and\n`get_flow`. Both honour `compact | raw`, and **`compact` is the default** — you\nget the cheap shape without asking for it. There is no `full` rung on either:\n`raw` already IS every field HoneyBook sent, so a third value would silently\nalias to one of the other two.\n\nThe two compact rungs are **not the same kind of thing**, and the difference\ndecides which one you can trust to be complete:\n\n- **`get_project` compact is a field projection.** It keeps `_id`, `name`,\n  `type`, `date`/`end_date`, `time_start`/`time_end`, `timezone`, `location`,\n  `venue_name`, `guests`, `budget`, `details`, `project_dates`, non-empty\n  `custom_fields`, `image_url`, `last_activity_date`, and a de-duplicated\n  `people[]` (`_id`, `name`, `email`, `phone`, `role`, `job_title`, `company`).\n  Everything else is dropped — `view: \"raw\"` returns the untrimmed `/details`\n  response, which embeds the **vendor's entire account**. Ask for it only when\n  you need a field the list above does not name.\n- **`get_flow` compact is a byte ceiling, not a projection.** No field is\n  pruned. Under 200,000 bytes the questionnaire comes back whole and `compact`\n  and `raw` differ only in indentation. Over it, compact replaces the flow with\n  `truncated: { bytes, limit, topLevelKeys, hint }` — its own table of contents\n  instead of its content. So on a large questionnaire the compact rung returns\n  no questions at all; that is the signal to re-call with `view: \"raw\"`. (A real\n  `/active` payload measured 96,246 bytes, comfortably under the ceiling, so the\n  ordinary case is the whole thing.)\n\n**`get_workspace_file` does not take `view`. It takes `section`** —\n`summary` (default) | `pricing` | `agreement` | `payments` | `all` | `raw` —\nand that is a different question, deliberately kept. `view` asks *how much of\nthe whole record to keep*; `section` asks *which part of it to expand*: line\nitems and tax/svc detail (`pricing`), contract HTML and signatures\n(`agreement`), the full payment schedule (`payments`). `all` is the whole file\nwith the vendor-side heavy fields pruned — `vendor_emails` alone measured\n~1.3 MB on one real proposal — and `raw` keeps even those.\n\n**The surprise worth knowing:** passing `view:` to `get_workspace_file` does not\nerror. The unknown key is stripped during validation, the call succeeds, and you\nget the `summary` section — the default you would have got anyway. Nothing tells\nyou the argument was ignored. Use the `section` name.\n\nEvery other tool has no shape parameter, for one of two reasons:\n\n- **Its output is already narrow, with no fatter rung to ask for.**\n  `list_projects`, `list_messages`, `list_meetings`, `list_payments`,\n  `list_tasks` and `list_active_sessions` return hand-built rows rather than the\n  upstream payload. `list_messages` in particular returns compact cards with a\n  240-character `preview` and **no body** — `get_message` is the way to the full\n  text, not a `view` value.\n- **It does not return a record at all.** `sign_contract`, `pay_invoice`,\n  `use_magic_link` and `use_flow_link` answer with prose, a deep link, or a\n  capture receipt.\n\nOne last mechanical note: `raw` comes back **indented**, while `compact` is\nminified. That is deliberate — `raw` is the rung a person reads when a payload\nis not what they expected, and indentation is most of what makes an unfamiliar\nshape legible.\n\n## Workflows\n\n- **First time** → user pastes magic-link URL from vendor email → `use_magic_link` → session captured\n- **\"Fill in / read the vendor's questionnaire\"** → user pastes the `/flow/<id>?hash=…` link → `use_flow_link` → `get_flow`\n- **\"What contracts haven't I signed?\"** → `list_workspace_files` with `file_type=agreement`, filter by `is_file_accepted=false`\n- **\"Summarize my HB status with Silk Veil\"** → `get_workspace` (status flags) + `list_workspace_files`\n- **\"Send me a link to sign the photographer's contract\"** → `list_workspace_files` → `sign_contract` with `confirm:true`\n- **\"Which invoices are overdue?\"** → `list_workspace_files` with `file_type=invoice`, sort by due date\n- **\"What did the planner send me?\" / \"Read me the latest checklist\"** → `list_projects` → `list_messages` → `get_message`\n- **\"Reply to Ivy and ask about the rehearsal\"** → `list_messages` (find the message) → `send_message` with `reply_to_message_id` and no `confirm` (preview) → re-run with `confirm:true`\n- **\"When is my next Zoom with the planner?\"** → `list_meetings`; the join link and password are in the row\n- **\"What have I paid and what's left?\"** → `list_payments` (`totals.paid` / `totals.unpaid`); to pay one, `pay_invoice`\n- **\"Do I have anything to do?\"** → `list_tasks` (`counts.overdue`, `counts.today`)\n\n## Notes\n\n- Each vendor = separate session keyed by portal origin (e.g. `https://acme.hbportal.co`)\n- Sessions cached in `~/.honeybook-mcp/sessions.json` (mode 0600)\n- **Two credential kinds, not interchangeable.** A portal session reads workspaces/files/invoices; a flow credential is HoneyBook's \"weak auth\", scoped to ONE questionnaire, cached separately in `~/.honeybook-mcp/flows.json`. A portal tool refuses a flow credential by name rather than failing upstream\n- The flow storage key contains the flow id, so the fetchproxy extension asks to re-approve the scope once per new questionnaire\n- Write tools (`sign_contract`, `pay_invoice`) return deep links in v2\n- Session expires → re-run `use_magic_link` with a fresh URL from the vendor's email\n- `send_message` goes out as a real HoneyBook email to everyone in the workspace (the vendor and any co-clients). Always show the preview (no `confirm`) before sending\n- `list_messages` / `get_message` read the same feed the Activity tab renders and do not mark items seen; `unseen_count` counts messages from other people you have not opened\n\nFile v1.1.3:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"honeybook\",\n  \"version\": \"1.1.3\",\n  \"publishedAt\": 1790178041022\n}\n\nFile v1.1.3:skill-card.md\n\n## Description:\n\nProvides agent access to HoneyBook client-portal data for contracts, invoices, questionnaires, messages, meetings, tasks, payments, and vendor workspace status.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and their agents use this skill to inspect and act on HoneyBook client-portal work for wedding vendors, including unsigned contracts, open invoices, questionnaires, messages, meetings, tasks, and payments.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Magic links, flow links, and cached sessions can expose sensitive HoneyBook portal data.\n\nMitigation: Treat portal and flow links like credentials, use the skill only for intended HoneyBook work, and remove or revoke cached sessions when they are no longer needed.\n\nRisk: Outbound actions such as sending messages, signing contracts, or paying invoices can have real-world consequences.\n\nMitigation: Require explicit confirmation for send, sign, and pay flows, and review message previews before confirming a send.\n\nRisk: Raw views can disclose more vendor account or personal data than a user needs for the task.\n\nMitigation: Prefer compact or summary views and request raw data only when a specific missing field is required.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/honeybook)\n\n## Skill Output:\n\n**Output Type(s):** [text, structured data, deep links, guidance]\n\n**Output Format:** [Plain text or Markdown responses with structured tool results and HoneyBook portal deep links.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Confirmation is required before signing, paying, or sending messages; compact or summary views are preferred unless raw data is needed.]\n\n## Skill Version(s):\n\n1.1.3 (source: server release evidence)\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\nArchive v1.1.2: 3 files, 5493 bytes\n\nFiles: skill-card.md (2360b), SKILL.md (8913b), _meta.json (128b)\n\nFile v1.1.2:SKILL.md\n\n---\nname: honeybook\ndescription: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n---\n\n# honeybook-mcp\n\nMCP server for HoneyBook's client portal — contracts, invoices, questionnaires, messages, meetings, tasks and payments across multiple wedding vendors, with magic-link session capture, in-portal messaging, and deep-link fallback for signing and paying.\n\n## Tools\n\n- `use_magic_link` — Capture a portal session from a vendor magic-link URL (`/app/link/resolve/…`)\n- `use_flow_link` — Capture a questionnaire credential from a flow link (`/flow/<flowId>?hash=…`)\n- `list_active_sessions` — Show active credentials, split into `portalSessions` and `flowCredentials`\n- `get_flow(flow_id?, view?)` — Read one questionnaire (flow) and its answers (two calls: public `/minimal` for the vendor company id, then `/client/flow/<id>/active?ctxc=…`)\n- `list_workspace_files` — All files one vendor has shared (filter by type)\n- `get_workspace_file(file_id, section?)` — Full detail for one file. Takes `section`, **not** `view` — see below\n- `get_workspace` — Workspace detail + status flags\n- `list_payment_methods` — Saved payment methods\n- `sign_contract` — Deep link to sign in portal (requires `confirm:true`)\n- `pay_invoice` — Deep link to pay in portal (requires `confirm:true`)\n- `list_projects` — Your projects (HoneyBook \"events\") with a vendor, each with the `workspace_id` the tools below take\n- `get_project(project_id, view?)` — Project details: date, time, location, guests, custom fields, people (name/email/phone/role)\n- `list_messages` — Messages in a workspace (`kind=activity` for the activity log, `kind=all` for both): compact cards, newest first; never marks anything seen\n- `get_message` — One message in full (`format=text` default, or `html`) with attachments and delivery status\n- `send_message` — Send a new message (`subject` + `body`) or reply (`reply_to_message_id`, subject inherited) through the portal; requires `confirm:true`\n- `mark_messages_seen` — Mark feed items seen, the way opening the Activity tab does\n- `list_meetings` — Meetings the vendor scheduled (consultations, Zoom calls): time, join link, password; rescheduled meetings show their latest time\n- `list_tasks` — Tasks assigned to you with today/this-week/overdue counts and task groups\n- `list_notes` — Notes the vendor shared (meeting notes, AI recaps)\n- `list_attachments` — Loose images, files and bookmarks (not contracts/invoices — those are workspace files)\n- `list_payments` — Every payment on every file in a workspace, with paid/unpaid totals\n\n## Response shape (`view`)\n\nOnly **two** tools here take the fleet's `view` parameter: `get_project` and\n`get_flow`. Both honour `compact | raw`, and **`compact` is the default** — you\nget the cheap shape without asking for it. There is no `full` rung on either:\n`raw` already IS every field HoneyBook sent, so a third value would silently\nalias to one of the other two.\n\nThe two compact rungs are **not the same kind of thing**, and the difference\ndecides which one you can trust to be complete:\n\n- **`get_project` compact is a field projection.** It keeps `_id`, `name`,\n  `type`, `date`/`end_date`, `time_start`/`time_end`, `timezone`, `location`,\n  `venue_name`, `guests`, `budget`, `details`, `project_dates`, non-empty\n  `custom_fields`, `image_url`, `last_activity_date`, and a de-duplicated\n  `people[]` (`_id`, `name`, `email`, `phone`, `role`, `job_title`, `company`).\n  Everything else is dropped — `view: \"raw\"` returns the untrimmed `/details`\n  response, which embeds the **vendor's entire account**. Ask for it only when\n  you need a field the list above does not name.\n- **`get_flow` compact is a byte ceiling, not a projection.** No field is\n  pruned. Under 200,000 bytes the questionnaire comes back whole and `compact`\n  and `raw` differ only in indentation. Over it, compact replaces the flow with\n  `truncated: { bytes, limit, topLevelKeys, hint }` — its own table of contents\n  instead of its content. So on a large questionnaire the compact rung returns\n  no questions at all; that is the signal to re-call with `view: \"raw\"`. (A real\n  `/active` payload measured 96,246 bytes, comfortably under the ceiling, so the\n  ordinary case is the whole thing.)\n\n**`get_workspace_file` does not take `view`. It takes `section`** —\n`summary` (default) | `pricing` | `agreement` | `payments` | `all` | `raw` —\nand that is a different question, deliberately kept. `view` asks *how much of\nthe whole record to keep*; `section` asks *which part of it to expand*: line\nitems and tax/svc detail (`pricing`), contract HTML and signatures\n(`agreement`), the full payment schedule (`payments`). `all` is the whole file\nwith the vendor-side heavy fields pruned — `vendor_emails` alone measured\n~1.3 MB on one real proposal — and `raw` keeps even those.\n\n**The surprise worth knowing:** passing `view:` to `get_workspace_file` does not\nerror. The unknown key is stripped during validation, the call succeeds, and you\nget the `summary` section — the default you would have got anyway. Nothing tells\nyou the argument was ignored. Use the `section` name.\n\nEvery other tool has no shape parameter, for one of two reasons:\n\n- **Its output is already narrow, with no fatter rung to ask for.**\n  `list_projects`, `list_messages`, `list_meetings`, `list_payments`,\n  `list_tasks` and `list_active_sessions` return hand-built rows rather than the\n  upstream payload. `list_messages` in particular returns compact cards with a\n  240-character `preview` and **no body** — `get_message` is the way to the full\n  text, not a `view` value.\n- **It does not return a record at all.** `sign_contract`, `pay_invoice`,\n  `use_magic_link` and `use_flow_link` answer with prose, a deep link, or a\n  capture receipt.\n\nOne last mechanical note: `raw` comes back **indented**, while `compact` is\nminified. That is deliberate — `raw` is the rung a person reads when a payload\nis not what they expected, and indentation is most of what makes an unfamiliar\nshape legible.\n\n## Workflows\n\n- **First time** → user pastes magic-link URL from vendor email → `use_magic_link` → session captured\n- **\"Fill in / read the vendor's questionnaire\"** → user pastes the `/flow/<id>?hash=…` link → `use_flow_link` → `get_flow`\n- **\"What contracts haven't I signed?\"** → `list_workspace_files` with `file_type=agreement`, filter by `is_file_accepted=false`\n- **\"Summarize my HB status with Silk Veil\"** → `get_workspace` (status flags) + `list_workspace_files`\n- **\"Send me a link to sign the photographer's contract\"** → `list_workspace_files` → `sign_contract` with `confirm:true`\n- **\"Which invoices are overdue?\"** → `list_workspace_files` with `file_type=invoice`, sort by due date\n- **\"What did the planner send me?\" / \"Read me the latest checklist\"** → `list_projects` → `list_messages` → `get_message`\n- **\"Reply to Ivy and ask about the rehearsal\"** → `list_messages` (find the message) → `send_message` with `reply_to_message_id` and no `confirm` (preview) → re-run with `confirm:true`\n- **\"When is my next Zoom with the planner?\"** → `list_meetings`; the join link and password are in the row\n- **\"What have I paid and what's left?\"** → `list_payments` (`totals.paid` / `totals.unpaid`); to pay one, `pay_invoice`\n- **\"Do I have anything to do?\"** → `list_tasks` (`counts.overdue`, `counts.today`)\n\n## Notes\n\n- Each vendor = separate session keyed by portal origin (e.g. `https://acme.hbportal.co`)\n- Sessions cached in `~/.honeybook-mcp/sessions.json` (mode 0600)\n- **Two credential kinds, not interchangeable.** A portal session reads workspaces/files/invoices; a flow credential is HoneyBook's \"weak auth\", scoped to ONE questionnaire, cached separately in `~/.honeybook-mcp/flows.json`. A portal tool refuses a flow credential by name rather than failing upstream\n- The flow storage key contains the flow id, so the fetchproxy extension asks to re-approve the scope once per new questionnaire\n- Write tools (`sign_contract`, `pay_invoice`) return deep links in v2\n- Session expires → re-run `use_magic_link` with a fresh URL from the vendor's email\n- `send_message` goes out as a real HoneyBook email to everyone in the workspace (the vendor and any co-clients). Always show the preview (no `confirm`) before sending\n- `list_messages` / `get_message` read the same feed the Activity tab renders and do not mark items seen; `unseen_count` counts messages from other people you have not opened\n\nFile v1.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"honeybook\",\n  \"version\": \"1.1.2\",\n  \"publishedAt\": 1789967022050\n}\n\nFile v1.1.2:skill-card.md\n\n## Description:\n\nProvides HoneyBook client-portal assistance for contracts, invoices, questionnaires, messages, meetings, tasks, payments, and vendor workspace data.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to read and manage HoneyBook client-portal data across wedding vendors, including contracts, invoices, questionnaires, messages, meetings, tasks, notes, attachments, and payments. It supports confirmed actions such as generating sign or pay links and sending portal messages.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can access sensitive HoneyBook portal, vendor, contract, invoice, payment-related, and message data.\n\nMitigation: Install and invoke it only for HoneyBook workflows where the user expects the agent to handle that portal data.\n\nRisk: The skill stores HoneyBook session credentials locally.\n\nMitigation: Use it only on trusted environments and remove stored sessions when access is no longer needed.\n\nRisk: Broad trigger wording around invoices, contracts, planners, vendors, and payments may activate the skill for general requests.\n\nMitigation: Confirm that the request is intended to use HoneyBook data before reading portal records or preparing actions.\n\nRisk: Sending HoneyBook portal messages can contact vendors and co-clients.\n\nMitigation: Preview outgoing messages and require explicit confirmation before sending.\n\n## Reference(s):\n\n- [ClawHub honeybook skill page](https://clawhub.ai/chrischall/skills/honeybook)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Structured data, Deep links, Guidance]\n\n**Output Format:** [Markdown-style agent responses with structured HoneyBook portal data and portal links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Some actions require explicit confirmation before producing sign, pay, or send-message outcomes.]\n\n## Skill Version(s):\n\n1.1.2 (source: server release metadata)\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\nArchive v1.1.1: 3 files, 5477 bytes\n\nFiles: skill-card.md (2311b), SKILL.md (8913b), _meta.json (128b)\n\nFile v1.1.1:SKILL.md\n\n---\nname: honeybook\ndescription: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n---\n\n# honeybook-mcp\n\nMCP server for HoneyBook's client portal — contracts, invoices, questionnaires, messages, meetings, tasks and payments across multiple wedding vendors, with magic-link session capture, in-portal messaging, and deep-link fallback for signing and paying.\n\n## Tools\n\n- `use_magic_link` — Capture a portal session from a vendor magic-link URL (`/app/link/resolve/…`)\n- `use_flow_link` — Capture a questionnaire credential from a flow link (`/flow/<flowId>?hash=…`)\n- `list_active_sessions` — Show active credentials, split into `portalSessions` and `flowCredentials`\n- `get_flow(flow_id?, view?)` — Read one questionnaire (flow) and its answers (two calls: public `/minimal` for the vendor company id, then `/client/flow/<id>/active?ctxc=…`)\n- `list_workspace_files` — All files one vendor has shared (filter by type)\n- `get_workspace_file(file_id, section?)` — Full detail for one file. Takes `section`, **not** `view` — see below\n- `get_workspace` — Workspace detail + status flags\n- `list_payment_methods` — Saved payment methods\n- `sign_contract` — Deep link to sign in portal (requires `confirm:true`)\n- `pay_invoice` — Deep link to pay in portal (requires `confirm:true`)\n- `list_projects` — Your projects (HoneyBook \"events\") with a vendor, each with the `workspace_id` the tools below take\n- `get_project(project_id, view?)` — Project details: date, time, location, guests, custom fields, people (name/email/phone/role)\n- `list_messages` — Messages in a workspace (`kind=activity` for the activity log, `kind=all` for both): compact cards, newest first; never marks anything seen\n- `get_message` — One message in full (`format=text` default, or `html`) with attachments and delivery status\n- `send_message` — Send a new message (`subject` + `body`) or reply (`reply_to_message_id`, subject inherited) through the portal; requires `confirm:true`\n- `mark_messages_seen` — Mark feed items seen, the way opening the Activity tab does\n- `list_meetings` — Meetings the vendor scheduled (consultations, Zoom calls): time, join link, password; rescheduled meetings show their latest time\n- `list_tasks` — Tasks assigned to you with today/this-week/overdue counts and task groups\n- `list_notes` — Notes the vendor shared (meeting notes, AI recaps)\n- `list_attachments` — Loose images, files and bookmarks (not contracts/invoices — those are workspace files)\n- `list_payments` — Every payment on every file in a workspace, with paid/unpaid totals\n\n## Response shape (`view`)\n\nOnly **two** tools here take the fleet's `view` parameter: `get_project` and\n`get_flow`. Both honour `compact | raw`, and **`compact` is the default** — you\nget the cheap shape without asking for it. There is no `full` rung on either:\n`raw` already IS every field HoneyBook sent, so a third value would silently\nalias to one of the other two.\n\nThe two compact rungs are **not the same kind of thing**, and the difference\ndecides which one you can trust to be complete:\n\n- **`get_project` compact is a field projection.** It keeps `_id`, `name`,\n  `type`, `date`/`end_date`, `time_start`/`time_end`, `timezone`, `location`,\n  `venue_name`, `guests`, `budget`, `details`, `project_dates`, non-empty\n  `custom_fields`, `image_url`, `last_activity_date`, and a de-duplicated\n  `people[]` (`_id`, `name`, `email`, `phone`, `role`, `job_title`, `company`).\n  Everything else is dropped — `view: \"raw\"` returns the untrimmed `/details`\n  response, which embeds the **vendor's entire account**. Ask for it only when\n  you need a field the list above does not name.\n- **`get_flow` compact is a byte ceiling, not a projection.** No field is\n  pruned. Under 200,000 bytes the questionnaire comes back whole and `compact`\n  and `raw` differ only in indentation. Over it, compact replaces the flow with\n  `truncated: { bytes, limit, topLevelKeys, hint }` — its own table of contents\n  instead of its content. So on a large questionnaire the compact rung returns\n  no questions at all; that is the signal to re-call with `view: \"raw\"`. (A real\n  `/active` payload measured 96,246 bytes, comfortably under the ceiling, so the\n  ordinary case is the whole thing.)\n\n**`get_workspace_file` does not take `view`. It takes `section`** —\n`summary` (default) | `pricing` | `agreement` | `payments` | `all` | `raw` —\nand that is a different question, deliberately kept. `view` asks *how much of\nthe whole record to keep*; `section` asks *which part of it to expand*: line\nitems and tax/svc detail (`pricing`), contract HTML and signatures\n(`agreement`), the full payment schedule (`payments`). `all` is the whole file\nwith the vendor-side heavy fields pruned — `vendor_emails` alone measured\n~1.3 MB on one real proposal — and `raw` keeps even those.\n\n**The surprise worth knowing:** passing `view:` to `get_workspace_file` does not\nerror. The unknown key is stripped during validation, the call succeeds, and you\nget the `summary` section — the default you would have got anyway. Nothing tells\nyou the argument was ignored. Use the `section` name.\n\nEvery other tool has no shape parameter, for one of two reasons:\n\n- **Its output is already narrow, with no fatter rung to ask for.**\n  `list_projects`, `list_messages`, `list_meetings`, `list_payments`,\n  `list_tasks` and `list_active_sessions` return hand-built rows rather than the\n  upstream payload. `list_messages` in particular returns compact cards with a\n  240-character `preview` and **no body** — `get_message` is the way to the full\n  text, not a `view` value.\n- **It does not return a record at all.** `sign_contract`, `pay_invoice`,\n  `use_magic_link` and `use_flow_link` answer with prose, a deep link, or a\n  capture receipt.\n\nOne last mechanical note: `raw` comes back **indented**, while `compact` is\nminified. That is deliberate — `raw` is the rung a person reads when a payload\nis not what they expected, and indentation is most of what makes an unfamiliar\nshape legible.\n\n## Workflows\n\n- **First time** → user pastes magic-link URL from vendor email → `use_magic_link` → session captured\n- **\"Fill in / read the vendor's questionnaire\"** → user pastes the `/flow/<id>?hash=…` link → `use_flow_link` → `get_flow`\n- **\"What contracts haven't I signed?\"** → `list_workspace_files` with `file_type=agreement`, filter by `is_file_accepted=false`\n- **\"Summarize my HB status with Silk Veil\"** → `get_workspace` (status flags) + `list_workspace_files`\n- **\"Send me a link to sign the photographer's contract\"** → `list_workspace_files` → `sign_contract` with `confirm:true`\n- **\"Which invoices are overdue?\"** → `list_workspace_files` with `file_type=invoice`, sort by due date\n- **\"What did the planner send me?\" / \"Read me the latest checklist\"** → `list_projects` → `list_messages` → `get_message`\n- **\"Reply to Ivy and ask about the rehearsal\"** → `list_messages` (find the message) → `send_message` with `reply_to_message_id` and no `confirm` (preview) → re-run with `confirm:true`\n- **\"When is my next Zoom with the planner?\"** → `list_meetings`; the join link and password are in the row\n- **\"What have I paid and what's left?\"** → `list_payments` (`totals.paid` / `totals.unpaid`); to pay one, `pay_invoice`\n- **\"Do I have anything to do?\"** → `list_tasks` (`counts.overdue`, `counts.today`)\n\n## Notes\n\n- Each vendor = separate session keyed by portal origin (e.g. `https://acme.hbportal.co`)\n- Sessions cached in `~/.honeybook-mcp/sessions.json` (mode 0600)\n- **Two credential kinds, not interchangeable.** A portal session reads workspaces/files/invoices; a flow credential is HoneyBook's \"weak auth\", scoped to ONE questionnaire, cached separately in `~/.honeybook-mcp/flows.json`. A portal tool refuses a flow credential by name rather than failing upstream\n- The flow storage key contains the flow id, so the fetchproxy extension asks to re-approve the scope once per new questionnaire\n- Write tools (`sign_contract`, `pay_invoice`) return deep links in v2\n- Session expires → re-run `use_magic_link` with a fresh URL from the vendor's email\n- `send_message` goes out as a real HoneyBook email to everyone in the workspace (the vendor and any co-clients). Always show the preview (no `confirm`) before sending\n- `list_messages` / `get_message` read the same feed the Activity tab renders and do not mark items seen; `unseen_count` counts messages from other people you have not opened\n\nFile v1.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"honeybook\",\n  \"version\": \"1.1.1\",\n  \"publishedAt\": 1789964007536\n}\n\nFile v1.1.1:skill-card.md\n\n## Description:\n\nThis skill should be used when the user asks about HoneyBook client-portal data, including vendor contracts, invoices, brochures, proposals, payments, messages, meetings, tasks, and questionnaires.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and their agents use this skill to work with HoneyBook client-portal data across wedding vendors, including reading project details, files, messages, meetings, tasks, questionnaires, invoices, and payment status. It can also prepare portal deep links or confirmed HoneyBook messages when the user intends to take an outward action.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: HoneyBook portal links and cached sessions can expose sensitive account access.\n\nMitigation: Use the skill only for intended HoneyBook portal work and treat pasted portal links, session state, and account data as sensitive.\n\nRisk: Confirmed outward actions can send HoneyBook messages or open signing and payment flows.\n\nMitigation: Review message previews before sending and require explicit confirmation for signing, payment, or message-sending actions.\n\nRisk: Raw portal views can expose larger upstream payloads than a user needs for ordinary task completion.\n\nMitigation: Prefer compact/default views and request raw views only when a specific missing field is required.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/honeybook)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, API calls, guidance]\n\n**Output Format:** [Markdown or plain text with HoneyBook portal summaries, message previews, action guidance, and deep links when applicable]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include compact portal records by default; raw upstream payloads should be requested only when needed.]\n\n## Skill Version(s):\n\n1.1.1 (source: server release evidence)\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.","readmeExcerpt":"Skill: honeybook Owner: chrischall Summary: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: honeybook\ndescription: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook.\n---\n\n# honeybook-mcp\n\nMCP server for HoneyBook's client portal — contracts, invoices, questionnaires, messages, meetings, tasks and payments across multiple wedding vendors, with magic-link session capture, in-portal messaging, and deep-link fallback for signing and paying.\n\n## Tools\n\n- `use_magic_link` — Capture a portal session from a vendor magic-link URL (`/app/link/resolve/…`)\n- `use_flow_link` — Capture a questionnaire credential from a flow link (`/flow/<flowId>?hash=…`)\n- `list_active_sessions` — Show active credentials, split into `portalSessions` and `flowCredentials`\n- `get_flow(flow_id?, view?)` — Read one questionnaire (flow) and its answers (two calls: public `/minimal` for the vendor company id, then `/client/flow/<id>/active?ctxc=…`)\n- `list_workspace_files` — All files one vendor has shared (filter by type)\n- `get_workspace_file(file_id, section?)` — Full detail for one file. Takes `section`, **not** `view` — see below\n- `get_workspace` — Workspace detail + status flags\n- `list_payment_methods` — Saved payment methods\n- `sign_contract` — Deep link to sign in portal (asks the user to confirm first)\n- `pay_invoice` — Deep link to pay in portal (asks the user to confirm first)\n- `list_projects` — Your projects (HoneyBook \"events\") with a vendor, each with the `workspace_id` the tools below take\n- `get_project(project_id, view?)` — Project details: date, time, location, guests, custom fields, people (name/email/phone/role)\n- `list_messages` — Messages in a workspace (`kind=activity` for the activity log, `kind=all` for both): compact cards, newest first; never marks anything seen\n- `get_message` — One message in full (`format=text` default, or `html`) with attachments and delivery status\n- `send_message` — Send a new message (`subject` + `body`) or reply (`reply_to_message_id`, subject inherited) through the portal; asks the user to confirm first\n- `mark_messages_seen` — Mark feed items seen, the way opening the Activity tab does\n- `list_meetings` — Meetings the vendor scheduled (consultations, Zoom calls): time, join link, password; rescheduled meetings show their latest time\n- `list_tasks` — Tasks assigned to you with today/this-week/overdue counts and task groups\n- `list_notes` — Notes the vendor shared (meeting notes, AI recaps)\n- `list_attachments` — Loose images, files and bookmarks (not contracts/invoices — those are workspace files)\n- `list_payments` — Every payment on every file in a workspace, with paid/unpaid totals\n\n## Response shape (`view`)\n\nOnly **two** tools here"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"honeybook\",\n  \"version\": \"1.2.5\",\n  \"publishedAt\": 1791380142553\n}"},{"path":"skill-card.md","content":"## Description:\n\nHelps users review HoneyBook client-portal records, manage vendor messages, and access contract-signing and invoice-payment links.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nHoneyBook clients use this skill to review wedding-vendor contracts, invoices, questionnaires, projects, messages, meetings, tasks, and payments, and to prepare replies or obtain signing and payment links.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Portal data and locally stored portal or questionnaire credentials are sensitive.\n\nMitigation: Install only if comfortable with this access and local credential storage; share portal and flow links only when needed.\n\nRisk: Sending a message emails the vendor and other workspace participants.\n\nMitigation: Review the message preview and obtain explicit approval before sending.\n\nRisk: Signing or paying can create binding or financial consequences.\n\nMitigation: Approve signing or payment confirmations only when the action is intended.\n\n## Reference(s):\n\n- [HoneyBook skill listing](https://clawhub.ai/chrischall/skills/honeybook)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Guidance]\n\n**Output Format:** [Text, structured records, and portal links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Message listings show previews; full messages require a separate request. Signing and payment actions return portal links.]\n\n## Skill Version(s):\n\n1.2.5 (source: ClawHub release metadata)\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."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals, payments, messages, meetings or tasks via HoneyBook. Skill: honeybook Owner: chrischall Summary: This skill should be used when the user asks about HoneyBook client-portal data. Triggers on phrases like \"check HoneyBook\", \"sign contract\", \"pay invoice\", \"HoneyBook vendors\", \"unsigned contracts\", \"open invoices\", \"message the planner\", \"reply to my vendor\", \"next meeting with the planner\", or any request involving wedding-vendor contracts, invoices, brochures, proposals","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1285,"uniquenessScore":45,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T16:31:24.999Z","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-09T16:31:24.999Z","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-09T21:25:27.751Z","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"}]}}}