7 Commits

Author SHA1 Message Date
Brandon Martin f80d95a869 Add skills system, specialized agents, and plugin documentation (#3)
## Summary

-  Add skill system with 3 skills (cloudflare-vpc-services,
code-reviewer, commit-helper) and skill skeleton template
-  Add 8 specialized agents for ArgoCD, Braintrust, GitHub Actions,
Fumadocs, and Helm
-  Add 4 new slash commands (/agent-intent-from-docs, /create-skill,
/triage, /wrapup-skillup)
- 📝 Add comprehensive plugin system documentation (plugins.md,
plugins-reference.md, plugin-marketplaces.md, agent-skills.md)
- 🔧 Update install_extensions.py to support skill discovery and
installation
- 🔧 Add skill_forced_eval hook and update settings.json

## Test plan

- [x] Verify skills are discovered by running `uv run
install_extensions.py list --type skill`
- [x] Test `/create-skill` command creates proper skill structure
- [x] Verify new agents appear in `/agents` interface
- [x] Confirm new commands work via `/help`
- [x] Review documentation renders correctly
2025-12-04 12:42:16 -06:00
Brandon Martin dcfd28f9e5 feat: add --cache-only flag to control SessionStart notifications
Add optional --cache-only flag to allow SessionStart events to cache the
transcript path without sending Slack notifications.

Changes:
- Added --cache-only command-line argument
- SessionStart always caches transcript path
- With --cache-only: exits after caching (no notification)
- Without --cache-only: continues to send SessionStart notification
- Updated settings.json to use --cache-only by default
- Removed --event-emoji from Stop/SubagentStop (not needed)
- Updated documentation with SessionStart example and flag description

Benefits:
- Flexible control over SessionStart notifications
- Maintains workaround for stale transcript path bug
- Users can opt-in to SessionStart notifications by removing flag
- Cleaner configuration (removed redundant emoji flags)
2025-10-08 01:15:08 -05:00
Brandon Martin 9c1f0e2fe2 🐛 fix: convert markdown and add workaround for stale transcript path
Fix Slack notifications to properly display bold text and handle resumed
session transcript path bug.

Changes:
- Added convert_markdown_to_slack() to convert **bold** to *bold*
- Stop/SubagentStop now convert markdown before sending to Slack
- Added SessionStart handler to cache current transcript_path
- Reads cached path first to work around stale path in resumed sessions
- Added retry logic with delays to handle transcript write timing
- Registered hook for SessionStart events in settings.json
- Documented workaround in README and slack-notifications.md

Technical details:
- Caches transcript path to logs/.current-transcript on SessionStart
- Falls back to provided path if cache doesn't exist
- Retries up to 3 times with 0.3s delays for timing issues
- Converts standard markdown to Slack format before sending

Workaround for: https://github.com/anthropics/claude-code/issues/8069
2025-10-08 01:04:37 -05:00
Brandon Martin 1cd21bb602 feat: include full assistant response in Slack Stop/SubagentStop notifications
Enhance Slack notifications to include the complete assistant response for Stop and SubagentStop events, providing full context of what Claude accomplished.

Changes:
- Added get_last_assistant_message() to extract assistant responses from transcript
- Stop events now include the last assistant message (up to 3000 chars)
- SubagentStop events now include the last assistant message with task description
- Messages automatically truncate with indicator if exceeding 3000 chars
- Graceful fallback to generic message if transcript unavailable
- Fixed missing --event-emoji  flag in settings.json Stop hook

Example notification:
  " Task Completed

  Perfect!  Commit created successfully:
  Commit: de50fb9
  Message:  feat: add Slack notification hook
  Changes: 6 files changed, 617 insertions(+)"

Documentation updated to reflect new full-context feature.
2025-10-08 00:08:23 -05:00
Brandon Martin de50fb9d0f feat: add Slack notification hook for Claude Code events
Add comprehensive Slack integration that sends direct messages for Claude Code lifecycle events including notifications, task completions, and subagent completions.

Features:
- Universal event support (Notification, Stop, SubagentStop, etc.)
- Intelligent message formatting based on event type
- Custom emoji support via --event-emoji flag
- Comprehensive error handling and logging
- Dry-run mode for testing

Implementation:
- slack_notification.py: Main hook using slack_sdk
- docs/slack-notifications.md: Complete setup and usage guide
- .env.example: Environment variable template
- Updated settings.json with Slack hooks for key events
- Updated .gitignore to exclude .env files
- Updated README.md to document new hook

Requires SLACK_BOT_TOKEN and SLACK_USER_ID environment variables.
2025-10-07 23:57:34 -05:00
Brandon Martin 7f02d5064f feat: add deep research agents, git-commit command, and ultracite rules
Add comprehensive deep research agent suite with 5 specialized agents (academic-researcher, data-analyst, research-coordinator, technical-researcher, web-researcher) for multi-faceted research tasks.

Add new commands:
- git-commit: Smart commit creation with emoji conventional format
- frontend-mode: Load ultracite rules for JS/TS development
- security-scan: Run security scans on project files

Add ultracite.md documentation with comprehensive frontend development rules covering accessibility, JSX/React, TypeScript, and code quality standards.

Update existing agents with improved proactive usage patterns and tool configurations.

Update hooks and settings to support new functionality.
2025-09-29 22:00:34 -05:00
Brandon Martin 3a465848a0 Initial Commit 2025-09-29 16:34:01 -05:00