Loading...
Loading...
Found 24 Skills
Comprehensive guidelines for Obsidian.md plugin development including all 27 ESLint rules, TypeScript best practices, memory management, API usage (requestUrl vs fetch), UI/UX standards, 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.
Apply vertical (domain-first) codebase architecture to any project. Use this skill whenever a user asks where to put a file, how to structure a codebase, how to organize code by feature or domain, how to refactor a "horizontal" structure (components/, hooks/, utils/, types/), or asks about code colocation, monorepo boundaries, shared code, or module ownership. Also trigger when the user creates a new module and needs to decide where it belongs, or when reviewing a PR that touches file organization. Works for any language or framework (Python, TypeScript, Go, Rust, etc.) — not just React or frontend.
React vendoring and react-server layer boundaries. Use when editing entry-base.ts, $$compiled.internal.d.ts, compiled/react* packages, or taskfile.js copy_vendor_react. Covers the entry-base.ts boundary (all react-server-dom-webpack/* imports must go through it), vendored React channels, type declarations, Turbopack remap to react-server-dom-turbopack, ComponentMod access patterns, and ESLint suppression for guarded requires.
Retro a session — turn failed checks, user corrections, and stuck cycles into structural fixes (design > lint/test > gate > config > skill text), applying only the ones you approve.
Synthesize a recurring code-review rule into a custom lint rule — gated by an independent soundness test that abstains rather than ship a checker it can't prove sound
Apply when you catch yourself writing the same instruction a second time, or notice a recurring correction. Encode the rule as a lint, metadata flag, runtime check, or script instead of more text.
Universal coding standards — naming, structure, immutability, error handling, type safety, backend layering, frontend architecture — that fill the gaps after the project's own conventions. Use when starting a module, refactoring to team conventions, setting up lint rules, onboarding, or 'стандарты кода'. Do not use for a repo-wide comment cleanup pass (awesome-code-cleanup) or for designing the API error contract (awesome-error-standards).
Turn what this session learned into durable changes to the repository: a lint rule, a test, a check, a skill edit, AGENTS.md or docs/DECISIONS.md. Use when wrapping up a task, after a mistake or a correction, or when the person says reflect or remember this.
Enforces a strict analysis_options.yaml built on very_good_analysis with strict-casts/strict-raw-types, a fixed set of silence-producing bug classes promoted to error (unawaited_futures, discarded_futures, empty_catches, use_build_context_synchronously, cancel_subscriptions, close_sinks, avoid_dynamic_calls, exhaustive_cases, avoid_print), dart format as the sole whitespace authority, generated-file excludes mirrored to coverage, and line-scoped-only suppression discipline; teaches the version-pinned-include trap (a missing include silently disables all rules), the errors-only-re-ranks-vs-linter-enables mechanic, and the sealed-switch analyze-vs-compile gap. Use when editing analysis_options.yaml, adding or disabling a lint, writing an `// ignore:`/`// ignore_for_file:`, bumping the Dart SDK or very_good_analysis version, wiring riverpod_lint, or explaining why discarded_futures, use_build_context_synchronously, close_sinks, or missing_provider_scope fires.
What the markdown formatter rewrites and which lint rules it cannot fix. Use before writing markdown intended for a human reader, so the file comes out conforming instead of being reformatted afterward.
Create new ESLint rules for the @n8n/eslint-plugin-community-nodes package. Use when adding a lint rule, creating a community node lint, or working on eslint-plugin-community-nodes. Guides rule implementation, tests, docs, and plugin registration.
Linting and formatting SAS code with @sasjs/lint - the .sasjslint rules and their defaults, severityLevel and exit codes, per-file @sasjslint overrides, what the formatter fixes, and how the SASjs CLI, VS Code extension and SASjs Server run it. Use when configuring lint rules, resolving a lint warning, or wiring lint into CI, a git hook or an editor.