MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Capture Python-level diagnostics from a running Sculptor backend (sculptorbackend): instant thread dumps and viztracer/Perfetto traces with no special privileges, or py-spy CPU sampling /…
$ npx skills add imbue-ai/sculptor --skill profile-sculptor-backend -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install imbue-ai/sculptor profile-sculptor-backend --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/profile-sculptor-backend .claude/skills/profile-sculptor-backend && rm -rf skills-srcUse ~/.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/
Install the "profile-sculptor-backend" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/profile-sculptor-backend into .claude/skills/profile-sculptor-backend/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "profile-sculptor-backend", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/profile-sculptor-backendType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add imbue-ai/sculptor --skill profile-sculptor-backend -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install imbue-ai/sculptor profile-sculptor-backend --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/profile-sculptor-backend .agents/skills/profile-sculptor-backend && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "profile-sculptor-backend" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/profile-sculptor-backend into .agents/skills/profile-sculptor-backend/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "profile-sculptor-backend", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add imbue-ai/sculptor --skill profile-sculptor-backend -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install imbue-ai/sculptor profile-sculptor-backend --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/profile-sculptor-backend .cursor/skills/profile-sculptor-backend && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "profile-sculptor-backend" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/profile-sculptor-backend into .cursor/skills/profile-sculptor-backend/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "profile-sculptor-backend", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/imbue-ai/sculptor.git --path .claude/skills/profile-sculptor-backend--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add imbue-ai/sculptor --skill profile-sculptor-backend -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install imbue-ai/sculptor profile-sculptor-backend --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/profile-sculptor-backend .gemini/skills/profile-sculptor-backend && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "profile-sculptor-backend" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/profile-sculptor-backend into .gemini/skills/profile-sculptor-backend/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "profile-sculptor-backend", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install imbue-ai/sculptor profile-sculptor-backendInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add imbue-ai/sculptor --skill profile-sculptor-backend -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/profile-sculptor-backend .github/skills/profile-sculptor-backend && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "profile-sculptor-backend" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/profile-sculptor-backend into .github/skills/profile-sculptor-backend/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "profile-sculptor-backend", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add imbue-ai/sculptor --skill profile-sculptor-backend -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install imbue-ai/sculptor profile-sculptor-backend --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/profile-sculptor-backend .opencode/skills/profile-sculptor-backend && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "profile-sculptor-backend" agent skill from https://github.com/imbue-ai/sculptor/tree/main/.claude/skills/profile-sculptor-backend into .opencode/skills/profile-sculptor-backend/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "profile-sculptor-backend", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
profile-sculptor-backendCapture Python-level diagnostics from a running Sculptor backend (sculptorbackend): instant thread dumps and viztracer/Perfetto traces with no special privileges, or py-spy CPU sampling /…
Profile Sculptor Backend is an agent skill from imbue-ai/sculptor. Capture Python-level diagnostics from a running Sculptor backend (sculptorbackend): instant thread dumps and viztracer/Perfetto traces with no special privileges, or py-spy CPU sampling / flamegraphs / native stacks against the installed signed app (one-time re-sign + sudo). Use when the backend is wedged, slow, pegging a CPU core, or deadlocked, or when you need a CPU profile or a live stack of sculptorbackend. Works both INSIDE Sculptor (where privileged steps are delegated to the user so the agent never kills…
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Python. The repository describes itself as: Build product with grounded, parallel coding agents. The licence is MIT.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f847102. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
curlcargoghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comapple.comspeedscope.appAlso links to:
ui.perfetto.devFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SESSION_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Profile Sculptor Backend loads about 3.1k tokens when it runs. Until then it costs about 149 tokens; SKILL.md has 1,200 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
(per the always-ask rule in B3) and `sudo py-spy` when passwordless sudo isif sudo -n true 2>/dev/null; then RUN="sudo -n"; elseecho "No passwordless sudo — ask the user to run the command below themselves."; RUN="sudo"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.
The full file from imbue-ai/sculptor at commit f847102, republished under its MIT licence (© imbue-ai). 1,200 words, ~3,147 tokens.
.claude/skills/profile-sculptor-backend/SKILL.md (or your agent's skills folder).This skill gets Python-level visibility into a live sculptor_backend process.
There are two routes; prefer Route A and fall back to Route B when you need
CPU sampling or when the running build predates the in-process debug endpoints.
Route A — sculpt debug (in-process) | Route B — py-spy (attach) | |
|---|---|---|
| Gives you | Instant all-thread Python stacks; viztracer→Perfetto call-tree trace | Sampled CPU profile / flamegraph; live stacks; native (C) frames |
| Privileges | None (HTTP + session token) | sudo + a one-time codesign re-sign of the bundle |
| Works on | Only builds that ship the trace/debug endpoints (probe first) | Any build, including the shipped notarized one |
| Safe inside Sculptor? | Yes — never touches the process | Re-sign/restart are the user's; the agent only attaches |
| Best for | "What is every thread doing right now?", a wedged backend, a bounded call-tree trace, CPU-over-time | Instant all-thread stacks (dump), a live top glance, native (C) frames, CPU profile / flamegraph (record). (record suspends the target by default — pass --nonblocking to avoid freezing a live session; Route A is still richer for over-time CPU.) |
Why two routes: macOS blocks
task_for_pidon the hardened-runtime, notarized app, so py-spy can't attach until the target is re-signed withget-task-allow(which can't ship on a notarized build — see SCU-1604). The in-process route sidesteps that entirely but only exists in builds new enough to include the endpoints. Background:docs/development/tracing.md(Route A reference) and SCU-1604.
Am I inside Sculptor or an external claude? Check SCULPT_AGENT_ID:
if [ -n "$SCULPT_AGENT_ID" ]; then echo "INSIDE Sculptor"; else echo "EXTERNAL claude"; fiSCULPT_AGENT_ID set): the sculptor_backend you'd
profile is the one hosting this very agent. Route A is safe. For Route B you
may build py-spy and attach, but never quit/restart the app or kill the
backend — that terminates you. Re-sign and restart are the user's actions.claude: you may run the privileged commands directly — codesign
(per the always-ask rule in B3) and sudo py-spy when passwordless sudo is
available (B5). The app restart is always the user's job (B4): an external
process can't reliably relaunch the user's Sculptor.Find the running backend (pid, port, binary path):
pgrep -fl 'sculptor_backend --port' || ps aux | grep '[s]culptor_backend --port'
# port (also in $SCULPT_API_PORT / $SCULPTOR_API_PORT when set):
ps -o command= -p "$BACKEND_PID" | grep -oE -- '--port [0-9]+' | awk '{print $2}'Derive the bundle executable from the running pid rather than assuming a path
(it differs between Sculptor.app and Sculptor Dev.app); typically
/Applications/Sculptor.app/Contents/Resources/sculptor_backend/sculptor_backend.
The in-process endpoints only exist in builds that shipped them. Probe:
PORT="${SCULPT_API_PORT:-${SCULPTOR_API_PORT:-5050}}"
curl -s -H "x-session-token: $SESSION_TOKEN" "http://localhost:$PORT/api/v1/trace/status"{"enabled":false,...} → Route A is available. Use it.<!doctype html>…) or 404 → endpoints absent in this build → use
Route B (py-spy), or install a newer build if in-process tracing is desired.sculpt debug (in-process; no privileges)No re-sign, safe from inside Sculptor. If the running build ships the new
sculpt, use the CLI; otherwise call the endpoints directly with curl. The
CLI targets the backend via SCULPT_API_PORT (default 5050) and authenticates
with the session token automatically.
Instant all-thread Python stacks (greenlet-safe; best for a wedged backend):
sculpt debug threads # to stdout
sculpt debug threads -o threads.txt # to a file
# Direct equivalent (any build with the endpoint):
curl -s -H "x-session-token: $SESSION_TOKEN" "http://localhost:$PORT/api/v1/debug/threads"Bounded viztracer trace → Perfetto:
sculpt debug trace start # arm (optionally --tracer-entries N)
# …reproduce the slow/interesting activity…
sculpt debug trace status # running? buffered counts?
sculpt debug trace stop # flush; prints the output path
# Direct equivalents:
curl -s -XPOST -H "x-session-token: $SESSION_TOKEN" "http://localhost:$PORT/api/v1/trace/start"
curl -s -XPOST -H "x-session-token: $SESSION_TOKEN" "http://localhost:$PORT/api/v1/trace/stop"Open the resulting trace-<timestamp>.json (written under the backend's
{LOG_PATH}/traces/ — ~/.sculptor/internal/logs/traces/ in a normal install;
the exact path is returned by stop) at https://ui.perfetto.dev.
This is the runtime side of the tracing system; see
docs/development/tracing.md for the full
reference (what's captured, sources/pids, clock caveat, sensitive-data handling,
endpoint security). Operationally: only one trace runs at a time (start → 409
if already armed); the ring buffer holds DEFAULT_ADHOC_TRACER_ENTRIES events by
default (bounded server-side; raise with --tracer-entries) and wraps when full;
and a runtime-armed trace is backend-Python only — for renderer/Electron-main
lanes you need a from-boot sculptor --trace-to=<path> run (see tracing.md).
Stock py-spy mis-resolves the bundled libpython image base in our PyInstaller
onedir layout and fails with Unsupported version of Python: 0.0.0. The fix is
upstream in benfred/py-spy#858 ("Adjust the PyInstaller MacOS image base").
py-spy source — pick the first that applies:
cargo install py-spy / a released binary. Check whether #858 has landed:
gh pr view 858 --repo benfred/py-spy --json state,mergedAt.cargo) and cache it:# Override PYSPY to point at any working build (e.g. a released py-spy once #858 lands).
PYSPY="${PYSPY:-$HOME/.cache/sculptor-pyspy/bin/py-spy}"
if ! "$PYSPY" --version >/dev/null 2>&1; then
cargo install --git https://github.com/trisiak/py-spy \
--branch pyinstaller-macos-image-base --root "$HOME/.cache/sculptor-pyspy"
PYSPY="$HOME/.cache/sculptor-pyspy/bin/py-spy"
fi
"$PYSPY" --versionCheck whether the running backend's binary already allows task attachment — don't re-sign blindly (it may already be signed, e.g. from a previous session):
codesign -d --entitlements - "$BACKEND_BIN" 2>&1 | grep -q get-task-allow \
&& echo "already attachable — skip B3/B4" || echo "re-sign needed (B3)"If it already has get-task-allow, skip to B5. Dev builds (Sculptor Dev.app, from just pkg-dev) ship the sidecar already signed with
get-task-allow (see forge.config.ts postPackage + entitlements.dev.plist),
so this check passes and no re-sign is needed — only the notarized production
app requires B3.
The shipped backend is hardened-runtime signed without get-task-allow, so even
sudo can't attach. Re-signing modifies the installed app in place,
invalidates its notarization seal locally (fine for dev; persists until the
app is reinstalled/updated), and a re-signed file only takes effect after a
restart (B4).
Always present the choice to the user — in both internal and external contexts — and let them pick:
Either way the commands are:
cat > /tmp/pyspy-entitlements.plist <<'PLIST'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict>
<key>com.apple.security.get-task-allow</key><true/>
<key>com.apple.security.cs.allow-get-task-allow</key><true/>
</dict></plist>
PLIST
codesign -s - -f --entitlements /tmp/pyspy-entitlements.plist "$BACKEND_BIN"
codesign -d --entitlements - "$BACKEND_BIN" 2>&1 | grep get-task-allow # verifyRe-signing just the sculptor_backend executable is sufficient — the bundled
libpython dylib does not need re-signing.
A re-signed on-disk file does not change the already-running process. Ask the user to restart Sculptor (quit fully and relaunch) so the new signature takes effect. Never quit/relaunch the app yourself — inside Sculptor it kills you, and externally it isn't reliable. After they confirm the restart, re-discover the pid and port (both change) via Step 0.
py-spy needs root. Try passwordless sudo; if it isn't available, hand the exact command to the user instead of prompting blindly.
if sudo -n true 2>/dev/null; then RUN="sudo -n"; else
echo "No passwordless sudo — ask the user to run the command below themselves."; RUN="sudo"
fi
$RUN "$PYSPY" dump --pid "$BACKEND_PID" # one-shot all-thread stacks (brief pause)
$RUN "$PYSPY" top --pid "$BACKEND_PID" # live top-functions view
# add --native for C frames
# CPU profile / flamegraph over time. --nonblocking is essential against a live
# backend (see note below): it samples without suspending the process.
$RUN "$PYSPY" record --pid "$BACKEND_PID" --nonblocking --rate 50 --duration 20 \
--output ~/sculptor-backend-flame.svg # open in any browser
# Scrubbable timeline instead of a flat flamegraph (open at https://speedscope.app):
$RUN "$PYSPY" record --pid "$BACKEND_PID" --nonblocking --rate 50 --duration 20 \
--format speedscope --output ~/sculptor-backend-profile.speedscope.jsonpy-spy record against the backend: pass --nonblocking. By default py-spy
samples by suspending the target, and record's continuous suspend-sample over
a duration blocks the backend heavily on macOS — enough to freeze a live session
(and inside Sculptor that's the very session you're running in). --nonblocking
reads stacks without pausing the process, so it doesn't freeze anything; the
tradeoff is occasional partial/inconsistent stacks and higher sampling error,
which is usually fine for a hotspot flamegraph. Keep --rate modest and
--duration bounded regardless. For the richest over-time CPU picture, Route A
viztracer is still better — it runs in-process with a full call tree — but when
Route A is absent (the build that pushed you to Route B), --nonblocking record
is the right fallback. dump/top pause only briefly and don't need the flag.
sculpt debug trace stop) you started.0.0.0 on our bundle — use the patched fork (B1).py-spy record blocks the backend by default (suspend-based continuous
sampling) — pass --nonblocking to sample without pausing the process, or
use Route A viztracer for the richest sustained CPU profile (B5).start → 409 if already running).© imbue-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/profile-sculptor-backend of imbue-ai/sculptor.
Open the folder on GitHubat commit f847102
Profile Sculptor Backend 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Profile Sculptor Backend this skillimbue-ai/sculptor | 238 | — | ~3.1k | Automated safety check: Notes | MIT | |
| MCP Server Builderanthropics/skills | 180k | 63 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| PDF Processinganthropics/skills | 180k | 47 repos | ~2k | Automated safety check: Pass | Proprietary | |
| NotebookLM Research AssistantPleasePrompto/notebooklm-skill | 7.8k | 14 repos | ~2.4k | Automated safety check: Notes | MIT | |
| Manim Video Productionbrowser-use/video-use | 29k | 6 repos | ~3k | Automated safety check: Pass | MIT | |
| PPT Masterhugohe3/ppt-master | 59k | 1 repos | ~2.5k | Automated safety check: Pass | MIT |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/skills
Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.
PleasePrompto/notebooklm-skill
Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.
browser-use/video-use
Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.
hugohe3/ppt-master
Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.
zLanqing/codex-claude-academic-skills
Machine learning in Python with scikit-learn. An agent skill from zLanqing/codex-claude-academic-skills.
imbue-ai/sculptor
QA the Sculptor mobile web UI on a real iOS Simulator, driven headlessly from a Mac.
imbue-ai/sculptor
Compare React component render counts between origin/main and the current branch during a user-defined UI scenario (e.g.
imbue-ai/sculptor
Post a one-line PR announcement to a Slack channel, and mark it :merged: when the PR merges.
imbue-ai/sculptor
Run Claude programmatically against collections of files in the codebase.
imbue-ai/sculptor
Build or modify a Sculptor extension — a runtime ESM module loaded into the Sculptor UI.
imbue-ai/sculptor
Review a set of code changes against Sculptor's review categories and produce a markdown findings table.
Works with
Capture Python-level diagnostics from a running Sculptor backend (sculptorbackend): instant thread dumps and viztracer/Perfetto traces with no special privileges, or py-spy CPU sampling /…. Profile Sculptor Backend is an agent skill from imbue-ai/sculptor. Capture Python-level diagnostics from a running Sculptor backend (sculptorbackend): instant thread dumps and viztracer/Perfetto traces with no special privileges, or py-spy CPU sampling / flamegraphs / native stacks against the installed signed app (one-time re-sign + sudo).
Profile Sculptor Backend fits situations like: the backend is wedged; pegging a CPU core; you need a CPU profile; A live stack of sculptorbackend.
Run `npx skills add imbue-ai/sculptor --skill profile-sculptor-backend -a claude-code`. Or copy the skill folder (.claude/skills/profile-sculptor-backend in imbue-ai/sculptor) into .claude/skills/profile-sculptor-backend in your project. Claude Code loads it when a task matches its description.
Run `npx skills add imbue-ai/sculptor --skill profile-sculptor-backend -a codex`. Or copy the skill folder (.claude/skills/profile-sculptor-backend in imbue-ai/sculptor) into .agents/skills/profile-sculptor-backend in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add imbue-ai/sculptor --skill profile-sculptor-backend -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/profile-sculptor-backend, .gemini/skills/profile-sculptor-backend, .github/skills/profile-sculptor-backend and .opencode/skills/profile-sculptor-backend in your project.
Going by SKILL.md and its folder, Profile Sculptor Backend needs the command-line tools its instructions call (curl, cargo and gh) and credentials named SESSION_TOKEN. Our summary lists: Python 3; A credential in SESSION_TOKEN.
SKILL.md names 4 domains. In commands or code: github.com, apple.com and speedscope.app; the agent is likely to contact these when it follows the instructions. As links in the text: ui.perfetto.dev. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Profile Sculptor Backend is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Profile Sculptor Backend: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 29k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
imbue-ai (a GitHub organization) maintains it in imbue-ai/sculptor, which has 238 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 9, 2026.
Source: imbue-ai/sculptor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.