linktree-core-workflow-a
Execute Linktree primary workflow: Profile & Links Management. Trigger: "linktree profile & links management", "primary linktree workflow".
What this skill does
# 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`.
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.