## Summary
- convert the marketplace packages into self-contained plugin installs
with local `agents/`, `skills/`, `commands/`, and `hooks/` content
- replace the old `triage-workflow` path with the new `linear` skill and
ship a dedicated `cce-linear` plugin for Linear-backed ticket and PR
workflows
- remove the unfinished `cce-auto-blog` plugin so this PR stays focused
on the plugin infrastructure redo
## What Changed
- added `scripts/sync_plugin_packages.py` to generate package manifests
and sync plugin-local assets from the shared `.claude/` source tree
- updated `.claude-plugin/marketplace.json` and per-plugin manifests for
19 packages, including new `cce-linear` and `cce-tauri` entries
- materialized packaged plugin assets under `plugins/*` so marketplace
installs no longer depend on repo-root `.claude` paths
- rewired Linear commands to use the `linear` skill wrapper scripts and
removed hardcoded workspace-specific Linear URLs
- refreshed root and plugin README files to match the packaged layout
and current plugin inventory
## Verification
- `python3 -m py_compile scripts/sync_plugin_packages.py
install_extensions.py .claude/skills/linear/scripts/*.py`
- `python3 scripts/sync_plugin_packages.py`
- validated plugin JSON/manifests and `cce-linear` package wiring
- confirmed no `axios-hq` or `triage-workflow` references remain in the
`.claude` Linear sources
---------
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Add Discord webhook notifications for Claude Code events, providing
reliable cross-platform notifications that work over SSH, on Windows,
Mac, and Linux.
Changes:
- Add discord_notification.py hook for Discord webhook notifications
- Supports Notification, Stop, SubagentStop, and other lifecycle events
- Works cross-platform (Ubuntu/Mac/Windows) and over SSH
- Includes User-Agent header to prevent Discord API blocking
- Comprehensive error handling and logging
- Add ssh_osc777_notification.py hook for terminal notifications
- Detects terminal types (iTerm2, Warp, VS Code, generic)
- Sends OSC 777 sequences for iTerm2 (full notification support)
- Falls back to window title + bell for other terminals
- Over SSH: Uses terminal bell only (safe, prevents session freeze)
- Register hooks in .claude/settings.json
- Discord notifications enabled for Notification and Stop events
- Runs alongside existing notification.py (TTS) hook
Setup:
1. Create Discord webhook in Server Settings → Integrations → Webhooks
2. Set DISCORD_WEBHOOK_URL environment variable
3. Notifications appear in Discord on desktop and mobile
This solves the issue of notifications not working over SSH on Windows,
providing a reliable notification mechanism that works everywhere.
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)
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
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.
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.
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.