CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-ai-projects-py

Build AI applications on Microsoft Foundry using the azure-ai-projects SDK.

Quality

63%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/azure-ai-projects-py/SKILL.md

The canonical home for this skill is azure-ai-projects-py in sickn33/agentic-awesome-skills

SKILL.md
Quality
Evals
Security

Quality

Content

63%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a well-organized, code-heavy overview with mostly executable examples and a clearly sequenced core workflow. Its two real weaknesses are repeated client-construction boilerplate plus a filler closing section, and the fact that every reference pointer targets bundle files that are missing from the skill as shipped.

Suggestions

Ship the referenced bundle files (references/agents.md, references/tools.md, references/api-reference.md, scripts/run_batch_evaluation.py, and the rest) — or inline the essential content — since the body's structure currently points users to twelve files that do not exist in the bundle.

Show the AIProjectClient construction once and reference it from the other sections instead of repeating it three times; drop the redundant "Access" column from the operations table and delete the filler "When to Use" section.

Add a concrete error-path example for runs (handling failed/cancelled statuses) and a real async example rather than the `...` ellipsis, since the async section currently shows pseudocode.

DimensionReasoningScore

Conciseness

The body is mostly dense, useful code and tables, but carries noticeable waste: the AIProjectClient construction appears three times (Authentication, "Two Client Approaches", async section), the client-operations table's "Access" column just restates the Operation column (`.agents` → `.agents.*`), and the closing "When to Use" section is pure filler ("This skill is applicable to execute the workflow or actions described in the overview."). This fits anchor 3 ("mostly efficient but includes some unnecessary explanation or could be tightened") rather than anchor 4, since there are several padded spots, not just minor trimmable instances.

3 / 5

Actionability

The body is dominated by executable, copy-paste-ready snippets — authentication, agent creation with tools, versioned agents, thread/message/run flow, connections, deployments, async usage — with only minor gaps: the async example ends in `...` pseudocode, and the memory-store example's `tool_resources` dict is unexplained. Anchor 4 ("mostly executable guidance... minor gaps") fits; not 5 because common cases like error handling and streaming (mentioned but never shown) lack concrete examples.

4 / 5

Workflow Clarity

The core thread-and-run workflow is explicitly numbered (create thread → add message → create_and_process → check status) and includes an explicit `run.status == "completed"` checkpoint, and Best Practices adds sequencing guidance (prefer create_and_process, clean up agents, use versioned agents in production). Anchor 4 ("clear sequence with most checkpoints present; minor validation gaps") fits — error-recovery paths (failed/cancelled run statuses) are not addressed, keeping it below 5.

4 / 5

Progressive Disclosure

The structure follows the ideal pattern on paper — an overview with inline quick examples and clearly signaled, one-level-deep pointers like "See references/agents.md for detailed agent patterns" — but the actual bundle contains none of the 11 referenced reference files or the referenced scripts/run_batch_evaluation.py, so every pointer is dangling and all deep content is absent. Scored against the actual bundle structure, this lands at anchor 3: good structure undermined by broken navigation, since the body delegates most detail to files that do not exist.

3 / 5

Total

14

/

20

Passed

Description

48%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is short and names its specific SDK and platform, giving it decent distinctiveness, but it stops at a single generic action and entirely lacks a "Use when..." trigger clause. Users searching with natural terms like "Azure AI Foundry" or "AI agent" would likely not surface this skill.

Suggestions

Add an explicit trigger clause, e.g., "Use when building AI agents or evaluations on Azure AI Foundry, or when the user mentions the azure-ai-projects SDK, Foundry agents, or AIProjectClient."

Enumerate 2-4 concrete capabilities in the description (create and version agents, run threads, manage connections/deployments, run evaluations) instead of the generic "Build AI applications".

Include the natural product name "Azure AI Foundry" alongside "Microsoft Foundry" so the description matches how users actually refer to the platform.

DimensionReasoningScore

Specificity

The description names the domain ("Microsoft Foundry", "azure-ai-projects SDK") but its only action is the generic umbrella goal "Build AI applications" — no concrete capabilities like creating agents, running threads, or executing evaluations. It matches anchor 2 ("Names the domain but actions are minimal or generic") rather than anchor 3, which requires 1-2 concrete actions.

2 / 5

Completeness

The "what" is clearly stated (build AI applications on Microsoft Foundry using the SDK), but there is no "Use when..." clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. Anchor 3 ("clear 'what' but 'when' is missing") fits; anchor 4 is unreachable without any 'when' clause.

3 / 5

Trigger Term Quality

It includes relevant keywords ("Microsoft Foundry", "azure-ai-projects", "AI applications", "SDK") but misses common natural variations users would say, such as "Azure AI Foundry" (the actual product name), "AI agent", "agents", "evaluations", or "deployments". This lands on anchor 3 ("Some relevant keywords but missing common variations or synonyms"), not 4, since several natural terms are absent.

3 / 5

Distinctiveness Conflict Risk

Naming a specific SDK ("azure-ai-projects") and platform ("Microsoft Foundry") carves out a clear niche with only minor overlap risk against closely related Azure/OpenAI SDK skills — matching anchor 4. Not anchor 5 because the broad phrase "Build AI applications" could pull queries aimed at other AI app-building stacks.

4 / 5

Total

12

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

referenced_paths_exist

Referenced path issues: 18 missing

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/azure-ai-projects-py/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.