Generated banner for Foundry Iq
Generated logo for Foundry Iq

Foundry Iq

MicrosoftOfficialCreated by Microsoft

  • Skill
  • Workflow
  • Data and AI
  • MIT
  • Medium risk
  • Has scripts

From the author

Foundry IQ knowledge bases. WHEN: make local or Blob documents searchable; create/diagnose KBs; triage unsupported connectors or multi-source KB creation/reconfiguration (even with classic-search terms); connect existing KB to agents (including multi-source KBs); create/reuse a Search service; retrieve from an existing knowledge base with citations; no brand words needed. Read its procedure before query/target questions. NOT: other KB providers, repository-file search, classic Azure AI Search index/query/app work with no Foundry IQ KB or connector request, generic agent creation.
— the description by Microsoft

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

Foundry IQ provides a structured framework for creating, diagnosing, and connecting knowledge bases to AI agents. It supports making local or Blob-based documents searchable, managing multi-source knowledge configurations, and retrieving information with citations. The skill emphasizes strict adherence to defined procedures for service discovery, resource creation, and troubleshooting to ensure reliable agent-knowledge integration.

What it does

  • Creates searchable knowledge bases from local or Azure Blob storage documents.
  • Connects existing knowledge bases to AI agents.
  • Diagnoses issues with knowledge base configurations or unsupported connectors.
  • Retrieves information from knowledge bases with source citations.
  • Manages the lifecycle of search services and knowledge sources.
  • Routes requests based on specific operational needs rather than source counts.

When to use it

  • When you need to make local or cloud-stored documents searchable by an AI agent.
  • When connecting an existing knowledge base to a new or current agent.
  • When troubleshooting or diagnosing a knowledge base configuration.
  • When you need to create a new search service or knowledge source.
  • When performing retrieval tasks that require citations from a knowledge base.

Advantages

  • Provides a clear, procedural approach to knowledge base management.
  • Ensures consistent handling of multi-source knowledge configurations.
  • Includes built-in diagnostic paths for troubleshooting.
  • Supports secure, citation-backed retrieval for agent responses.
  • Prevents unauthorized or unsupported configuration changes.

Usage examples

“Create a new knowledge base from my Azure Blob container.”
The agent will initiate the knowledge base creation procedure, validating the source and setting up the necessary search indexing.
“Connect my existing knowledge base to the current agent.”
The agent will follow the connection workflow to link the specified knowledge base to the agent's retrieval pipeline.
“Why is my multi-source knowledge base failing to index?”
The agent will trigger the diagnostic procedure to identify configuration drifts or unsupported connector issues.
“Retrieve information about project timelines from the knowledge base.”
The agent will query the knowledge base and provide an answer with citations from the source documents.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/microsoft/foundry-iq/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip foundry-iq.zip -d .agents/skills

Documentation by Microsoft

Foundry IQ

Read one procedure before questions/actions; invocation is not a read. Read the owning procedure before blocked/unsupported responses too. Before mutation plans/approval, successfully read its required pre-action references, selected branches only. Do not reload successful reads. On failure, try only permitted bounded exact-path reads with any supported reader; never bypass restrictions or search broadly. If still unavailable: blocked: reference-unavailable, name missing references and inability to plan. Never invent requirements/plans. Failures first.

Cleanup and receipt-backed execution go directly to their lifecycle/producer owner; do not reopen Search intake, provisioning or hardening.

Before expensive service discovery, reuse supplied resource/intent; otherwise ask one early USE EXISTING / FIND CANDIDATES / CREATE NEW choice. Only FIND enumerates; supplied identity uses exact/minimum scoped resolution. CREATE checks its proposed name, not existing-service inventories. Preserve these answers across source/KB/CU/model handoffs; selection is not write approval.

Searchable docs: KB + validated retrieval. Confirm intent once; KS-only must be explicit. Child success is not KB completion. Unclear/compound/mode/completion: read.

Route by requested operation, not existing KB source count. Connecting an existing KB with two or more sources, without changing the KB, uses Connect. Read-only operations use their owning procedure and actual helper constraints; this does not add retrieval modes or supported source kinds. Explicit unsupported provisioning or multi-source KB creation/reconfiguration uses Diagnose and stops before discovery, even when connecting an agent is also requested. This routing takes precedence over classic-search terms (e.g. hybrid search) in compound requests. Never end in a plain refusal: Diagnose gives the boundary, docs pointer and agent handoff; writes still need an approved concrete plan. Do not silently execute only the supported part of a compound request. If existing-KB connection versus KB creation/reconfiguration is unclear, read intent-routing and clarify that scope before Azure discovery. Never infer KB mutation.

OutcomeRead
CleanupPlan cleanup
Failure/driftDiagnose
Unsupported connector provisioning / multi-source KB creation or reconfigurationDiagnose
ConnectConnect
Read KBQuery
Search onlySearch
File KS onlyFile
Blob/ADLS KS onlyBlob
Searchable/KBKB

Generic agents: microsoft-foundry. Reads: no approval; approve unchanged plans before writes. Hide hashes. No Search/Storage keys, scope widening, guessed identity/boundaries, drift repair or joint cleanup/creation approval. Acceptance != success.

Files

helpers/kb-contracts.md

Knowledge-base planning contract

Use for KB creation/reuse or the explicit model-free agent transition. The KB owner resolves goals, source readiness, access and costs; common contracts govern approval and execution. No helper source inspection, hand-built desired/models or hash scripts on the normal path. Reuse supplied choices instead of asking another questionnaire.

Read-only planning

python helpers/search_reconcile.py --plan <kb-intent.json>

Closed UTF-8 input, at most one MiB:

{"schema_version":"1.0","endpoint":"https://svc.search.windows.net","name":"docs-kb","owner":"[email protected]","source_name":"docs-file","api_version":"2026-08-01-preview","reasoning_effort":"minimal","output_mode":"extractiveData"}

All shown fields are required. name/source_name are exact names, not patterns; owner is workflow metadata, not wire data. Names are URL-encoded, never code. action defaults to create-or-reuse. Renaming after collision needs approval.

ChoiceSupported shape
API2026-04-01 for Blob minimal/extractive; 2026-08-01-preview for File/ADLS, reasoning/synthesis or agents
Reasoning/outputPreview minimal/low/medium: extractiveData or answerSynthesis; GA minimal/extractive only
ModelOmit/null for minimal/extractive; one explicit model below for low/medium or synthesis
Optional textdescription, retrieval_instructions, answer_instructions: text/null, each at most 4096 characters; instructions preview-only
Optional controlsExisting closed data_movement, rbac, network objects from common contracts

No implicit API/mode/model choice, escalation or CU/vector inference. Source processing and embeddings remain unchanged. Unknown fields and invalid choices block before authentication. No keys, secret environments, model provisioning, network/RBAC changes or model calls.

Reasoning or synthesis with a chat model

Use resolved deployment/model choices, not guesses or a hardcoded default:

{"schema_version":"1.0","endpoint":"https://svc.search.windows.net","name":"docs-kb-synthesis","owner":"[email protected]","source_name":"docs-file","api_version":"2026-08-01-preview","reasoning_effort":"low","output_mode":"answerSynthesis","model":{"endpoint":"https://models.services.ai.azure.com","deployment":"chat-deployment","model":"gpt-4.1-mini","auth":"system-assigned","prerequisites":{"deployment":"<verified deployment/model reference>","identity":"<verified Search identity/role reference>","network":"<verified reachability reference>"}}}

model accepts only those five fields. Prerequisites are nonempty text, at most 4096 characters each: owner attestations, not helper proof of capacity/readiness/access. Use a supported Azure OpenAI chat model, exact public-cloud account endpoint and deployment. The Search system identity needs model access. CU/embeddings are not KB chat. For medium or minimal synthesis, change reasoning_effort accordingly; retain the model. Minimal synthesis adds model cost without query planning; use intents, not messages, for retrieval. Never auto-escalate or change extractive defaults.

The helper generates the complete wire definition, including:

{"name":"docs-kb-synthesis","knowledgeSources":[{"name":"docs-file"}],"retrievalReasoningEffort":{"kind":"low"},"outputMode":"answerSynthesis","models":[{"kind":"azureOpenAI","azureOpenAIParameters":{"resourceUri":"https://models.services.ai.azure.com","deploymentId":"chat-deployment","modelName":"gpt-4.1-mini","authIdentity":null}}]}

No apiKey. Only minimal/extractive omits models. GA omits preview fields/models. New artifacts bind kb_plan_version: "1.0" and kb_model (null or the selected choice) to that wire definition. Existing approved artifacts retain their fingerprints; preview minimal/synthesis is now admitted with one model. Masked/nonempty keys or a different model identity in KB readback block; they cannot be hidden by generic definition normalization.

Observation, result and approval

Only selected Search GET knowledgesources('{source}') and GET knowledgebases('{name}'), using the requested API and signed-in CLI token. Source GETs bracket KB observation; existing KBs are reread for ETag/definition stability. Three GETs for an absent KB, four for existing; no resource enumeration, status polling, uploads, retrieval, PUT/PATCH/DELETE or writes to local artifacts. These observations are not locks or ingestion/retrieval proof.

The source must exist and return the exact selected File/Blob/ADLS definition. The helper derives verified_source name/normalized definition digest from those reads; never supply or fabricate it in the intent. Finish source-owner readiness and prerequisite verification before mutation approval.

Exit 0: status: planned, execution_input, plan_fingerprint, approval_summary, read request IDs and writes_performed: []. Save only execution_input in a private UTF-8 JSON file. It already contains the complete plan and computed fingerprint, with approval.confirmed: false. Do not wrap it again, edit its generated body or calculate a fingerprint. Summaries omit prerequisite references; retain private artifact data privately.

An exact existing KB is observed reuse, not a prediction: stable name/definition/ ETag, action: reuse, execution_required: false, mutation_approval_required: false. Do not execute an unapproved envelope just to repeat this read-only verification. Continue authorized retrieval; ingestion and retrieval remain explicitly unverified by planning.

Otherwise present concrete actions/source/mode/model, access, cost/data movement, acceptance and cleanup. An already-confirmed concrete plan is not a reason to repeat choice questions; confirm any material difference before proceeding. Only actual approval of the unchanged generated plan permits setting its existing approval.confirmed to true; preserve the supplied fingerprint. Tool permission, bootstrap consent or a proposed future source does not establish that approval. The planner never infers consent from the input.

python helpers/search_reconcile.py --input <approved-envelope.json>

Apply freshly verifies the source binding, conditional create or current ETag update, exact readback and keyless model auth. Source/KB drift blocks; regenerate the proposal and review changes, never hand-repair nested JSON/hashes. Exit 2 is structured blocked/no-write; post-write failures are 3/partial with retained ownership. No automatic retries of writes or cleanup. An updated KB remains pre-existing/reused, including failed or ambiguous post-write verification; an update never establishes creation ownership.

Explicit agent-minimal transition

This is optional KB-side model-free normalization, not an MCP prerequisite. Never downgrade a valid reasoning/synthesis KB to connect an agent. For the owner's existing model-free GA/extractive KB transition, set action: agent-minimal-transition, preview API, minimal effort and extractive output. Omit model and optional text changes. The source/KB must exist and match. Existing absent/minimal/low effort is allowed only without models and synthesis; the summary discloses prior mode fields, including an observed default low. Only the two preview mode fields change, guarded by the current ETag; unrelated fields/models remain. The update needs separate concrete approval. An equivalent KB is reuse. Verify actual agent MCP invocation separately from GA REST retrieval.

Authorities

Authorities: failure/conflict/uncertainty only. preview KB wire/model fields, KB creation and model access.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Python

The author says: Azure

Security

What our scanner noticed· Medium risk

  • References to credential files
  • Instructions that use the network
  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Microsoft
Publisher
Microsoft (Official)
Source
microsoft/skills · .github/plugins/foundry-iq-skills/skills/foundry-iq · commit 0696600
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from .github/plugins/foundry-iq-skills/LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download foundry-iq.zip