Commit graph

45 commits

Author SHA1 Message Date
Railly
79ece59025
chore: release 0.7.4 — round 2 scanner cleanup + attestation workflow
Round 2 of Obsidian scanner fixes:
- Timer functions: window.setTimeout/clearTimeout (per scanner) instead of activeWindow.*
- utils/shell.ts: window.require instead of globalThis.require for Electron access
- Rename options.global -> options.globalInstall to bypass false-positive linter warning
- CSS: remove 8 !important rules via specificity bumps; merge 3 duplicate selectors
- eslint config: hoist ignores block (web/, assets/, scripts/, main.js)

Release workflow:
- .github/workflows/release.yml triggers on semver tag push
- Builds, signs main.js/manifest.json/styles.css with GitHub OIDC attestation
- Creates or updates release with the three signed assets

Surface deep link as primary install path:
- README + landing CTAs: "Open in Obsidian" (obsidian://show-plugin?id=agentfiles) primary, community page secondary
- Docs Installation: deep link first, community page as scorecard-first alternative
2026-05-12 18:16:27 -05:00
Railly
63c6412078 refactor: replace textarea editor with CodeMirror 6 EditorView
Swap plain textarea for standalone CM6 instance with line numbers,
syntax highlighting, fold gutters, and spec-compliant frontmatter
linting. Proper lifecycle cleanup on skill switch to prevent DOM leaks.
2026-04-05 22:32:40 -05:00
Railly
43cf7ed8a7 feat: conversation filters — sort, date range, tag dropdown
- Add sort toggle (recent/messages) and date range filter (1d/7d/30d/90d/all)
- Add tag multi-select dropdown with outside-click dismiss
- Move tag filtering from sidebar to inline toolbar
- Remove sidebar Tags section (now accessible via dropdown)
- Default to "today" date range on open
- Fix layout shift: render all 3 action buttons always, disable tag when loading
- Fix dropdown mutex: only one dropdown open at a time
2026-04-03 21:17:52 -05:00
Railly
2a5a5cbcf0 fix: add border separators between conversation cards 2026-04-03 01:59:04 -05:00
Railly
fc2026b670 fix: conversation cards match skill card design pattern 2026-04-03 01:51:31 -05:00
Railly
57621cab3a fix: progressive message pagination (show next N + show all) 2026-04-03 01:46:29 -05:00
victorgalvez56
fa988709b3 feat: add conversation explorer styles
Add CSS for conversation UI components: date group headers, conversation
cards with project badges and tag pills, message bubbles with role
indicators, selection state, tool call badges, save-to-vault bar,
resume command block, and custom tag input. Follows existing design
system using Obsidian CSS variables.
2026-04-03 01:37:33 -05:00
Railly
c0c41f0e99 fix: redesign search toolbar — merge filter+sort into native Menu
- Replace 3 confusing icon buttons with 2 clear controls
- Deep search toggle: uses safe "file-search" icon, clear active state
- Filter+sort merged into one "sliders-horizontal" button that opens
  Obsidian's native Menu with checkmarks for sort mode and filter
- Button highlights when filter or non-default sort is active
- Removes custom dropdown CSS in favor of native Menu component
- Fixes invisible icon bug (arrow-down-a-z not in all Obsidian versions)
2026-04-03 01:27:53 -05:00
Railly
ca52be54a9 feat: redesign Create modal as stepped wizard + add Amp/Antigravity icons
Create modal now uses a 3-step flow:
1. Tool grid with real SVG icons and brand colors
2. Type cards (skill/command/agent) - skipped if tool has only one type
3. Name input with tool badge, monospace input, colored submit button

Also adds Amp (3 lightning bolts from official press kit) and
Antigravity (Google "A" arch shape) SVG icons to tool-icons.
2026-04-03 00:56:32 -05:00
Railly
371e5bea47 feat: Create Skill button with template scaffolding
- New "Create" button in sidebar below Marketplace
- Modal with name input + target dropdown (agent + type)
- Creates SKILL.md in directory for skills, flat .md for commands
- Auto-refreshes store and selects the new skill after creation
- Slugifies name for filesystem, validates for duplicates

Closes #17
2026-04-03 00:42:42 -05:00
Trevor Hart
28daafa3df feat: toggleable deep search with configurable scope
Add a deep search toggle button in the search bar that controls whether
search includes description and/or file content beyond just the name.

- Default off (matching upstream name-only search behavior)
- Settings: "Deep search by default" toggle + "Deep search scope" dropdown
  (description only / file content only / both)
- Toggle button sits alongside existing filter and sort buttons

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 00:10:25 -05:00
Trevor Hart
71925cd38c feat: resizable sidebar and list panels with drag handles
Main uses fixed-width columns (200px / 280px / 1fr). This adds
draggable resize handles between panels so users can adjust widths
to their preference, with min/max constraints (sidebar 120–400px,
list 180–600px).

Improvements over main:
- CSS-variable-driven 5-column grid replaces hardcoded 3-column
- Drag lifecycle management cleans up listeners on view switch
- CSS class toggling (.as-hidden) instead of inline style manipulation
- 6px handle width for a comfortable grab target

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 00:08:28 -05:00
Trevor Hart
4acb6cb061 feat: configurable skill naming mode (auto or filename-only)
Add a NamingMode setting that controls how skill names are derived:
- "auto" (default): uses frontmatter name, then H1 heading, then filename
- "filename": always uses the filename, ignoring frontmatter/headings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 00:06:54 -05:00
Trevor Hart
1e07c25df8 feat: enable text selection in detail panel
Main prevents text selection in the detail toolbar and body,
making it impossible to copy skill content, metadata, or file
paths. This adds user-select: text and cursor: text so users
can select and copy any text in the detail view.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 17:13:34 -04:00
Railly
d2a7a0e58f feat: sort by usage toggle, active filter indicator with clear button 2026-03-30 03:03:58 -05:00
Railly
f0a16979c3 feat: filter dropdown by type (skill/command/agent/rule) next to search input 2026-03-30 02:54:53 -05:00
Railly
c7032afd17 fix: async install/uninstall/update (non-blocking), fix list badge sync, fix Component warning, fix heading padding
- Replace execSync with exec (callback) for install, uninstall, update
- UI stays responsive during skill operations
- List cards update installed badge after install/uninstall
- Fix MarkdownRenderer Component warning (use real Component instance)
- Force padding-left: 0 on setting headings with !important
2026-03-30 02:19:48 -05:00
Railly
2bc1f0b58d fix: scrollable agent list with sticky footer, persist checkbox preferences, remove heading padding 2026-03-30 02:04:21 -05:00
Railly
0e475c9a99 fix: use accent color for placeholder icon stripes 2026-03-30 01:59:24 -05:00
Railly
988d548600 fix: sticky cancel/install buttons at bottom of install modal 2026-03-30 01:57:54 -05:00
Railly
ec7a41cad9 fix: striped circle placeholder for agents without logos 2026-03-30 01:57:25 -05:00
Railly
7936ff00c4 fix: detected badge inline as pill next to agent name, remove desc row 2026-03-30 01:55:10 -05:00
Railly
b55149d8d2 feat: add streaks, velocity, agent icons (goose, cline, continue, roo, replit, gemini) 2026-03-30 01:41:33 -05:00
Railly
c31f17d0ef fix: install modal scope first (global default), agent icons, heading padding 2026-03-30 01:33:52 -05:00
Railly
20b65bd718 fix: group all action buttons in top bar, remove duplicates from sections 2026-03-30 01:27:55 -05:00
Railly
2c14d07f01 fix: refresh installed status from lock file on load, 5min cache TTL, red prune button 2026-03-30 01:25:41 -05:00
Railly
0c47bc490e fix: remove command uses -y not --all, compact confirm modal, 5s notice duration 2026-03-30 00:56:37 -05:00
Railly
da5e94a330 fix: compact preview header, name and action button on same row 2026-03-30 00:23:29 -05:00
Railly
e1547952e9 fix: move updated label inline next to scan button, smaller font 2026-03-30 00:08:03 -05:00
Railly
41641199e8 feat: cache dashboard data, show instantly on revisit, refresh in background 2026-03-30 00:04:45 -05:00
Railly
cfefa7163e feat: uninstall button for installed skills in marketplace preview 2026-03-29 23:55:23 -05:00
Railly
d419990ee7 feat: install modal with agent selection, scope toggle, and valid agent names
- Replace one-click install with Obsidian Modal
- Agent checkboxes with correct CLI names (github-copilot not copilot)
- Scope toggle: project (default) vs global (-g)
- Map tool config IDs to valid skills CLI agent names
- 17 common agents listed, auto-detect installed ones
- Refresh skill list after successful install
2026-03-29 23:48:16 -05:00
Railly
cc2788e6a2 fix: resolve SKILL.md via tree API, show popular skills on marketplace load 2026-03-29 20:08:50 -05:00
Railly
e78281403d feat: skills marketplace — browse and install from skills.sh
- Search skills.sh registry with live results
- Preview SKILL.md content with markdown rendering
- One-click install via npx skills add
- Installed badge for already-present skills
- Two-panel layout: results list + preview
- Sidebar: Marketplace button in Library section
2026-03-29 20:01:33 -05:00
Railly
3d1a5ea616 fix: compact warning style, prune button in toolbar for all skills, global prune in dashboard 2026-03-29 19:27:31 -05:00
Railly
4950e9602e feat: deep skillkit integration — warnings, traces, conflicts, sparklines, prune action
Detail panel enriched with per-skill insights:
- Warnings section: oversized (>500 lines), long descriptions (>1024 chars), conflict alerts
- Usage section: use count + last used + 30d sparkline chart
- Traces section: last 5 executions with model, tokens, cost, duration
- Conflicts section: overlapping skills with similarity bar
- Prune action: remove stale skills with confirmation dialog

Dashboard:
- Scan sessions button in overview header

List panel:
- New badges: oversized, conflict

All data from skillkit CLI --json (conflicts, trace --list, health).
Requires skillkit >= 0.8.0 for trace --list --json and prune --skill.
2026-03-29 15:11:46 -05:00
Railly
1c21e41692 fix: address all ObsidianReviewBot issues
- Remove require("fs") in tool-configs, use existing import
- Replace all style.display with CSS class toggle (as-hidden)
- Replace all element.style.* with setCssProps and CSS variables
- Remove plugin name from settings heading
- Fix unknown | null type to proper union
- Fix unused spinner variable
- Use sentence case for settings UI text
- Fix value stringification for objects in frontmatter
2026-03-29 14:58:19 -05:00
Railly
41f9be3f54 feat: health + context tax in two-column layout, responsive dashboard 2026-03-28 12:33:58 -05:00
Railly
0f05020731 fix: 12px top padding on dashboard 2026-03-28 12:31:14 -05:00
Railly
b6ba2287cf fix: restore top padding on dashboard panel 2026-03-28 12:30:43 -05:00
Railly
f6b3748cc1 fix: mutual exclusion for sidebar selection, remove dashboard max-width and top padding 2026-03-28 12:29:09 -05:00
Railly
08e9a3f318 fix: hide view header, remove all viewport padding 2026-03-28 12:26:02 -05:00
Railly
ccb1907ff7 fix: add loading spinner, remove viewport padding 2026-03-28 12:23:54 -05:00
Railly
224a8bf5e3 feat: add skillkit dashboard + usage badges
- Dashboard view with Overview, Top Skills, Health, Burn Rate, Context Tax, and Stale Skills sections
- All data sourced from skillkit CLI --json (no direct DB queries)
- Usage badges on skill cards: use count, stale, heavy
- Detail panel shows usage stats when skillkit available
- Sidebar CTA for users without skillkit installed
- Skillkit integration uses proper CLI interface (stats/health/burn/context --json)
2026-03-28 12:07:30 -05:00
Railly
7306bddb0a feat: initial release - AI agent skills manager for Obsidian
Discover, organize, and edit AI coding agent skills across Claude Code,
Cursor, Codex, Windsurf, Copilot, and more from inside Obsidian.

- Multi-tool skill discovery (13 tools supported)
- Three-column view: sidebar, list, detail
- Real-time file watching with debounce
- YAML frontmatter parsing and metadata display
- Built-in editor with Cmd+S save
- Full-text search across all skills
- Token/char count estimation
- Real SVG logos from tryelements.dev registry
- Filter by tool, type, favorites, collections
2026-03-28 08:18:28 -05:00