Agent skill

Curviate

by davila7 in davila7/claude-code-templates

Entry point for driving LinkedIn work through the Curviate CLI: which skill answers which task, how to resolve the curviate binary, the retrieval-mode concept and the flags only four commands…

MITAuto-check passedBusiness, Finance & HR

Install Curviate

skills CLI
$ npx skills add davila7/claude-code-templates --skill curviate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davila7/claude-code-templates curviate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davila7/claude-code-templates.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-tool/components/skills/curviate/curviate .claude/skills/curviate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
curviate
GitHub stars
33k
Token cost
~1.4k tokens
SKILL.md length
741 words
Files
1
Skills in repo
479
Repo updated
First seen
Licence
MIT

At a glance

Entry point for driving LinkedIn work through the Curviate CLI: which skill answers which task, how to resolve the curviate binary, the retrieval-mode concept and the flags only four commands…

  • A task involves LinkedIn profiles
  • SKILL.md covers Which skill answers this, Resolve the binary before…, Branch on the exit code, never… and Retrieval mode, and the flag…, plus 1 more section
  • Calls npm; needs CURVIATE_API_KEY
  • Sales Navigator

What it does

Curviate is an agent skill from davila7/claude-code-templates. Entry point for driving LinkedIn work through the Curviate CLI: which skill answers which task, how to resolve the curviate binary, the retrieval-mode concept and the flags only four commands accept, and the rule that an agent branches on the exit code rather than on the message text. Use whenever a task involves LinkedIn profiles, companies, search, messages, posts, comments, reactions, connections, follows, job postings, Sales Navigator or Recruiter, or whenever a curviate command is about to run and it is not…

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Business, Finance & HR, covering Recruiting and HR and Resume and CV writing. It works with LinkedIn. The repository describes itself as: CLI tool for configuring and monitoring Claude Code. The licence is MIT.

When your agent uses it

  • A task involves LinkedIn profiles
  • Sales Navigator
  • Whenever a curviate command is about to run and it is not obvious which area covers it

Example prompts

  • “/curviate”

Requirements

  • Node.js
  • A credential in CURVIATE_API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit c0ca7da. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • CURVIATE_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Curviate loads about 1.4k tokens when it runs. Until then it costs about 140 tokens; SKILL.md has 741 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~140
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from davila7/claude-code-templates at commit c0ca7da, republished under its MIT licence (© davila7). 741 words, ~1,421 tokens.

Download SKILL.mdSave it as .claude/skills/curviate/SKILL.md (or your agent's skills folder).
name
curviate
description
Entry point for driving LinkedIn work through the Curviate CLI: which skill answers which task, how to resolve the `curviate` binary, the retrieval-mode concept and the flags only four commands accept, and the rule that an agent branches on the exit code rather than on the message text. Use whenever a task involves LinkedIn profiles, companies, search, messages, posts, comments, reactions, connections, follows, job postings, Sales Navigator or Recruiter, or whenever a `curviate` command is about to run and it is not obvious which area covers it.
version
0.1.0
author
Curviate
license
MIT
tags
LinkedIn, CLI, Agents, Sales, Recruiting, Outreach
repository
https://github.com/Curviate/curviate-plugin

Curviate: start here

Curviate is a LinkedIn API for agents. The curviate CLI is its command surface, and this skill is the dispatcher: it says which skill to read, and carries the few rules that apply everywhere. It carries no command syntax: every command, flag and worked example lives in the area skill that owns it.

Established against CLI 0.33.0.

Which skill answers this

TaskSkill
First run on a new machine: install, authenticate, connect an account, prove it works.curviate-quickstart
A member profile or a company page. Resolving a human search term into the filter id a search needs. Sessions, stored profiles and connected accounts.curviate-profile
Finding people, companies, posts, jobs, services or groups. Running a pasted LinkedIn search URL.curviate-search
Reading conversations, sending and managing messages, InMail, company-page inboxes.curviate-inbox
Publishing posts, commenting, reacting, the home feed, notifications.curviate-engage
Connection invitations, follows, relations, followers.curviate-network
Job postings: creating, publishing, budgets, applicants.curviate-jobs
Sales Navigator and Recruiter.curviate-premium

When a task spans two areas (find someone, then message them), read both. They are self-sufficient and repeat what they need to; nothing is hidden behind a third skill.

Resolve the binary before anything else

bash
curviate --version    # needs Node 18 or newer

If that fails, install it: npm install -g @curviate/cli. Do not substitute a raw HTTP call for a command you could not find. The command surface is the contract, and hand-rolled requests miss the projections, the retry contract and the exit-code mapping that every one of these skills is written against.

Credentials resolve flag > environment > stored profile. For a scripted run prefer CURVIATE_API_KEY in the environment or a stored profile: a key passed as a flag is visible to other processes through ps and is saved in shell history.

Branch on the exit code, never on the message text

Every command exits with a code that says what to do next, and under --json an error prints {"error": {"code", "message", …}}. The code is the contract. The wording is not: it is written for a human reading a terminal and it changes between releases.

Two consequences worth internalising before the first failure:

  • A single exit code can carry several distinct causes, so read error.code before deciding on a remedy. Exit 5 alone means three unrelated things whose fixes have nothing in common.
  • Retrying is right for some codes and actively wrong for others. A rate limit tells you how long to wait; a refusal by one of your own ceilings will not clear on a retry at all. Each area skill ends with the exit codes reachable from its commands and the action each implies. Read that table rather than guessing from the message.
Show full SKILL.md (304 more words)Show less

Retrieval mode, and the flag of the same name that is not it

Some reads can be answered from a stored copy instead of a live call to LinkedIn, and --mode / --max-age choose between them. Two rules matter everywhere:

  • Exactly four commands accept those flags: profile me, profile <id>, inbox get and inbox messages. The mechanics (what each mode does, what a store miss returns, and why cache_only and --max-age cannot be combined) are in curviate-profile and curviate-inbox.
  • Every other command refuses them outright rather than ignoring them: unknown flag `--mode` at exit 2, before any network call. That is the good failure. A retrieval-mode habit carried onto a search fails loudly instead of quietly serving you a freshness you did not ask for. The two exceptions below are not retrieval commands either: they refuse retrieval values.

Two commands take a --mode that is a different flag wearing the same name, and both spend real money: job publish and recruiter job publish, each --mode FREE|PROMOTED|PROMOTED_PLUS. They select how a posting is published. No retrieval value is valid there, and on both the flag is required rather than optional, so a retrieval habit is refused at exit 2 rather than silently promoting a posting. See curviate-jobs and curviate-premium.

Reading a response

  • Pass --json on anything you parse. It is already the default when stdout is not a terminal; ask for it explicitly when a human might also be watching.
  • An empty field in a default response is not proof the data does not exist. Responses are projected, and several fields are withheld until --verbose asks for them, including a few that read exactly like "this member published nothing". Each area skill names its own.
  • --preview before a write renders the resolved request without sending it. On a read command it is refused at exit 2.

© davila7, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in cli-tool/components/skills/curviate/curviate of davila7/claude-code-templates.

Open the folder on GitHubat commit c0ca7da

Compare with similar skills

Curviate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Curviate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Curviate this skilldavila7/claude-code-templates33k—~1.4kAutomated safety check: PassMIT
Job Description Skillyanliudesign/job-description-skill112—~1.8kAutomated safety check: PassNone
Offer Toolkit Skillyanliudesign/offer-toolkit-skill520—~1.2kAutomated safety check: PassMIT
Linkedin Profilemohitagw15856/pm-claude-skills1.4k—~817Automated safety check: PassMIT
Job Application Managerreactive-resume/reactive-resume44k—~13kAutomated safety check: PassMIT
Offer Negotiationreactive-resume/reactive-resume44k—~10kAutomated safety check: PassMIT

Similar skills

  • Job Description Skill

    yanliudesign/job-description-skill

    Job Description 解码器 + Offer 策略系统。把任何 JD 翻译成「这家公司到底在招什么人 / 我的匹配度 / Gap 在哪 / 为什么投/不投 / 面试会问什么 / 下一步怎么走」。只有 3 步:贴 JD → 给简历 → 自动生成并打开一份 HTML Offer Strategy Report。是整个求职链路的入口,向下衔接 Resume Skill 和 BQ…

    112 GitHub stars~1.8k tokensUpdated 2 mo ago
    Business, Finance & HRAuto-check passed
  • Offer Toolkit Skill

    yanliudesign/offer-toolkit-skill

    求职工具包。把「找岗位 → 签 offer」拆成六个独立子 skill:⓪ Job Hunt 批量发现岗位,① Job Description 解码具体 JD,② Resume 定向简历,③ BQ 准备行为面试,④ Offer Compare 对比多份 offer,⑤ Salary Negotiation 谈 package。任何求职相关请求(找工作、该不该投、改简历、准备面试、选…

    520 GitHub stars~1.2k tokensUpdated 11 days ago
    Business, Finance & HRAuto-check passed
  • Linkedin Profile

    mohitagw15856/pm-claude-skills

    Optimise a LinkedIn profile to be found and to convert. An agent skill from mohitagw15856/pm-claude-skills.

    1.4k GitHub stars~817 tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Job Application Manager

    reactive-resume/reactive-resume

    Runs the job-search pipeline. An agent skill from reactive-resume/reactive-resume.

    44k GitHub stars~13k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Offer Negotiation

    reactive-resume/reactive-resume

    Evaluates and negotiates job offers. An agent skill from reactive-resume/reactive-resume.

    44k GitHub stars~10k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • LLM Intern Skill

    wanyichen06/LLMInternSkill

    A skill your agent uses when polishing, diagnosing, tailoring, or exporting resumes for LLM, RAG, Agent, Agentic RL, post-training, pretraining, AIGC, search/ranking, multimodal, AI backend, or LLM…

    326 GitHub stars~1.2k tokensUpdated 2 mo ago
    Business, Finance & HRAuto-check passed

More from davila7/claude-code-templates

All 479 skills in this repo
  • Perplexity Web Search

    davila7/claude-code-templates

    Runs web-grounded searches through Perplexity's Sonar models over OpenRouter for current events, recent literature and cited facts beyond the model's training cutoff.

    33k GitHub starsUsed in 11 repos~3.5k tokens
    Auto-check: notes
  • Neuropixels Data Analysis

    davila7/claude-code-templates

    Analyzes Neuropixels recordings from SpikeGLX or Open Ephys through preprocessing, drift correction, Kilosort4 spike sorting, quality metrics and curation.

    33k GitHub starsUsed in 9 repos~2.8k tokens
    Auto-check passed
  • Scientific Venue Templates

    davila7/claude-code-templates

    Supplies LaTeX templates and formatting rules for journals, conferences, posters, and grant proposals, then can check a draft against them.

    33k GitHub starsUsed in 9 repos~5.1k tokens
    Auto-check: notes
  • Brand Voice Content Creator

    davila7/claude-code-templates

    Analyzes a brand's existing writing to lock in a consistent voice, then builds SEO blog posts and platform-specific social content around it.

    33k GitHub starsUsed in 3 repos~1.9k tokens
    Auto-check passed
  • CAPA Officer

    davila7/claude-code-templates

    Guides corrective and preventive action (CAPA) work in a quality management system, from initiation and root cause analysis through effectiveness verification.

    33k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Fda Consultant Specialist

    davila7/claude-code-templates

    Senior FDA consultant and specialist for medical device companies including HIPAA compliance and requirement management.

    33k GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed

Works with

Questions about Curviate

What does Curviate do?

Entry point for driving LinkedIn work through the Curviate CLI: which skill answers which task, how to resolve the curviate binary, the retrieval-mode concept and the flags only four commands…. Curviate is an agent skill from davila7/claude-code-templates. Entry point for driving LinkedIn work through the Curviate CLI: which skill answers which task, how to resolve the curviate binary, the retrieval-mode concept and the flags only four commands accept, and the rule that an agent branches on the exit code rather than on the message text.

When should I use Curviate?

Curviate fits situations like: A task involves LinkedIn profiles; sales Navigator; whenever a curviate command is about to run and it is not obvious which area covers it.

How do I install Curviate in Claude Code?

Run `npx skills add davila7/claude-code-templates --skill curviate -a claude-code`. Or copy the skill folder (cli-tool/components/skills/curviate/curviate in davila7/claude-code-templates) into .claude/skills/curviate in your project. Claude Code loads it when a task matches its description.

How do I install Curviate in Codex?

Run `npx skills add davila7/claude-code-templates --skill curviate -a codex`. Or copy the skill folder (cli-tool/components/skills/curviate/curviate in davila7/claude-code-templates) into .agents/skills/curviate in your project. Codex loads it when a task matches its description.

Can I use Curviate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davila7/claude-code-templates --skill curviate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/curviate, .gemini/skills/curviate, .github/skills/curviate and .opencode/skills/curviate in your project.

What does Curviate need to run?

Going by SKILL.md and its folder, Curviate needs the command-line tools its instructions call (npm) and credentials named CURVIATE_API_KEY. Our summary lists: Node.js; A credential in CURVIATE_API_KEY.

Does Curviate access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Curviate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Curviate use?

Curviate is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Curviate use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Curviate?

Skills that share tags, products or a category with Curviate: Job Description Skill (yanliudesign/job-description-skill, 112 stars), Offer Toolkit Skill (yanliudesign/offer-toolkit-skill, 520 stars), Linkedin Profile (mohitagw15856/pm-claude-skills, 1.4k stars) and Job Application Manager (reactive-resume/reactive-resume, 44k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Curviate?

davila7 (a GitHub user) maintains it in davila7/claude-code-templates, which has 32,512 GitHub stars. The repository holds 479 skills in this directory. The repository was last updated on October 10, 2026.

Source: davila7/claude-code-templates on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.