CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

blackfire

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

Quality

61%

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/blackfire/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 strong on executable commands — install, auth, connection lifecycle, action discovery, and the raw API proxy are all copy-paste ready — and the connection state handling includes genuine validation checkpoints. Its weaknesses are editorial: broken step references ("Step 2" never defined), duplicated and content-free sections, and generic Membrane boilerplate inlined where a reference file would serve better.

Suggestions

Fix the workflow sequence: label the steps explicitly ("Step 1: Connect", "Step 2: Discover actions", "Step 3: Run actions") so "skip to Step 2" resolves, and rename "1b" to fit the numbering; the section ordering currently interleaves them.

Cut or merge the redundant material: remove the bare "Blackfire Overview" entity list (or give each entity a one-line purpose) and fold the one-line "Popular actions" section into "Searching for actions".

Standardize the CLI invocation (use "membrane ..." consistently, or explain when "npx @membranehq/cli" is required) and move the generic Membrane login/connection protocol into a reference file (e.g., references/membrane-connection.md), keeping SKILL.md focused on Blackfire-specific usage.

DimensionReasoningScore

Conciseness

Mostly efficient CLI commands, but there is padding: the bare "Blackfire Overview" bullet list of entity names (Profile, Test, Build, ...) conveys nothing actionable, the opening paragraph explains background Claude can infer, and the action-discovery command is duplicated in both "Searching for actions" and "Popular actions". Fits "mostly efficient but includes some unnecessary explanation or could be tightened"; not a 4 given multiple padded/duplicated sections.

3 / 5

Actionability

Nearly all guidance is copy-paste executable: "npm install -g @membranehq/cli@latest", "membrane connection ensure \"https://blackfire.io\" --json", "membrane action run <actionId> --connectionId=CONNECTION_ID --input '{...}' --json", plus a concrete proxy flag table. Fits "mostly executable guidance with minor gaps"; not a 5 because of the inconsistent invocation ("npx @membranehq/cli connection get" vs "membrane connection get") and placeholders like CONNECTION_ID that are never linked to a concrete retrieval step.

4 / 5

Workflow Clarity

The connection lifecycle has real validation checkpoints (poll with --wait, interpret READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR, re-poll after user action), but the sequence markers are incoherent: the text says "skip to **Step 2**" yet no Step 2 is ever defined, and heading "1b. Wait for the connection to be ready" has no corresponding "1a" or numbered step 2. Fits "sequence present but checkpoints... implicit" and incoherent step references keep it below 4.

3 / 5

Progressive Disclosure

A single-file, ~145-line body with reasonable section headers and no nested references, but no external split despite clear candidates: the generic Membrane connection/login protocol is boilerplate that belongs in a shared reference, the content-free "Blackfire Overview" list adds navigation without information, and the redundant "Popular actions" section fragments the structure. Fits "some structure but could be better organized"; not a 4 because content that should be separate (the connection state-machine protocol) is inlined.

3 / 5

Total

13

/

20

Passed

Description

48%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 names the target app explicitly and includes a "Use when..." trigger clause, but the capability statement is templated boilerplate that never mentions what Blackfire actually does (PHP performance profiling). It would likely fire correctly when a user says "Blackfire", but it neither explains the skill's concrete capabilities nor captures profiling-related triggers.

Suggestions

Replace the vague "Manage data, records, and automate workflows" with Blackfire-specific concrete actions, e.g., "Profile PHP applications, analyze performance bottlenecks, and review call graphs and database queries via Blackfire."

Extend the trigger clause with natural synonyms: "Use when the user mentions Blackfire, PHP profiling, performance bottlenecks, or optimizing PHP code."

Mention the underlying domain (PHP performance profiling) so the description is distinguishable from other Membrane-based integration skills that share the same boilerplate.

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" are generic actions with no concrete Blackfire-specific operations (e.g., profiling, analyzing performance bottlenecks, viewing call graphs). This matches the anchor 'names the domain but actions are minimal or generic'; it is not a 3 because no concrete, distinct action is actually listed.

2 / 5

Completeness

The "when" is explicit ("Use when the user wants to interact with Blackfire data"), but the "what" ("Manage data, records, and automate workflows") is nearly as vague as the bad example "Processes data". This is the mirror image of anchor 3 (a clear "what" with a missing "when"): one half is explicit, the other too vague — not a 4, which requires both halves to be usable.

3 / 5

Trigger Term Quality

"Blackfire" is the key natural keyword and appears twice, but common variations users would say — profile, profiling, PHP, performance, benchmarks — are absent. This fits 'some relevant keywords but missing common variations or synonyms'; not a 2 because "Blackfire" is a specific, naturally-spoken term rather than generic filler.

3 / 5

Distinctiveness Conflict Risk

"Blackfire integration" carves a clear niche with minimal wrong-skill trigger risk, but the templated "Manage data, records, and automate workflows" boilerplate would read identically across any sibling integration skill, creating overlap risk. Mostly distinct with minor overlap — anchor 4, not 5 because the generic phrasing dilutes the distinct triggers.

4 / 5

Total

12

/

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