CtrlK
BlogDocsLog inGet started
Tessl Logo

easy-projects

Easy Projects integration. Manage Projects. Use when the user wants to interact with Easy Projects data.

56

Quality

65%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/easy-projects/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 content is a solid, executable CLI integration guide with a well-validated connection workflow and clear command reference. Its main weaknesses are filler (the all-'No description' actions table and a couple of editorial/placeholder lines) and the absence of validation feedback loops for the proxy and write actions.

Suggestions

Trim the 'Popular actions' table to rows with real descriptions, or replace it with a pointer to running 'membrane action list' for the live action set, to remove the 20 'No description' filler rows.

Add a verify step after write/proxy operations, e.g. re-running 'membrane action list' or a 'membrane action run' read to confirm a create/update took effect.

Delete the placeholder line 'Use action names and parameters as needed.' and tighten editorial phrasing like 'so you can focus on the integration logic rather than auth plumbing'.

DimensionReasoningScore

Conciseness

The body is mostly efficient with concrete CLI commands and flag tables, but includes filler such as the 20-row 'Popular actions' table whose descriptions are all 'No description', the placeholder line 'Use action names and parameters as needed.', and editorial padding like 'so you can focus on the integration logic rather than auth plumbing'. This matches the anchor for mostly efficient with some unnecessary content that could be tightened. Not a 4 because the no-op table and editorial phrases are more than minor, and not a 2 because the bulk is genuinely useful command reference.

3 / 5

Actionability

Commands are concrete and executable with real flags and JSON examples ('membrane action run <actionId> --connectionId=CONNECTION_ID --input \'{"key": "value"}\' --json'), and the proxy flag table is specific. Not a 5 because placeholders like CONNECTION_ID and the bare 'QUERY' intent are left unsubstituted and there is no fully copy-paste-ready worked example, and not a 3 because the guidance is largely executable rather than pseudocode.

4 / 5

Workflow Clarity

The connection flow is a clear sequence with explicit state checkpoints (READY, BUILDING, CLIENT_ACTION_REQUIRED, CONFIGURATION_ERROR) and an explicit poll-again retry loop, which is strong validation. Not a 5 because the destructive-capable 'membrane request' proxy path and the create/update/delete actions lack verify or rollback steps, and not a 3 because real polling/validation checkpoints are present for the core flow.

4 / 5

Progressive Disclosure

No bundle files exist in references/, scripts/, or assets/ and the skill is self-contained, so organization rests on its clear sections (Overview, Working with Easy Projects, Searching/Running actions, Proxy, Best practices), which is good structure for a single-file skill. Not a 5 because the inline 20-row 'Popular actions' table is bulk content that would be better offloaded or trimmed, and not a 3 because sections are clearly signaled and there are no buried or nested references.

4 / 5

Total

15

/

20

Passed

Description

62%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 adequate, naming the specific app and providing an explicit 'Use when' clause, but the action list is thin ('Manage Projects') and the trigger language is generic ('interact with Easy Projects data'). It clears a usable bar without being comprehensive or rich in natural keywords.

Suggestions

Replace the generic 'Manage Projects' with concrete CRUD actions reflecting the skill, e.g. 'Create, update, and list Easy Projects projects, tasks, issues, contacts, and time entries.'

Broaden trigger keywords to natural user phrasing such as 'projects, tasks, issues, time entries, timesheets, or Easy Projects data'.

Tighten the 'when' clause to concrete situations, e.g. 'Use when the user wants to query, create, or update Easy Projects projects, tasks, or time entries.'

DimensionReasoningScore

Specificity

Names the domain ('Easy Projects integration') and one concrete action ('Manage Projects'), but the action is generic and CRUD coverage is absent, matching the anchor for domain plus 1-2 concrete actions that are not comprehensive. Not a 4 because it lists no several specific actions, and not a 2 because it does name a concrete action beyond just the domain.

3 / 5

Completeness

Both 'what' ('Easy Projects integration. Manage Projects.') and 'when' ('Use when the user wants to interact with Easy Projects data.') are present and the 'when' is explicit, matching the anchor for both present with the when clause somewhat generic. Not a 5 because the trigger phrase is not concrete or varied, and not a 3 because an explicit 'Use when' clause is present.

4 / 5

Trigger Term Quality

Only the app name 'Easy Projects' and the generic term 'data' are present; common natural phrases users would say (projects, tasks, issues, timesheets, time entries) are missing, matching the anchor for some relevant keywords with missing variations. Not a 4 because keyword coverage is thin, and not a 2 because the app name itself is a specific keyword rather than purely generic language.

3 / 5

Distinctiveness Conflict Risk

Naming a specific commercial app ('Easy Projects') gives it a clear niche unlikely to trigger for unrelated skills, but the generic 'interact with Easy Projects data' trigger leaves minor overlap with adjacent project-management integrations. Not a 5 because the trigger is broad rather than a distinct concrete trigger, and not a 3 because the branded app name clearly distinguishes it.

4 / 5

Total

14

/

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.

Validation15 / 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
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.