360 Secure SkillHub
360 安全技能中心

articuler

通过 Articuler 的 REST API 或 MCP 服务,先完成邮箱验证码登录,再根据用户与目标联系人的 LinkedIn 主页及外联目标,异步生成个性化冷邮件和结构化外联行动手册。

hotwheelsbo
hotwheelsbo
热度 79.18
最近更新 2026-05-11 17:32:45
分类:营销依赖:第三方 API / MCP 服务应用场景:邮件起草 / 文案创作 / 研究 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add articuler
Metadata
name
articuler
description
AI-powered professional networking assistant. Generate personalized cold emails and outreach playbooks to accelerate career growth and business development.
homepage
https://www.articuler.ai
metadata
{"clawdbot":{"emoji":"🤖","requires":{"bins":["curl"]}}}

Articuler Skill

Craft the perfect cold email and build a structured outreach playbook — all driven by your specific professional goal and LinkedIn profile.

What This Skill Does

  1. Generate cold emails — Write personalized outreach emails tailored to each contact's background
  2. Build a playbook — Create a structured outreach strategy with timing, talking points, and follow-up cadence

Usage

Note: Steps 1 and 2 are required before calling any business API. Complete them in order to obtain a token.


Step 1 — Email Check (Required)

Send a verification code to the user's email address.

curl --location --request POST 'https://api.articuler.ai/user/send-check' \
--header 'Content-Type: application/json' \
--data '{
  "email": "your@email.com",
  "type": 1
}'

Parameters

Field Type Description
email string The user's email address
type integer Verification type, use 1 for standard check

The verification code will be sent to the user's inbox. Ask the user to provide the captcha code before proceeding to Step 2.


Step 2 — Login (Required)

Log in with the user's email, captcha code, and LinkedIn profile URL. Returns a token required for all subsequent API calls.

curl --location --request POST 'https://api.articuler.ai/user/artclaw/login' \
--header 'Content-Type: application/json' \
--data '{
  "email": "your@email.com",
  "captcha": "xxxxxx",
  "linkedin_url": "https://www.linkedin.com/in/your-profile/"
}'

Parameters

Field Type Description
email string The user's email address
captcha string The verification code received in the user's inbox (from Step 1)
linkedin_url string The user's own LinkedIn profile URL

Response

{
  "token": "xxxxxx"
}

Save the token — it is required for all subsequent API calls.


Step 3 — Generate Playbook (Async)

Submit a playbook generation job for the current user and a target contact. This is an async API — it returns a sessionId immediately. Use Step 4 to poll for the result.

curl --location --request POST 'https://api.articuler.ai/user/artclaw/playbook' \
--header 'Content-Type: application/json' \
--data '{
    "token": "xxx",
    "target_linkedin_url": "https://www.linkedin.com/in/your-target-profile/",
    "objective": "Want to be a partner"
}'

Parameters

Field Type Description
token string Auth token obtained from Step 2
target_linkedin_url string The target contact's LinkedIn profile URL
objective string The goal of this outreach (e.g. "Want to be a partner")

Response

{
    "code": 0,
    "msg": "",
    "data": {
        "sessionId": "31ee76d4-ab7e-4d5f-8196-f4507ef779b9",
        "status": "searching"
    }
}

Save the sessionId — it is used to poll for the result in Step 4.


Step 4 — Poll Playbook Result

Poll this endpoint repeatedly until status is "done". When done, read the playbook content from the response.

curl --location --request GET 'https://api.articuler.ai/user/artclaw/playbook/info?sess_id=xxx' \
--header 'Content-Type: application/json'

Parameters

Field Type Description
sess_id string The sessionId returned from Step 3

Polling Logic

  • Poll every 3 seconds
  • Stop polling when data.status === "done"
  • If status remains "searching" after 300 seconds, inform the user that generation is taking longer than expected and ask whether to keep waiting

Response — In Progress

{
    "code": 0,
    "msg": "",
    "data": {
        "sessionId": "31ee76d4-ab7e-4d5f-8196-f4507ef779b9",
        "status": "searching",
        "objective": "Want to be a partner",
        "playbook": { "subtopics": null },
        "doOrNot": { "do": null, "doNot": null }
    }
}

Response — Completed

{
    "code": 0,
    "msg": "",
    "data": {
        "sessionId": "31ee76d4-ab7e-4d5f-8196-f4507ef779b9",
        "status": "done",
        "objective": "Want to be a partner",
        "playbook": {
            "subtopics": [
                {
                "subtopicName": "Absence of Personal Information for Mason Brown",
                "insights": [
                    {
                    "insight": {
                        "title": "No Verified Personal Background or Professional Activities Available for Mason Brown",
                        "content": "Despite extensive search, no confirmed profiles...",
                        "referenceLinks": []
                    }
                    }
                ]
                },
                {
                "subtopicName": "Monroe Street Partners' Strategic Differentiators",
                "insights": [
                    {
                    "insight": {
                        "title": "Non-Traditional Private Equity Model Focused on Long-Term Value",
                        "content": "Monroe Street Partners (MSP), founded in ...",
                        "referenceLinks": [
                        "https://www.monroestreet-partners.com/aboutmsp",
                        "https://static1.squarespace.com/static/6218510..."
                        ]
                    }
                    }
                ]
                }
            ]
        },
        "doOrNot": {
            "do": [
                {
                "title": "Discuss Monroe Street Partners' Unique PE Model and Financing Needs",
                "contentList": [
                    "Leverage intelligence about MSP being ..."
                ]
                },
                {
                "title": "Explore Synergies Between Mason's DCM Experience and MSP's Lower Middle-Market Focus",
                "contentList": [
                    "Mason's background in Debt Capital Markets at PNC..."
                ]
                },
                {
                "title": "Address Current Private Credit Market Trends Relevant to MSP's Strategy",
                "contentList": [
                    "The industry context shows private credit doubling..."
                ]
                }
            ],
            "doNot": [
                {
                "title": "Avoid Pushing a Generic \"Off-the-Shelf\" Lending Solution",
                "contentList": [
                    "Monroe Street Partners explicitly differentiates ..."
                ]
                },
                {
                "title": "Refrain from Unsubstantiated Assumptions about Mason's Booth Studies or Long-Term Career Plans",
                "contentList": [
                    "While Mason is attending Booth, his specific degree..."
                ]
                },
                {
                "title": "Do Not Undervalue Mason's Role as a Summer Associate",
                "contentList": [
                    "Although a Private Equity Summer Associate role is ..."
                ]
                }
            ]
        }
    }
}

Present the playbook.subtopics, doOrNot.do, and doOrNot.doNot to the user in a readable format.


Step 5 — Generate Cold Email (Async)

Submit a cold email generation job. Same async pattern as Steps 3–4: returns a sessionId immediately, use Step 6 to poll for the result.

curl --location --request POST 'https://api.articuler.ai/user/artclaw/coldemail' \
--header 'Content-Type: application/json' \
--data '{
    "token": "xxx",
    "target_linkedin_url": "https://www.linkedin.com/in/your-target-profile/",
    "objective": "Want to be a partner"
}'

Parameters

Field Type Description
token string Auth token obtained from Step 2
target_linkedin_url string The target contact's LinkedIn profile URL
objective string The goal of this cold email (e.g. "Explore investment opportunities")

Response

{
    "code": 0,
    "msg": "",
    "data": {
        "sessionId": "2c6ae07f-bde7-4f6a-8cc6-944a99d742fd",
        "status": "searching"
    }
}

Save the sessionId — it is used to poll for the result in Step 6.


Step 6 — Poll Cold Email Result

Poll this endpoint repeatedly until status is "done". When done, read the email content from the response.

curl --location --request GET 'https://api.articuler.ai/user/artclaw/coldemail?sess_id=xxx' \
--header 'Content-Type: application/json'

Parameters

Field Type Description
sess_id string The sessionId returned from Step 5

Polling Logic

  • Poll every 3 seconds
  • Stop polling when data.status === "done"
  • If status remains "searching" after 300 seconds, inform the user that generation is taking longer than expected and ask whether to keep waiting

Response — In Progress

{
    "code": 0,
    "msg": "",
    "data": {
        "sessionId": "2c6ae07f-bde7-4f6a-8cc6-944a99d742fd",
        "status": "searching",
        "objective": "Want to be a partner",
        "subject": "",
        "coldEmail": ""
    }
}

Response — Completed

{
    "code": 0,
    "msg": "",
    "data": {
        "sessionId": "2c6ae07f-bde7-4f6a-8cc6-944a99d742fd",
        "status": "done",
        "objective": "Want to be a partner",
        "subject": "Exploring a potential partnership",
        "coldEmail": "Hi [Name],\n\nI came across your work on..."
    }
}

Always show the subject and coldEmail to the user for review before sending. Never auto-send.


MCP Server

Articuler provides an MCP server as an alternative to the REST API above.

Endpoint: https://www.articuler.ai/mcp

Tool Description
generate_cold_email Generate a personalized cold email given two LinkedIn profiles and an objective
generate_playbook Generate a multi-step outreach playbook given two LinkedIn profiles and an objective

Intent Detection

Detect the user's networking intent from their objective to set the right tone and structure:

Intent Keywords
fundraising 融资、投资人、VC、pre-seed
hiring 招聘、合伙人、CTO、团队
partnership 合作、BD、渠道、资源置换
research 了解行业、调研、趋势
sales 客户、企业采购、demo

Tips

  • Complete Steps 1 and 2 before calling any business API
  • For cold emails, always show the draft to the user for review — never auto-send
  • Playbooks work best when both LinkedIn profiles are detailed and up to date
  • The more specific the objective, the more targeted the output

Links