{"url_pattern":"^https?://(www\\.)?linkedin\\.com/.*$","site_name":"linkedin","allowed_domains":null,"tools":[{"name":"post_update","description":"Insert content into LinkedIn post composer","inputSchema":{"type":"object","properties":{"content":{"type":"string","description":"Post content"}},"required":["content"]},"handler":"(params) => {\n  const editor = document.querySelector('.ql-editor') || document.querySelector('[role=\"textbox\"][contenteditable=\"true\"]') || document.querySelector('.editor-content');\n  if (!editor) {\n    return { success: false, message: 'Post composer not found. Click \"Start a post\" first.' };\n  }\n  editor.focus();\n  // Try clipboard paste\n  const dataTransfer = new DataTransfer();\n  dataTransfer.setData('text/plain', params.content);\n  const pasteEvent = new ClipboardEvent('paste', { bubbles: true, cancelable: true, clipboardData: dataTransfer });\n  editor.dispatchEvent(pasteEvent);\n  // Fallback to innerHTML\n  if (!editor.textContent || editor.textContent.trim() === '') {\n    editor.innerHTML = '<p>' + params.content.replace(/\\n/g, '</p><p>') + '</p>';\n    editor.dispatchEvent(new Event('input', { bubbles: true }));\n  }\n  return { success: true, message: 'Content inserted into LinkedIn composer' };\n}"},{"name":"open_post_dialog","description":"Open the LinkedIn post creation dialog","inputSchema":{"type":"object","properties":{},"required":null},"handler":"() => {\n  const startPostBtn = document.querySelector('[data-control-name=\"share.main.create\"]') || document.querySelector('button.share-box-feed-entry__trigger');\n  if (startPostBtn) {\n    startPostBtn.click();\n    return { success: true, message: 'Opening post dialog...' };\n  }\n  return { success: false, message: 'Start a post button not found' };\n}"}]}