Comprehensive guidelines for Obsidian.md plugin development including all 27 ESLint rules from eslint-plugin-obsidianmd v0.1.9, TypeScript best practices, memory management, API usage (requestUrl vs fetch), UI/UX standards, locale file sentence-case enforcement, and submission requirements. Use when working with Obsidian plugins, main.ts files, manifest.json, Plugin class, MarkdownView, TFile, vault operations, or any Obsidian API development.
Install with Tessl CLI
npx tessl i github:gapmiss/obsidian-plugin-skill --skill obsidian87
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
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 excels across all dimensions. It provides comprehensive specificity with concrete topics like ESLint rules and API patterns, includes natural trigger terms that developers would actually use, has an explicit 'Use when...' clause with detailed triggers, and is highly distinctive to Obsidian plugin development. The description uses proper third-person voice throughout.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions and topics: '27 ESLint rules from eslint-plugin-obsidianmd v0.1.9', 'TypeScript best practices', 'memory management', 'API usage (requestUrl vs fetch)', 'UI/UX standards', 'locale file sentence-case enforcement', and 'submission requirements'. These are highly specific capabilities. | 3 / 3 |
Completeness | Clearly answers both what (comprehensive guidelines covering ESLint rules, TypeScript practices, memory management, etc.) AND when with explicit 'Use when...' clause listing specific file types, classes, and development contexts. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'Obsidian plugins', 'main.ts', 'manifest.json', 'Plugin class', 'MarkdownView', 'TFile', 'vault operations', 'Obsidian API development'. These are exactly the terms developers would use when seeking help. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with Obsidian-specific terminology (MarkdownView, TFile, vault operations, eslint-plugin-obsidianmd). Very unlikely to conflict with generic TypeScript or JavaScript skills due to the specific Obsidian API references. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
72%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-structured skill with strong actionability and excellent progressive disclosure through linked reference files. The main weaknesses are some redundancy between sections (Quick Reference vs Do's/Don'ts) and missing explicit validation workflows for the plugin development/submission process. The code examples are concrete and executable.
Suggestions
Remove redundancy between Quick Reference and Do's/Don'ts sections - consolidate into one authoritative list to save tokens
Add an explicit validation workflow for plugin submission: 'Run ESLint -> Fix errors -> Validate manifest -> Test on mobile -> Submit'
Remove the boilerplate generator section unless the tool actually exists in the skill repository, or make it conditional
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is reasonably efficient but includes some redundancy - the Quick Reference section and Do's/Don'ts section overlap significantly, and some explanations like 'Prevents memory leaks' are obvious to Claude. The boilerplate generator section adds tokens for a tool that may not exist. | 2 / 3 |
Actionability | Provides fully executable code examples for command registration, type narrowing, keyboard accessible buttons, and CSS. The Quick Reference section gives concrete, copy-paste ready patterns with specific rule names and exact requirements. | 3 / 3 |
Workflow Clarity | The checklist at the end provides a review workflow, but lacks explicit validation steps and feedback loops. For plugin development involving file operations and submissions, there's no clear 'validate -> fix -> retry' sequence for catching errors before submission. | 2 / 3 |
Progressive Disclosure | Excellent structure with a Quick Reference overview followed by clear one-level-deep references to detailed topic files (memory-management.md, type-safety.md, etc.). Navigation is well-signaled with descriptive links and the content is appropriately split between overview and details. | 3 / 3 |
Total | 10 / 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.
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.