CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-python-flow

Use when writing Python code with `axllm` for flows, nodes, program graphs, nested programs, dynamic options, caching, and optimizer components.

58

Quality

73%

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 ./website/static/python/.well-known/agent-skills/ax-python-flow/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 flow-programming half of this skill is excellent: executable, well-chosen Python patterns with one-line motivations. The "Astra Session Work" section drags it down — a dense, repetitive, ~28-line spec dump inlined in SKILL.md that would be far more usable as a separate reference file, and the skill lacks any explicit verification step for checking a composed flow.

Suggestions

Move the "Astra Session Work" section into a reference file (e.g., references/astra-sessions.md) and keep a 3-4 line summary in SKILL.md with a clearly signaled pointer, keeping references one level deep.

Add an explicit validation checkpoint to the workflow, e.g., 'Before running with a real provider, execute the flow with the no-key transport to verify node reads/writes and ordering.'

Trim the repeated cancellation and serialization statements in the session prose (the same cancellation guarantees are stated twice) to cut token cost without losing information.

DimensionReasoningScore

Conciseness

The flow-pattern sections are lean and earn their tokens (e.g., "Independent reads place research and audience analysis in one planner group" followed directly by code), but the "Astra Session Work" section is a ~28-line wall of dense spec prose with repetition — "Cancellation does not undo an external action or replay a request" appears twice (lines 135 and 146), and "as in TypeScript" qualifiers recur. Mostly efficient but clearly could be tightened, matching anchor 3; not 2 because nothing explains concepts Claude already knows, and not 4 because the session section's redundancy is more than minor.

3 / 5

Actionability

The core, branch, parallel, refine, forward, and caching patterns are executable Python (e.g., "output = parallel_flow.forward(client, {"topicText": "Typed LLM workflows"})" with real arguments and options), covering the common cases. Not a 5 because some examples use undefined programs ("research", "audience", "join", "critique", "revise") and the Astra section gives cross-language API names ("add_child_agent(namespace, name, child) in Python/C++, AddChildAgent in Go...") in prose with no Python snippet.

4 / 5

Workflow Clarity

The patterns are presented in a coherent order (core → typed programs → branching → parallel → run → cache), but there is no explicit validation checkpoint: the guardrail "Use `no-key` examples for deterministic local checks" hints at verification without a check-then-proceed step or error-recovery loop. This matches anchor 3 (sequence present, checkpoints missing or implicit); not 4 because no checkpoint is spelled out, and this is not a destructive/batch skill so no lower cap applies.

3 / 5

Progressive Disclosure

Structure exists (clear section headers) and external materials are signaled in "Package Facts" ("Runnable examples: `examples/`", "Package API docs: `API.md` and `axir-api.json`"), but the "Astra Session Work" section inlines deep behavioral detail (session lifecycle, cancellation propagation, MCP host policy, validator semantics) that clearly belongs in a separate reference file. No bundle files (references/, scripts/, assets/) are present, so all of this detail lives in SKILL.md itself — matching anchor 3 (content that should be separate is inline, references present but not consistently signaled at point of use).

3 / 5

Total

13

/

20

Passed

Description

78%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.

A solid description: an explicit 'Use when' trigger, a distinctive package name, and a broad enumeration of covered subsystems. Its main weakness is that capabilities are named as topic nouns rather than concrete actions, and some terms are package jargon rather than natural user phrasing.

DimensionReasoningScore

Specificity

The description lists several concrete capability areas — "flows, nodes, program graphs, nested programs, dynamic options, caching, and optimizer components" — which matches the anchor for several specific actions with minor gaps. Not a 5 because these are topic nouns rather than concrete actions (e.g., 'compose', 'debug', 'cache flows'), leaving slight coverage vagueness; not a 3 because the list goes well beyond 1-2 actions.

4 / 5

Completeness

Both 'when' and 'what' are present: the explicit trigger "Use when writing Python code with `axllm`" plus the enumerated coverage areas. Not a 5 because the 'what' is folded into the 'when' clause rather than stated as its own concrete action sentence with trigger phrases; better than anchor 3, where 'when' is only weakly implied — here it is explicit.

4 / 5

Trigger Term Quality

Includes natural terms a user of this package would say: "Python", "flows", "nodes", "caching", "nested programs". Not a 5 because "program graphs", "dynamic options", and "optimizer components" lean toward package jargon and common synonyms/variations are absent; clearly above the anchor for 'some relevant keywords but missing variations' (3).

4 / 5

Distinctiveness Conflict Risk

The package name "`axllm`" pins the skill to a clear niche, and the enumerated subsystems (flows, program graphs, optimizer components) are unlikely to fire for unrelated Python skills. Minimal conflict risk, matching the anchor for a clear niche with distinct triggers.

5 / 5

Total

17

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository
ax-llm/ax
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.