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/document-assessment.md

Bounded document assessment

Read only when document sample inspection is selected from content-fit intake. Structural facts only; no conversion or admission proof. Refusal remains valid. No upload, OCR, rasterization, model call, macro/script/formula execution, external URI/object resolution or file extraction to disk. Never inspect binary documents using text viewers.

Exact approval and read contract

Before any read, approve exact local file/SHA-256/scope/ceilings. Separately approve whole-file hashing if identity is unknown. No inspection/hash/worker on decline. One file/invocation; no automatic batches, retries, wider scope or larger limits.

PDF: explicit 1-based pages, maximum eight selected pages/200 total pages. Others require --whole-document, not guessed page subsets; narrower non-PDF scope is unsupported. Pagination/rendering is not assessed. Whole-file hashing and PDF trailer/xref/object-stream/page-tree parsing remain necessary; compressed containers may include unselected objects. Only selected PDF streams are assessed, never other pages to guess modality. Decline if this whole-file structural metadata parsing is unwanted.

Use a customer-controlled private local scope. No URLs, device/UNC/mapped-network paths, symlinks/reparse points or untrusted writable directories. Linux mount locality and concurrent file replacement remain operator responsibilities. Blob/ADLS: reuse customer-provided, separately authorized local sample copies. This tool implements no remote read/download adapter. Remote requests return remote-sample-access-not-supported, not a container/subscription crawl. Separate sample-access approval names exact account/container/blob/version/ETag, byte range/full-file read, destination, retention and limits. Local path/hash approval remains required; no remote provenance verification or wider prefix.

python "<skill-root>\helpers\document_assess.py" --approve-inspection --file "C:\approved\sample.pdf" --sha256 <64-lowercase-hex> --pages 1,3
python "<skill-root>\helpers\document_assess.py" --approve-inspection --file "C:\approved\sample.docx" --sha256 <64-lowercase-hex> --whole-document

POSIX: native paths/quoting. Optional --format: auto, pdf, text, markdown, html, json, docx, pptx, xlsx, png, jpeg. Byte signatures/OOXML content types determine binary adapters, never extensions/MIME. Text auto mode reports UTF-8 text; HTML/JSON need explicit hints for structure, Markdown for lexical counts. Hints cannot override binary detection, ingestion mode or Search server admission. Auto-detected PDF still needs exact pages.

Declared installation and limits

Python 3.11+, Windows/Linux. Separately approve installation outside inspection; no automatic install or library guessing:

python -m pip install -r "<skill-root>\helpers\requirements-assessment.txt"

pypdf==6.8.0 (BSD-3-Clause): PDF; defusedxml==0.7.1 (PSF license): Office XML; others use stdlib. Missing/wrong selected-adapter versions block, without affecting other adapters. Nothing vendored; MIT-compatible distribution requires retaining dependency notices/non-endorsement terms when bundling. Repository development: uv sync --locked (pyproject.toml/uv.lock).

BoundFixed ceiling
File / worker / output16 MiB input; 256 MiB worker; 10 CPU seconds; 15 seconds wall including startup/read; 8 KiB JSON
Text / HTML / JSON2 MiB UTF-8 input; JSON depth 64/100,000 nodes; HTML 100,000 start tags
Office ZIP/XML256 entries; 2 MiB per inflated entry; 16 MiB aggregate declared inflation; compression ratio 100; 100,000 inspected XML nodes/depth 64
ImagesPNG IHDR/JPEG SOF0/1/2 headers only; 100 million declared pixels; 4,096 JPEG markers; no pixel decompression

ZIP: stored/deflated only; encrypted/macro packages, duplicate/unsafe paths and inflation excess block. Capped in-memory reads, no disk extraction. XML forbids DTDs/entities/external references. OS limits cover forged sizes, decompression, cycles and allocations before post-parse node checks.

Windows Job Object: process commit-memory/CPU/active-process limits. Linux: RLIMIT_AS/RLIMIT_CPU, zero core/file-output limits; not RSS quotas. Install before source reads/parser imports or block. Parent timeout/output guards kill only their owned PID. Audit denies writes/network/processes; after trusted parser/codec imports, file/directory reads too. Unsupported lazy features block. This is not an OS security sandbox or proof against every hostile document. OS paging/crash dumps remain outside the helper's privacy boundary.

Fact semantics and coverage

AdapterReported structural facts; exclusions
PDFPage-tree count; selected-page Unicode length/nonempty flag; direct image/path paint and Form calls. Not unique/visible images, lines or tables. Forms untraversed/their text unassessed; total images/drawings unknown.
Text/MarkdownUTF-8 character count including whitespace/markup, not an AST or visual classification. Other encodings unassessed.
HTMLData-event characters excluding script/style; recognized img/table/tr/td/th tag counts. Tolerant syntax, not rendering, table relationships or fetched images.
JSONString-value characters, object/array/key counts, not keys' contents, schema semantics or numeric text interpretation.
DOCXMain-document text/paragraph/table/blip elements; headers/footers/notes/embedded objects unassessed.
PPTXStandard numbered slide parts' text/paragraph/table/blip elements and part count; not order, notes, diagrams or linked objects.
XLSXStandard worksheet/shared-string/table parts: stored text, formula/cell/table counts, declared sheets. Shared strings counted once, not cell occurrences; no evaluation/numeric/chart interpretation.
PNG/JPEGDimensions/numeric headers; PNG IHDR CRC checked. Pixels, orientation, further frames and completeness unassessed.

Office: conventional transitional namespaces/parts only. Unreferenced standard slide/sheet parts may be counted; relationships unresolved. Image references/ table elements prove neither visibility, preserved relationships nor semantics. Every report keeps input profile unknown, OCR need/answerability/layout relationships not-assessed. not-applicable distinguishes non-page formats or irrelevant typed counters; unknown facts never become false zero counts. Text output/Markdown representation cannot prove text-only input or choose CU.

Return and fallback

Exit 0/completed, assessment: assessed: adapter facts only. Exit 2/blocked, assessment: not-assessed, facts: null: approval/scope/identity/ limits, malformed/encrypted/unsupported content, missing adapter, warning or worker failure. Do not invent worker-death causes. Legacy Office, other formats and unsupported profiles are unassessed—not rejected for service ingestion. All reports say service_admission: not-assessed; preserve the blocker and use description/answer questions, never assume text-only or silently downgrade.

After identity verification, bind source SHA-256 and canonical path SHA-256 (UTF-8 absolute path, Windows case-normalized). Changed bytes block before parsing; original File bytes remain unchanged. No raw text/keys/snippets/images/drawing operands/archive names in stdout/stderr/ artifacts. Only aggregate JSON leaves worker memory; no temporary files/deletion. Return coverage/uncertainty to content-fit, then source-owner plan/ingestion approvals—not fabricated evidence.

Authorities: failure/conflict/uncertainty only.

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