CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

bluesky-by-unshape

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

Quality

69%

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/bluesky-by-unshape/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 command-first and genuinely actionable, with a clear connection lifecycle including state-based error handling. Its main weaknesses are an unnecessary marketing-style introduction, a vague entity overview section, a broken "Step 2" cross-reference, and no bridge from the action key table to the `action run <actionId>` command.

Suggestions

Delete the marketing intro paragraph, the entity tree with "Use action names and parameters as needed", and the "Agent Types" aside — none of it changes what Claude executes.

Fix the dangling references: replace "skip to **Step 2**" with the actual target section (e.g. "Searching for actions"), and number the workflow steps consistently (1, 1b, 2, ...).

Show how to resolve an action from the Popular actions table into the `<actionId>` that `membrane action run` needs (e.g. a `membrane action list` lookup by key), and reconcile the `npm install -g` vs `npx @membranehq/cli` invocations.

DimensionReasoningScore

Conciseness

The CLI instructions are tight and command-first, but the body carries unnecessary padding Claude doesn't need: the marketing intro ("a cloud-based platform that helps businesses manage and automate their marketing workflows..."), a bare entity tree ending in the filler line "Use action names and parameters as needed", and an "Agent Types" aside. Mostly efficient with several sections that should be trimmed.

3 / 5

Actionability

Concrete, copy-paste-ready membrane commands throughout — install, login (including headless `login complete <code>`), `connection ensure` with a real example URL, `action list --intent`, `action run --input`, and a full proxy flag table. Minor gaps keep it below 5: the Popular actions table gives keys but never shows how to obtain the `actionId` that `action run` requires, and the install uses `npm install -g` while a later command invokes `npx @membranehq/cli`.

4 / 5

Workflow Clarity

The sequence (install → authenticate → connect → wait for READY → search actions → run → proxy fallback) is clear, with explicit checkpoints: `--wait` long-polling for state, a decision tree for `CLIENT_ACTION_REQUIRED` / `CONFIGURATION_ERROR` / `SETUP_FAILED`, and re-polling after user action. The gap is navigational: "skip to **Step 2**" appears twice but no Step 2 exists — the numbering scheme is broken.

4 / 5

Progressive Disclosure

A single self-contained file (~145 lines) with well-organized section headers and no bundle files to reference; nothing is deeply nested or buried. Good structure overall, though the proxy flag table and connection-state troubleshooting are candidates to move into a reference file if the skill grows.

4 / 5

Total

15

/

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 has an explicit when-clause and a distinctive named integration, but its capability statement is generic marketing language ("manage data, records, and automate workflows") with no concrete actions and few natural trigger terms. It is serviceable but below the quality of the good examples, which enumerate specific operations and user-facing trigger phrases.

Suggestions

Replace the generic "Manage data, records, and automate workflows" with concrete actions, e.g. "Create and reply to Bluesky posts, fetch posts and feeds by URL, and read notifications via the Unshape integration".

Expand the when-clause with natural trigger phrases users would actually say: "Use when the user wants to post, reply, or read feeds/notifications on Bluesky (atproto) via Unshape".

Include platform-recognizable synonyms such as "Bluesky", "AT Protocol", "atproto", and "bsky" so the skill triggers on the full range of natural phrasings.

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the domain (Bluesky by Unshape) but the actions are entirely generic — no concrete operations like posting, replying, reading feeds, or notifications. It matches the anchor 'Names the domain but actions are minimal or generic'; score 3 would require at least 1-2 concrete actions, which are absent.

2 / 5

Completeness

Both what ("Bluesky by Unshape integration. Manage data, records, and automate workflows") and when ("Use when the user wants to interact with Bluesky by Unshape data") are explicitly present. The when-clause is somewhat circular (restates the product name rather than naming concrete triggers), and the what is vague, so it sits at anchor 4 rather than 5.

4 / 5

Trigger Term Quality

"Bluesky" and "Unshape" are relevant keywords, but the description misses the natural phrases a user would actually say — "post", "reply", "feed", "notifications", "bluesky handle" — none appear. Some relevant keywords exist, but common variations and synonyms are missing.

3 / 5

Distinctiveness Conflict Risk

"Bluesky by Unshape" is a specific named integration with a clear niche, so it is mostly distinct. Minor overlap risk remains: a user asking to "interact with Bluesky data" could equally trigger a generic Bluesky/AT Protocol skill, keeping it below the anchor-5 bar of minimal conflict risk.

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/bluesky-by-unshape/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.