CtrlK
BlogDocsLog inGet started
Tessl Logo

google-classroom

Google Classroom integration. Manage Courses. Use when the user wants to interact with Google Classroom data.

62

Quality

74%

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

Quality

Content

75%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 highly actionable with copy-paste CLI commands and a clear, validated connection workflow including state-based feedback loops. Its main weaknesses are an unnecessary explanatory intro paragraph and a large inline action table that lacks external reference offloading; destructive actions also lack an explicit confirmation checkpoint.

Suggestions

Remove or compress the opening paragraph explaining what Google Classroom is — Claude already knows this and it costs context tokens.

Add a brief confirm/verify step before destructive actions (delete-course, remove-student, remove-teacher) in the "Running actions" section, e.g. re-fetch or prompt before applying deletions.

Move the full popular-actions table to a references file (e.g. references/actions.md) and keep only the most common entries inline with a clear pointer, to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The opening "Google Classroom is a free web service developed by Google for schools..." explains a concept Claude already knows, and asides like "so you can focus on the integration logic rather than auth plumbing" add padding; however the bulk (commands, tables, flag reference) is efficient, so it is mostly efficient with some unnecessary explanation rather than severely verbose.

3 / 5

Actionability

Commands are copy-paste ready and cover the common cases — `npm install -g @membranehq/cli@latest`, `membrane connection ensure "https://classroom.google.com" --json`, `membrane action run <actionId> --connectionId=CONNECTION_ID --json`, and the proxy `membrane request CONNECTION_ID /path/to/endpoint` — with clearly explained placeholders and a populated popular-actions table.

5 / 5

Workflow Clarity

The connection workflow is clearly sequenced with explicit checkpoints (READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR) and a feedback loop ("poll again ... to check if the state moved to READY"), matching a clear sequence with most checkpoints present; it is not a 5 because destructive actions (delete-course, remove-student) appear in the table with no confirm/verify guidance before running.

4 / 5

Progressive Disclosure

The body is well-organized into clear sections ("## Working with Google Classroom", "## Popular actions", "## Best practices") with no nested or buried references and no bundle files, giving good structure; it is not a 5 because the ~20-row popular-actions table is a large inline block that could live in a separate reference, and the skill exceeds the under-50-line simple-skill exception.

4 / 5

Total

16

/

20

Passed

Description

73%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 third-person, distinct, and includes an explicit Use-when trigger, but it is thin: it names only the broad action "Manage Courses" and omits the assignment/student/roster vocabulary that appears in the body. Completeness and trigger coverage are good but not comprehensive.

Suggestions

Expand the description to list a few concrete actions (e.g., list/create/update courses, manage course work, students, and announcements) instead of the single broad "Manage Courses".

Add natural trigger terms users say, such as "assignments", "course work", "students", or "roster", alongside "Google Classroom" and "Courses".

Sharpen the "when" clause to reference common intents (e.g., "Use when the user wants to manage Google Classroom courses, assignments, students, or submissions").

DimensionReasoningScore

Specificity

The description names the domain ("Google Classroom integration") and one broad action ("Manage Courses") plus "interact with Google Classroom data", matching the anchor that names a domain with 1-2 concrete but non-comprehensive actions; it does not reach 4 because the only concrete action is the generic "Manage Courses" rather than several specific operations.

3 / 5

Completeness

It has a clear "what" ("Google Classroom integration. Manage Courses.") and an explicit "when" clause ("Use when the user wants to interact with Google Classroom data."), satisfying both; it is not a 5 because the "what" is broad (only "Manage Courses") rather than a comprehensive concrete listing.

4 / 5

Trigger Term Quality

"Google Classroom" and "Courses" are exactly the natural terms a user would say when needing this skill, giving good keyword coverage; it falls short of 5 because natural synonyms and specifics like assignments, coursework, students, and roster are absent.

4 / 5

Distinctiveness Conflict Risk

"Google Classroom" is a specific named product giving a clear niche with distinct triggers and minimal conflict risk with other skills; this cleanly matches the top anchor.

5 / 5

Total

16

/

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.