CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

1forge

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

Quality

62%

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/1forge/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 body is a solid, command-driven integration guide with good state-machine handling for connection setup and concrete, executable CLI syntax throughout. Its main weaknesses are a padded marketing intro, a dangling 'Step 2' cross-reference, and the absence of a single worked 1Forge example (e.g. an actual quote or convert call) that would tie the generic Membrane workflow to this specific API.

Suggestions

Cut the marketing-style opening paragraph ('1Forge provides real-time... financial analysis, and currency-related tools') down to one factual line about what the API exposes — forex quotes and currency conversion.

Fix the dangling navigation: either define 'Step 1a/1b/Step 2' consistently or replace 'skip to **Step 2**' and '#### 1b' with concrete section names like 'Searching for actions'.

Add one worked end-to-end example with real values — e.g. 'membrane action run <quote-action> --connectionId=... --input '{"pair": "EURUSD"}' --json' — so the placeholder-driven flow is grounded in an actual 1Forge use case.

DimensionReasoningScore

Conciseness

The body is mostly efficient — command blocks with terse explanations — but contains unnecessary padding: the marketing-style intro ('Developers and businesses use it to integrate accurate and up-to-date currency information... This helps with tasks like international transactions, financial analysis'), 'so you can focus on the integration logic rather than auth plumbing', and 'This is the fastest way to get a connection. The URL is normalized to a domain and matched against known apps.' This matches 'Mostly efficient but includes some unnecessary explanation or could be tightened'; it is not 4 because several such passages could be trimmed without losing actionable content.

3 / 5

Actionability

The guidance is mostly executable with copy-paste-ready commands: 'npm install -g @membranehq/cli@latest', 'membrane login --tenant --clientName=<agentType>', 'membrane connection ensure "https://1forge.com/" --json', the action run syntax with '--input', and a complete flag table for proxy requests. Not 5 because all 1Forge-specific examples are placeholders (CONNECTION_ID, QUERY) — there is no concrete worked example of a real 1Forge action such as fetching a quote for a currency pair.

4 / 5

Workflow Clarity

The connection workflow has a clear sequence with most checkpoints present: explicit state handling (READY / BUILDING / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR), long-polling with 'npx @membranehq/cli connection get <id> --wait --json', and a re-poll feedback loop after the user completes an action — matching 'Clear sequence with most checkpoints present; minor validation gaps'. Not 5 because the section references 'skip to **Step 2**' and '#### 1b' yet no Step 2 or Step 1a exists (a dangling cross-reference), and there is no guidance on validating or handling action output beyond 'The result is in the output field'.

4 / 5

Progressive Disclosure

The skill is a single well-sectioned file with no bundle, and the content is organized into clear headers (Install the CLI, Authentication, Connecting to 1Forge, Searching for actions, Running actions, Proxy requests, Best practices) that keep navigation easy — matching 'Good structure; most content is appropriately placed; minor organization gaps'. Not 5 because the generic Membrane CLI boilerplate (install/login/connection state machine) and the proxy flag table are inline rather than factored into a shared reference file, and the sparse '1Forge Overview' list (Quotes / Convert) adds little navigational value.

4 / 5

Total

15

/

20

Passed

Description

41%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 correctly names the 1Forge brand and includes a 'Use when' clause, but it fails to communicate what the skill actually does: 'Manage data, records, and automate workflows' is generic filler with no mention of forex rates, currency quotes, or conversion. A user asking about 'forex rates' or 'currency conversion' would not trigger this skill.

Suggestions

State concrete capabilities instead of generic filler, e.g. 'Fetch real-time forex rate quotes and convert between currencies via the 1Forge API.'

Add natural domain trigger terms users would actually say — forex, FX, exchange rates, currency pairs, currency conversion, market data — to the 'Use when' clause so the skill triggers beyond just the brand name.

Make the 'when' clause non-circular: instead of 'Use when the user wants to interact with 1Forge data', say 'Use when the user asks about forex rates, currency quotes, or currency conversion, or mentions 1Forge.'

DimensionReasoningScore

Specificity

The description names the domain ('1Forge integration') but the actions are purely generic: 'Manage data, records, and automate workflows' could apply to almost any integration skill. It never states concrete capabilities like fetching forex quotes or converting currencies, matching the anchor 'Names the domain but actions are minimal or generic' rather than 3, which requires 1-2 domain-specific concrete actions.

2 / 5

Completeness

An explicit 'Use when' clause is present ('Use when the user wants to interact with 1Forge data'), so completeness is not capped below this level, but the 'what' is vague ('Manage data, records, and automate workflows' — akin to 'Processes data') and the 'when' is circular, restating '1Forge integration' rather than giving concrete trigger phrases. It sits between the vague-what anchor (2/3) and the both-present-but-imprecise anchor (4), and the vagueness of the 'what' pulls it below the midpoint.

3 / 5

Trigger Term Quality

The only natural keyword is the brand name itself ('interact with 1Forge data'); the description omits every domain term a user would actually say — forex, FX, currency rates, quotes, currency conversion, market data. This matches the anchor 'One or two generic keywords; missing the natural phrases users say' rather than 3, which requires some genuinely relevant domain keywords.

2 / 5

Distinctiveness Conflict Risk

The brand name '1Forge' clearly anchors the skill to a niche, so it is 'mostly distinct' with only minor overlap risk against other financial-data or Membrane integration skills. Not 5 because the generic middle phrase ('Manage data, records, and automate workflows') would not distinguish it from other skills if the brand name were absent, and no domain-specific triggers (forex/currency) reinforce the niche.

4 / 5

Total

11

/

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/1forge/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.