CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

actions

How to create and run agent actions. Actions are the single source of truth for app operations — the agent calls them as tools and frontend code calls them through client hooks. Use when creating a new action, adding an API integration, or wiring up frontend data fetching.

Quality

81%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

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

A dense, highly actionable reference: nearly every line is non-obvious framework policy backed by executable code, concrete commands, and genuine error-recovery loops, with a verified one-level-deep reference bundle. Its main cost is length and duplication — some rule detail (receipts, error plumbing, designSystem) belongs in action-fields.md and two Do/Don't bullets are redundant.

Suggestions

Merge the two near-duplicate bullets on fail() vs bare Error (the 'Do signal failure by throwing...' and 'Do use fail() rather than a bare Error...' items) into one, and fold the overlapping 'Don't reach for provider integrations, outputSchema...' bullet into the existing pointer to references/action-fields.md.

Move the write-receipt supersession/subject rules and the designSystem context plumbing detail into references/action-fields.md, keeping only the receipt contract and verified/changed semantics in SKILL.md.

Rewrite 'How to Create an Action' as a short numbered sequence (create actions/<name>.ts with default export → write schema with .describe() on every param → set http option → run via pnpm action) so the happy path is scannable without reading every policy paragraph.

DimensionReasoningScore

Conciseness

Almost every sentence is framework-specific knowledge Claude cannot know (auto-refresh rules, receipt semantics, tool-loading behavior), so there is no filler — but there is real fat: two near-duplicate 'Do' bullets on fail() vs bare Error, an overlapping 'Don't' about provider integrations/outputSchema, and long passages (receipt supersession, designSystem plumbing) that could be tightened or deferred. Anchor 3 ('mostly efficient but could be tightened') fits better than 4 because the redundancy is more than minor.

3 / 5

Actionability

Fully executable throughout: a copy-paste-ready defineAction example with imports, a concrete CLI invocation ('pnpm action log-meal --name "Salad" --calories 350'), a complete http-option table, executable hook imports, a worked WriteReceipt object, and a Troubleshooting section with concrete fixes. Covers the common cases the way the anchor-5 example does.

5 / 5

Workflow Clarity

Clear decision order ('existing action → extend/create a defineAction → custom route as last resort'), an explicit stop trigger before adding files under server/routes/api/, and real feedback loops (verified:false receipts force a reconciliation retry; NoWriteError triggers argument-correcting retry; 405/parse-failure diagnostics). It falls short of anchor 5 because the create-an-action flow is implicit in prose rather than an explicitly numbered sequence.

4 / 5

Progressive Disclosure

All three referenced files (references/action-fields.md, provider-apis.md, examples.md) exist, are one level deep, and are well signaled both inline ('examples in references/action-fields.md') and in a References section with per-file descriptions. Below anchor 5 because substantial detail (receipt supersession rules, designSystem context plumbing, MCP key-tool mechanics) is inlined in SKILL.md when the established references/action-fields.md pattern is the natural home for it.

4 / 5

Total

16

/

20

Passed

Description

83%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 strong description: third-person, concise, and it states both what the skill covers and an explicit 'Use when...' clause with three concrete trigger conditions. Main weakness is that two of its triggers ('API integration', 'frontend data fetching') are broad enough to compete with neighboring skills.

DimensionReasoningScore

Specificity

Names several concrete actions — 'create and run agent actions', 'adding an API integration', 'wiring up frontend data fetching' — with only minor coverage gaps (e.g., updating or troubleshooting existing actions). More than the 1–2 actions of anchor 3, but not the comprehensive coverage of anchor 5.

4 / 5

Completeness

Explicitly answers both: what ('How to create and run agent actions... the agent calls them as tools and frontend code calls them through client hooks') and when ('Use when creating a new action, adding an API integration, or wiring up frontend data fetching') with concrete trigger phrases. Matches the anchor-5 pattern; a weaker 'when' would only merit 4.

5 / 5

Trigger Term Quality

'Use when creating a new action, adding an API integration, or wiring up frontend data fetching' uses natural developer phrasings that a user would plausibly say. A few common synonyms are missing (e.g., 'tool', 'endpoint', 'API route', 'hook up data fetching'), which keeps it below anchor 5 but comfortably above anchor 3.

4 / 5

Distinctiveness Conflict Risk

'Agent actions' with its framework-specific framing is a mostly distinct niche, but 'adding an API integration' and 'wiring up frontend data fetching' are broad enough to overlap with adjacent provider-API or frontend skills. Anchor 4 fits; anchor 5 would require triggers with minimal overlap risk.

4 / 5

Total

17

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository

BuilderIO/agent-native

Path

.agents/skills/actions/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.