CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

afas-software

AFAS Software integration. Manage data, records, and automate workflows. Use when the user wants to interact with AFAS Software data.

Quality

60%

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 ./skills/afas-software/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

46%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 Membrane CLI operational sections are executable and reasonably well-designed (connection state handling even includes a feedback loop), but the body is dominated by a massively repetitive action catalog that wastes tokens and should live in a reference file or be removed. Dangling internal references ('Step 2') further weaken workflow coherence.

Suggestions

Move the ~140-line subject/action catalog into a references/ file (e.g. actions.md) referenced with a single link, or delete it entirely and rely on `membrane action list --intent` discovery, stating the List/Get/Search/Execute naming pattern in one sentence.

Fix the dangling 'skip to **Step 2**' reference by labeling the actual step sections (1. Connect, 2. Discover actions, 3. Run actions) and removing the orphaned '1b' subsection numbering.

Add a brief validation step after running actions, e.g. check the `output` field for errors and retry with corrected --input parameters before reporting results to the user.

DimensionReasoningScore

Conciseness

Roughly 140 of ~280 lines are near-identical bullets ('List X — Use this to list all available X', 'Get X — Use this to retrieve details of a specific X') that repeat three templates and duplicate what `membrane action list --intent` already provides. The CLI setup, connection, and proxy sections are tight, so this is noticeably padded rather than severely verbose throughout.

2 / 5

Actionability

Commands are concrete and executable throughout (npm install, membrane login, connection ensure with --json, action run with --input, and a proxy flags table). Minor gaps keep it from 5: 'skip to **Step 2**' points to a step that is never labeled, and 'Use action names and parameters as needed' is vague.

4 / 5

Workflow Clarity

A real sequence exists (install → login → connection ensure → poll state → search actions → run) with genuine checkpoints for connection states (READY, CLIENT_ACTION_REQUIRED, CONFIGURATION_ERROR with re-polling instructions). However, coherence breaks on the undefined 'Step 2' reference and a '1b' subsection with no numbered step flow, leaving gaps that anchor 3 (sequence present but checkpoints/coherence incomplete) fits better than 4.

3 / 5

Progressive Disclosure

There are no bundle files at all, and the ~140-line action/subject inventory is content that clearly belongs in a separate reference file (or could be dropped, since the CLI discovers actions dynamically), inlined directly in the main file. Headers provide some structure, but the inlining and absence of any clearly signaled external references match anchor 2 more than 3.

2 / 5

Total

11

/

20

Passed

Description

57%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 functional and distinct thanks to the AFAS product name, with an explicit 'Use when' clause. Its weakness is generic action language ('manage data, records, automate workflows') that neither conveys concrete capabilities nor enriches trigger coverage beyond the product name.

Suggestions

Replace the generic action sentence with 2-4 concrete capabilities, e.g. 'Search and update records, run workflows and workflow tasks, read invoices, orders, and financial mutations via the AFAS API'.

Expand the 'Use when' clause with natural trigger variations users would actually say, such as 'Use when the user mentions AFAS, AFAS Profit, AFAS ERP, or wants to query or update AFAS data (invoices, contracts, persons, journals)'.

Avoid restating the 'what' inside the 'when' clause; make each sentence add new information.

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the AFAS domain but the actions are generic, matching anchor 2 ('names the domain but actions are minimal or generic') rather than 3, since no concrete action like 'extract text' or 'create invoices' is stated.

2 / 5

Completeness

Both a 'what' ("AFAS Software integration. Manage data, records, and automate workflows") and an explicit 'when' ("Use when the user wants to interact with AFAS Software data") are present. Not 5 because the 'when' clause merely restates the 'what' instead of adding concrete trigger phrases.

4 / 5

Trigger Term Quality

"AFAS Software" is the one strong natural keyword users would say, while "data", "records", and "workflows" are generic; common variations like ERP, AFAS Profit, invoicing, payroll, or HR are missing, so keyword coverage is partial rather than good.

3 / 5

Distinctiveness Conflict Risk

"AFAS Software" carves a clear niche with minimal conflict risk for wrong-skill triggering, but the generic "Manage data, records, and automate workflows" phrasing creates minor overlap with broad data-management skills, keeping it just below the distinct-triggers anchor 5.

4 / 5

Total

13

/

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

membranedev/application-skills

Path

skills/afas-software/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.