## 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 comprehensive plugin architecture with marketplace support:
- 17 focused plugins for different tech stacks
- Dual-mode installation (plugin vs standalone)
- Standardized README.md for all plugins
- marketplace.json for plugin discovery
Plugins included:
- cce-core: Essential foundation (agents, hooks, commands)
- cce-kubernetes: K8s operations and health diagnostics
- cce-cloudflare: Workers, AI, Workflows, VPC
- cce-esphome: ESPHome IoT development
- cce-web-react: React/Next.js/TanStack
- cce-django: Django backend development
- cce-research: Deep research coordination
- cce-grafana: Grafana plugin development
- cce-homeassistant: Home Assistant dashboards
- cce-temporal: Temporal.io workflows
- cce-typescript: TypeScript tooling
- cce-web-vue: Vue.js/Nuxt development
- cce-devops: CI/CD and DevOps tools
- cce-ai: AI/ML development
- cce-anthropic: Claude Agent SDK
- cce-go: Go development
- cce-python: Python CLI with Typer
Each plugin includes complete metadata, installation instructions,
and usage examples. Users install only what they need for their stack.
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 specialized agent and skill for Home Assistant Lovelace dashboard
configuration, card selection, view layouts, theming, and custom card
development.
Agent (.claude/agents/specialized/homeassistant/):
- ha-dashboard-expert.md with Context7 library references
Skill (.claude/skills/ha-dashboard/):
- SKILL.md with quick start, rules, and troubleshooting
- README.md with auto-trigger keywords
- references/ with card, view, theme, and pattern documentation
- assets/ with dashboard template and card snippets
Shell scripts for plugin development workflow:
- create_plugin.sh: Scaffold new plugins with @grafana/create-plugin
- dev_server.sh: Start Docker development environment
Python scripts for cluster health diagnostics:
- discover_apis.py: Detect installed operators via API groups
- health_orchestrator.py: Map APIs to specialized agents
- aggregate_report.py: Combine results into unified report
New slash commands for Linear integration:
- /create-linear-pr: Create ticket, branch, commit, and PR in one flow
- /existing-linear: Create PR for existing Linear ticket
Automates the full workflow from staged changes to opened PR with proper
ticket linking and success criteria validation.
New Grafana ecosystem extensions:
- grafana-plugin-scaffolding skill for creating panel/datasource/app plugins
- grafana-billing skill for querying Prometheus/Loki billing metrics
- grafana-plugin-expert agent for SDK guidance and development patterns
Supports Grafana v12.x+ with @grafana/create-plugin scaffolder integration.
Dynamic cluster health assessment system using API discovery to detect
installed operators and dispatch specialized sub-agents for comprehensive
health checks.
Includes:
- kubernetes-health skill with discovery scripts
- k8s-health-orchestrator agent for coordination
- Specialized agents for Core, Crossplane, ArgoCD, Cert-Manager, Prometheus
- /k8s-health command for easy invocation
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.
- Update description to clarify it analyzes changes and auto-generates commit messages
- Correct argument list from `[message] | --no-verify | --amend` to `[message] [--amend] (Optional)`
- Remove unsupported `--no-verify` flag
- Clarify that message argument is optional hint (e.g., ticket number), not full commit message
- Add comprehensive contribution guidelines covering:
- Code of conduct and licensing terms
- Getting started guide for new contributors
- Development workflow and branch conventions
- Extension creation guides (agents, hooks, commands)
- Testing procedures and style guidelines
- Pull request process and commit message format
- Switch from proprietary to MIT License for maximum adoption
- Update README.md with cleaner structure and highlights section
- Add reference to CONTRIBUTING.md in CLAUDE.md
- Remove non-commercial restrictions to encourage community growth
Add two specialized agents for Anthropic's Claude Agent SDK:
- TypeScript/Node.js expert for type-safe agent development with Zod
- Python expert for async agent development with anyio/asyncio
Both agents cover:
- Query patterns and streaming responses
- Custom tool creation with MCP integration
- Permission modes and security controls
- Hook system for lifecycle events
- FastAPI/Django integration (Python)
- Production deployment patterns
Also updated:
- README.md: Added Anthropic section and expanded Cloudflare/Crossplane sections
- CLAUDE.md: Added reminder to update README when adding extensions
The agents leverage comprehensive research from official Anthropic documentation
(October 2025 release) and provide production-ready implementation guidance.
Add five specialized agents covering the Cloudflare Workers ecosystem:
- cloudflare-workers-expert: Core Workers runtime, APIs, and storage
- cloudflare-workflows-expert: Durable execution engine and orchestration
- cloudflare-workers-ai-expert: AI inference with 50+ models at the edge
- cloudflare-workers-for-platforms-expert: Multi-tenant serverless infrastructure
- cloudflare-ai-agents-sdk-expert: AI agent framework with state management
Each agent includes:
- Comprehensive documentation analysis from official Cloudflare docs
- "MUST BE USED" triggers for automatic delegation
- Complete API reference and best practices
- Production-ready code examples and patterns
- Clear delegation guidelines to related specialists
Also enhanced agent-from-docs command to support multi-agent creation
strategy when URLs represent distinct platform verticals.
All agents placed in .claude/agents/specialized/cloudflare/
Created comprehensive Go development agent based on:
- Google Go Style Guide (guide, best practices, decisions)
- Go 1.25 features (synctest, WaitGroup.Go, hash.Cloner)
- Effective Go principles
Enforces strict Google style conventions:
- MixedCaps naming, no util packages
- Error handling with %w wrapping
- Goroutine lifecycle management
- Consumer-defined interfaces
- Table-driven tests (no assertion libraries)
- Context as first parameter
Agent proactively activates for Go files and provides structured
code reviews with severity levels, refactoring examples, and
specific style guide references.
Updated agent-from-docs command to launch multiple technical-researcher agents in parallel when multiple documentation URLs are provided, improving efficiency and reducing total analysis time.
Remove verbose XML example blocks from description fields in data-analyst,
research-coordinator, and technical-researcher agents. Descriptions now
concise and action-oriented, matching the pattern used in web-researcher
and academic-researcher agents.
Remove pnpm lint/build/generate:docs references from git-commit command.
The command now relies on hooks configured in .claude/settings.json to
handle pre-commit checks automatically. Also removed --no-verify flag
since hooks should always run.
This makes the command framework-agnostic and less opinionated about
specific tooling.