Coding assistant for the Rocky-LTI project — a Canvas LTI 1.3 integration with an AI-powered educational agent. Use when working on FastAPI endpoints, MCP server components, SQLAlchemy models, Alembic migrations, Azure Functions workers, React/TypeScript frontend, or LTI/OAuth authentication flows in this codebase.
82
75%
Does it follow best practices?
Impact
91%
1.51xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/assistant-rocky-lti-assist/SKILL.mdQuality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is an excellent skill description that clearly identifies the project scope, lists specific technologies and components, and includes an explicit 'Use when' clause with concrete trigger terms. It is well-scoped to a named project, making it highly distinctive and unlikely to conflict with other skills. The description is concise yet comprehensive.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete technologies and actions: FastAPI endpoints, MCP server components, SQLAlchemy models, Alembic migrations, Azure Functions workers, React/TypeScript frontend, and LTI/OAuth authentication flows. These are highly specific and concrete. | 3 / 3 |
Completeness | Clearly answers both 'what' (coding assistant for Rocky-LTI project, a Canvas LTI 1.3 integration with AI-powered educational agent) and 'when' (explicit 'Use when working on...' clause listing specific trigger scenarios). | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural keywords a developer would use: FastAPI, MCP server, SQLAlchemy, Alembic, Azure Functions, React, TypeScript, LTI, OAuth, Canvas, migrations, endpoints. These are terms developers would naturally mention when working on this project. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — scoped to a specific named project (Rocky-LTI) with a unique combination of technologies (Canvas LTI 1.3, FastAPI, MCP server, Azure Functions). Very unlikely to conflict with other skills due to the project-specific naming and niche technology stack. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides a solid project overview and structural map of the Rocky-LTI codebase, which is genuinely useful for orientation. However, it leans toward descriptive documentation rather than actionable coding guidance — most 'Common Tasks' sections list steps without executable code examples. The content could be tightened by removing generic best practices Claude already knows and adding concrete code snippets for the project-specific patterns.
Suggestions
Add executable code examples for common tasks — e.g., a complete sample FastAPI route with Pydantic models, dependency injection, and service delegation following the project's conventions.
Add validation/verification steps to workflows — e.g., after generating an Alembic migration, include 'Review the generated migration file to verify it matches intent' and 'uv run pytest to verify no regressions'.
Remove generic advice Claude already knows (e.g., 'Type-annotate all function signatures', 'Prefer async/await for all I/O') and replace with project-specific patterns or anti-patterns unique to this codebase.
Consider splitting detailed reference content (Pydantic v2 patterns, LTI auth flow, MCP component structure) into separate files and linking from the main SKILL.md to improve progressive disclosure.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is reasonably well-organized but includes some content Claude already knows (e.g., explaining what LTI 1.3 is, what Pydantic v2 differences are, general advice like 'prefer async/await for all I/O'). The monorepo structure listing is valuable but some sections like 'Code Quality Guidelines' contain generic best practices that don't earn their tokens. | 2 / 3 |
Actionability | The 'Common Tasks' section provides step-by-step guidance but lacks executable code examples — steps like 'Add route in appropriate router.py' are directional rather than concrete. The uv commands and alembic commands are specific and actionable, but most guidance is at the 'what to do' level rather than 'how to do it with code'. | 2 / 3 |
Workflow Clarity | Multi-step workflows (adding endpoints, MCP resources, DB models) are listed with clear sequences, but lack validation checkpoints. For example, the database migration workflow doesn't include a verification step after applying migrations, and the API endpoint workflow doesn't mention testing or validation before considering the task complete. | 2 / 3 |
Progressive Disclosure | The content is organized into logical sections with headers, but everything is in a single monolithic file with no references to supporting documents. Given the breadth of topics covered (backend, frontend, infrastructure, auth, MCP, testing), some content like Pydantic v2 patterns, LTI auth flow details, or MCP component guides could be split into separate referenced files. | 2 / 3 |
Total | 8 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
c0b2e4b
Table of Contents
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.