Skip to content
Back to skills

Linktree Core Workflow A

ASecurity

'Execute Linktree primary workflow: Profile & Links Management. Trigger: \"linktree profile & links management\", \"primary linktree workflow\". '

  • 3 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 12, 2026
ai-agentstypescriptgobashnodegitapi

Works with

  • cli
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 12, 2026

npx -y skills add thedixitjain/the-mega-skill-library --skill linktree-core-workflow-a --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Linktree Core Workflow A?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Linktree Core Workflow A
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thedixitjain-linktree-core-workflow-a/badge)](https://www.skillsdirectory.com/skills/thedixitjain-linktree-core-workflow-a)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: linktree-core-workflow-a
description: "'Execute Linktree primary workflow: Profile & Links Management. Trigger: \"linktree profile & links management\", \"primary linktree workflow\". '"
allowed-tools: "Read, Write, Edit, Bash(npm:*), Grep"
category: general-purpose
source_repo: jeremylongshore/claude-code-plugins-plus-skills
source_path: "skills/.curated/linktree-core-workflow-a/SKILL.md"
source_url: https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/HEAD/skills/.curated/linktree-core-workflow-a/SKILL.md
---

# Linktree — Profile & Links Management

## Overview

Manages the complete lifecycle of a Linktree profile and its links through the
Linktree REST API. This skill covers retrieving profile metadata, creating new
links with positioning and thumbnails, updating existing link properties, listing
all links for a profile, and reordering links by position. Use this workflow when
building integrations that programmatically manage a creator's or brand's
link-in-bio page — for example, syncing product launches, rotating seasonal
promotions, or bulk-importing links from a spreadsheet. All operations use bearer
token authentication against the Linktree API.

## Prerequisites

- **Linktree Developer Account** — register at [linktr.ee/marketplace/developer](https://linktr.ee/marketplace/developer)
- **API Key** — set `LINKTREE_API_KEY` in your environment
- **Node.js >= 18** and **TypeScript >= 5.0**
- **Linktree SDK** — install with `npm install @linktree/sdk`

## Instructions

### Step 1: Get Profile

```typescript
try {
  const profile = await client.profiles.get('myprofile');
  console.log(`Bio: ${profile.bio}`);
  console.log(`Links: ${profile.links.length}`);
} catch (err: any) {
  if (err.status === 404) throw new Error('Profile not found — verify the username');
  throw err;
}
```

### Step 2: Create a Link

```typescript
try {
  const link = await client.links.create({
    profile_id: profile.id,
    title: 'My Website',
    url: 'https://example.com',
    position: 0,  // Top of list
    thumbnail: 'https://example.com/icon.png'
  });
  console.log(`Created link: ${link.id}`);
} catch (err: any) {
  if (err.status === 422) throw new Error(`Validation failed: ${err.message}`);
  if (err.status === 429) console.warn('Rate limited — retry after backoff');
  throw err;
}
```

### Step 3: Update Link

```typescript
try {
  await client.links.update(link.id, {
    title: 'Updated Title',
    archived: false
  });
} catch (err: any) {
  if (err.status === 404) throw new Error(`Link ${link.id} not found — it may have been deleted`);
  throw err;
}
```

### Step 4: List All Links

```typescript
try {
  const links = await client.links.list({ profile_id: profile.id });
  links.forEach(l => console.log(`${l.position}: ${l.title} → ${l.url}`));
} catch (err: any) {
  if (err.status === 401) throw new Error('Invalid API key — check LINKTREE_API_KEY');
  throw err;
}
```

## Error Handling

| Error | Status | Cause | Resolution |
|-------|--------|-------|------------|
| `Unauthorized` | 401 | Missing or expired `LINKTREE_API_KEY` | Regenerate key in developer dashboard |
| `Not Found` | 404 | Invalid profile username or deleted link ID | Verify the resource exists before operating |
| `Validation Error` | 422 | Malformed URL, missing required field, or duplicate position | Check request body against API schema |
| `Rate Limited` | 429 | Too many requests in window | Implement exponential backoff (start at 1s) |
| `Server Error` | 500 | Linktree API outage | Retry with backoff; check [status.linktr.ee](https://status.linktr.ee) |

## Output

A successful workflow produces a fully configured Linktree profile with an ordered
set of active links. Each link includes an `id`, `title`, `url`, `position` (zero-indexed),
`thumbnail` URL, and `archived` status. The profile object contains the username, bio,
avatar URL, and a `links` array reflecting the current ordering. Use the returned link
IDs for subsequent update or delete operations in downstream workflows.

## Resources

- [Linktree API Reference](https://linktr.ee/marketplace/developer)
- [Linktree API Status Page](https://status.linktr.ee)
- Linktree Developer Blog

## Next Steps

See `linktree-core-workflow-b`.

---

**Source:** [`jeremylongshore/claude-code-plugins-plus-skills`](https://github.com/jeremylongshore/claude-code-plugins-plus-skills) → `skills/.curated/linktree-core-workflow-a/SKILL.md`

**Also appears in:** `jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/linktree-pack/skills/linktree-core-workflow-a/SKILL.md`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.