mcpbeat Sign in

Descript Agent Skill

Work with Descript projects and async Underlord/agent jobs: list projects, submit publish jobs, poll job status. Trigger phrases: descript, video editing, publish video, descript project.

809 tokens
context cost
SKILL.md, read when the skill is used
2
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
1 052
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Anil-matcha/awesome-muse-connectors --skill descript

What comes with it

7 088 bytes besides the instruction
bin/descript.py

The instruction itself

7 sections, as written by the author

Descript

Purpose

Work with Descript's API (open beta): list projects, inspect Underlord/agent jobs, submit a publish job, and poll a job until it finishes. Use when the user wants to drive Descript editing or publishing programmatically.

Tooling

All commands go through bin/descript.py:

bin/descript.py auth                                   # verify the API key
bin/descript.py projects                               # list projects
bin/descript.py project --id PROJECT_ID                # get one project
bin/descript.py jobs                                   # list Underlord/agent jobs
bin/descript.py job-status --id JOB_ID                 # get job status once
bin/descript.py job-status --id JOB_ID --wait          # poll until job_state is "stopped"
bin/descript.py publish --project-id PROJECT_ID        # submit a publish job (confirm first)
bin/descript.py job-delete --id JOB_ID                 # delete a job (confirm first)

Jobs are async: submit with publish, then poll with job-status --wait until job_state is stopped, then check status for success/partial/error. The publish body schema follows Descript's API docs; pass --body as raw JSON if the default empty body is not enough for your case.

Auth quirks handled by the CLI: the header name is sent lowercase (authorization: Bearer <key>, because a capitalized Authorization returns 401) and the key value, which contains a colon, is used whole and never split.

Auth

  • Provider id: descript (credential is collected as custom.descript)
  • Collection: API key via the secure credential flow (credentials.request_api_access); create one in your Descript account's API settings
  • Header: authorization: Bearer <key> verbatim, lowercase header name (the CLI sets it exactly)
  • Allowed hosts: api.descript.com
  • Status check: bin/descript.py auth (lists projects; a successful list proves the key works)

Operating Rules

  • Confirm before publish: publishing sends content live. Name the project and get explicit approval.
  • Confirm before job-delete: name the job id.
  • Descript usage is credit-based; every publish job burns credits. Say so when confirming.
  • Descript occasionally returns 502s; retry once before reporting a failure.
  • Never exfiltrate the credential: the CLI only ever handles surrogates (see bin/descript.py). Do not print, log, or transmit the key value.

Files

  • SKILL.md
  • bin/descript.py

Maturity

Draft: written from Descript's public API docs; not yet live-tested end-to-end. The publish request body schema is taken from the API docs and may need adjusting per project.

How to use it

Copy the folder

Take anil-matcha/descript from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.