lint
Runs Obsidian lint checks on .crabshell/ documents and reports violations. Use when you want to verify document health: missing frontmatter, broken wikilinks, INDEX.md sync issues, orphaned files. Invoke with /lint to run checks, or /lint fix to auto-apply safe fixes.
What this skill does
# Lint Skill ## Purpose Run `scripts/lint-obsidian.js` against the project's `.crabshell/` documents, read the report, and offer to fix violations. This is the primary tool for maintaining document hygiene in the Obsidian integration layer. ## Modes - **Check mode:** `/lint` — run lint checks, display report, offer fixes - **Fix mode:** `/lint fix` — run lint with auto-fix for safe violations (missing frontmatter, stale INDEX rows) --- ## Check Mode When invoked without arguments: ### Step 1: Run lint script ```bash node scripts/lint-obsidian.js --project-dir="<project root>" ``` If `scripts/lint-obsidian.js` does not exist, report that it is missing and stop gracefully (see Rule 4 below). ### Step 2: Read the report The script writes a lint report to `.crabshell/lint-report.md` (or prints to stdout). Read the output. Parse violation categories: - **MISSING_FRONTMATTER** — document file lacks YAML frontmatter - **BROKEN_WIKILINK** — `[[target]]` where target file does not exist in `.crabshell/` - **INDEX_SYNC** — document exists but has no corresponding INDEX.md row, or vice versa - **ORPHAN** — document not reachable from any INDEX.md - **STALE_STATUS** — document status in frontmatter differs from INDEX.md row ### Step 3: Display report as table ``` | Violation | File | Detail | |-----------|------|--------| | MISSING_FRONTMATTER | discussion/D001-... | No --- block | ... Total: N violations (N errors, N warnings) ``` ### Step 4: Offer fixes After displaying the report: ``` Found N violations. Options: 1. /lint fix — auto-fix safe violations (MISSING_FRONTMATTER via migrate-obsidian.js --project-dir=., INDEX_SYNC updates) 2. Show details for a specific violation type 3. Skip — address manually ``` Wait for user selection. Do not auto-fix without explicit user request. --- ## Fix Mode When invoked with `fix`: ### Step 1: Run migrate-obsidian.js for safe auto-fixes For MISSING_FRONTMATTER violations: ```bash node scripts/migrate-obsidian.js --project-dir="<project root>" ``` For BROKEN_WIKILINK and ORPHAN violations: report only, do not auto-delete or auto-create files. ### Step 2: Re-run lint to confirm fixes ```bash node scripts/lint-obsidian.js --project-dir="<project root>" ``` ### Step 3: Report delta ``` Before: N violations After : M violations Fixed : N-M Remaining: M (list types) ``` --- ## Rules 1. **Read before reporting.** Always read the actual script output — never invent violation counts. 2. **Safe fixes only.** Auto-fix = frontmatter addition and INDEX sync. Never auto-delete files or rewrite content. 3. **P/O/G required.** Every lint run that claims "no violations" must show tool output as Observation. 4. **Script missing = report, not error.** If lint-obsidian.js is absent, inform the user and stop gracefully. 5. **Document-first rule.** If invoked within a T or P document context, append lint results to that document's verification section before reporting in conversation.
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.