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
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.
About
Use cases: design, backend, devops, cloud
Reviews
Write a reviewNo 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. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/threadlight-deploy
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. > **Never** choose or offer: > voice agents (Voice Live or realtime); 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, > 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> ``` - Keep the operator's runtime choice. MAF local hooks use the **whole portable provider**, native Task6 validator, signed Task8 envelope, real Key Vault verification, HTTP approval client and authenticated Task8 audit delivery. The `create_governed_agent` result is the agent actually passed to `ResponsesHostServer`; application middleware stays inside its native hooks. Required output mediation buffers before delivery and forces `store=False`. Required audit uses remote receipt ACK **before effects**, with bounded worker replay and shutdown; the local retry spool is not persistent hosted storage. CP outage or local spool failure is unhealthy and blocks required effects. - MAF can also use the explicit **gateway-only** action path through `maf-gateway-container.py`: real native MAF functions call the authenticated MCP gateway, which runs ACS and the existing approval/audit protocol before the downstream action. This path has no mixed local/gateway bindings or lifecycle bindings; application-local tools must be exactly the declared unbound reads. Arbitrary request-level tool/middleware/provider overrides are rejected. OBO is not provided by this app-only path. Human decisions remain separate delegated approval-service calls, not SDK auto-approval.
From aiappsgbb/threadlight-skills, MIT.
More from aiappsgbb/threadlight-skills
- 0.603score
threadlight-governed-actions
aiappsgbb
Use when a pilot needs consequential-action runtime implementation or evidence: selected native hooks, gateway effect closure, action inventory, pre-deploy…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
threadlight-cicd
aiappsgbb
Use when a Threadlight pilot must reach production through a CI/CD pipeline instead of the agent running `azd up` directly — prod deploys run under a…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
threadlight-govern
aiappsgbb
Use when a Threadlight pilot needs native ACS/Rego policy, SAFE business invariants, selected tool or lifecycle bindings, approval requirements, signed policy…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
threadlight-evals
aiappsgbb
Threadlight evals leg: offline batch quality, Foundry Continuous Evaluation and champion-challenger gates.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
threadlight-connect
aiappsgbb
CONNECT-leg: evidence-based swap of a scaffolded mock Foundry tool for a real endpoint.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
threadlight-consumption-iq
aiappsgbb
Project Azure cost from deployed Bicep + SPEC § 12, compare viable SKUs, and emit cost-projection.md + cost-manifest.json after safe-check.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
threadlight-demo-data-factory
aiappsgbb
Generate per-domain Faker-style synthetic data + Cosmos seed/reset scripts for a threadlight process.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
threadlight-customize
aiappsgbb
Use when an SE or a customer's platform team needs to FORK the Threadlight pipeline and adapt it to one customer's environment — landing zones, identity…
SkillAFreshness: A★ 2Claude Code +9 - 0.594score
threadlight-citadel-hub
aiappsgbb
Threadlight-owned port (from awesome-gbb's Citadel hub skill): deploy the AI Citadel Governance Hub (Layer 1) for a Threadlight pilot, using an APIM gateway…
SkillAFreshness: A★ 2Claude Code +9 - 0.590score
threadlight-citadel-spoke
aiappsgbb
Threadlight-owned port (from awesome-gbb's Citadel spoke skill): onboard a Threadlight pilot's Foundry project as a spoke of an existing AI Citadel Governance…
SkillAFreshness: A★ 2Claude Code +9 - 0.590score
threadlight-auto
aiappsgbb
Full-auto driver for the Threadlight pilot pipeline.
SkillAFreshness: A★ 2Claude Code +9 - 0.590score
threadlight-design
aiappsgbb
Spec out a business process or customer use case for an enterprise pilot, then generate agent architecture (AGENTS.md + Skills) — a SpecKit specification…
SkillAFreshness: A★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 5
- Open issues
- 5
- Last commit (this folder)
- Oct 12, 2026 (16 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.9.0
- License
- MIT
- Repository
- github.com/aiappsgbb/threadlight-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from aiappsgbb
- 0.603score
threadlight-evals
aiappsgbb
Threadlight evals leg: offline batch quality, Foundry Continuous Evaluation and champion-challenger gates.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
threadlight-govern
aiappsgbb
Use when a Threadlight pilot needs native ACS/Rego policy, SAFE business invariants, selected tool or lifecycle bindings, approval requirements, signed policy…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
threadlight-connect
aiappsgbb
CONNECT-leg: evidence-based swap of a scaffolded mock Foundry tool for a real endpoint.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
threadlight-cicd
aiappsgbb
Use when a Threadlight pilot must reach production through a CI/CD pipeline instead of the agent running `azd up` directly — prod deploys run under a…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
threadlight-consumption-iq
aiappsgbb
Project Azure cost from deployed Bicep + SPEC § 12, compare viable SKUs, and emit cost-projection.md + cost-manifest.json after safe-check.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
threadlight-governed-actions
aiappsgbb
Use when a pilot needs consequential-action runtime implementation or evidence: selected native hooks, gateway effect closure, action inventory, pre-deploy…
SkillAFreshness: A★ 2Claude Code +9
Cite this page
threadlight-deploy skill. Agent Mart. https://agentmart.dev/skills/aiappsgbb-threadlight-deploy (last updated 2026-10-24)