Azure AI Projects Python SDK
microsoft/skills
Reference for building on Microsoft Foundry with the azure-ai-projects Python SDK: project clients, versioned agents, evaluations, connections, datasets and indexes.
Create, build, validate, and upload a Packs SDK agent (pack.ts using sdk.newAgent()) to your Coda/Superhuman account, including registering an API token, wiring up tools…
$ npx skills add coda/packs-sdk --skill create-agent-pack -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install coda/packs-sdk create-agent-pack --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/coda/packs-sdk.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/create-agent-pack .claude/skills/create-agent-pack && 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 "create-agent-pack" agent skill from https://github.com/coda/packs-sdk/tree/main/.claude/skills/create-agent-pack into .claude/skills/create-agent-pack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-agent-pack", 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/coda/packs-sdk/tree/main/.claude/skills/create-agent-packType 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 coda/packs-sdk --skill create-agent-pack -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install coda/packs-sdk create-agent-pack --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coda/packs-sdk.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/create-agent-pack .agents/skills/create-agent-pack && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "create-agent-pack" agent skill from https://github.com/coda/packs-sdk/tree/main/.claude/skills/create-agent-pack into .agents/skills/create-agent-pack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-agent-pack", 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 coda/packs-sdk --skill create-agent-pack -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install coda/packs-sdk create-agent-pack --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coda/packs-sdk.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/create-agent-pack .cursor/skills/create-agent-pack && 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 "create-agent-pack" agent skill from https://github.com/coda/packs-sdk/tree/main/.claude/skills/create-agent-pack into .cursor/skills/create-agent-pack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-agent-pack", 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/coda/packs-sdk.git --path .claude/skills/create-agent-pack--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 coda/packs-sdk --skill create-agent-pack -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install coda/packs-sdk create-agent-pack --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coda/packs-sdk.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/create-agent-pack .gemini/skills/create-agent-pack && 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 "create-agent-pack" agent skill from https://github.com/coda/packs-sdk/tree/main/.claude/skills/create-agent-pack into .gemini/skills/create-agent-pack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-agent-pack", 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 coda/packs-sdk create-agent-packInstalls 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 coda/packs-sdk --skill create-agent-pack -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/coda/packs-sdk.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/create-agent-pack .github/skills/create-agent-pack && 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 "create-agent-pack" agent skill from https://github.com/coda/packs-sdk/tree/main/.claude/skills/create-agent-pack into .github/skills/create-agent-pack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-agent-pack", 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 coda/packs-sdk --skill create-agent-pack -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install coda/packs-sdk create-agent-pack --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/coda/packs-sdk.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/create-agent-pack .opencode/skills/create-agent-pack && 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 "create-agent-pack" agent skill from https://github.com/coda/packs-sdk/tree/main/.claude/skills/create-agent-pack into .opencode/skills/create-agent-pack/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-agent-pack", 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.
create-agent-packCreate, build, validate, and upload a Packs SDK agent (pack.ts using sdk.newAgent()) to your Coda/Superhuman account, including registering an API token, wiring up tools…
Create Agent Pack is an agent skill from coda/packs-sdk. Create, build, validate, and upload a Packs SDK agent (pack.ts using sdk.newAgent()) to your Coda/Superhuman account, including registering an API token, wiring up tools (docs/mail/webSearch/connectors) and triggers (schedule/while-writing), and installing it from the agent directory. Use this whenever a developer wants to build a Coda/Superhuman agent pack, test a schedule trigger or rrule string, or asks to 'create an agent' / 'upload a pack' / 'make a pack.ts'. Also use for iterating on an existing agent pack…
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/api.md`).
It sits in AI & LLM Engineering, covering Building AI agents. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e9191fa. 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:
npxnpmnodeFrom 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:
coda.ioAlso links to:
docs.superhuman.comgo.superhuman.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Create Agent Pack loads about 2.2k tokens when it runs, and up to ~3.6k if it reads all its reference files. Until then it costs about 156 tokens; SKILL.md has 999 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 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.
The full file from coda/packs-sdk at commit e9191fa, republished under its MIT licence (© coda). 999 words, ~2,158 tokens.
.claude/skills/create-agent-pack/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Builds a minimal agent on top of the Packs SDK (sdk.newAgent()) and publishes it to a Coda/Superhuman
account. Full SDK docs: https://docs.superhuman.com/packs/build/latest.
An agent is defined almost entirely by three builder calls on pack.ts:
import * as sdk from "@codahq/packs-sdk";
export const pack = sdk.newAgent();
pack.setInstructions("Print hello world."); // the only required call
pack.setTools({ docs: true }); // least privilege: uncomment more as neededSee references/api.md for the full setTools/trigger signatures (connector formula filters,
setDefaultScheduleTrigger, setDefaultWhileWritingTrigger) and how to look up a connector's pack ID.
Work in a directory that isn't a checkout of this SDK's own repo — a real pack author doesn't have this
repo checked out, they just install the published @codahq/packs-sdk package. This is what gives
you the packs CLI (npx packs <cmd>).
Each pack lives in its own directory. The pack ID (.coda-pack.json) is stored per-directory,
not globally — see "Two packs, or a second install" below before reusing a directory for a second
pack. The API token (.coda.json) is looked up from the current directory up through its parents,
so registering once in a parent folder covers every pack beneath it. Keep that token file out of
version control.
# Node must be >= 22. If your shell defines node/npm as a lazy nvm loader, unset it first:
unset -f node npm npx pnpm corepack yarn 2>/dev/null
node --version # confirm >= 22
mkdir <dir> && cd <dir>
npm install --save-dev @codahq/packs-sdk@latestnpx packs loginOpens your account page to create a Pack-scoped API token, then prompts
you to paste it in and prints your identity to confirm. (Non-interactively, or for a
single-tenant/custom-domain account, pass --apiToken <token> and, if your org uses a
custom domain, --codaApiEndpoint https://your-org.coda.io.)
npx packs whoamiConfirms the token by printing your name and email. Because the token is found via parent folders,
you only repeat login when you start a directory tree outside the one you already registered.
pack.tsnpx packs init --agent --name "<name>" scaffolds a pack.ts with sdk.newAgent(),
setInstructions, docs-only setTools presets, and a commented-out schedule trigger — no git or
template install needed. (Bare npx packs init scaffolds an empty formula pack instead.)
Fill in setInstructions (required) and setTools
(everything left out of setTools is off). Ask what the agent should actually do and which
tools/connectors it needs before writing this — don't guess a persona or connector IDs.
npx packs validate pack.tsThis is the first command that actually imports pack.ts, so a too-old SDK surfaces here as
sdk.newAgent is not a function (fix: npm install @codahq/packs-sdk@latest). Exit code 0 with no
output means it passed. Always run this after any edit, before uploading. Proceed when validation
exits 0.
npx packs build pack.tsOnly bundles the TypeScript — does not execute pack.ts. A too-old SDK is not caught here.
npx packs create pack.ts --name "<name>" --description "<description>"Mints a new pack ID and stores it in .coda-pack.json for this directory. Run this once per pack —
running it again in the same directory overwrites that mapping (the old pack keeps running, you just
lose its local tracking file). See "Two packs, or a second install" below if you want a second,
independent pack.
The pack's page won't show your source yet at this point — that's expected, upload (step 5) hasn't happened.
npx packs upload pack.ts --notes "<what changed>"Every upload creates a new version (1, 2, 3, ... auto-assigned) — it never overwrites a prior
version. Because the pack declares an agent, upload is what actually writes/updates the agent
definition. Re-run this after every pack.ts edit (new tools, new instructions, new trigger, etc.) —
there is no separate "save" step. Proceed when upload succeeds and reports the new version.
npx packs validate pack.ts # single pre-upload check: schema, instructions, triggers, connector warnings
npx packs agent chat pack.ts "what can you do?" # remote run against the latest uploadRun validate after any edit, before uploading — for agent packs it also warns about
connector pack IDs that don't resolve (when you're logged in; pass --no-checkConnectors
to skip). Run agent chat after uploading and installing —
it runs your installed agent instance and defaults to the latest version, which is safe
because uploads never overwrite.
If chat reports the endpoint missing (404), the server alias hasn't landed;
fall back to step 7 in the browser.
Open https://coda.io/p/<packId>?section=listing to set/confirm the agent's name and description —
these are listing fields, not part of pack.ts.
Open the agent directory (https://go.superhuman.com/agent-directory), search for the agent by the name set in step 4/6, click Open → install agent. An uploaded-but-unreleased agent still runs for the installer; a release (step 8) is only needed to make it broadly installable. Finish when the installed agent runs the requested task and its tools/triggers match the definition. If account access or installation is unavailable, report the blocked verification rather than claiming success.
npx packs release pack.ts <version> --notes "<release notes>"Needs --notes and a version greater than the latest release, plus a clean working tree if the pack
directory is a git repo.
Triggers and tool grants are copied at install time — they don't live-sync from later uploads. If
you already installed an agent, then upload a new version that changes setDefaultScheduleTrigger (or
tools), the already-installed instance's builder view won't reflect the change. To actually see a new
trigger/tool definition rendered in the builder, either:
cp pack.ts into it, npm install, login,
create with a new name, upload) and install that, so the very first install already carries the
new definition, orThe new-directory route is simpler and is what this skill defaults to when verifying a trigger/tool change actually shows up in the builder UI. See installation refresh for the full checklist.
If you're testing a setDefaultScheduleTrigger rrule string, note that some RFC 5545 rule parts a
schedule trigger accepts — BYSETPOS (pick the Nth match from a BYDAY set), WKST (custom week
start), COUNT (bounded occurrences instead of UNTIL), ordinal BYDAY like -1FR ("last Friday") —
may not have a corresponding field in a simple recurrence-picker UI. Example:
RRULE:FREQ=MONTHLY;BYDAY=-1FR;BYSETPOS=-1;BYMONTH=3;WKST=SU;COUNT=10. Frequencies below hourly
(MINUTELY, SECONDLY) are rejected outright rather than being a "valid but unrepresentable" case —
see references/api.md for the full set of accepted/rejected rule parts, and
schedule validation and UI limits when choosing
test cases.
© coda, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in .claude/skills/create-agent-pack of coda/packs-sdk.
Open the folder on GitHubat commit e9191fa
Create Agent Pack 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 |
|---|---|---|---|---|---|---|
| Create Agent Pack this skillcoda/packs-sdk | 112 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Azure AI Projects Python SDKmicrosoft/skills | 3.1k | 6 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Google Agents CLI Adk Codepifferologo/cloud-agents-cli | 129 | 1 repos | ~768 | Automated safety check: Pass | Apache-2.0 | |
| Deep Agents to Pydantic AI Migrationpydantic/pydantic-ai | 20k | — | ~1.7k | Automated safety check: Pass | MIT | |
| System 1 Agent BuilderThinkFlowLab/system1-agents | 122 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Setup Workshop Nemoclawbrevdev/workshop-build-an-agent | 144 | — | ~5.2k | Automated safety check: Pass | Apache-2.0 |
microsoft/skills
Reference for building on Microsoft Foundry with the azure-ai-projects Python SDK: project clients, versioned agents, evaluations, connections, datasets and indexes.
pifferologo/cloud-agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management", or needs ADK (Agent…
pydantic/pydantic-ai
Migrates Python LangChain Deep Agents applications to Pydantic AI and Pydantic AI Harness while preserving the application's observed behavior.
ThinkFlowLab/system1-agents
Scaffolds a new System 1 agent module for a named task in the system1-agents repo, after a fit probe, with its test and README row, verified model by model.
brevdev/workshop-build-an-agent
Set up the NVIDIA "Build an Agent" DevX workshop as a working JupyterLab environment from INSIDE a locked-down OpenShell/NemoClaw sandbox, and hand the user the token URL + access commands.
langchain-ai/langchain-azure
Reviews changes in the langchain-azure monorepo using package-specific knowledge of langchain-azure-ai, langchain-azure-compute, langchain-azure-cosmosdb, langchain-azure-postgresql…
Categories
Create, build, validate, and upload a Packs SDK agent (pack.ts using sdk.newAgent()) to your Coda/Superhuman account, including registering an API token, wiring up tools…. Create Agent Pack is an agent skill from coda/packs-sdk.newAgent()) to your Coda/Superhuman account, including registering an API token, wiring up tools (docs/mail/webSearch/connectors) and triggers (schedule/while-writing), and installing it from the agent directory.
Create Agent Pack fits situations like: (schedule/while-writing); installing it from the agent directory; asks to create an agent / upload a pack / make a pack.ts; iterating on an existing agent pack.
Run `npx skills add coda/packs-sdk --skill create-agent-pack -a claude-code`. Or copy the skill folder (.claude/skills/create-agent-pack in coda/packs-sdk) into .claude/skills/create-agent-pack in your project. Claude Code loads it when a task matches its description.
Run `npx skills add coda/packs-sdk --skill create-agent-pack -a codex`. Or copy the skill folder (.claude/skills/create-agent-pack in coda/packs-sdk) into .agents/skills/create-agent-pack 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 coda/packs-sdk --skill create-agent-pack -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-agent-pack, .gemini/skills/create-agent-pack, .github/skills/create-agent-pack and .opencode/skills/create-agent-pack in your project.
Going by SKILL.md and its folder, Create Agent Pack needs the command-line tools its instructions call (npx, npm and node). Our summary lists: Node.js.
SKILL.md names 3 domains. In commands or code: coda.io; the agent is likely to contact it when it follows the instructions. As links in the text: docs.superhuman.com and go.superhuman.com. This is read from the text; nothing was executed.
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.
Create Agent Pack is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Create Agent Pack: Azure AI Projects Python SDK (microsoft/skills, 3.1k stars), Google Agents CLI Adk Code (pifferologo/cloud-agents-cli, 129 stars), Deep Agents to Pydantic AI Migration (pydantic/pydantic-ai, 20k stars) and System 1 Agent Builder (ThinkFlowLab/system1-agents, 122 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
coda (a GitHub organization) maintains it in coda/packs-sdk, which has 112 GitHub stars. The repository was last updated on October 7, 2026.
Source: coda/packs-sdk on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.