Registers external HTTP endpoints as iii functions using registerFunction(id, HttpInvocationConfig). Use when adapting legacy APIs, third-party webhooks, or immutable services into triggerable iii functions, especially when prompts ask for endpoint maps like { path, id } iterated into registerFunction calls.
74
67%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/iii-http-invoked-functions/SKILL.mdQuality
Discovery
85%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a well-crafted skill description that clearly defines a specific technical capability and provides explicit trigger conditions. Its main strength is the high specificity and completeness, with both 'what' and 'when' clearly articulated. The primary weakness is that the trigger terms are quite technical and niche, which could limit discoverability if users phrase requests in more general terms.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lists concrete actions: 'Registers external HTTP endpoints as iii functions using registerFunction(id, HttpInvocationConfig)'. It specifies the exact function signature and the transformation being performed, which is highly specific. | 3 / 3 |
Completeness | Clearly answers both 'what' (registers external HTTP endpoints as iii functions using registerFunction) and 'when' (adapting legacy APIs, third-party webhooks, or immutable services; when prompts ask for endpoint maps iterated into registerFunction calls). The 'Use when' clause is explicit and detailed. | 3 / 3 |
Trigger Term Quality | Includes some relevant terms like 'registerFunction', 'HTTP endpoints', 'webhooks', 'legacy APIs', 'endpoint maps', and '{ path, id }'. However, these are fairly technical/niche terms and may miss common user phrasings. Terms like 'iii functions' are domain-specific jargon that users may or may not use naturally. | 2 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with a clear niche: registering HTTP endpoints as iii functions via registerFunction. The specific function name, config type (HttpInvocationConfig), and use cases (legacy APIs, webhooks, immutable services) make it very unlikely to conflict with other skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides a reasonable conceptual framework for HTTP-invoked function registration with clear pattern selection rules and guardrails. However, it falls short on actionability by lacking any inline executable code examples, relying entirely on external reference files that aren't available in the bundle. The redundancy between 'Pattern selection rules' and the 'When to Use'/'Boundaries' sections wastes tokens without adding value.
Suggestions
Add at least one complete, executable inline code example showing the endpoint list + registerFunction loop pattern, rather than deferring all code to reference files.
Remove or consolidate the 'When to Use' and 'Boundaries' sections, as they largely duplicate the 'Pattern selection rules' section and belong more naturally in YAML frontmatter.
Add explicit validation/verification steps to the workflow, such as checking registration success or handling non-2xx responses with a retry or error-reporting pattern.
Ensure the referenced bundle files (http-invoked-functions.js, .py, .rs) actually exist and are provided, or include their key content inline.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is relatively lean but includes some redundant sections. The 'When to Use' and 'Boundaries' sections at the bottom largely repeat what 'Pattern selection rules' already covers, and some phrasing could be tightened. The 'Core model' and 'Common shape' sections are efficient. | 2 / 3 |
Actionability | The skill provides structural guidance (API shapes, naming conventions, loop patterns) but lacks fully executable code examples. The 'Common shape' section uses bullet-point pseudocode rather than copy-paste-ready code blocks. The actual executable examples are deferred entirely to reference files which are not provided in the bundle. | 2 / 3 |
Workflow Clarity | The pattern selection rules provide clear decision logic, and the guardrails section adds useful constraints. However, there is no explicit step-by-step workflow for the registration process, no validation checkpoints (e.g., verifying registration succeeded, handling non-2xx responses), and no error recovery guidance beyond noting that failures are treated as invocation failures. | 2 / 3 |
Progressive Disclosure | The skill references three language-specific reference files with clear relative paths, which is good structure. However, the bundle files are not provided, so the references cannot be verified. The main content could benefit from a brief inline executable example before deferring to references, and the 'When to Use' / 'Boundaries' sections feel like they belong in frontmatter rather than the body. | 2 / 3 |
Total | 8 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
d51a06d
Table of Contents
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.