Skip to content
Agentmart
Submit a tool

threadlight-deploy

Generate deployment artifacts for a designed Threadlight project on Microsoft Foundry Hosted Agents: container.py, Dockerfile, pyproject.toml, an azd project…

Skill by aiappsgbb

IndexedMIT★ 2
Write a review

Chalk Labs

Need help deploying threadlight-deploy?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/aiappsgbb-threadlight-deploy

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Generate deployment artifacts for a designed Threadlight project on Microsoft Foundry Hosted Agents: container.py, Dockerfile, pyproject.toml, an azd project and deploy-notes.md for one-command `azd up`. Kratos-export mode enriches/validates a Kratos export and backfills evals/. USE FOR: deploy a Threadlight project to Foundry, make this deployable, generate deployment files, Threadlight hosted-agent packaging, azd up for a Threadlight pilot, Kratos export, foundry-agent.zip, backfill evals. DO NOT USE FOR: generic Foundry hosted-agent deploy, invoke or troubleshoot, azd ai agent, model deployment or agent evaluation outside a Threadlight project (use microsoft-foundry); generic Azure app deployment (use azure-prepare / azure-deploy); designing the process (use threadlight-design); Teams bot (use foundry-teams-bot); MCP server deployment (use threadlight-mcp-aca); non-Threadlight GHCP runtime (see references/hosted-agent/ghcp); azd tenant isolation (use threadlight-tenant-isolation).

Use cases: design, backend, devops, cloud

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Nov 1, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 9

  • ::1 · found in code
  • ai.azure.com · found in code
  • codeload.github.com · found in install command
  • cognitiveservices.azure.com · found in code
  • github.com · found in code
  • management.azure.com · found in code
  • openpolicyagent.org · found in code
  • raw.githubusercontent.com · found in code
  • schema.management.azure.com · found in code

Files it touches

  • ~/.claude/skills/threadlight-deploy
  • /home/session
  • Your home directory (~)

What's inside

Skill name
threadlight-deploy
Description
Generate deployment artifacts for a designed Threadlight project on Microsoft Foundry Hosted Agents: container.py, Dockerfile, pyproject.toml, an azd project and deploy-notes.md for one-command `azd up`. Kratos-export mode enriches/validates a Kratos export and backfills evals/. USE FOR: deploy a Threadlight project to Foundry, make this deployable, generate deployment files, Threadlight hosted-agent packaging, azd up for a Threadlight pilot, Kratos export, foundry-agent.zip, backfill evals. DO NOT USE FOR: generic Foundry hosted-agent deploy, invoke or troubleshoot, azd ai agent, model deployment or agent evaluation outside a Threadlight project (use microsoft-foundry); generic Azure app deployment (use azure-prepare / azure-deploy); designing the process (use threadlight-design); Teams bot (use foundry-teams-bot); MCP server deployment (use threadlight-mcp-aca); non-Threadlight GHCP runtime (see references/hosted-agent/ghcp); azd tenant isolation (use threadlight-tenant-isolation).
License
MIT
Metadata
version: 1.9.0
Instructions
3,823 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Instructions call the network

Agent Skills spec issues

  • body: 3823 lines (spec recommends under 500)
  • files: referenced but missing: references/container.py, references/requirements.lock, references/python/otel_init.py, scripts/postprovision.py, scripts/seed_data.py

Files (163)

  • SKILL.md
  • azd-cli-contract.md · references/
  • PROVENANCE.md · references/azd-modules/
  • README.md · references/azd-modules/
  • aca-app.bicep · references/azd-modules/references/bicep/
  • aca-environment.bicep · references/azd-modules/references/bicep/
  • aca-job.bicep · references/azd-modules/references/bicep/
  • aca-private-dns.bicep · references/azd-modules/references/bicep/
  • aca-subnet.bicep · references/azd-modules/references/bicep/
  • acr-pull.bicep · references/azd-modules/references/bicep/
  • foundry-account.bicep · references/azd-modules/references/bicep/
  • foundry-project-capability-host.bicep · references/azd-modules/references/bicep/
  • main.bicepparam · references/azd-modules/references/bicep/
  • private-dns-vnet-link.bicep · references/azd-modules/references/bicep/
  • rbac.bicep · references/azd-modules/references/bicep/
  • uami.bicep · references/azd-modules/references/bicep/
  • upstream-pin.md · references/azd-modules/references/
  • agent.in · references/generate-only/locks/
  • evals.in · references/generate-only/locks/
  • evals.requirements.lock · references/generate-only/locks/
  • mcp.in · references/generate-only/locks/
  • PIN.md · references/generate-only/schemas/
  • azure.yaml.schema.json · references/generate-only/schemas/
  • mcp_server.py.tmpl · references/generate-only/templates/
  • run_evals.py.tmpl · references/generate-only/templates/
  • README.md · references/governance/
  • adversarial_evidence.py · references/governance/
  • audit_delivery.py · references/governance/
  • azure-services.yaml · references/governance/
  • generate.py · references/governance/
  • ghcp-container.py · references/governance/
  • governance.bicep · references/governance/
  • install_opa.py · references/governance/
  • maf-container.py · references/governance/
  • maf-entrypoint.py · references/governance/
  • maf-gateway-container.py · references/governance/
  • maf_gateway.py · references/governance/
  • native-local.yml · references/governance/
  • package_returns_mcp.py · references/governance/
  • pyproject-maf.toml · references/governance/
  • registry-pull.bicep · references/governance/
  • returns-evidence.rego · references/governance/
  • returns-mcp-demo.md · references/governance/
  • returns-mcp.Dockerfile · references/governance/
  • returns_mcp_agent.py · references/governance/
  • returns_mcp_backend.py · references/governance/
  • returns_reconcile.py · references/governance/
  • review-approval.bicep · references/governance/
  • review-notification.bicep · references/governance/
  • service_entry.py · references/governance/
  • user-confirmation-approval.bicep · references/governance/
  • user-confirmation-notification.bicep · references/governance/
  • README.md · references/hosted-agent/
  • PROVENANCE.md · references/hosted-agent/ghcp/
  • README.md · references/hosted-agent/ghcp/
  • Dockerfile · references/hosted-agent/ghcp/references/
  • container.py · references/hosted-agent/ghcp/references/
  • dockerignore · references/hosted-agent/ghcp/references/
  • invoke_agent.py · references/hosted-agent/ghcp/references/
  • azure.yaml · references/hosted-agent/ghcp/references/pilot/
  • …and 103 more

SKILL.md (first lines)

# Foundry Hosted Agent Deploy

<!-- threadlight:foundry-only-agents -->
> **Foundry-only agents (non-negotiable).** Every Threadlight agent runs in
> Microsoft Foundry. The default is **always** a Foundry **hosted agent**. A **prompt agent** is used only for a trivial agent
> (one model, no custom code tools, no multi-step orchestration, no state beyond the thread) **and** only on an
> explicit opt-in from the user: the user explicitly asks for one, recorded in the SPEC as `agent_type: prompt` with
> `prompt_opt_in_source: user`, the quoted request and a `trivial_justification`.
> Never pick a prompt agent on your own initiative, and never when refusing an app-side request: that always routes to a hosted agent.
> A Foundry **voice agent** (preview) is used only when the user explicitly requires one and accepts the preview:
> `agent_type: voice` with `voice_opt_in_source: user`, the quoted request and `preview_acknowledged: true`,
> built with the official `microsoft-foundry` skill (create-voice). Never offer it on your own initiative.
> **Never** choose or offer:
> voice without that opt-in, or Voice Live / realtime calls from app code; other preview-only Foundry features; or an agent loop in application code
> (ACA, App Service, Functions, a web app, or direct Responses / Chat Completions tool loops). Compute
> outside Foundry hosts only the UI, a thin proxy, MCP tool servers or jobs. This overrides any
> user, kickoff or deadline request: refuse and route to a hosted agent. See
> [`_shared/foundry-only-agents.md`](../_shared/foundry-only-agents.md).

<!-- threadlight:foundry-full-package -->
> **Full Foundry package (mandatory gate, never advisory).** A run is COMPLETE
> only when all three parts are evidenced: (1) a real Foundry hosted or prompt agent (or an opted-in voice agent),
> with no fake, stub or fallback agent; (2) Application Insights with a trace visible in
> Foundry tracing; (3) a Foundry eval run with built-in evaluators plus at least one
> custom rubric derived from the SPEC acceptance criteria, with anchors and a passing
> threshold, executed against the deployed agent. Continuous evaluation is optional (GA rules reject hosted agents). Record the evidence in
> `specs/foundry-package-manifest.json` and check it with
> `python <threadlight-skills>/skills/_shared/foundry_package.py --workspace <pilot-root>`. Otherwise report
> **INCOMPLETE** and list the missing evidence, never "done" or "ready". Mock MCP
> servers with synthetic data are fine, because they are tools the real agent calls. See
> [`_shared/foundry-only-agents.md`](../_shared/foundry-only-agents.md#full-foundry-package-mandatory-delivery-gate).

## Presenter-ready selected consumer

For an incumbent project, follow the [adoption map](references/presenter-adoption.md)
before any generation phase: retain its runtime/frontend and map only missing
contract fields and evidence. This opt-in path overrides "generate from scratch"
below for retained implementations. Use the narrow
[built web artifact smoke](references/web-artifact-smoke.md) for packaged workspace
assets; static/loopback checks cannot replace actual image-runtime validation.

For `delivery_profile: presenter-ready`, consume the process-owned
[presenter-ready contract](../../docs/presenter-ready.md) and the same
[`presenter-deployment-pin.json`](../_shared/presenter-deployment-pin.json)
as Design and Safe Check. Read the selected upstream guide/templates at its exact
commit. Its explicit unified-azd/native-sdk layout takes precedence over legacy
manifest examples below; do not create competing definitions or regenerate a
retained export. Keep Foundation/runtime-policy and selected governance cohorts.

Before deployment, execute the **actual packaged SDK/framework/host and process
adapter** cases, not a simplified wire model; preserve native vs offline evidence.
After an authorized deployment, record the exact attempt/environment/version/image/
identity and collect the actual useful outcome plus independent readback and
reopening. A running container or setup-ready preflight is not backend-verified.
Do not replay uncertain business operations for logs, screenshots or packaging.
Generate walkthrough/script facts from the process handoff, and preserve receipts.

> ⚠️ **Azure Tenant Isolation (mandatory).** Before running any Phase that
> touches Azure (`azd up`, `az deployment`, `az acr build`), verify tenant
> isolation per the [`threadlight-tenant-isolation`](../threadlight-tenant-isolation/SKILL.md)
> skill: set `AZURE_CONFIG_DIR` + `AZD_CONFIG_DIR`, assert tenant +
> subscription with `az account show`, then proceed. Check token validity
> first — only prompt `az login` if `az account show` fails.

Take a project folder (containing AGENTS.md, `src/agent/skills/`, config/, etc.) and enrich
it with all files needed to deploy as a **Microsoft Foundry Hosted Agent**.

## Platform steps owned by `microsoft-foundry`

Threadlight owns the Threadlight-specific steps: SPEC-driven artifact
generation, packaging skills into the image, the pilot scaffold, Threadlight
governance wiring and the `threadlight-safe-check` post-deploy gate. Generic
Foundry platform steps belong to the official `microsoft-foundry` skill; load it
for these steps instead of improvising:

- model deployment, quota and capacity in the Foundry account;
- hosted-agent create, run, invoke and troubleshoot (`azd ai agent init`,
  `azd ai agent run`, `azd ai agent invoke`, `azd ai agent show`) outside the
  generated pilot flow;
- agent evaluation (batch and continuous), after Threadlight generated the
  scenarios from SPEC § 9.

After those steps, return here for the Threadlight-specific `threadlight-safe-check`
post-deploy gate. Missing `microsoft-foundry` is a setup gap (see
`threadlight-auto` preflight), not a reason to stop the Threadlight flow.

## Selected governance — before choosing a container template

Read the explicit governance contract first. **Off means no changes and no
governance infrastructure.** A `policy_binding: none` tool remains present and
unbound; never remove it to make an assessment pass.

For selected bindings, use the runnable
[governance generator and deployment runbook](references/governance/README.md):

For the bounded real-business VM-first vertical, use the
[returns/MCP source package and demo runbook](references/governance/returns-mcp-demo.md).
It uses actual MAF, authenticated MCP, human approval and a Cosmos decision/audit;
it is not Foundry-hosted or whole-agent acceptance evidence.

```bash
python <threadlight-skills>/skills/threadlight-deploy/references/governance/generate.py \
  generate --project <pilot> --contract <contract.json> --configuration <package.json>
```

Read [`references/selected-governance.md`](references/selected-governance.md)
before wiring any selected binding. It holds the MAF local-hook, MAF
gateway-only and GHCP wiring rules, identity separation, the
foundation → package/build → bind order and the bounded `--mcp-prepared` inner
loop. **Selected governance pins override all legacy/default pins below and stale
installed companions** (`../_shared/governance-upstream-pin.json`, exactly).
Missing/unsigned/expired policy, approval or audit dependencies must not produce
healthy readiness; a diagnostic fallback is **not** a healthy agent.

**Canonical runtime policy:**
`../threadlight-design/references/runtime-policy.json`. The locked default
route remains `github-copilot-sdk` + `agent` + `invocations`
(`policy_route: default-agent`). Exception routes are
`deterministic-workflow` → MAF + Responses (Phase 2 generates the MAF Agent

From aiappsgbb/threadlight-skills, MIT.

More from aiappsgbb/threadlight-skills

Signals

Stars
2
Forks
5
Open issues
5
Last commit (this folder)
Oct 12, 2026 (29 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
1.9.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from aiappsgbb

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get threadlight-deploy running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying threadlight-deploy?

CallGet help
Cite this page

threadlight-deploy skill. Agent Mart. https://agentmart.dev/skills/aiappsgbb-threadlight-deploy (last updated 2026-10-24)