diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 44549d03d5..589c4ed0dd 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -7,13 +7,58 @@ "name": "Anthropic", "email": "support@anthropic.com" }, + "marketplaces": [ + { + "name": "ruflo", + "source": "ruvnet/ruflo", + "url": "https://github.com/ruvnet/ruflo" + } + ], "plugins": [ + { + "name": "claude-flow", + "description": "AI agent orchestration using claude-flow (RuFlo) — coordinate swarms of specialized agents, hive-mind consensus, and persistent task automation within Claude Code", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/claude-flow", + "category": "development" + }, + { + "name": "anthropic-mcp", + "description": "Registers the official Anthropic MCP server, giving Claude Code direct access to Claude models and the Anthropic API", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/anthropic-mcp", + "category": "development" + }, { "name": "agent-sdk-dev", "description": "Development kit for working with the Claude Agent SDK", + "version": "1.0.0", + "author": { + "name": "Ashwin Bhat", + "email": "ashwin@anthropic.com" + }, "source": "./plugins/agent-sdk-dev", "category": "development" }, + { + "name": "business-agent", + "description": "Manage the business-agent managed-agent lifecycle: setup, run, and update sessions via the Claude Agent SDK", + "version": "1.0.0", + "author": { + "name": "sjbrenchley89", + "email": "9turnbull@gmail.com" + }, + "source": "./plugins/business-agent", + "category": "development" + }, { "name": "claude-opus-4-5-migration", "description": "Migrate your code and prompts from Sonnet 4.x and Opus 4.1 to Opus 4.5.", @@ -145,6 +190,54 @@ }, "source": "./plugins/security-guidance", "category": "security" + }, + { + "name": "ruflo-core", + "description": "Foundation plugin \u2014 registers the ruflo MCP server (300+ tools across memory/agentdb/embeddings/hooks/aidefence/neural/autopilot/browser/agent/swarm), provides 3 generalist agents (coder/researcher/reviewer), 3 first-run skills, and a curated plugin-discovery catalog", + "version": "0.2.2", + "author": { + "name": "ruvnet", + "url": "https://github.com/ruvnet" + }, + "source": "./plugins/ruflo-core", + "category": "development", + "marketplace": "ruflo" + }, + { + "name": "ruflo-swarm", + "description": "Agent teams, swarm coordination, Monitor streams, and worktree isolation \u2014 wraps 4 swarm_* + 8 agent_* MCP tools (12 total) plus 6 topologies (hierarchical / mesh / hierarchical-mesh / ring / star / adaptive)", + "version": "0.2.0", + "author": { + "name": "ruvnet", + "url": "https://github.com/ruvnet" + }, + "source": "./plugins/ruflo-swarm", + "category": "development", + "marketplace": "ruflo" + }, + { + "name": "ruflo-autopilot", + "description": "Autonomous /loop-driven task completion with learning, prediction, and progress tracking \u2014 wraps 10 autopilot_* MCP tools (status/enable/disable/config/reset/log/progress/learn/history/predict)", + "version": "0.2.0", + "author": { + "name": "ruvnet", + "url": "https://github.com/ruvnet" + }, + "source": "./plugins/ruflo-autopilot", + "category": "development", + "marketplace": "ruflo" + }, + { + "name": "ruflo-federation", + "description": "Cross-installation agent federation with zero-trust security, peer discovery, consensus-based task routing, and per-call budget circuit breaker (ADR-097)", + "version": "0.2.0", + "author": { + "name": "ruvnet", + "url": "https://github.com/ruvnet" + }, + "source": "./plugins/ruflo-federation", + "category": "development", + "marketplace": "ruflo" } ] } diff --git a/.github/workflows/build-site.yml b/.github/workflows/build-site.yml new file mode 100644 index 0000000000..4a26d74b99 --- /dev/null +++ b/.github/workflows/build-site.yml @@ -0,0 +1,32 @@ +name: Build Site + +on: + push: + branches: [main] + paths: + - 'source-build-australia/**' + pull_request: + paths: + - 'source-build-australia/**' + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + defaults: + run: + working-directory: source-build-australia + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + cache-dependency-path: source-build-australia/package-lock.json + + - run: npm ci + + - run: npm run build diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..49ffbb0e68 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,52 @@ +name: CI + +on: + push: + branches: [main, "claude/**"] + pull_request: + branches: [main] + +jobs: + validate: + name: Validate plugin JSON + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Validate all JSON files + run: | + find . -name "*.json" -not -path "./.git/*" | while read f; do + python3 -c "import json,sys; json.load(open('$f'))" || { echo "Invalid JSON: $f"; exit 1; } + done + echo "All JSON files are valid." + + - name: Check every plugin has plugin.json + run: | + for dir in plugins/*/; do + [ -d "$dir" ] || continue + plugin=$(basename "$dir") + if [ ! -f "${dir}.claude-plugin/plugin.json" ]; then + echo "Missing .claude-plugin/plugin.json in $plugin" + exit 1 + fi + done + echo "All plugins have plugin.json." + + - name: Check marketplace.json lists every plugin + run: | + for dir in plugins/*/; do + [ -d "$dir" ] || continue + plugin=$(basename "$dir") + if ! python3 -c " + import json, sys + data = json.load(open('.claude-plugin/marketplace.json')) + names = [p['name'] for p in data['plugins']] + if '$plugin' not in names: + print(f'Plugin $plugin missing from marketplace.json') + sys.exit(1) + "; then + exit 1 + fi + done + echo "All plugins are listed in marketplace.json." diff --git a/.github/workflows/main_claude-code.yml b/.github/workflows/main_claude-code.yml new file mode 100644 index 0000000000..6add7caa08 --- /dev/null +++ b/.github/workflows/main_claude-code.yml @@ -0,0 +1,65 @@ +# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy Node.js app to Azure Web App - claude-code + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read #This is required for actions/checkout + + steps: + - uses: actions/checkout@v4 + + - name: Set up Node.js version + uses: actions/setup-node@v3 + with: + node-version: '24.x' + + - name: npm install, build, and test + run: | + npm install + npm run build --if-present + npm run test --if-present + + - name: Upload artifact for deployment job + uses: actions/upload-artifact@v4 + with: + name: node-app + path: . + + deploy: + runs-on: ubuntu-latest + needs: build + permissions: + id-token: write #This is required for requesting the JWT + contents: read #This is required for actions/checkout + + steps: + - name: Download artifact from build job + uses: actions/download-artifact@v4 + with: + name: node-app + + - name: Login to Azure + uses: azure/login@v2 + with: + client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_59888C637F0A4B698C4394758D51FE1C }} + tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_707EEB1695864E58B49A79C3A596A9D8 }} + subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_8B704A11491E42E39C33E2F7B51BB1A8 }} + + - name: 'Deploy to Azure Web App' + id: deploy-to-webapp + uses: azure/webapps-deploy@v3 + with: + app-name: 'claude-code' + slot-name: 'Production' + package: . + \ No newline at end of file diff --git a/.gitignore b/.gitignore index 5ca0973f8f..af8819485c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .DS_Store - +.netlify/ +source-build-australia/out/ +source-build-australia/.next/ diff --git a/.netlifyignore b/.netlifyignore new file mode 100644 index 0000000000..a86e5137ef --- /dev/null +++ b/.netlifyignore @@ -0,0 +1,14 @@ +source-build-australia/node_modules +source-build-australia/.next +.git +plugins +examples +brand +*.md +*.gif +demo.gif +Script +.devcontainer +.vscode +.github +.claude diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000000..b2ad416089 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,102 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## What This Repository Is + +This is a fork of `anthropics/claude-code`, extended with: +- **`plugins/`** — Official Claude Code plugins (agents, skills, hooks, commands) +- **`source-build-australia/`** — A Next.js marketing/product site deployed via Netlify +- **`business-agent/`** — A managed-agent definition using the Claude Agent SDK +- **`examples/`** — GitHub automation scripts (issue lifecycle, label management, duplicate detection) +- **`scripts/`** — Shared GitHub CLI wrappers and utilities used by examples + +The upstream docs (README, CHANGELOG, SECURITY, LICENSE) live at the root and are periodically synced from `anthropics:main`. + +--- + +## Source-Build-Australia (Next.js App) + +Located at `source-build-australia/`. This is the site deployed to Netlify (`publish = "source-build-australia/out"`). + +```bash +cd source-build-australia +npm run dev # Dev server on http://localhost:3000 +npm run build # Static export to out/ +npm run start # Serve the export locally +``` + +The app uses the Next.js App Router. Routes live under `app/` (e.g. `app/about/`, `app/products/`). Shared UI components are in `components/`. The AGENTS.md file at the root of this subdirectory contains Next.js-specific agent rules — read it before editing any Next.js code, as this version may have breaking changes from the canonical Next.js you know. + +--- + +## Business Agent + +Located at `business-agent/`. A Claude Agent SDK managed-agent that scans GitHub repositories for open issues and opens fix PRs. + +- `business-agent.agent.yaml` — Agent definition (model, tools, skills, MCP servers) +- `business-agent.environment.yaml` — Runtime environment config +- `setup.sh` — One-time setup: creates agent and environment via `ant beta:agents/environments`, writes IDs to `.env` +- `run_agent.py` — Triggers a run against the created agent/environment +- `requirements.txt` — Python dependencies + +To update the agent after editing the YAML: +```bash +ant beta:agents update --agent-id "$AGENT_ID" < business-agent.agent.yaml +``` + +--- + +## Plugins + +Located at `plugins/`. Each subdirectory is a self-contained Claude Code plugin. The canonical plugin structure: + +``` +plugin-name/ +├── .claude-plugin/plugin.json # Required metadata +├── commands/ # Slash commands (*.md files) +├── agents/ # Agent definitions (*.md files) +├── skills/ # SKILL.md files +├── hooks/ # Hook scripts +├── .mcp.json # MCP server wiring (optional) +└── README.md +``` + +See `plugins/example-plugin/` for a reference implementation. All plugins listed in the root `directory.json` are part of the official Claude Code plugin marketplace — entries reference either local paths (`"source": "./plugins/..."`) or external git repos with pinned SHAs. + +--- + +## Examples / Scripts + +`examples/` contains GitHub automation tools run as one-off scripts or GitHub Actions: +- `issue-lifecycle.ts` / `lifecycle-comment.ts` — Auto-comment and close stale issues +- `auto-close-duplicates.ts` — Detect and close duplicate issues +- `backfill-duplicate-comments.ts` — Retroactively comment on duplicates +- `gh.sh` — Restricted `gh` CLI wrapper (allow-listed subcommands only) +- `sweep.ts` / `edit-issue-labels.sh` — Bulk label management + +`scripts/` contains the shared `gh.sh` wrapper and other utilities referenced by both `examples/` and GitHub Actions. + +--- + +## Adding a New Local Plugin + +When adding a new plugin to `plugins/`, update **both** manifests or CI will fail: + +1. **`directory.json`** (root) — the public marketplace manifest. Add an entry with `name`, `description`, `author`, `category`, and `"source": "./plugins/"`. + +2. **`.claude-plugin/marketplace.json`** — the bundled plugin registry. Add an entry with the same fields **plus** `version` and `author.email`. The "Validate plugin JSON" CI check enforces this. + +Required `marketplace.json` entry shape: +```json +{ + "name": "plugin-name", + "description": "...", + "version": "1.0.0", + "author": { "name": "...", "email": "..." }, + "source": "./plugins/plugin-name", + "category": "development" +} +``` + +External plugins (git-subdir or URL source) go in `directory.json` only, with a pinned `sha`. diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000000..7a856f49d8 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,21 @@ +# Node.js +# Build a general Node.js project with npm. +# Add steps that analyze code, save build artifacts, deploy, and more: +# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript + +trigger: +- main + +pool: + vmImage: ubuntu-latest + +steps: +- task: NodeTool@0 + inputs: + versionSpec: '20.x' + displayName: 'Install Node.js' + +- script: | + npm install + npm run build + displayName: 'npm install and build' diff --git a/brand/advertising-plan.md b/brand/advertising-plan.md new file mode 100644 index 0000000000..cb6a2f4b09 --- /dev/null +++ b/brand/advertising-plan.md @@ -0,0 +1,209 @@ +# Source Build Australia — Advertising & Campaign Plan + +## Strategic Overview + +**Business objective:** Generate qualified enquiries (supply proposal requests) from builders, developers, and trade contractors across Australia. + +**Primary KPI:** Number of brief/proposal form submissions per month +**Secondary KPIs:** Website traffic, LinkedIn follower growth, brand search volume + +**Differentiator to lead with in all ads:** Complete Satisfaction Supply Guarantee + direct China sourcing = better products, better pricing, guaranteed. + +--- + +## Target Audience + +### Primary (Highest intent) +| Segment | Profile | Platform | +|---|---|---| +| Commercial Contractors | Project directors, contracts managers, commercial builders. Buying at volume. | LinkedIn, Google | +| Property Developers | Development managers, procurement, project directors. Specifying across full supply chain. | LinkedIn, Google | +| Residential Builders | Volume home builders, custom builders. Repeat, relationship-driven buying. | Google, Facebook, Instagram | + +### Secondary (Growth) +| Segment | Profile | Platform | +|---|---|---| +| Trade Contractors | Tilers, plumbers, fit-out trades. Buying category-specific products at volume. | Google, Instagram | +| Site & Project Managers | Responsible for on-site procurement. Research-heavy buying process. | Google, LinkedIn | + +--- + +## Campaign 1: "Brief Us" — Lead Generation + +**Objective:** Drive enquiry form submissions (supply proposal requests) + +**Duration:** Always-on (ongoing) + +**Platforms:** Google Search + LinkedIn Sponsored Content + +### Google Search Ads + +**Ad Group 1 — Brand Intent** +Keywords: `source build australia`, `source build au`, `sourcebuildaustralia.com.au` +Bid strategy: Target CPA +Headline 1: Source Build Australia +Headline 2: Specialist Building Product Supply +Headline 3: Get a Supply Proposal Today +Description: Direct from China to Australian sites. 16 product categories. Backed by our Complete Satisfaction Supply Guarantee. + +**Ad Group 2 — Category Intent** +Keywords: `building product supplier australia`, `building materials supplier australia`, `commercial building supply company`, `bulk building products australia` +Headline 1: You Brief Us. We Source It. +Headline 2: Building Products from China to AU +Headline 3: Complete Satisfaction Guarantee +Description: Premium building products direct from China. Stone, windows, cabinetry, tiles, and more. Get a proposal in 1 business day. + +**Ad Group 3 — Product Category Keywords** +*(One ad group per product category)* + +Example — Stone: +Keywords: `stone benchtop supplier australia`, `engineered stone wholesale`, `quartz benchtops bulk supply` +Headline 1: Stone Benchtops | Direct Supply +Headline 2: Factory Pricing. Australia-Wide Delivery. +Headline 3: Source Build Australia + +Example — Windows: +Keywords: `aluminium windows supplier australia`, `commercial aluminium windows`, `glazing supply australia` +Headline 1: Aluminium Windows | Direct Source +Headline 2: Custom Sizes. Factory Pricing. +Headline 3: Source Build Australia + +**Landing pages:** Each ad group drives to the relevant product category page, with a visible CTA to the brief form. + +--- + +### LinkedIn Sponsored Content + +**Campaign format:** Single image + link (driving to contact/brief page) +**Targeting:** +- Job titles: Project Manager, Site Manager, Contracts Manager, Procurement Manager, Building Director, Property Developer, Development Manager, Head of Construction +- Industries: Construction, Real Estate, Architecture & Planning +- Geography: Australia (weight to NSW, VIC, QLD) +- Company size: 10–500 employees + +**Ad 1 — Guarantee Focus** +Image: Clean product image (stone benchtop or tiled bathroom) on navy background with gold guarantee badge overlay +Headline: The only building supplier backed by a Complete Satisfaction Guarantee +Body: Brief us on what you need. We source direct from China, manage QC, and deliver to your site — guaranteed. +CTA: Get a Supply Proposal + +**Ad 2 — Process Focus** +Image: 3-step graphic (Brief → Source → Deliver) +Headline: You brief us. We source it. We deliver it. +Body: Source Build Australia specialises in direct China-to-Australia supply across 16 building product categories. One partner. Your whole supply brief. +CTA: Brief Us Now + +**Ad 3 — Testimonial / Social Proof** *(once testimonials are available)* +Image: Project photo or builder portrait +Headline: "[Testimonial quote]" — [Name], [Role] +Body: Source Build Australia delivers. +CTA: See How It Works + +--- + +## Campaign 2: "Category Authority" — Search Awareness + +**Objective:** Own the search results for each of the 16 product categories + +**Duration:** 3 months per category group (rotate quarterly) + +**Platform:** Google Search + Google Display + +**Strategy:** +Run dedicated search campaigns for each product category cluster, driving to the relevant `/products/[category]` page. + +**Priority order (by revenue/volume weighting):** +1. Stone Benchtops & Vanities +2. Windows, Glazing & Aluminium +3. Cabinetry & Joinery +4. Tiles & Surface Finishes +5. Doors & Hardware +6. Plumbing Fixtures +7. Bathrooms & Kitchens +8. Engineered Flooring +*(Remaining categories in Q3–Q4)* + +**Google Display retargeting:** +Retarget visitors who viewed product category pages but didn't submit a brief. Show product-specific display ads with guarantee messaging. + +--- + +## Campaign 3: "Supply Guarantee" — Trust & Differentiation + +**Objective:** Build brand differentiation through the guarantee + +**Duration:** 6 weeks on, 2 weeks off (rotating) + +**Platforms:** LinkedIn + Instagram + Facebook retargeting + +**Creative concept:** "What does the guarantee actually mean?" +Educate the audience on what the Complete Satisfaction Supply Guarantee covers — and why no competitor offers one. + +**LinkedIn post series (6 posts):** +1. "Why we offer a Complete Satisfaction Supply Guarantee (and why nobody else does)" +2. "What happens if the product arrives wrong? Here's our process." +3. "3 things covered by our supply guarantee that other suppliers won't touch" +4. "The real cost of a supply failure on a commercial project" +5. "How our guarantee works from brief to delivery" +6. "We've never had to invoke the guarantee. Here's why." + +**Facebook/Instagram retargeting ads:** +Target: Website visitors (last 30 days) +Message: "Still sourcing for your project? Our guarantee backs every proposal." +CTA: Brief Us + +--- + +## Campaign 4: "Seasonal Push" — Project Season + +**Objective:** Capture increased building activity at peak times + +**Timing:** +- January–March: Post-Christmas project starts (residential and commercial) +- September–October: Spring building surge +- November: Pre-Christmas commercial project rush + +**Format:** Boost LinkedIn and Google budgets by 30–50% during peak periods. + +**Seasonal messaging:** +- Jan: "New year. New project. Brief us and get your supply proposal before you break ground." +- Sep: "Spring building season is here. Lock in your supply partner before lead times blow out." +- Nov: "Don't let year-end delays push your project into next year. Brief us this week." + +--- + +## Budget Guidance (Starter) + +| Channel | Monthly Budget (AUD) | Notes | +|---|---|---| +| Google Search | $2,000–4,000 | Core brand + top 4 category groups | +| LinkedIn Sponsored | $1,500–3,000 | 2–3 active campaigns | +| Facebook/Instagram | $500–1,000 | Retargeting + awareness | +| **Total** | **$4,000–8,000/month** | Scale up as leads convert | + +Scale by: adding category keyword groups, expanding LinkedIn targeting to additional job titles, adding Google Display. + +--- + +## Ad Performance Benchmarks (Australian B2B Construction) + +| Metric | Target | +|---|---| +| Google Search CTR | 4–8% | +| Google Search CPC | $3–8 AUD | +| LinkedIn CTR | 0.5–1.5% | +| LinkedIn CPL (cost per lead) | $80–200 AUD | +| Website enquiry conversion rate | 2–5% of visitors | + +--- + +## Tracking Setup (Pre-Launch Checklist) + +- [ ] Google Analytics 4 installed with form submission event tracking +- [ ] Google Ads conversion action: "Brief form submitted" +- [ ] LinkedIn Insight Tag installed on website +- [ ] LinkedIn conversion: "Brief form submitted" +- [ ] Facebook Pixel installed (for retargeting) +- [ ] UTM parameters on all ad URLs +- [ ] Google Search Console verified for sourcebuildaustralia.com.au +- [ ] Google Business Profile created (if applicable) diff --git a/brand/brand-guidelines.md b/brand/brand-guidelines.md new file mode 100644 index 0000000000..6833bcf982 --- /dev/null +++ b/brand/brand-guidelines.md @@ -0,0 +1,196 @@ +# Source Build Australia — Brand Guidelines + +## Brand Identity + +**Business name:** Source Build Australia +**Legal name:** Source Build Australia Pty Ltd (confirm with legal) +**Short form:** SBA (internal use only — always use full name in external communications) +**Tagline:** Specialist Supply. China to Australia. +**Model statement:** You brief us → We source it → We deliver it +**Guarantee:** Complete Satisfaction Supply Guarantee + +--- + +## Colour Palette + +| Role | Hex | RGB | Usage | +|---|---|---|---| +| **Navy** (Primary) | `#1B2A4A` | rgb(27, 42, 74) | Headers, primary backgrounds, text on light | +| **Navy Dark** | `#111e36` | rgb(17, 30, 54) | Dark backgrounds, hover states | +| **Navy Light** | `#243660` | rgb(36, 54, 96) | Secondary backgrounds, subtle UI | +| **Gold** (Accent) | `#C9A84C` | rgb(201, 168, 76) | CTAs, highlights, guarantee badge, accents | +| **Gold Light** | `#d9bc72` | rgb(217, 188, 114) | Hover states for gold elements | +| **Gold Dark** | `#a8872e` | rgb(168, 135, 46) | Pressed states | +| **Off-White** | `#F5F5F0` | rgb(245, 245, 240) | Page backgrounds, section fills | +| **Near-Black** | `#1A1A1A` | rgb(26, 26, 26) | Body text | +| **Slate** | `#6B7280` | rgb(107, 114, 128) | Secondary text, placeholders | +| **White** | `#FFFFFF` | rgb(255, 255, 255) | Reversed text, clean UI elements | + +### Colour Rules +- Never use Navy on Navy or Gold on Gold +- Gold is an accent only — do not use it as a body background colour +- Minimum contrast ratio: 4.5:1 for all body text (WCAG AA) +- The guarantee badge must always be gold background with navy text + +--- + +## Typography + +### Typeface: Inter +Inter is the brand typeface across all digital and print applications. +- Google Fonts: `Inter` (weights 400, 600, 700, 900) +- Fallbacks: `Arial, Helvetica, sans-serif` + +### Type Scale + +| Element | Weight | Size | Usage | +|---|---|---|---| +| Hero H1 | 900 (Black) | 48–72px | Homepage hero headline | +| Page H1 | 900 (Black) | 36–48px | Page-level headings | +| H2 | 800 (ExtraBold) | 28–36px | Section headings | +| H3 | 700 (Bold) | 20–24px | Card headings, sub-sections | +| Body | 400 (Regular) | 16px / 1.6 line-height | Body copy | +| Small | 400 | 14px | Captions, metadata | +| Label | 600 (SemiBold) | 12px, uppercase, 1–2px tracking | Labels, tags, eyebrows | +| CTA | 700 (Bold) | 14–16px | Button text | + +### Type Rules +- Headlines: tight tracking (−0.02 to −0.05em), no decorative fonts +- All-caps: use sparingly, only for short labels/eyebrows (max 4 words) +- Never use italic for brand voice — use bold weight for emphasis instead + +--- + +## Logo + +### Primary Logo +- Mark: Stylised roofline/chevron above building icon, in Gold +- Wordmark: "SOURCE BUILD AUSTRALIA" in Navy, weight 900 +- Tagline: "SPECIALIST SUPPLY · CHINA TO AUSTRALIA" in Gold, small caps + +### Logo Variants +| Variant | File | Use case | +|---|---|---| +| Primary (navy) | `logo.svg` | Light backgrounds, documents, print | +| Reversed (white) | `logo-white.svg` | Navy/dark backgrounds, header | + +### Logo Clear Space +Maintain a minimum clear space equal to the height of the "S" in "SOURCE" on all sides. + +### Logo Rules +- Do not change colours of any logo element +- Do not stretch, rotate, or distort +- Do not place logo on a background that creates insufficient contrast +- Minimum size: 120px wide (digital), 35mm wide (print) +- Never use just the mark without the wordmark in external communications + +--- + +## Voice & Tone + +### Brand Voice Pillars +1. **Direct** — Say what you mean. No filler, no fluff. +2. **Expert** — We know building products and construction. Speak like an industry professional. +3. **Confident** — We back our work with a guarantee. Write with confidence. +4. **Approachable** — Not corporate. Not casual. Professional and human. + +### Writing Rules +- Sentence case for all headings (not Title Case, not ALL CAPS except labels) +- Short sentences. One idea per sentence. +- Active voice: "We source it" not "Products are sourced by us" +- Avoid: "solutions", "synergies", "world-class", "best-in-class", "cutting-edge" +- Use: specific, concrete language — dimensions, timelines, quantities, locations + +### Model Statement +Always written as: `You brief us → We source it → We deliver it` +- Arrow is a right-pointing arrow: `→` +- No full stop at the end of this statement +- Can be broken into three separate lines in tight layouts + +--- + +## Guarantee Language + +The guarantee is called: **Complete Satisfaction Supply Guarantee** +- Always use the full name (not "our guarantee" alone in the first reference) +- Badge: gold background, navy text, shield icon ◆ +- In body copy: "backed by our Complete Satisfaction Supply Guarantee" +- In short-form: "Guarantee-backed supply" + +--- + +## Photography Style (when applicable) + +### What to show +- Products in professional/industrial settings (not lifestyle/home décor) +- Real project sites — concrete, steel, active construction environments +- Factory and manufacturing environments showing quality and scale +- Products in transit/logistics (containers, pallets, freight) + +### What to avoid +- Overly styled, artificial "showroom" product imagery +- Generic stock photos of smiling people at desks +- Low-quality mobile photography for hero/featured content + +### Colour treatment +- Images should complement the brand palette: navy, concrete grey, warm wood tones +- Avoid images with clashing warm reds or unrelated colour treatments + +--- + +## Guarantee Badge Usage + +The guarantee badge appears: +- In the site header strip (GuaranteeBadge component) +- In the email signature +- On product proposal PDFs and documents +- On all advertising creative + +Format: Gold pill/badge with shield icon + "COMPLETE SATISFACTION SUPPLY GUARANTEE" in navy bold text. + +--- + +## Digital Standards + +### Favicon +Use the SBA roofline mark (SVG) as favicon. + +### Meta Titles +Format: `[Page Name] | Source Build Australia` +Homepage: `Source Build Australia | Specialist Building Product Supply` + +### Open Graph +Always include OG title, description, and image. +OG image: 1200×630px, navy background, white logo, gold tagline. + +### Link Style +External links: always `target="_blank" rel="noopener noreferrer"` + +--- + +## Stationery & Documents + +### Letterhead +- Navy header bar (full width) with white logo +- Gold rule line separating header from body +- Body: Near-black Inter 400 at 10pt +- Footer: Slate text with ABN, address, website + +### Proposal / Quote Document +- Cover: Navy full-page, white logo, project name in gold +- Internal pages: Off-white background, navy headings, gold section dividers +- Always include guarantee badge on cover and final page + +--- + +## Social Media Profile Standards + +| Platform | Profile image | Cover/Banner | Handle | +|---|---|---|---| +| LinkedIn | SBA mark (square, navy bg) | Navy bg, white logo + tagline | /company/source-build-australia | +| Instagram | SBA mark (square, navy bg) | N/A | @sourcebuildaustralia | +| Facebook | SBA mark (square, navy bg) | Navy bg, white logo + tagline | /sourcebuildaustralia | + +--- + +*These guidelines cover the core of the Source Build Australia brand. For questions not covered here, default to: does it look navy and gold, is it clear and direct, and does it represent a premium, trusted supply partner? If yes — proceed.* diff --git a/brand/email-signature.html b/brand/email-signature.html new file mode 100644 index 0000000000..f8803ff312 --- /dev/null +++ b/brand/email-signature.html @@ -0,0 +1,115 @@ + + + + + Source Build Australia — Email Signature + + + +

PREVIEW — Copy the table below and paste into your email client signature settings.

+
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + SOURCE BUILD + AUSTRALIA + SPECIALIST SUPPLY · CHINA TO AUSTRALIA + +
+
+ + + + +
+ +

[Full Name]

+

[Job Title]  |  Source Build Australia

+ + + + + + + + +
+ 📞 [phone] + + ✉ [email] + + 🌐 sourcebuildaustralia.com.au +
+
+
+ + + + + +
+

+ 🛡 COMPLETE SATISFACTION SUPPLY GUARANTEE +

+
+
+ + + LinkedIn: Source Build Australia + +
+

+ This email and any attachments are intended solely for the addressee. Source Build Australia Pty Ltd  |  ABN: [ABN]
+ [address], Australia +

+
+ + +
+ +

+ Instructions: Replace all [placeholders] with your details. Copy the table and paste into your email client's HTML signature editor. +
Tested in: Gmail, Outlook, Apple Mail. +

+ + diff --git a/brand/social-strategy.md b/brand/social-strategy.md new file mode 100644 index 0000000000..6f342f06ad --- /dev/null +++ b/brand/social-strategy.md @@ -0,0 +1,189 @@ +# Source Build Australia — Social Media Strategy + +## Brand Voice + +**Tone:** Confident, direct, and knowledgeable. We talk like an experienced industry professional, not a marketer. +**Avoid:** Vague claims, corporate fluff, jargon overload, or overly casual language. +**Always include:** A clear value proposition or call to action. Every post should have a reason to exist. + +--- + +## Platform Strategy + +| Platform | Priority | Primary Audience | Goal | +|---|---|---|---| +| **LinkedIn** | Primary | Commercial contractors, project managers, property developers, senior buyers | Lead generation, brand authority | +| **Instagram** | Secondary | Residential builders, trade contractors, design-conscious buyers | Product showcase, brand awareness | +| **Facebook** | Supporting | Local builder networks, trade groups, residential builders | Community presence, retargeting | + +--- + +## Content Pillars + +### 1. Product Showcase (30% of content) +Highlight product categories, quality, and specifications. Aim to educate on what's possible. + +**Examples:** +- "This is what 1200×2400 porcelain looks like from our tile factory in Foshan — shipped and landed in Melbourne for less than you'd expect." +- Stone benchtop edge profiles: which one suits your project? +- Before/after: cabinetry upgrade on a 12-unit development + +**Format:** Single image + caption (Instagram), carousel (LinkedIn), short video reel + +--- + +### 2. Project Stories (20% of content) +Real supply stories — what was briefed, what we sourced, where it landed. + +**Examples:** +- "A Brisbane developer needed 280 vanity units in 8 weeks. Here's how we did it." +- From brief to delivery: 6-bedroom home build in the Northern Beaches +- Commercial fitout: 4,000m² of engineered flooring, 14 weeks from brief to site + +**Format:** Short-form story post, carousel walk-through, short video + +--- + +### 3. Industry Education (20% of content) +Position Source Build Australia as the expert. Teach builders and developers something useful. + +**Examples:** +- "5 things to check when specifying aluminium windows for a BAL-rated project" +- Why engineered stone and porcelain have different import compliance requirements +- How to write a product brief that gets you a sharp proposal (not a vague quote) +- NCC Section J compliance and what it means for your insulation spec + +**Format:** Carousel (LinkedIn), text post, infographic + +--- + +### 4. Behind the Supply Chain (15% of content) +Show the process — factory visits, QC photos, freight and logistics. Builds trust and differentiates. + +**Examples:** +- Factory floor: where our stone benchtops are cut and polished +- How we QC 200 bathroom vanities before they leave Guangzhou +- Container loading day — 3 weeks from approval to Australian port + +**Format:** Photos + caption, short video, Instagram Stories + +--- + +### 5. Trust & Guarantee (15% of content) +Reinforcing the Complete Satisfaction Supply Guarantee and testimonials. + +**Examples:** +- "What does our Complete Satisfaction Supply Guarantee actually mean? Here's the plain English version." +- Client testimonial: "[Quote from builder/developer]" +- "We've never left a supply brief unfulfilled. That's what the guarantee is about." + +**Format:** Text post, quote graphic, testimonial card + +--- + +## Posting Cadence + +| Platform | Frequency | Best Times | +|---|---|---| +| LinkedIn | 4x per week (Mon, Tue, Thu, Fri) | 7–9am or 12–1pm AEDT | +| Instagram | 5x per week + 3 Stories/day | 6–8am or 7–9pm AEDT | +| Facebook | 3x per week (Mon, Wed, Fri) | 8–10am AEDT | + +--- + +## Recurring Campaign Ideas + +### "Brief of the Week" (Weekly — LinkedIn + Instagram) +Share a real or composite brief we received, and how we solved it. Shows capability and process. +- Post format: Problem → Solution → Result +- Hashtags: #SupplyBrief #BuildingProducts #ConstructionAustralia + +### "Category Spotlight" (Monthly — All platforms) +Each month, deep-dive into one of the 16 product categories. Run 4 posts across the month on that category — intro, products, project use case, and educational piece. + +### "Builder Partner Program" (Ongoing — Instagram + Facebook) +Partner with a builder or developer. Tag their project in posts, share their content. Builds audience and social proof. + +### "Landed in Australia" (Weekly — Instagram Stories) +Quick Story showing a container or pallet that just arrived. Raw, authentic, and drives curiosity. + +--- + +## Hashtag Strategy + +### Core Hashtags (always use) +`#SourceBuildAustralia` `#SpecialistSupply` `#BuildingProductsAustralia` + +### Category Hashtags (rotate per post) +`#StoneBenchtops` `#AluminiumWindows` `#Cabinetry` `#Tiles` `#BuildingMaterials` `#ConstructionSupply` + +### Audience Hashtags (LinkedIn) +`#Builders` `#PropertyDevelopment` `#CommercialConstruction` `#ProjectManagement` `#Construction` + +### Discovery Hashtags (Instagram) +`#HomeBuilder` `#BuildersOfInstagram` `#AustralianBuilders` `#TradeLife` `#NewBuild` + +--- + +## Sample Posts + +### LinkedIn — Lead Generation +> **You brief us. We source it. We deliver it.** +> +> That's the entire model at Source Build Australia. +> +> We source premium building products direct from China — stone benchtops, aluminium windows, cabinetry, tiles, doors, and more — and deliver them to construction sites across Australia. +> +> No brokers. No middlemen. One supply partner, backed by a Complete Satisfaction Guarantee. +> +> If you've got an upcoming project, drop us a brief. We'll have a proposal back to you within 1 business day. +> +> 👉 [Link to contact page] +> +> #BuildingProductsAustralia #SpecialistSupply #CommercialConstruction + +--- + +### Instagram — Product Showcase +> Engineered quartz. 3m runs. Custom edge. Direct from our factory partner in Guangdong. +> +> This is what you can access when you brief us for stone benchtops. +> +> Link in bio to get a supply proposal. 🏗️ +> +> #StoneBenchtops #QuartzBenchtops #BuilderLife #KitchenDesign #SourceBuildAustralia + +--- + +### Facebook — Trust Post +> One guarantee. Every proposal. +> +> When we send you a supply proposal at Source Build Australia, our Complete Satisfaction Supply Guarantee is attached to it. If the product isn't right — spec, quality, timing, or delivery — we fix it. Simple as that. +> +> That's how confident we are in our supply chain. +> +> Get a proposal: [link] + +--- + +## LinkedIn Company Profile Setup + +**Tagline:** Specialist Building Product Supply. China to Australia. +**About (first 2 lines visible without "see more"):** Australia's specialist building product supply partner. You brief us → We source it → We deliver it — backed by a Complete Satisfaction Supply Guarantee. +**Specialities:** Building Products, Construction Supply, China Sourcing, Stone Benchtops, Aluminium Windows, Cabinetry, Tiles, Commercial Construction Supply + +--- + +## Instagram Profile Setup + +**Name:** Source Build Australia +**Username:** @sourcebuildaustralia +**Bio:** +``` +🏗️ Specialist Building Product Supply +🇨🇳 → 🇦🇺 China to Australia-wide +✅ Complete Satisfaction Guarantee +📋 Brief us → We source it → We deliver it +👇 Get a supply proposal +``` +**Link:** sourcebuildaustralia.com.au/contact diff --git a/business-agent/business-agent.agent.yaml b/business-agent/business-agent.agent.yaml new file mode 100644 index 0000000000..c147603c66 --- /dev/null +++ b/business-agent/business-agent.agent.yaml @@ -0,0 +1,30 @@ +name: Business Agent +model: claude-opus-4-7 +system: | + You are a Business Agent that scans GitHub repositories for open issues and fixes them. + On each run: + 1. Use the GitHub MCP tools to list open issues and PRs across all five repositories: + sjbrenchley89/claude-code, sjbrenchley89/source-build-au, sjbrenchley89/windows-mcp, + sjbrenchley89/ruflo, sjbrenchley89/tailscale + 2. For each open issue that represents a fixable code problem, use the mounted repo at + /workspace/ to: create a fix branch, implement the fix, push, and open a PR + referencing the issue + 3. Write a digest to /mnt/session/outputs/digest.md: issues reviewed, PRs opened (with URLs), + issues skipped (with reason) +tools: + - type: agent_toolset_20260401 + - type: mcp_toolset + mcp_server_name: github +mcp_servers: + - type: url + name: github + url: https://api.githubcopilot.com/mcp/ # GitHub Copilot MCP endpoint — requires OAuth token +skills: + - type: anthropic + skill_id: xlsx + - type: anthropic + skill_id: docx + - type: anthropic + skill_id: pptx + - type: anthropic + skill_id: pdf diff --git a/business-agent/business-agent.environment.yaml b/business-agent/business-agent.environment.yaml new file mode 100644 index 0000000000..4b5d393e1b --- /dev/null +++ b/business-agent/business-agent.environment.yaml @@ -0,0 +1,5 @@ +name: business-agent-env +config: + type: cloud + networking: + type: unrestricted diff --git a/business-agent/requirements.txt b/business-agent/requirements.txt new file mode 100644 index 0000000000..cb6ca26513 --- /dev/null +++ b/business-agent/requirements.txt @@ -0,0 +1 @@ +anthropic>=0.92.0 diff --git a/business-agent/run_agent.py b/business-agent/run_agent.py new file mode 100644 index 0000000000..273fc1a761 --- /dev/null +++ b/business-agent/run_agent.py @@ -0,0 +1,101 @@ +import os +import time +import anthropic + +AGENT_ID = os.environ["AGENT_ID"] +ENV_ID = os.environ["ENV_ID"] +GITHUB_TOKEN = os.environ["GITHUB_TOKEN"] # PAT: Contents read+write, for repo cloning/push +GITHUB_MCP_TOKEN = os.environ["GITHUB_MCP_TOKEN"] # OAuth token for GitHub MCP server +# To get GITHUB_MCP_TOKEN: GitHub Settings -> Developer settings -> OAuth Apps -> +# create app with scopes: repo, issues, pull_requests -> use the resulting OAuth access token + +REPOS = [ + "https://github.com/sjbrenchley89/claude-code", + "https://github.com/sjbrenchley89/source-build-au", + "https://github.com/sjbrenchley89/windows-mcp", + "https://github.com/sjbrenchley89/ruflo", + "https://github.com/sjbrenchley89/tailscale", +] + +client = anthropic.Anthropic() + + +def stream_until_idle(session_id: str, kickoff_text: str) -> None: + with client.beta.sessions.events.stream(session_id=session_id) as stream: + client.beta.sessions.events.send( + session_id=session_id, + events=[{"type": "user.message", "content": [{"type": "text", "text": kickoff_text}]}], + ) + for event in stream: + if event.type == "agent.message": + for block in event.content: + if block.type == "text": + print(block.text, end="", flush=True) + elif event.type == "session.status_terminated": + break + elif event.type == "session.status_idle": + if event.stop_reason.type != "requires_action": + break + + +def run(): + # Vault — create fresh each run (vault_ids not updatable after session create) + vault = client.beta.vaults.create(name="business-agent-run-vault") + client.beta.vaults.credentials.create( + vault_id=vault.id, + display_name="GitHub MCP", + auth={ + "type": "mcp_oauth", + "mcp_server_url": "https://api.githubcopilot.com/mcp/", + "access_token": GITHUB_MCP_TOKEN, + # Omit refresh block if GITHUB_MCP_TOKEN is a long-lived token + }, + ) + + session = client.beta.sessions.create( + agent=AGENT_ID, + environment_id=ENV_ID, + title="Business Agent scheduled run", + resources=[ + { + "type": "github_repository", + "url": repo, + "authorization_token": GITHUB_TOKEN, + "checkout": {"type": "branch", "name": "main"}, + } + for repo in REPOS + ], + vault_ids=[vault.id], + ) + print(f"Watch: https://platform.claude.com/workspaces/default/sessions/{session.id}") + + # Smoke-test: verify GitHub MCP is reachable before spending tokens on the real task + print("\n-- Smoke test --") + stream_until_idle( + session.id, + "Confirm you can reach GitHub via MCP and list the names of the 5 repositories " + "in sjbrenchley89. Do not start the main task yet.", + ) + + # Main task + print("\n\n-- Main task --") + stream_until_idle( + session.id, + "Run the full task: scan all 5 repos for open issues, fix fixable ones by opening " + "PRs, and write the digest to /mnt/session/outputs/digest.md", + ) + + # Download outputs (brief indexing lag after session goes idle) + time.sleep(3) + print("\n\n-- Outputs --") + files = client.beta.files.list( + scope_id=session.id, + betas=["managed-agents-2026-04-01"], + ) + for f in files.data: + print(f" {f.filename} ({f.size_bytes} bytes)") + client.beta.files.download(f.id).write_to_file(f.filename) + + +if __name__ == "__main__": + run() diff --git a/business-agent/setup.sh b/business-agent/setup.sh new file mode 100644 index 0000000000..6365c40d1b --- /dev/null +++ b/business-agent/setup.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +# Run once — saves AGENT_ID and ENV_ID to .env +set -euo pipefail + +AGENT_ID=$(ant beta:agents create < business-agent.agent.yaml --transform id -r) +ENV_ID=$(ant beta:environments create < business-agent.environment.yaml --transform id -r) + +echo "AGENT_ID=$AGENT_ID" >> .env +echo "ENV_ID=$ENV_ID" >> .env +echo "Setup complete. IDs written to .env" +echo " AGENT_ID=$AGENT_ID" +echo " ENV_ID=$ENV_ID" + +# To update agent after editing the YAML (creates a new version): +# ant beta:agents update --agent-id "$AGENT_ID" < business-agent.agent.yaml diff --git a/business-agent/setup_sdk.py b/business-agent/setup_sdk.py new file mode 100644 index 0000000000..0a27b6953c --- /dev/null +++ b/business-agent/setup_sdk.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python3 +""" +One-time setup: creates the Business Agent and environment via the Python SDK. +Run this instead of setup.sh if you don't have the ant CLI installed. + +Usage: + pip install "anthropic>=0.92.0" + export ANTHROPIC_API_KEY=sk-ant-... + python setup_sdk.py +""" +import os +import anthropic + +client = anthropic.Anthropic() + +print("Creating environment...") +environment = client.beta.environments.create( + name="business-agent-env", + config={ + "type": "cloud", + "networking": {"type": "unrestricted"}, + }, +) +print(f" ENV_ID={environment.id}") + +print("Creating agent...") +agent = client.beta.agents.create( + name="Business Agent", + model="claude-opus-4-7", + system=( + "You are a Business Agent that scans GitHub repositories for open issues and fixes them.\n" + "On each run:\n" + "1. Use the GitHub MCP tools to list open issues and PRs across all five repositories:\n" + " sjbrenchley89/claude-code, sjbrenchley89/source-build-au, sjbrenchley89/windows-mcp,\n" + " sjbrenchley89/ruflo, sjbrenchley89/tailscale\n" + "2. For each open issue that represents a fixable code problem, use the mounted repo at\n" + " /workspace/ to: create a fix branch, implement the fix, push, and open a PR\n" + " referencing the issue\n" + "3. Write a digest to /mnt/session/outputs/digest.md: issues reviewed, PRs opened (with URLs),\n" + " issues skipped (with reason)" + ), + tools=[ + {"type": "agent_toolset_20260401"}, + {"type": "mcp_toolset", "mcp_server_name": "github"}, + ], + mcp_servers=[ + { + "type": "url", + "name": "github", + "url": "https://api.githubcopilot.com/mcp/", + } + ], + skills=[ + {"type": "anthropic", "skill_id": "xlsx"}, + {"type": "anthropic", "skill_id": "docx"}, + {"type": "anthropic", "skill_id": "pptx"}, + {"type": "anthropic", "skill_id": "pdf"}, + ], +) +print(f" AGENT_ID={agent.id}") +print(f" AGENT_VERSION={agent.version}") + +# Write IDs to .env +env_path = os.path.join(os.path.dirname(__file__), ".env") +with open(env_path, "w") as f: + f.write(f"AGENT_ID={agent.id}\n") + f.write(f"AGENT_VERSION={agent.version}\n") + f.write(f"ENV_ID={environment.id}\n") + +print(f"\nIDs written to {env_path}") +print("\nNext: set GITHUB_TOKEN and GITHUB_MCP_TOKEN, then run: python run_agent.py") diff --git a/directory.json b/directory.json new file mode 100644 index 0000000000..e9a7b9cd6b --- /dev/null +++ b/directory.json @@ -0,0 +1,2266 @@ +{ + "$schema": "https://anthropic.com/claude-code/marketplace.schema.json", + "name": "claude-plugins-official", + "description": "Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations", + "owner": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "plugins": [ + { + "name": "42crunch-api-security-testing", + "description": "Automate API security directly in Claude Code with 42Crunch - automatically audit OpenAPI specs, detect vulnerabilities aligned with OWASP API Security risks (including BOLA/BFLA), and apply AI-powered fixes. Designed for AI-assisted development workflows, it provides continuous guardrails through an audit->scan->remediate->validate loop, ensuring APIs meet enterprise security standards before deployment.", + "author": { + "name": "42Crunch" + }, + "category": "security", + "source": { + "source": "git-subdir", + "url": "https://github.com/42Crunch-AI/claude-plugins.git", + "path": "plugins/api-security-testing", + "ref": "v1.0.1", + "sha": "56273e0e20762d76640838300a7431c4260cad32" + }, + "homepage": "https://42crunch.com" + }, + { + "name": "adobe-for-creativity", + "description": "Harness Adobe's creative AI-powered tools to edit images, automate design workflows, and bring creative visions to life \u2014 from background removal to vectorization and professional retouching.", + "author": { + "name": "Adobe" + }, + "category": "design", + "source": { + "source": "git-subdir", + "url": "https://github.com/adobe/skills.git", + "path": "plugins/creative-cloud/adobe-for-creativity", + "ref": "main", + "sha": "0f1ad97af8b4de2107c2417184fc4c3114bda9d3" + }, + "homepage": "https://github.com/adobe/skills/tree/main/plugins/creative-cloud/adobe-for-creativity" + }, + { + "name": "agent-sdk-dev", + "description": "Development kit for working with the Claude Agent SDK", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/agent-sdk-dev", + "category": "development", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/agent-sdk-dev" + }, + { + "name": "business-agent", + "description": "Manage the business-agent managed-agent lifecycle: setup, run, and update sessions via the Claude Agent SDK", + "author": { + "name": "sjbrenchley89" + }, + "source": "./plugins/business-agent", + "category": "development" + }, + { + "name": "agentforce-adlc", + "description": "Agentforce Agent Development Life Cycle \u2014 author, discover, scaffold, deploy, test, and optimize .agent files", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/SalesforceAIResearch/agentforce-adlc.git", + "sha": "9ef4d9b1958d4ed21179017d0452a81ec13c1de2" + }, + "homepage": "https://github.com/SalesforceAIResearch/agentforce-adlc" + }, + { + "name": "ai-plugins", + "description": "Set up endorctl and use Endor Labs to scan, prioritize, and fix security risks across your software supply chain", + "source": { + "source": "url", + "url": "https://github.com/endorlabs/ai-plugins.git", + "sha": "975f0ce422b1f2677681ffd085aef34ea1826b70" + }, + "homepage": "https://www.endorlabs.com" + }, + { + "name": "aikido", + "description": "Aikido Security scanning for Claude Code \u2014 SAST, secrets, and IaC vulnerability detection powered by the Aikido MCP server.", + "source": { + "source": "url", + "url": "https://github.com/AikidoSec/aikido-claude-plugin.git", + "sha": "5d9c13d367218e9b43a11d4502f623ab98859225" + }, + "homepage": "https://github.com/AikidoSec/aikido-claude-plugin" + }, + { + "name": "airtable", + "description": "Airtable is the database and operations layer for your agents \u2014 whether running product, marketing, sales, ops, HR, or a custom business app. It combines structured data with multiplayer visual surfaces (grid, kanban, calendar, gallery, timeline) humans and agents share \u2014 plus sync integrations to Jira, Salesforce, Zendesk, Google Drive, Databricks, and the rest of your stack, all backed by enterprise governance. This plugin makes Claude fluent in Airtable: creating bases and schema, working with records, and sharing UI for collaboration. Bundles the official Airtable MCP server.", + "author": { + "name": "Airtable" + }, + "category": "productivity", + "source": { + "source": "git-subdir", + "url": "https://github.com/Airtable/skills.git", + "path": "plugins/airtable", + "ref": "main", + "sha": "aaeb4f3ec8d462d694a13fe5c3d249c291bf8899" + }, + "homepage": "https://www.airtable.com" + }, + { + "name": "alloydb", + "description": "Create, connect, and interact with an AlloyDB for PostgreSQL database and data.", + "author": { + "name": "Google LLC" + }, + "category": "database", + "source": { + "source": "url", + "url": "https://github.com/gemini-cli-extensions/alloydb.git", + "sha": "0723d3ada808fe8f33e1b2808fd7a843c3d63ad2" + }, + "homepage": "https://cloud.google.com/alloydb" + }, + { + "name": "amazon-location-service", + "description": "Guide developers through adding maps, places search, geocoding, routing, and other geospatial features with Amazon Location Service, including authentication setup, SDK integration, and best practices.", + "category": "location", + "source": { + "source": "git-subdir", + "url": "https://github.com/awslabs/agent-plugins.git", + "path": "plugins/amazon-location-service", + "ref": "main", + "sha": "6cfb70e55aa142a8eda66e6ef7966d5921bdf9a2" + }, + "homepage": "https://github.com/awslabs/agent-plugins" + }, + { + "name": "amplitude", + "source": { + "source": "git-subdir", + "url": "https://github.com/amplitude/mcp-marketplace.git", + "path": "plugins/amplitude", + "ref": "main", + "sha": "e9b4e15193666e1b513b5652ded23fab160bdc4e" + }, + "description": "Use Amplitude as an expert analyst \u2014 instrument Amplitude, discover product opportunities, analyze charts, create dashboards, manage experiments, and understand users and accounts.", + "category": "monitoring", + "homepage": "https://github.com/amplitude/mcp-marketplace" + }, + { + "name": "apollo", + "description": "Prospect, enrich leads, load outreach sequences, and query sales analytics with Apollo.io \u2014 one-click MCP server integration for Claude Code and Cowork.", + "author": { + "name": "Apollo.io" + }, + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/apolloio/apollo-mcp-plugin.git", + "sha": "79577f9361c8b0d89e9fa36a1511bd4b37375f40" + }, + "homepage": "https://www.apollo.io/" + }, + { + "name": "asana", + "description": "Asana project management integration. Create and manage tasks, search projects, update assignments, track progress, and integrate your development workflow with Asana's work management platform.", + "category": "productivity", + "source": "./external_plugins/asana", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/asana" + }, + { + "name": "astronomer-data-agents", + "description": "Data engineering for Apache Airflow and Astronomer. Author DAGs with best practices, debug pipeline failures, trace data lineage, profile tables, migrate Airflow 2 to 3, and manage local and cloud deployments.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/astronomer/agents.git", + "sha": "5935c4330dea4dfb8e93568956b10a543ecdb3d1" + }, + "homepage": "https://github.com/astronomer/agents" + }, + { + "name": "atlan", + "description": "Atlan data catalog plugin for Claude Code. Search, explore, govern, and manage your data assets through natural language. Powered by the Atlan MCP server with semantic search, lineage traversal, glossary management, data quality rules, and more.", + "source": { + "source": "url", + "url": "https://github.com/atlanhq/agent-toolkit.git", + "sha": "acdf284da6aa98b14f8dad90a9827006d8df425c" + }, + "homepage": "https://docs.atlan.com/" + }, + { + "name": "atlassian", + "description": "Connect to Atlassian products including Jira and Confluence. Search and create issues, access documentation, manage sprints, and integrate your development workflow with Atlassian's collaboration tools.", + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/atlassian/atlassian-mcp-server.git", + "sha": "9b52fb18e184edc307ce33f8bf4cdf148dedf1f2" + }, + "homepage": "https://github.com/atlassian/atlassian-mcp-server" + }, + { + "name": "atomic-agents", + "description": "Comprehensive development workflow for building AI agents with the Atomic Agents framework. Includes specialized agents for schema design, architecture planning, code review, and tool development. Features guided workflows, progressive-disclosure skills, and best practice validation.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/BrainBlend-AI/atomic-agents.git", + "path": "claude-plugin/atomic-agents", + "sha": "f849087b26bbb6fb5e63acb60f2b566ce874aaa7" + }, + "homepage": "https://github.com/BrainBlend-AI/atomic-agents", + "tags": [ + "community-managed" + ] + }, + { + "name": "auth0", + "description": "Add authentication to any app with Auth0. This plugin detects your framework, scaffolds the right Auth0 SDK integration, and guides you through login, logout, sessions, and protected routes \u2014 using current SDK patterns.", + "author": { + "name": "Auth0" + }, + "category": "security", + "source": { + "source": "git-subdir", + "url": "https://github.com/auth0/agent-skills.git", + "path": "plugins/auth0", + "ref": "main", + "sha": "f7724bf7984c5b00496cac0f54526bb1cf505dcb" + }, + "homepage": "https://auth0.com/docs/quickstart/agent-skills" + }, + { + "name": "aws-agents", + "description": "Build, deploy, and operate AI agents on AWS. Skills for scaffolding agents with Amazon Bedrock AgentCore, connecting tools, memory, policies, evaluation, debugging, and production hardening.", + "author": { + "name": "Amazon Web Services" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/aws/agent-toolkit-for-aws.git", + "path": "plugins/aws-agents", + "ref": "main", + "sha": "750230758fbf23acd60d075dedd7ead4092127ce" + }, + "homepage": "https://github.com/aws/agent-toolkit-for-aws" + }, + { + "name": "aws-amplify", + "description": "Build full-stack apps with AWS Amplify Gen 2 using guided workflows for authentication, data models, storage, GraphQL APIs, and Lambda functions.", + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/awslabs/agent-plugins.git", + "path": "plugins/aws-amplify", + "ref": "main", + "sha": "6cfb70e55aa142a8eda66e6ef7966d5921bdf9a2" + }, + "homepage": "https://github.com/awslabs/agent-plugins" + }, + { + "name": "aws-core", + "description": "Build, deploy, and operate applications on AWS. Skills to author infrastructure-as-code, use core services, and complete common tasks.", + "author": { + "name": "Amazon Web Services" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/aws/agent-toolkit-for-aws.git", + "path": "plugins/aws-core", + "ref": "main", + "sha": "750230758fbf23acd60d075dedd7ead4092127ce" + }, + "homepage": "https://github.com/aws/agent-toolkit-for-aws" + }, + { + "name": "aws-data-analytics", + "description": "Data lake, analytics, and ETL workflows with S3 Tables, AWS Glue, and Athena.", + "author": { + "name": "Amazon Web Services" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/aws/agent-toolkit-for-aws.git", + "path": "plugins/aws-data-analytics", + "ref": "main", + "sha": "750230758fbf23acd60d075dedd7ead4092127ce" + }, + "homepage": "https://github.com/aws/agent-toolkit-for-aws" + }, + { + "name": "aws-dev-toolkit", + "description": "AWS development toolkit \u2014 34 skills, 11 agents, and 3 MCP servers for building, migrating, and performing architecture reviews on AWS.", + "author": { + "name": "aws-samples" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/aws-samples/sample-claude-code-plugins-for-startups.git", + "path": "plugins/aws-dev-toolkit", + "ref": "main", + "sha": "ddea7fdd605b42ed3900374815f358a2d4600db5" + }, + "homepage": "https://github.com/aws-samples/sample-claude-code-plugins-for-startups" + }, + { + "name": "aws-serverless", + "description": "Design, build, deploy, test, and debug serverless applications with AWS Serverless services.", + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/awslabs/agent-plugins.git", + "path": "plugins/aws-serverless", + "ref": "main", + "sha": "6cfb70e55aa142a8eda66e6ef7966d5921bdf9a2" + }, + "homepage": "https://github.com/awslabs/agent-plugins" + }, + { + "name": "azure", + "description": "Transform Claude into an Azure expert. This plugin integrates the Azure MCP server and specialized Azure skills to move beyond generic advice. It enables Claude to perform real-world tasks: listing resources, validating deployments, diagnosing infrastructure issues, and optimizing costs across 50+ Azure services.", + "category": "deployment", + "source": { + "source": "url", + "url": "https://github.com/microsoft/azure-skills.git", + "sha": "ed25b85a13ec001c53f538b07e0bfbe732673885" + }, + "homepage": "https://github.com/microsoft/azure-skills" + }, + { + "name": "azure-cosmos-db-assistant", + "source": { + "source": "url", + "url": "https://github.com/AzureCosmosDB/cosmosdb-claude-code-plugin.git", + "sha": "23c168856e4435793bd27a72d4714f022a3a1e90" + }, + "description": "Expert assistant for Azure Cosmos DB \u2014 data modeling, query optimization, performance tuning, and best practices.", + "category": "database", + "homepage": "https://github.com/AzureCosmosDB/cosmosdb-claude-code-plugin" + }, + { + "name": "base44", + "description": "Build and deploy Base44 full-stack apps with CLI project management and JavaScript/TypeScript SDK development skills", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/base44/skills.git", + "sha": "c7039b37eca0e2916a565a7395040c00055bcf8b" + }, + "homepage": "https://docs.base44.com" + }, + { + "name": "bigdata-com", + "description": "Official Bigdata.com plugin providing financial research, analytics, and intelligence tools powered by Bigdata MCP.", + "author": { + "name": "RavenPack" + }, + "category": "database", + "source": { + "source": "git-subdir", + "url": "https://github.com/Bigdata-com/bigdata-plugins-marketplace.git", + "path": "plugins/bigdata-com", + "ref": "main", + "sha": "274b5365bdc61130225de736d3f3ca5210c0e37d" + }, + "homepage": "https://docs.bigdata.com" + }, + { + "name": "box", + "description": "Work with your Box content directly from Claude Code \u2014 search files, organize folders, collaborate with your team, and use Box AI to answer questions, summarize documents, and extract data without leaving your workflow.", + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/box/box-for-ai.git", + "sha": "0fb23244e3c35cd562206c80eff1e22c456046ea" + }, + "homepage": "https://github.com/box/box-for-ai" + }, + { + "name": "brightdata-plugin", + "description": "Web scraping, Google search, structured data extraction, and MCP server integration powered by Bright Data. Includes 7 skills: scrape any webpage as markdown (with bot detection/CAPTCHA bypass), search Google with structured JSON results, extract data from 40+ websites (Amazon, LinkedIn, Instagram, TikTok, YouTube, and more), orchestrate Bright Data's 60+ MCP tools, built-in best practices for Web Unlocker, SERP API, Web Scraper API, and Browser API, Python SDK best practices for the brightda...", + "source": { + "source": "url", + "url": "https://github.com/brightdata/skills.git", + "sha": "44b24797d82cfd535c5b97831d5c6ba86c9d60df" + }, + "homepage": "https://docs.brightdata.com" + }, + { + "name": "cds-mcp", + "description": "AI-assisted development of SAP Cloud Application Programming Model (CAP) projects. Search CDS models and CAP documentation.", + "author": { + "name": "SAP SE", + "email": "ospo@sap.com", + "url": "https://www.sap.com" + }, + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/cap-js/mcp-server.git", + "sha": "4d59d7070a52761a9b8028cbe710c8d7477cbc92" + }, + "homepage": "https://cap.cloud.sap/" + }, + { + "name": "chrome-devtools-mcp", + "description": "Control and inspect a live Chrome browser from your coding agent. Record performance traces, analyze network requests, check console messages with source-mapped stack traces, and automate browser actions with Puppeteer.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/ChromeDevTools/chrome-devtools-mcp.git", + "sha": "a1612be8e01401cf1711c64bc2ef5da5763ba956" + }, + "homepage": "https://github.com/ChromeDevTools/chrome-devtools-mcp" + }, + { + "name": "circleback", + "description": "Circleback conversational context integration. Search and access meetings, emails, calendar events, and more.", + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/circlebackai/claude-code-plugin.git", + "sha": "6369dec7da4059dd0a12cf1b62ba749799ee15ef" + }, + "homepage": "https://github.com/circlebackai/claude-code-plugin.git" + }, + { + "name": "clangd-lsp", + "description": "C/C++ language server (clangd) for code intelligence", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/clangd-lsp", + "category": "development", + "strict": false, + "lspServers": { + "clangd": { + "command": "clangd", + "args": [ + "--background-index" + ], + "extensionToLanguage": { + ".c": "c", + ".h": "c", + ".cpp": "cpp", + ".cc": "cpp", + ".cxx": "cpp", + ".hpp": "cpp", + ".hxx": "cpp", + ".C": "cpp", + ".H": "cpp" + } + } + } + }, + { + "name": "claude-code-setup", + "description": "Analyze codebases and recommend tailored Claude Code automations such as hooks, skills, MCP servers, and subagents.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/claude-code-setup", + "category": "productivity", + "homepage": "https://github.com/anthropics/claude-plugins-official/tree/main/plugins/claude-code-setup" + }, + { + "name": "claude-md-management", + "description": "Tools to maintain and improve CLAUDE.md files - audit quality, capture session learnings, and keep project memory current.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/claude-md-management", + "category": "productivity", + "homepage": "https://github.com/anthropics/claude-plugins-official/tree/main/plugins/claude-md-management" + }, + { + "name": "claude-flow", + "description": "AI agent orchestration for Claude Code using claude-flow (RuFlo). Coordinate swarms of specialized agents, run hive-mind consensus sessions, and automate complex multi-step workflows.", + "author": { + "name": "ruvnet", + "url": "https://github.com/ruvnet" + }, + "source": { + "source": "git-subdir", + "url": "https://github.com/ruvnet/claude-flow.git", + "path": "plugins/claude-flow", + "ref": "main" + }, + "category": "productivity", + "homepage": "https://github.com/ruvnet/claude-flow" + }, + { + "name": "clickhouse", + "description": "Connect Claude Code directly to your ClickHouse Cloud databases for hands-on database work \u2014 explore schemas, write optimized SQL, debug queries, and manage distributed database clusters.", + "author": { + "name": "ClickHouse" + }, + "category": "database", + "source": { + "source": "url", + "url": "https://github.com/ClickHouse/clickhouse-claude-code-plugin.git", + "sha": "db1c108dde6e5c81a1ca65f3b6700d6fff288545" + }, + "homepage": "https://github.com/ClickHouse/clickhouse-claude-code-plugin" + }, + { + "name": "cloud-sql-postgresql", + "description": "Create, connect, and interact with a Cloud SQL for PostgreSQL database and data.", + "author": { + "name": "Google LLC" + }, + "category": "database", + "source": { + "source": "url", + "url": "https://github.com/gemini-cli-extensions/cloud-sql-postgresql.git", + "sha": "69c0c820513d7f75a63eeb3ec84b01478037caeb" + }, + "homepage": "https://cloud.google.com/sql" + }, + { + "name": "cloudflare", + "source": { + "source": "url", + "url": "https://github.com/cloudflare/skills.git", + "sha": "0397d7d88fa6ac7517a88389622eb0799e86ded2" + }, + "description": "Skills for the Cloudflare developer platform: Workers, Durable Objects, Agents SDK, MCP servers, Wrangler CLI, and web performance.", + "category": "deployment", + "homepage": "https://github.com/cloudflare/skills" + }, + { + "name": "cloudinary", + "description": "Use Cloudinary directly in Claude. Manage assets, apply transformations, optimize media, and more through natural conversation.", + "source": { + "source": "url", + "url": "https://github.com/cloudinary-devs/cloudinary-plugin.git", + "sha": "7b443d7dbd607bfe4850d8cfcab6ba4cbf1a57c3" + }, + "homepage": "https://cloudinary.com/documentation" + }, + { + "name": "cockroachdb", + "description": "Connect Claude Code directly to your CockroachDB clusters for hands-on database work \u2014 explore schemas, write optimized SQL, debug queries, and manage distributed database clusters.", + "author": { + "name": "Cockroach Labs" + }, + "category": "database", + "source": { + "source": "url", + "url": "https://github.com/cockroachdb/claude-plugin.git", + "sha": "31d0cc99fac1c97614cc787a96720104ea642375" + }, + "homepage": "https://github.com/cockroachdb/claude-plugin" + }, + { + "name": "code-modernization", + "description": "Modernize legacy codebases (COBOL, legacy Java/C++, monolith web apps) with a structured assess / map / extract-rules / reimagine / transform / harden workflow and specialist review agents", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/code-modernization", + "category": "development", + "homepage": "https://github.com/anthropics/claude-plugins-official/tree/main/plugins/code-modernization" + }, + { + "name": "code-review", + "description": "Automated code review for pull requests using multiple specialized agents with confidence-based scoring to filter false positives", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/code-review", + "category": "productivity", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/code-review" + }, + { + "name": "code-simplifier", + "description": "Agent that simplifies and refines code for clarity, consistency, and maintainability while preserving functionality. Focuses on recently modified code.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/code-simplifier", + "category": "productivity", + "homepage": "https://github.com/anthropics/claude-plugins-official/tree/main/plugins/code-simplifier" + }, + { + "name": "coderabbit", + "description": "Your code review partner. CodeRabbit provides external validation using a specialized AI architecture and 40+ integrated static analyzers\u2014offering a different perspective that catches bugs, security vulnerabilities, logic errors, and edge cases.", + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/coderabbitai/skills.git", + "sha": "a81eb76a1539e4a3f2b5c6fc133849124e72d303" + }, + "homepage": "https://github.com/coderabbitai/skills" + }, + { + "name": "commit-commands", + "description": "Commands for git commit workflows including commit, push, and PR creation", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/commit-commands", + "category": "productivity", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/commit-commands" + }, + { + "name": "context7", + "description": "Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.", + "category": "development", + "source": "./external_plugins/context7", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/context7", + "tags": [ + "community-managed" + ] + }, + { + "name": "crowdstrike-falcon-foundry", + "description": "CrowdStrike Falcon Foundry development skills for building cybersecurity applications on the Falcon platform. Includes UI development, collections, functions, workflows, API integration, security patterns, and debugging workflows.", + "author": { + "name": "CrowdStrike" + }, + "category": "security", + "source": { + "source": "url", + "url": "https://github.com/CrowdStrike/foundry-skills.git", + "sha": "e7fa0260b5a413d9a459d3afbc5ba427da6c6e04" + }, + "homepage": "https://github.com/CrowdStrike/foundry-skills" + }, + { + "name": "csharp-lsp", + "description": "C# language server for code intelligence", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/csharp-lsp", + "category": "development", + "strict": false, + "lspServers": { + "csharp-ls": { + "command": "csharp-ls", + "extensionToLanguage": { + ".cs": "csharp" + } + } + } + }, + { + "name": "cwc-makers", + "description": "Onboard a Code-with-Claude Makers Cardputer with one /maker-setup command \u2014 clones the build-with-claude repo, flashes UIFlow firmware, and installs the Claude Buddy app bundle.", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/cwc-makers", + "category": "productivity", + "homepage": "https://claude.com/cwc-makers" + }, + { + "name": "dash0", + "description": "OpenTelemetry observability for Claude Code sessions. Captures tool calls, LLM invocations, token usage, and errors as OTel traces. Send telemetry to Dash0 or any OpenTelemetry-compatible backend.", + "author": { + "name": "Dash0" + }, + "category": "monitoring", + "source": { + "source": "url", + "url": "https://github.com/dash0hq/dash0-agent-plugin.git", + "sha": "38c6d74e637bd7dbe1fa2c364de66d07efe88a9a" + }, + "homepage": "https://dash0.com/" + }, + { + "name": "data", + "description": "Data engineering for Apache Airflow and Astronomer. Author DAGs with best practices, debug pipeline failures, trace data lineage, profile tables, migrate Airflow 2 to 3, and manage local and cloud deployments.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/astronomer/agents.git", + "sha": "5935c4330dea4dfb8e93568956b10a543ecdb3d1" + }, + "homepage": "https://github.com/astronomer/agents" + }, + { + "name": "data-agent-kit-starter-pack", + "description": "This plugin provides a specialized suite of skills for data engineers and database practitioners working on Google Cloud.", + "author": { + "name": "Google LLC" + }, + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/gemini-cli-extensions/data-agent-kit-starter-pack.git", + "sha": "04c4354242c1192191c76fca2d4b03d94401d9fa" + }, + "homepage": "https://github.com/gemini-cli-extensions/data-agent-kit-starter-pack" + }, + { + "name": "data-engineering", + "description": "Data engineering plugin - warehouse exploration, pipeline authoring, Airflow integration", + "source": { + "source": "url", + "url": "https://github.com/astronomer/agents.git", + "sha": "5935c4330dea4dfb8e93568956b10a543ecdb3d1" + }, + "homepage": "https://github.com/astronomer/agents" + }, + { + "name": "databases-on-aws", + "description": "Expert database guidance for the AWS database portfolio. Design schemas, execute queries, handle migrations, and choose the right database for your workload.", + "category": "database", + "source": { + "source": "git-subdir", + "url": "https://github.com/awslabs/agent-plugins.git", + "path": "plugins/databases-on-aws", + "ref": "main", + "sha": "6cfb70e55aa142a8eda66e6ef7966d5921bdf9a2" + }, + "homepage": "https://github.com/awslabs/agent-plugins" + }, + { + "name": "datadog", + "description": "Use Datadog directly in Claude Code through a preconfigured Datadog MCP server. Query logs, metrics, traces, dashboards, and more through natural conversation.", + "author": { + "name": "Datadog" + }, + "category": "monitoring", + "source": { + "source": "url", + "url": "https://github.com/datadog-labs/claude-code-plugin.git", + "sha": "95d38f561e3d5e4fe9fb66c3c0bb19fb75e0458a" + }, + "homepage": "https://www.datadoghq.com/" + }, + { + "name": "datarobot-agent-skills", + "description": "DataRobot skills for AI/ML workflows \u2014 model training, deployment, predictions, feature engineering, monitoring, explainability, data preparation, App Framework CI/CD, and external agent monitoring.", + "author": { + "name": "DataRobot" + }, + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/datarobot-oss/datarobot-agent-skills.git", + "sha": "b3e8fd33d7c36592c802359026c15f3e067a0646" + }, + "homepage": "https://datarobot.com" + }, + { + "name": "dataverse", + "description": "Agent skills for building on, analyzing, and managing Microsoft Dataverse \u2014 with Dataverse MCP, PAC CLI, and Python SDK.", + "category": "database", + "source": { + "source": "git-subdir", + "url": "https://github.com/microsoft/Dataverse-skills.git", + "path": ".github/plugins/dataverse", + "ref": "main", + "sha": "b2f21c1eec233d1b20e89618c3ffcb25cfdd55e4" + }, + "homepage": "https://github.com/microsoft/Dataverse-skills" + }, + { + "name": "deploy-on-aws", + "description": "Deploy applications to AWS with architecture recommendations, cost estimates, and IaC deployment.", + "category": "deployment", + "source": { + "source": "git-subdir", + "url": "https://github.com/awslabs/agent-plugins.git", + "path": "plugins/deploy-on-aws", + "ref": "main", + "sha": "6cfb70e55aa142a8eda66e6ef7966d5921bdf9a2" + }, + "homepage": "https://github.com/awslabs/agent-plugins" + }, + { + "name": "desktop-commander", + "description": "MCP server for terminal commands, process management, and file operations across text, code, PDF, DOCX, Excel, images, and structured data.", + "author": { + "name": "Desktop Commander" + }, + "category": "productivity", + "source": { + "source": "git-subdir", + "url": "https://github.com/wonderwhy-er/DesktopCommanderMCP.git", + "path": "plugins/claude", + "ref": "main", + "sha": "8c03d3392d1633923057f4492f2b5014e2c4a6bf" + }, + "homepage": "https://desktopcommander.app" + }, + { + "name": "discord", + "description": "Discord messaging bridge with built-in access control. Manage pairing, allowlists, and policy via /discord:access.", + "category": "productivity", + "source": "./external_plugins/discord" + }, + { + "name": "exa", + "description": "Exa AI web search, deep research, and content extraction. Provides MCP tools and research skills for comprehensive web search, people discovery, company research, academic papers, and more.", + "author": { + "name": "Exa" + }, + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/exa-labs/exa-mcp-server.git", + "sha": "bd2ccdd52ca7a35fbc2207ad266bb2a961c0e793" + }, + "homepage": "https://exa.ai/docs/reference/exa-mcp" + }, + { + "name": "explanatory-output-style", + "description": "Adds educational insights about implementation choices and codebase patterns (mimics the deprecated Explanatory output style)", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/explanatory-output-style", + "category": "learning", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/explanatory-output-style" + }, + { + "name": "expo", + "description": "Official Expo skills for building, deploying, upgrading, and debugging React Native apps with Expo.", + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/expo/skills.git", + "path": "plugins/expo", + "ref": "main", + "sha": "786398d3574f33eb6714380f44ec09355819516e" + }, + "homepage": "https://github.com/expo/skills/blob/main/plugins/expo/README.md" + }, + { + "name": "fakechat", + "description": "Localhost web chat for testing the channel notification flow. No tokens, no access control, no third-party service.", + "category": "development", + "source": "./external_plugins/fakechat" + }, + { + "name": "fastly-agent-toolkit", + "description": "Fastly development tools and platform skills", + "source": { + "source": "url", + "url": "https://github.com/fastly/fastly-agent-toolkit.git", + "sha": "329331c887512850f13e481b45c4298c0387a4d2" + }, + "homepage": "https://github.com/fastly/fastly-agent-toolkit/blob/main/README.md" + }, + { + "name": "feature-dev", + "description": "Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/feature-dev", + "category": "development", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/feature-dev" + }, + { + "name": "fiftyone", + "description": "Build high-quality datasets and computer vision models. Visualize datasets, analyze models, find duplicates, run inference, evaluate predictions, and develop custom plugins.", + "source": { + "source": "url", + "url": "https://github.com/voxel51/fiftyone-skills.git", + "sha": "02bd4ea170ca01a751c2d2dd6bf2df8f62e65626" + }, + "homepage": "https://docs.voxel51.com/" + }, + { + "name": "figma", + "description": "Figma design platform integration. Access design files, extract component information, read design tokens, and translate designs into code.", + "category": "design", + "source": { + "source": "url", + "url": "https://github.com/figma/mcp-server-guide.git", + "sha": "fabc1ca81d839602ba7c1ca0f445a64246b3870e" + }, + "homepage": "https://github.com/figma/mcp-server-guide" + }, + { + "name": "firebase", + "description": "Google Firebase MCP integration. Manage Firestore databases, authentication, cloud functions, hosting, and storage.", + "category": "database", + "source": "./external_plugins/firebase", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/firebase" + }, + { + "name": "firecrawl", + "description": "Web scraping and crawling powered by Firecrawl. Turn any website into clean, LLM-ready markdown or structured data.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/firecrawl/firecrawl-claude-plugin.git", + "sha": "122a6ae6cefb4393c2c30740aee55ba02532ccdc" + }, + "homepage": "https://github.com/firecrawl/firecrawl-claude-plugin.git" + }, + { + "name": "frontend-design", + "description": "Create distinctive, production-grade frontend interfaces with high design quality. Generates creative, polished code that avoids generic AI aesthetics.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/frontend-design", + "category": "development", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/frontend-design" + }, + { + "name": "fullstory", + "description": "Connect Claude to Fullstory to query behavioral analytics, session replays, and customer experience insights.", + "author": { + "name": "Fullstory" + }, + "category": "monitoring", + "source": { + "source": "github", + "repo": "fullstorydev/fullstory-skills", + "commit": "1ec5865e7ab1449f9a0859d164c4b6a8c53b6e2f", + "sha": "1ec5865e7ab1449f9a0859d164c4b6a8c53b6e2f" + }, + "homepage": "https://www.fullstory.com" + }, + { + "name": "github", + "description": "Official GitHub MCP server for repository management. Create issues, manage pull requests, review code, search repositories, and interact with GitHub's full API directly from Claude Code.", + "category": "productivity", + "source": "./external_plugins/github", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/github" + }, + { + "name": "gitlab", + "description": "GitLab DevOps platform integration. Manage repositories, merge requests, CI/CD pipelines, issues, and wikis.", + "category": "productivity", + "source": "./external_plugins/gitlab", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/gitlab" + }, + { + "name": "gopls-lsp", + "description": "Go language server for code intelligence and refactoring", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/gopls-lsp", + "category": "development", + "strict": false, + "lspServers": { + "gopls": { + "command": "gopls", + "extensionToLanguage": { + ".go": "go" + } + } + } + }, + { + "name": "greptile", + "description": "AI-powered codebase search and understanding. Query your repositories using natural language to find relevant code, understand dependencies, and get contextual answers about your codebase architecture.", + "category": "development", + "source": "./external_plugins/greptile", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/greptile" + }, + { + "name": "hookify", + "description": "Easily create custom hooks to prevent unwanted behaviors by analyzing conversation patterns or from explicit instructions. Define rules via simple markdown files.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/hookify", + "category": "productivity", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/hookify" + }, + { + "name": "huggingface-skills", + "description": "Build, train, evaluate, and use open source AI models, datasets, and spaces.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/huggingface/skills.git", + "sha": "7c71cfb2b12920002c3177474c779feeec4e9ad1" + }, + "homepage": "https://github.com/huggingface/skills.git" + }, + { + "name": "imessage", + "description": "iMessage messaging bridge with built-in access control. Reads chat.db directly, sends via AppleScript.", + "category": "productivity", + "source": "./external_plugins/imessage" + }, + { + "name": "intercom", + "description": "Intercom integration for Claude Code. Search conversations, analyze customer support patterns, look up contacts and companies, and install the Intercom Messenger.", + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/intercom/claude-plugin-external.git", + "sha": "52653572c47700443eb61154c4e4334a355e755e" + }, + "homepage": "https://github.com/intercom/claude-plugin-external" + }, + { + "name": "jdtls-lsp", + "description": "Java language server (Eclipse JDT.LS) for code intelligence", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/jdtls-lsp", + "category": "development", + "strict": false, + "lspServers": { + "jdtls": { + "command": "jdtls", + "extensionToLanguage": { + ".java": "java" + }, + "startupTimeout": 120000 + } + } + }, + { + "name": "jfrog", + "description": "Use the JFrog Platform from Claude Code: Artifactory repos and artifacts, security findings and exposures, Catalog package safety and downloads, workflows across the SDLC, and platform administration.", + "author": { + "name": "JFrog Ltd.", + "url": "https://jfrog.com" + }, + "category": "security", + "source": { + "source": "github", + "repo": "jfrog/claude-plugin", + "commit": "761921eaa12b845beba1688d699a2d45091dfe83", + "sha": "d80db066e219aab8190f3dc4a463b71a3a180250" + }, + "homepage": "https://jfrog.com" + }, + { + "name": "kotlin-lsp", + "description": "Kotlin language server for code intelligence", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/kotlin-lsp", + "category": "development", + "strict": false, + "lspServers": { + "kotlin-lsp": { + "command": "kotlin-lsp", + "args": [ + "--stdio" + ], + "extensionToLanguage": { + ".kt": "kotlin", + ".kts": "kotlin" + }, + "startupTimeout": 120000 + } + } + }, + { + "name": "laravel-boost", + "description": "Laravel development toolkit MCP server. Provides intelligent assistance for Laravel applications including Artisan commands, Eloquent queries, routing, migrations, and framework-specific code generation.", + "category": "development", + "source": "./external_plugins/laravel-boost", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/laravel-boost" + }, + { + "name": "learning-output-style", + "description": "Interactive learning mode that requests meaningful code contributions at decision points (mimics the unshipped Learning output style)", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/learning-output-style", + "category": "learning", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/learning-output-style" + }, + { + "name": "legalzoom", + "description": "Attorney guidance and legal tools for business and personal needs. AI-powered document review identifies critical risks and important clauses.", + "category": "productivity", + "source": { + "source": "git-subdir", + "url": "https://github.com/legalzoom/claude-plugins.git", + "path": "plugins/legalzoom", + "ref": "main", + "sha": "f9fd8a0ca6e1421bc1aacb113a109663a7a6f6d8" + }, + "homepage": "https://www.legalzoom.com/" + }, + { + "name": "linear", + "description": "Linear issue tracking integration. Create issues, manage projects, update statuses, search across workspaces, and streamline your software development workflow with Linear's modern issue tracker.", + "category": "productivity", + "source": "./external_plugins/linear", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/linear" + }, + { + "name": "liquid-lsp", + "description": "LSP integration for Shopify Liquid templates via the Shopify CLI theme language server.", + "author": { + "name": "Shopify" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/Shopify/liquid-skills.git", + "path": "plugins/liquid-lsp", + "ref": "main", + "sha": "a00ca039d82114a7af1b4cbc3025b16c624a42fa" + }, + "homepage": "https://github.com/Shopify/liquid-skills/tree/main/plugins/liquid-lsp" + }, + { + "name": "liquid-skills", + "description": "Liquid language fundamentals, CSS/JS/HTML coding standards, and WCAG accessibility patterns for Shopify themes", + "author": { + "name": "Shopify" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/Shopify/liquid-skills.git", + "path": "plugins/liquid-skills", + "ref": "main", + "sha": "bf7a7aa9f9809b0dcd80cb5f7fd2795a7208a7a3" + }, + "homepage": "https://github.com/Shopify/liquid-skills/tree/main/plugins/liquid-skills" + }, + { + "name": "logfire", + "description": "Add Logfire observability to Python applications with auto-instrumentation for FastAPI, httpx, asyncpg, SQLAlchemy, and more", + "author": { + "name": "Pydantic" + }, + "category": "monitoring", + "source": { + "source": "git-subdir", + "url": "https://github.com/pydantic/skills.git", + "path": "plugins/logfire", + "ref": "main", + "sha": "92bd097356e1a4947f815449fb3570a9a5cfc21b" + }, + "homepage": "https://github.com/pydantic/skills/tree/main/plugins/logfire" + }, + { + "name": "lua-lsp", + "description": "Lua language server for code intelligence", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/lua-lsp", + "category": "development", + "strict": false, + "lspServers": { + "lua": { + "command": "lua-language-server", + "extensionToLanguage": { + ".lua": "lua" + } + } + } + }, + { + "name": "math-olympiad", + "description": "Solve competition math (IMO, Putnam, USAMO) with adversarial verification that catches what self-verification misses.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/math-olympiad", + "category": "math", + "homepage": "https://github.com/anthropics/claude-plugins-official/tree/main/plugins/math-olympiad" + }, + { + "name": "mcp-server-dev", + "description": "Skills for designing and building MCP servers that work seamlessly with Claude. Guides you through deployment models (remote HTTP, MCPB, local), tool design patterns, auth, and interactive MCP apps.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/mcp-server-dev", + "category": "development", + "homepage": "https://github.com/anthropics/claude-plugins-official/tree/main/plugins/mcp-server-dev" + }, + { + "name": "mercadopago", + "description": "Mercado Pago full-product integration toolkit. Covers online checkout (Pro, Bricks, API), in-store (QR, Point), subscriptions, marketplace, wallet, money-out, security (3DS, PCI), reporting, SDKs, and specialized integrations.", + "author": { + "name": "Mercado Pago Developer Experience" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/mercadopago/mercadopago-claude-marketplace.git", + "path": "plugins/mercadopago", + "ref": "main", + "sha": "1de8d97e1c875136e93bc8eea8494ebf982a08b8" + }, + "homepage": "https://github.com/mercadopago/mercadopago-claude-marketplace/tree/main/plugins/mercadopago" + }, + { + "name": "microsoft-docs", + "description": "Access official Microsoft documentation, API references, and code samples for Azure, .NET, Windows, and more.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/MicrosoftDocs/mcp.git", + "sha": "954c17e72d65b0ee1fc7009c10b8a57e6889d34a" + }, + "homepage": "https://github.com/microsoftdocs/mcp" + }, + { + "name": "mintlify", + "description": "Build beautiful documentation sites with Mintlify. Convert non-markdown files into properly formatted MDX pages, add and modify content with correct component use, and automate documentation updates.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/mintlify/mintlify-claude-plugin.git", + "sha": "acd6d2e0128c4f235d55cfb8d8c91ecbdd5df8cc" + }, + "homepage": "https://www.mintlify.com/" + }, + { + "name": "miro", + "description": "Secure access to Miro boards. Enables AI to read board context, create diagrams, and generate code with enterprise-grade security.", + "author": { + "name": "Miro" + }, + "category": "design", + "source": { + "source": "git-subdir", + "url": "https://github.com/miroapp/miro-ai.git", + "path": "claude-plugins/miro", + "ref": "main", + "sha": "00e619e63ca9a8fd788c2db9f294bc90773aac48" + }, + "homepage": "https://miro.com" + }, + { + "name": "mongodb", + "description": "Official Claude plugin for MongoDB (MCP Server + Skills). Connect to databases, explore data, manage collections, optimize queries, generate reliable code, implement best practices, develop advanced features, and more.", + "category": "database", + "source": { + "source": "url", + "url": "https://github.com/mongodb/agent-skills.git", + "sha": "24529d9540b962d57f30e75d25071bebea5809ad" + }, + "homepage": "https://www.mongodb.com/docs/mcp-server/overview/" + }, + { + "name": "neon", + "description": "Manage your Neon projects and databases with the neon-postgres agent skill and the Neon MCP Server.", + "category": "database", + "source": { + "source": "git-subdir", + "url": "https://github.com/neondatabase/agent-skills.git", + "path": "plugins/neon-postgres", + "ref": "main", + "sha": "1438d7db4560a649d62eba99e9d5008b77ac5758" + }, + "homepage": "https://github.com/neondatabase/agent-skills/tree/main/plugins/neon-postgres" + }, + { + "name": "netlify-skills", + "description": "Netlify platform skills for Claude Code \u2014 functions, edge functions, blobs, database, image CDN, forms, config, CLI, frameworks, caching, AI gateway, and deployment.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/netlify/context-and-tools.git", + "sha": "a49ebc5965e0476edf958474d3feaeec754ffc6b" + }, + "homepage": "https://github.com/netlify/context-and-tools" + }, + { + "name": "netsuite-suitecloud", + "description": "NetSuite agent skills from Oracle \u2014 authoring guidance for SuiteCloud Development Framework (SDF) objects and UIF single-page-app components, plus runtime guidance for the NetSuite AI Service Connector.", + "author": { + "name": "Oracle NetSuite" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/oracle/netsuite-suitecloud-sdk.git", + "path": "packages/agent-skills", + "ref": "master", + "sha": "43bacf43763e1eedd0892b4652be3d45df94f0e7" + }, + "strict": false, + "skills": [ + "./netsuite-ai-connector-instructions", + "./netsuite-sdf-roles-and-permissions", + "./netsuite-uif-spa-reference" + ], + "homepage": "https://github.com/oracle/netsuite-suitecloud-sdk" + }, + { + "name": "nightvision", + "description": "Skills for working with NightVision, a DAST and API Discovery platform that finds exploitable vulnerabilities in web applications and REST APIs", + "source": { + "source": "url", + "url": "https://github.com/nvsecurity/nightvision-skills.git", + "sha": "7d7a3f342bbf4d02b6e012279800cf91ff0c1c97" + }, + "homepage": "https://github.com/nvsecurity/nightvision-skills" + }, + { + "name": "nimble", + "description": "Nimble web data toolkit \u2014 search, extract, map, crawl the web and work with structured data agents", + "source": { + "source": "url", + "url": "https://github.com/Nimbleway/agent-skills.git", + "sha": "626930f102dc51ef3858a28f94318ceabfdea071" + }, + "homepage": "https://docs.nimbleway.com/integrations/agent-skills/plugin-installation" + }, + { + "name": "notion", + "description": "Notion workspace integration. Search pages, create and update documents, manage databases, and access your team's knowledge base directly from Claude Code for seamless documentation workflows.", + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/makenotion/claude-code-notion-plugin.git", + "sha": "9847f2aa1a15f25df35ed1fb7b4557dbb60cd651" + }, + "homepage": "https://github.com/makenotion/claude-code-notion-plugin" + }, + { + "name": "oracle-ai-data-platform-workbench-spark-connectors", + "description": "Oracle AI Data Platform Workbench Spark connectors for Claude Code. 18 connector skills covering every data source workbench customers commonly need.", + "author": { + "name": "Oracle" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/oracle-samples/oracle-aidp-samples.git", + "path": "ai/claude-code-plugins/oracle-ai-data-platform-workbench-spark-connectors", + "ref": "main", + "sha": "f436f3a40dfaedbef6a076ad3992b697ba5dcef6" + }, + "homepage": "https://docs.oracle.com/en/cloud/paas/ai-data-platform/index.html" + }, + { + "name": "outputai", + "description": "Output.ai workflow development toolkit for Claude Code. Adds 5 specialist agents, 40+ slash-command skills covering scaffolding, debugging, evaluation, and credential management.", + "author": { + "name": "Output.ai" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/growthxai/output.git", + "path": "coding_assistants/claude/plugins/outputai", + "ref": "main", + "sha": "756d32d1d4fad028850ae5a28921432b825060f2" + }, + "homepage": "https://output.ai" + }, + { + "name": "pagerduty", + "description": "Enhance code quality and security through PagerDuty risk scoring and incident correlation. Score pre-commit diffs against historical incident data and surface deployment risk before you ship.", + "category": "monitoring", + "source": { + "source": "url", + "url": "https://github.com/PagerDuty/claude-code-plugins.git", + "sha": "b16c23e0d790deceaa7a6182616d0e36673f2eae" + }, + "homepage": "https://github.com/PagerDuty/claude-code-plugins" + }, + { + "name": "php-lsp", + "description": "PHP language server (Intelephense) for code intelligence", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/php-lsp", + "category": "development", + "strict": false, + "lspServers": { + "intelephense": { + "command": "intelephense", + "args": [ + "--stdio" + ], + "extensionToLanguage": { + ".php": "php" + } + } + } + }, + { + "name": "pigment", + "description": "Analyze business data and build custom Pigment models, metrics, and boards through natural language.", + "author": { + "name": "Pigment" + }, + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/gopigment/ai-plugins.git", + "sha": "5bdf088652ef9d2065cf25e2e42df9b19a1486e1" + }, + "homepage": "https://www.pigment.com" + }, + { + "name": "pinecone", + "description": "Pinecone vector database integration. Streamline your Pinecone development with powerful tools for managing vector indexes, querying data, and rapid prototyping.", + "category": "database", + "source": { + "source": "url", + "url": "https://github.com/pinecone-io/pinecone-claude-code-plugin.git", + "sha": "7dc3cfe091335f5053ec9e6eb05403e674a73c5e" + }, + "homepage": "https://github.com/pinecone-io/pinecone-claude-code-plugin" + }, + { + "name": "planetscale", + "description": "An authenticated hosted MCP server that accesses your PlanetScale organizations, databases, branches, schema, and Insights data.", + "category": "database", + "source": { + "source": "url", + "url": "https://github.com/planetscale/claude-plugin.git", + "sha": "f1066cac5bb956bbbb05918f5b07fe0e873d44ea" + }, + "homepage": "https://planetscale.com/" + }, + { + "name": "playground", + "description": "Creates interactive HTML playgrounds \u2014 self-contained single-file explorers with visual controls, live preview, and prompt output with copy button.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/playground", + "category": "development", + "homepage": "https://github.com/anthropics/claude-plugins-official/tree/main/plugins/playground" + }, + { + "name": "playwright", + "description": "Browser automation and end-to-end testing MCP server by Microsoft. Enables Claude to interact with web pages, take screenshots, fill forms, click elements, and perform automated browser testing workflows.", + "category": "testing", + "source": "./external_plugins/playwright", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/playwright" + }, + { + "name": "plugin-dev", + "description": "Comprehensive toolkit for developing Claude Code plugins. Includes 7 expert skills covering hooks, MCP integration, commands, agents, and best practices. AI-assisted plugin creation and validation.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/plugin-dev", + "category": "development", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/plugin-dev" + }, + { + "name": "posthog", + "description": "Access PostHog analytics, feature flags, experiments, error tracking, and insights directly from Claude Code.", + "category": "monitoring", + "source": { + "source": "url", + "url": "https://github.com/PostHog/ai-plugin.git", + "sha": "ff08c376af53d7c5ba2e909b8065f786c7c3b506" + }, + "homepage": "https://posthog.com/docs/model-context-protocol" + }, + { + "name": "postiz", + "description": "Social media automation CLI for scheduling posts, managing integrations, uploading media, and tracking analytics across 28+ platforms.", + "source": { + "source": "url", + "url": "https://github.com/gitroomhq/postiz-agent.git", + "sha": "37d627244c53a4b3a7ca94c52cc2db13aaaf468e" + }, + "homepage": "https://postiz.com/agent" + }, + { + "name": "postman", + "description": "Full API lifecycle management for Claude Code. Sync collections, generate client code, discover APIs, run tests, create mocks, publish docs, and audit security.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/Postman-Devrel/postman-claude-code-plugin.git", + "sha": "416e40da03a237df7bf03f4362cf6fc7b989b567" + }, + "homepage": "https://learning.postman.com/docs/developer/postman-mcp-server/" + }, + { + "name": "pr-review-toolkit", + "description": "Comprehensive PR review agents specializing in comments, tests, error handling, type design, code quality, and code simplification", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/pr-review-toolkit", + "category": "productivity", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/pr-review-toolkit" + }, + { + "name": "prisma", + "description": "Prisma MCP integration for Postgres database management, schema migrations, SQL queries, and connection string management.", + "source": { + "source": "url", + "url": "https://github.com/prisma/claude-plugin.git", + "sha": "815dbc4a045a29e3b81510ba0e3ab806f1baaf0e" + }, + "homepage": "https://prisma.io" + }, + { + "name": "pydantic-ai", + "description": "Write accurate Pydantic AI code from the start. Up-to-date patterns, decision trees, and common gotchas for agents, tools, structured output, streaming, and multi-agent apps.", + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/pydantic/skills.git", + "path": "plugins/ai", + "ref": "main", + "sha": "92bd097356e1a4947f815449fb3570a9a5cfc21b" + }, + "homepage": "https://github.com/pydantic/skills/tree/main/plugins/ai" + }, + { + "name": "pyright-lsp", + "description": "Python language server (Pyright) for type checking and code intelligence", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/pyright-lsp", + "category": "development", + "strict": false, + "lspServers": { + "pyright": { + "command": "pyright-langserver", + "args": [ + "--stdio" + ], + "extensionToLanguage": { + ".py": "python", + ".pyi": "python" + } + } + } + }, + { + "name": "qdrant-skills", + "description": "Agent skills for Qdrant vector search covering scaling, performance optimization, search quality, monitoring, deployment, model migration, version upgrades, and SDK usage.", + "author": { + "name": "Qdrant" + }, + "category": "database", + "source": { + "source": "url", + "url": "https://github.com/qdrant/skills.git", + "sha": "9f935f8bbb13ec62a07f0da0d42e89722029fb25" + }, + "homepage": "https://skills.qdrant.tech" + }, + { + "name": "qodo-skills", + "description": "Qodo Skills provides a curated library of reusable AI agent capabilities for software development workflows, including code quality checks, automated testing, security scanning, and compliance validation.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/qodo-ai/qodo-skills.git", + "sha": "8fb6b5502dbe7876bbd672a27d6efa299f5820d7" + }, + "homepage": "https://github.com/qodo-ai/qodo-skills.git" + }, + { + "name": "qt-development-skills", + "description": "Agentic engineering skills for Qt software development \u2014 Qt C++/QML code review, QML coding, and Qt C++/QML code documentation.", + "author": { + "name": "Qt Group" + }, + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/TheQtCompanyRnD/agent-skills.git", + "sha": "62a98e2339e6eefcff108cfc3fe9db8a7301856c" + }, + "homepage": "https://www.qt.io/" + }, + { + "name": "quarkus-agent", + "description": "MCP server for AI coding agents to create, manage, and interact with Quarkus applications. Provides tools for project scaffolding, dev mode lifecycle, extension skills, Dev MCP proxy, and documentation search.", + "author": { + "name": "Quarkus" + }, + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/quarkusio/quarkus-agent-mcp.git", + "sha": "c17280236a8080aab2bc10ff8e334922a2619a5f" + }, + "homepage": "https://quarkus.io" + }, + { + "name": "railway", + "description": "Deploy and manage apps, databases, and infrastructure on Railway. Covers project setup, deploys, environment configuration, networking, troubleshooting, and monitoring.", + "category": "deployment", + "source": { + "source": "git-subdir", + "url": "https://github.com/railwayapp/railway-skills.git", + "path": "plugins/railway", + "ref": "main", + "sha": "eaa89d8f594412b0b837b6531241e7d166e12202" + }, + "homepage": "https://docs.railway.com/ai/claude-code-plugin" + }, + { + "name": "ralph-loop", + "description": "Interactive self-referential AI loops for iterative development, implementing the Ralph Wiggum technique. Claude works on the same task repeatedly, seeing its previous work, until completion.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/ralph-loop", + "category": "development", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/ralph-loop" + }, + { + "name": "rc", + "description": "Configure RevenueCat projects, apps, products, entitlements, and offerings directly from Claude Code. Manage your in-app purchase backend without leaving your development workflow.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/RevenueCat/rc-claude-code-plugin.git", + "sha": "af7cb77996aee4e7e3c109c5afec81f716139032" + }, + "homepage": "https://www.revenuecat.com" + }, + { + "name": "remember", + "description": "Continuous memory for Claude Code. Extracts, summarizes, and compresses conversations into tiered daily logs. Claude remembers what you did yesterday.", + "source": { + "source": "url", + "url": "https://github.com/Digital-Process-Tools/claude-remember.git", + "sha": "914445ac5f06a164800ea90ba4db41a0486321ae" + }, + "homepage": "https://github.com/Digital-Process-Tools/claude-remember" + }, + { + "name": "revenuecat", + "description": "Configure RevenueCat projects, apps, products, entitlements, and offerings directly from Claude Code. Manage your in-app purchase backend without leaving your development workflow.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/RevenueCat/rc-claude-code-plugin.git", + "sha": "af7cb77996aee4e7e3c109c5afec81f716139032" + }, + "homepage": "https://www.revenuecat.com" + }, + { + "name": "ruby-lsp", + "description": "Ruby language server for code intelligence and analysis", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/ruby-lsp", + "category": "development", + "strict": false, + "lspServers": { + "ruby-lsp": { + "command": "ruby-lsp", + "extensionToLanguage": { + ".rb": "ruby", + ".rake": "ruby", + ".gemspec": "ruby", + ".ru": "ruby", + ".erb": "erb" + } + } + } + }, + { + "name": "rust-analyzer-lsp", + "description": "Rust language server for code intelligence and analysis", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/rust-analyzer-lsp", + "category": "development", + "strict": false, + "lspServers": { + "rust-analyzer": { + "command": "rust-analyzer", + "extensionToLanguage": { + ".rs": "rust" + } + } + } + }, + { + "name": "sanity", + "description": "Sanity content platform integration with MCP server, agent skills, and slash commands. Query and author content, build and optimize GROQ queries, design schemas, and set up Visual Editing.", + "category": "development", + "author": { + "name": "Sanity" + }, + "source": { + "source": "url", + "url": "https://github.com/sanity-io/agent-toolkit.git", + "sha": "bc09fa9854507c538a856648aafbd4e1a775a95c" + }, + "homepage": "https://www.sanity.io" + }, + { + "name": "sap-cds-mcp", + "description": "AI-assisted development of SAP Cloud Application Programming Model (CAP) projects. Search CDS models and CAP documentation.", + "author": { + "name": "SAP SE", + "email": "ospo@sap.com", + "url": "https://www.sap.com" + }, + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/cap-js/mcp-server.git", + "sha": "8ce2e13ac70bd78415aedeaab0061af9396d3372" + }, + "homepage": "https://cap.cloud.sap/" + }, + { + "name": "sap-fiori-mcp-server", + "description": "MCP server for SAP Fiori development tools for Claude Code. Build and modify SAP Fiori applications with AI assistance.", + "author": { + "name": "SAP SE", + "email": "ospo@sap.com", + "url": "https://www.sap.com" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/SAP/open-ux-tools.git", + "path": "packages/fiori-mcp-server", + "ref": "main", + "sha": "d9d4ab7e69fe453f8fd682304ff1e3ac40a216c6" + }, + "homepage": "https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-mcp-server" + }, + { + "name": "sap-mdk-server", + "description": "MCP server for SAP Mobile Development Kit (MDK). Build and modify MDK applications with AI assistance \u2014 schema lookups, action validation, rule editing, and project scaffolding.", + "author": { + "name": "SAP SE", + "email": "ospo@sap.com", + "url": "https://www.sap.com" + }, + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/SAP/mdk-mcp-server.git", + "sha": "af81fe6c2421c5748388c65241da6a1b319a2c8f" + }, + "homepage": "https://help.sap.com/docs/MDK" + }, + { + "name": "security-guidance", + "description": "Security reminder hook that warns about potential security issues when editing files, including command injection, XSS, and unsafe code patterns", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/security-guidance", + "category": "security", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/plugins/security-guidance" + }, + { + "name": "semgrep", + "description": "Semgrep catches security vulnerabilities in real-time and guides Claude to write secure code from the start.", + "category": "security", + "source": { + "source": "git-subdir", + "url": "https://github.com/semgrep/mcp-marketplace.git", + "path": "plugin", + "sha": "3711c33ad790df16e67c911eca792c473ec9a2a4" + }, + "homepage": "https://github.com/semgrep/mcp-marketplace.git" + }, + { + "name": "sentry", + "description": "Sentry error monitoring integration. Access error reports, analyze stack traces, search issues by fingerprint, and debug production errors directly from your development environment.", + "category": "monitoring", + "source": { + "source": "url", + "url": "https://github.com/getsentry/sentry-for-claude.git", + "sha": "fb398fdfff2055abc3d55917f6b6f0c0d5ad5e3b" + }, + "homepage": "https://github.com/getsentry/sentry-for-claude/tree/main" + }, + { + "name": "serena", + "description": "Semantic code analysis MCP server providing intelligent code understanding, refactoring suggestions, and codebase navigation through language server protocol integration.", + "category": "development", + "source": "./external_plugins/serena", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/serena", + "tags": [ + "community-managed" + ] + }, + { + "name": "servicenow-sdk", + "description": "Create, edit, and deploy ServiceNow applications with the Fluent SDK effortlessly through Claude AI.", + "author": { + "name": "ServiceNow" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/ServiceNow/sdk.git", + "path": "providers/claude/plugin", + "ref": "master", + "sha": "06adf37ca78c270a57f93e7b9dfbb7bf16e24611" + }, + "homepage": "https://servicenow.github.io/sdk/" + }, + { + "name": "session-report", + "description": "Generate an explorable HTML report of Claude Code session usage \u2014 tokens, cache efficiency, subagents, skills, and the most expensive prompts.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/session-report", + "category": "productivity", + "homepage": "https://github.com/anthropics/claude-plugins-official/tree/main/plugins/session-report" + }, + { + "name": "shopify", + "description": "Shopify developer tools for Claude Code \u2014 search Shopify docs, generate and validate GraphQL, Liquid, and UI extension code", + "author": { + "name": "Shopify" + }, + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/Shopify/shopify-plugins.git", + "sha": "5631b93b88759561fec321192b6b083dbf0a2fd2" + }, + "homepage": "https://shopify.dev/docs/apps/build/devmcp" + }, + { + "name": "shopify-ai-toolkit", + "description": "Shopify's AI Toolkit provides 18 development skills for building on the Shopify platform, covering documentation search, API schema access, GraphQL and Liquid code validation, Hydrogen storefronts, Polaris UI extensions, store management via CLI, and onboarding guidance.", + "author": { + "name": "Shopify" + }, + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/Shopify/Shopify-AI-Toolkit.git", + "sha": "c5c18d86ce7b2a7ca51ebac7c4b1a4eda00c8e25" + }, + "homepage": "https://shopify.dev" + }, + { + "name": "skill-creator", + "description": "Create new skills, improve existing skills, and measure skill performance.", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/skill-creator", + "category": "development", + "homepage": "https://github.com/anthropics/claude-plugins-official/tree/main/plugins/skill-creator" + }, + { + "name": "slack", + "description": "Slack workspace integration. Search messages, access channels, read threads, and stay connected with your team's communications while coding.", + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/slackapi/slack-mcp-plugin.git", + "sha": "7b9458950d38bb01ddb48b669f9fa89bcdfd98b8" + }, + "homepage": "https://github.com/slackapi/slack-mcp-plugin/tree/main" + }, + { + "name": "snowflake-cortex-code", + "description": "Automatically route Snowflake prompts from Claude Code to Cortex Code for execution. Provides slash commands for code review and task delegation.", + "author": { + "name": "Snowflake" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/Snowflake-Labs/snowflake-ai-kit.git", + "path": "plugins/cortex-code", + "ref": "main", + "sha": "28192345cae4a758a909f5e510e24fea10666400" + }, + "homepage": "https://docs.snowflake.com/en/user-guide/cortex-code" + }, + { + "name": "sonarqube", + "description": "Automatically enforce SonarQube code quality and security in the agent coding loop \u2014 7,000+ rules, secrets scanning, agentic analysis, and quality gates across 40+ languages.", + "author": { + "name": "SonarSource" + }, + "category": "security", + "source": { + "source": "url", + "url": "https://github.com/SonarSource/sonarqube-agent-plugins.git", + "sha": "91eb175d6cf5d47a3edadbe61bdf782c31f0a65a" + }, + "homepage": "https://www.sonarsource.com" + }, + { + "name": "sonatype-guide", + "description": "Sonatype Guide MCP server for software supply chain intelligence and dependency security. Analyze dependencies for vulnerabilities, get secure version recommendations, and check component quality metrics.", + "category": "security", + "source": { + "source": "url", + "url": "https://github.com/sonatype/sonatype-guide-claude-plugin.git", + "sha": "1dae73980f591d3196f5532ac72186513563d028" + }, + "homepage": "https://github.com/sonatype/sonatype-guide-claude-plugin.git" + }, + { + "name": "sourcegraph", + "description": "Code search and understanding across codebases. Search, read, and trace references across repositories; analyze refactor impact; investigate incidents via commit and diff search; run targeted security sweeps.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/sourcegraph-community/sourcegraph-claudecode-plugin.git", + "sha": "332ee0ca9a409ccd791abee43c7abf2606469017" + }, + "homepage": "https://sourcegraph.com" + }, + { + "name": "spotify-ads-api", + "description": "Manage Spotify ad campaigns with natural language. Create campaigns, ad sets, ads, pull reports, and handle OAuth \u2014 all through conversation.", + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/spotify/ads-claude-plugin.git", + "sha": "63585cc919da51dd24fab594d829869595301922" + }, + "homepage": "https://github.com/spotify/ads-claude-plugin" + }, + { + "name": "stripe", + "description": "Stripe development plugin for Claude", + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/stripe/ai.git", + "path": "providers/claude/plugin", + "ref": "main", + "sha": "14623416d84fdfad0aea8744d4c6f838ebc87654" + }, + "homepage": "https://github.com/stripe/ai/tree/main/providers/claude/plugin" + }, + { + "name": "sumup", + "description": "SumUp payment integrations across terminal and online checkout flows. Build Android and iOS POS apps with SumUp card readers, online checkout with server SDKs and the checkout widget, and control card readers remotely via Cloud API.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/sumup/sumup-skills.git", + "sha": "0fd0a911ecaffd7187fe35e914d8ead6de584ffd" + }, + "homepage": "https://www.sumup.com/" + }, + { + "name": "supabase", + "description": "Supabase MCP integration for database operations, authentication, storage, and real-time subscriptions. Manage your Supabase projects, run SQL queries, and interact with your backend directly.", + "category": "database", + "source": { + "source": "url", + "url": "https://github.com/supabase-community/supabase-plugin.git", + "sha": "693a17a9970ba96e01afb9bef060d1dca48463ba" + }, + "homepage": "https://github.com/supabase-community/supabase-plugin" + }, + { + "name": "superpowers", + "description": "Superpowers teaches Claude brainstorming, subagent driven development with built in code review, systematic debugging, and red/green TDD.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/obra/superpowers.git", + "sha": "f2cbfbefebbfef77321e4c9abc9e949826bea9d7" + }, + "homepage": "https://github.com/obra/superpowers.git" + }, + { + "name": "swift-lsp", + "description": "Swift language server (SourceKit-LSP) for code intelligence", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/swift-lsp", + "category": "development", + "strict": false, + "lspServers": { + "sourcekit-lsp": { + "command": "sourcekit-lsp", + "extensionToLanguage": { + ".swift": "swift" + } + } + } + }, + { + "name": "telegram", + "description": "Telegram messaging bridge with built-in access control. Manage pairing, allowlists, and policy via /telegram:access.", + "category": "productivity", + "source": "./external_plugins/telegram" + }, + { + "name": "terraform", + "description": "The Terraform MCP Server provides seamless integration with Terraform ecosystem, enabling advanced automation and interaction capabilities for Infrastructure as Code (IaC) development.", + "author": { + "name": "HashiCorp", + "email": "support@hashicorp.com" + }, + "category": "development", + "source": "./external_plugins/terraform", + "homepage": "https://github.com/anthropics/claude-plugins-public/tree/main/external_plugins/terraform" + }, + { + "name": "twilio-developer-kit", + "description": "Twilio Skills provide procedural knowledge for AI coding agents \u2014 which APIs to use, in what order, and what to avoid. Covers SMS, Voice, WhatsApp, Verify, SendGrid, Compliance, and 30+ products.", + "author": { + "name": "Twilio" + }, + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/twilio/ai.git", + "sha": "0713fb1f40b5e871cad4c1c99f603c812431692a" + }, + "homepage": "https://www.twilio.com" + }, + { + "name": "typescript-lsp", + "description": "TypeScript/JavaScript language server for enhanced code intelligence", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + }, + "source": "./plugins/typescript-lsp", + "category": "development", + "strict": false, + "lspServers": { + "typescript": { + "command": "typescript-language-server", + "args": [ + "--stdio" + ], + "extensionToLanguage": { + ".ts": "typescript", + ".tsx": "typescriptreact", + ".js": "javascript", + ".jsx": "javascriptreact", + ".mts": "typescript", + ".cts": "typescript", + ".mjs": "javascript", + ".cjs": "javascript" + } + } + } + }, + { + "name": "ui5", + "description": "SAPUI5 / OpenUI5 plugin for Claude. Create and validate UI5 projects, access API documentation, run UI5 linter, get development guidelines and best practices for UI5 development.", + "author": { + "name": "SAP SE", + "email": "openui5@sap.com", + "url": "https://www.sap.com" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/UI5/plugins-claude.git", + "path": "plugins/ui5", + "ref": "main", + "sha": "cec940abd4b7b6866de8e7e4522f3dba0449379d" + }, + "homepage": "https://github.com/UI5/plugins-claude" + }, + { + "name": "ui5-typescript-conversion", + "description": "SAPUI5 / OpenUI5 plugin for Claude. Convert JavaScript based UI5 projects to TypeScript.", + "author": { + "name": "SAP SE", + "email": "openui5@sap.com", + "url": "https://www.sap.com" + }, + "category": "development", + "source": { + "source": "git-subdir", + "url": "https://github.com/UI5/plugins-claude.git", + "path": "plugins/ui5-typescript-conversion", + "ref": "main", + "sha": "cec940abd4b7b6866de8e7e4522f3dba0449379d" + }, + "homepage": "https://github.com/UI5/plugins-claude" + }, + { + "name": "vanta-mcp-plugin", + "description": "The Vanta plugin connects Claude Code to Vanta's security and compliance platform through the Vanta MCP server.", + "author": { + "name": "Vanta" + }, + "category": "security", + "source": { + "source": "url", + "url": "https://github.com/VantaInc/vanta-mcp-plugin.git", + "sha": "a9dac8bef2ccda299b3a4ba7a1bc7e0dbb7195ac" + }, + "homepage": "https://help.vanta.com/en/articles/14094979-connecting-to-vanta-mcp#h_887ce3f337" + }, + { + "name": "vercel", + "description": "Vercel deployment platform integration. Manage deployments, check build status, access logs, configure domains, and control your frontend infrastructure directly from Claude Code.", + "category": "deployment", + "source": { + "source": "url", + "url": "https://github.com/vercel/vercel-plugin.git", + "sha": "61f1903bed7b322c9745f6ba67095bc006de7e63" + }, + "homepage": "https://github.com/vercel/vercel-plugin" + }, + { + "name": "windsor-ai", + "description": "Connect Claude Code to 325+ business data sources via Windsor.ai. Query marketing, sales, CRM, ecommerce, finance, and analytics data from Google Ads, Meta, HubSpot, Salesforce, Shopify, Stripe, and hundreds more.", + "author": { + "name": "Windsor.ai" + }, + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/windsor-ai/claude-windsor-ai-plugin.git", + "sha": "248a6994b15b410cc025b105bb4ed5558e9b1af9" + }, + "homepage": "https://windsor.ai" + }, + { + "name": "wix", + "description": "Build, manage, and deploy Wix sites and apps. CLI development skills for dashboard extensions, backend APIs, site widgets, and service plugins with the Wix Design System, plus MCP server for site management.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/wix/skills.git", + "sha": "bf25b5a45b2413b3581f3dcbcd63f3737791a051" + }, + "homepage": "https://dev.wix.com/docs/wix-cli/guides/development/about-wix-skills" + }, + { + "name": "wordpress.com", + "description": "Uses Claude Code to create and edit WordPress sites with WordPress Studio before deploying changes to your WordPress.com site.", + "source": { + "source": "url", + "url": "https://github.com/Automattic/claude-code-wordpress.com.git", + "sha": "052ca970df2c577d7c651e784935186ff93e6779" + }, + "homepage": "https://developer.wordpress.com/wordpress-com-claude-code-plugin/" + }, + { + "name": "youdotcom-agent-skills", + "description": "You.com agent skills for web search, research with citations, and content extraction. Guided integrations for Vercel AI SDK, Claude Agent SDK, OpenAI Agents SDK, crewAI, LangChain, Microsoft Teams.ai, direct REST API, and bash CLI.", + "author": { + "name": "You.com" + }, + "category": "productivity", + "source": { + "source": "url", + "url": "https://github.com/youdotcom-oss/agent-skills.git", + "sha": "362d510732362bd679e1647f72f734ca2d2fa710" + }, + "homepage": "https://you.com" + }, + { + "name": "zapier", + "description": "Connect 8,000+ apps to your AI workflow. Discover, enable, and execute Zapier actions directly from your client.", + "category": "productivity", + "source": { + "source": "git-subdir", + "url": "https://github.com/zapier/zapier-mcp.git", + "path": "plugins/zapier", + "ref": "main", + "sha": "f34a7854febed415c9ef766eec1c66529ef0668e" + }, + "homepage": "https://github.com/zapier/zapier-mcp/tree/main/plugins/zapier" + }, + { + "name": "zilliz", + "description": "Zilliz Cloud management plugin with 14 skills covering cluster lifecycle, collection schema, vector search, index tuning, bulk import, RBAC, backups, and monitoring.", + "author": { + "name": "Zilliz" + }, + "category": "database", + "source": { + "source": "url", + "url": "https://github.com/zilliztech/zilliz-plugin.git", + "sha": "17cf04e6a3c272320b707d429484e4c00b3bec0b" + }, + "homepage": "https://docs.zilliz.com" + }, + { + "name": "zoom-plugin", + "description": "Claude plugin for planning, building, and debugging Zoom integrations across REST APIs, SDKs, webhooks, bots, and MCP workflows.", + "category": "development", + "source": { + "source": "url", + "url": "https://github.com/zoom/zoom-plugin.git", + "sha": "ab0f09b2ddc6682a7f69055c7861009ec6062775" + }, + "homepage": "https://developers.zoom.us/" + }, + { + "name": "zscaler", + "description": "Manage Zscaler cloud security platform including ZPA (private access), ZIA (internet access), ZDX (digital experience), ZCC (client connector), EASM (attack surface), and Z-Insights (analytics).", + "author": { + "name": "Zscaler" + }, + "category": "security", + "source": { + "source": "url", + "url": "https://github.com/zscaler/zscaler-mcp-server.git", + "sha": "6cf365968eb3b1e11306c973c51c1e54e98e704a" + }, + "homepage": "https://github.com/zscaler/zscaler-mcp-server" + } + ] +} diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000000..2a3e0ee934 --- /dev/null +++ b/netlify.toml @@ -0,0 +1,7 @@ +[build] + publish = "source-build-australia/out" + +[[redirects]] + from = "/*" + to = "/index.html" + status = 200 diff --git a/plugins/README.md b/plugins/README.md index cf4a21ecc5..7dfdd9f09d 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -13,6 +13,7 @@ Learn more in the [official plugins documentation](https://docs.claude.com/en/do | Name | Description | Contents | |------|-------------|----------| | [agent-sdk-dev](./agent-sdk-dev/) | Development kit for working with the Claude Agent SDK | **Command:** `/new-sdk-app` - Interactive setup for new Agent SDK projects
**Agents:** `agent-sdk-verifier-py`, `agent-sdk-verifier-ts` - Validate SDK applications against best practices | +| [claude-flow](./claude-flow/) | AI agent orchestration using claude-flow (RuFlo) — coordinate swarms of specialized agents, hive-mind consensus, and persistent task automation | **Commands:** `/claude-flow:init` - Initialize orchestration, `/claude-flow:swarm` - Launch a coordinated agent swarm, `/claude-flow:hive-mind` - Spawn queen-led consensus system | | [claude-opus-4-5-migration](./claude-opus-4-5-migration/) | Migrate code and prompts from Sonnet 4.x and Opus 4.1 to Opus 4.5 | **Skill:** `claude-opus-4-5-migration` - Automated migration of model strings, beta headers, and prompt adjustments | | [code-review](./code-review/) | Automated PR code review using multiple specialized agents with confidence-based scoring to filter false positives | **Command:** `/code-review` - Automated PR review workflow
**Agents:** 5 parallel Sonnet agents for CLAUDE.md compliance, bug detection, historical context, PR history, and code comments | | [commit-commands](./commit-commands/) | Git workflow automation for committing, pushing, and creating pull requests | **Commands:** `/commit`, `/commit-push-pr`, `/clean_gone` - Streamlined git operations | diff --git a/plugins/anthropic-mcp/.claude-plugin/plugin.json b/plugins/anthropic-mcp/.claude-plugin/plugin.json new file mode 100644 index 0000000000..0d5fdbacbe --- /dev/null +++ b/plugins/anthropic-mcp/.claude-plugin/plugin.json @@ -0,0 +1,9 @@ +{ + "name": "anthropic-mcp", + "description": "Registers the official Anthropic MCP server, giving Claude Code direct access to Claude models and the Anthropic API", + "version": "1.0.0", + "author": { + "name": "Anthropic", + "email": "support@anthropic.com" + } +} diff --git a/plugins/anthropic-mcp/.mcp.json b/plugins/anthropic-mcp/.mcp.json new file mode 100644 index 0000000000..ebc7f5015f --- /dev/null +++ b/plugins/anthropic-mcp/.mcp.json @@ -0,0 +1,11 @@ +{ + "mcpServers": { + "anthropic": { + "command": "npx", + "args": ["-y", "@anthropic-ai/mcp-server-anthropic"], + "env": { + "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}" + } + } + } +} diff --git a/plugins/anthropic-mcp/README.md b/plugins/anthropic-mcp/README.md new file mode 100644 index 0000000000..5577c2937e --- /dev/null +++ b/plugins/anthropic-mcp/README.md @@ -0,0 +1,26 @@ +# anthropic-mcp + +Registers the official [`@anthropic-ai/mcp-server-anthropic`](https://www.npmjs.com/package/@anthropic-ai/mcp-server-anthropic) MCP server so Claude Code can call the Anthropic API directly as a tool. + +## Prerequisites + +- Node.js 18+ (for `npx`) +- An Anthropic API key + +## Setup + +Set your API key in your environment before starting Claude Code: + +```bash +export ANTHROPIC_API_KEY=sk-ant-... +``` + +Or add it to your shell profile so it is always available. + +## What this installs + +Installing this plugin adds an `anthropic` MCP server entry to your project's MCP configuration. The server is launched on demand via `npx` — no global install required. + +## Usage + +Once installed, the Anthropic MCP server's tools are available to Claude Code in any session started in this project. Refer to the [`@anthropic-ai/mcp-server-anthropic`](https://www.npmjs.com/package/@anthropic-ai/mcp-server-anthropic) package documentation for the full list of available tools. diff --git a/plugins/business-agent/.claude-plugin/plugin.json b/plugins/business-agent/.claude-plugin/plugin.json new file mode 100644 index 0000000000..c069dba7c8 --- /dev/null +++ b/plugins/business-agent/.claude-plugin/plugin.json @@ -0,0 +1,9 @@ +{ + "name": "business-agent", + "version": "1.0.0", + "description": "Manage the business-agent managed-agent lifecycle: setup, run, and update sessions via the Claude Agent SDK", + "author": { + "name": "sjbrenchley89", + "email": "9turnbull@gmail.com" + } +} diff --git a/plugins/business-agent/README.md b/plugins/business-agent/README.md new file mode 100644 index 0000000000..0a850e041f --- /dev/null +++ b/plugins/business-agent/README.md @@ -0,0 +1,43 @@ +# business-agent plugin + +Manages the `business-agent/` managed-agent lifecycle within Claude Code. + +## What it does + +The business-agent is a Claude-managed agent (claude-opus-4-7) that scans GitHub repositories +for open issues and opens fix PRs automatically. This plugin provides Claude Code integration +for setting up, running, and maintaining it. + +## Commands + +| Command | Description | +|---------|-------------| +| `/business-agent:setup` | One-time setup — registers agent + environment on the platform, writes IDs to `.env` | +| `/business-agent:run` | Trigger a full scan-and-fix run across all monitored repos | +| `/business-agent:update` | Deploy updated `business-agent.agent.yaml` without recreating the agent | + +## Agents + +**`business-agent-ops`** — Invoked automatically when diagnosing failures, validating YAML, +or inspecting run outputs. Also available explicitly when you need expert help with the +agent lifecycle. + +## Skill + +**`business-agent`** — Loaded automatically when you're working in `business-agent/` or +asking about managed agents, sessions, or the Agent SDK setup. Provides reference for +required env vars, file layout, and update procedures. + +## Hook + +A `PostToolUse` hook watches for edits to `business-agent.agent.yaml` and reminds you to +run `/business-agent:update` to deploy the changes. + +## Required Environment Variables + +| Variable | Purpose | +|----------|---------| +| `GITHUB_TOKEN` | PAT with `Contents` read+write (for repo cloning/push) | +| `GITHUB_MCP_TOKEN` | OAuth token for GitHub Copilot MCP (scopes: `repo`, `issues`, `pull_requests`) | + +`AGENT_ID` and `ENV_ID` are written to `business-agent/.env` by `/business-agent:setup`. diff --git a/plugins/business-agent/agents/business-agent-ops.md b/plugins/business-agent/agents/business-agent-ops.md new file mode 100644 index 0000000000..5549000428 --- /dev/null +++ b/plugins/business-agent/agents/business-agent-ops.md @@ -0,0 +1,43 @@ +--- +name: business-agent-ops +description: > + Use this agent to perform business-agent lifecycle operations: diagnosing run failures, + inspecting downloaded outputs, updating the agent YAML, or verifying pre-flight environment + configuration. Invoke when the user needs expert help managing the business-agent, not just + running it. +model: sonnet +--- + +You are an operations agent for the `business-agent` managed-agent system. Your role is to +help diagnose issues, validate configuration, and manage the agent lifecycle. + +## Your Capabilities + +- **Diagnose failures**: Read `run_agent.py` output, check for missing env vars, inspect + `.env`, and identify why a session may have failed or produced no PRs. +- **Validate YAML**: Parse `business-agent.agent.yaml` and `business-agent.environment.yaml` + for structural errors, unsupported fields, or mismatched tool/skill references. +- **Inspect outputs**: Read downloaded `digest.md` and other output files to summarize what + the last run accomplished. +- **Update agent**: Guide the user through `ant beta:agents update` after YAML changes. +- **Environment check**: Verify all required env vars (`AGENT_ID`, `ENV_ID`, `GITHUB_TOKEN`, + `GITHUB_MCP_TOKEN`) are set and explain what each is for. + +## Files to Check First + +``` +business-agent/ +├── .env # AGENT_ID and ENV_ID +├── business-agent.agent.yaml # Agent definition +├── business-agent.environment.yaml +├── run_agent.py # Session orchestration script +└── digest.md # Output from last run (if downloaded) +``` + +## Key Constraints + +- Never expose secret values (`GITHUB_TOKEN`, `GITHUB_MCP_TOKEN`) in output — refer to them + by name only. +- Do not re-run `setup.sh` unless the user explicitly confirms they want a new agent/environment + (this overwrites `.env` and abandons the existing agent ID). +- The `ant` CLI is the platform management tool — it is not `npm`, `pip`, or a shell builtin. diff --git a/plugins/business-agent/commands/run.md b/plugins/business-agent/commands/run.md new file mode 100644 index 0000000000..5db75e927c --- /dev/null +++ b/plugins/business-agent/commands/run.md @@ -0,0 +1,42 @@ +--- +description: Trigger a full business-agent run — scans all monitored repos for open issues and opens fix PRs +argument-hint: (no arguments needed) +--- + +# Run Business Agent + +Trigger a full run of the business-agent session. + +## Pre-flight Checks + +Before running, verify: + +1. `.env` exists in `business-agent/` and contains `AGENT_ID` and `ENV_ID`. + If missing, tell the user to run `/business-agent:setup` first. + +2. The following environment variables are set in the shell: + - `GITHUB_TOKEN` + - `GITHUB_MCP_TOKEN` + + If either is missing, explain what each is for and where to get it: + - `GITHUB_TOKEN`: GitHub Settings → Developer settings → Personal access tokens → + create with `Contents` read+write scope + - `GITHUB_MCP_TOKEN`: GitHub Settings → Developer settings → OAuth Apps → + create app with scopes `repo`, `issues`, `pull_requests` → use the OAuth access token + +3. Python deps are installed: + ```bash + pip install -r business-agent/requirements.txt + ``` + +## Running + +```bash +cd business-agent +source .env +python run_agent.py +``` + +The script prints a platform session URL for live monitoring. It runs a smoke test +first (confirms GitHub MCP connectivity), then executes the full scan-and-fix task. +Outputs (including `digest.md`) are downloaded to the local directory when done. diff --git a/plugins/business-agent/commands/setup.md b/plugins/business-agent/commands/setup.md new file mode 100644 index 0000000000..5ae1d32895 --- /dev/null +++ b/plugins/business-agent/commands/setup.md @@ -0,0 +1,31 @@ +--- +description: First-time setup — create the business-agent agent and environment on the Claude platform, then write IDs to .env +argument-hint: (no arguments needed) +--- + +# Business Agent Setup + +Run the one-time setup script to register the agent and environment on the Claude platform. + +## Steps + +1. Confirm the user is in the `business-agent/` directory (or offer to cd there). + +2. Check that `.env` does **not** already exist. If it does, warn the user: + > `.env` already exists with AGENT_ID and ENV_ID. Re-running setup will create NEW + > agent and environment objects, overwriting the existing IDs. Are you sure? + Only proceed if they confirm. + +3. Run the setup script: + ```bash + cd business-agent && bash setup.sh + ``` + +4. Verify `.env` was created and contains both `AGENT_ID` and `ENV_ID`. Show the user the + values (without exposing secrets — the IDs are not sensitive). + +5. Remind the user that three env vars must be exported before running: + ``` + GITHUB_TOKEN — PAT with Contents read+write + GITHUB_MCP_TOKEN — OAuth token for GitHub Copilot MCP (scopes: repo, issues, pull_requests) + ``` diff --git a/plugins/business-agent/commands/update.md b/plugins/business-agent/commands/update.md new file mode 100644 index 0000000000..5b6fc8d6e3 --- /dev/null +++ b/plugins/business-agent/commands/update.md @@ -0,0 +1,32 @@ +--- +description: Deploy an updated business-agent.agent.yaml to the platform without recreating the agent +argument-hint: (no arguments needed) +--- + +# Update Business Agent + +Deploy changes to `business-agent.agent.yaml` to the Claude platform. + +## When to Use + +Use this after editing `business-agent.agent.yaml` — changing the model, adding/removing +tools, MCP servers, or skills. This creates a new agent *version* without changing the +`AGENT_ID`, so existing `.env` values remain valid. + +## Steps + +1. Confirm changes to `business-agent.agent.yaml` look correct. Show a diff if the file + was recently edited. + +2. Load the IDs from `.env`: + ```bash + source business-agent/.env + ``` + If `.env` does not exist, tell the user to run `/business-agent:setup` first. + +3. Deploy the new version: + ```bash + ant beta:agents update --agent-id "$AGENT_ID" < business-agent/business-agent.agent.yaml + ``` + +4. Confirm success and remind the user the next `/business-agent:run` will use the new version. diff --git a/plugins/business-agent/hooks/hooks.json b/plugins/business-agent/hooks/hooks.json new file mode 100644 index 0000000000..1bdf658b6e --- /dev/null +++ b/plugins/business-agent/hooks/hooks.json @@ -0,0 +1,17 @@ +{ + "description": "Remind user to deploy agent after editing the YAML definition", + "hooks": { + "PostToolUse": [ + { + "matcher": "Edit|Write|MultiEdit", + "hooks": [ + { + "type": "command", + "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/notify-yaml-changed.sh\"", + "timeout": 5 + } + ] + } + ] + } +} diff --git a/plugins/business-agent/hooks/notify-yaml-changed.sh b/plugins/business-agent/hooks/notify-yaml-changed.sh new file mode 100644 index 0000000000..74c75558f7 --- /dev/null +++ b/plugins/business-agent/hooks/notify-yaml-changed.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# PostToolUse hook: warn when business-agent.agent.yaml is edited without deploying. +# Input: TOOL_INPUT env var (JSON) containing the file path that was edited. + +set -euo pipefail + +# Only act on edits to the agent YAML +file_path=$(echo "${TOOL_INPUT:-}" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('file_path','') or d.get('path',''))" 2>/dev/null || true) + +if [[ "$file_path" != *"business-agent.agent.yaml" ]]; then + exit 0 +fi + +echo "business-agent.agent.yaml was edited. To deploy changes to the platform, run:" >&2 +echo " /business-agent:update" >&2 +echo "or manually: source business-agent/.env && ant beta:agents update --agent-id \"\$AGENT_ID\" < business-agent/business-agent.agent.yaml" >&2 + +# Exit 1 = non-blocking: message is shown but Claude continues +exit 1 diff --git a/plugins/business-agent/skills/business-agent/SKILL.md b/plugins/business-agent/skills/business-agent/SKILL.md new file mode 100644 index 0000000000..0c98a4f513 --- /dev/null +++ b/plugins/business-agent/skills/business-agent/SKILL.md @@ -0,0 +1,56 @@ +--- +name: business-agent +description: > + Use this skill when the user is working in or asking about the business-agent/ directory, + editing business-agent.agent.yaml or business-agent.environment.yaml, running managed-agent + sessions, or debugging Claude Agent SDK session/vault/resource setup. +--- + +# Business Agent + +The business-agent is a Claude-managed agent that scans GitHub repositories for open issues +and opens fix PRs. It runs via the Claude Agent SDK. + +## Key Files + +| File | Purpose | +|------|---------| +| `business-agent.agent.yaml` | Agent definition (model, tools, MCP servers, skills) | +| `business-agent.environment.yaml` | Runtime environment (compute, mounts, timeouts) | +| `setup.sh` | One-time setup — creates agent + environment on the platform, writes IDs to `.env` | +| `run_agent.py` | Triggers a full run against the created agent/environment | +| `requirements.txt` | Python deps (`anthropic` SDK) | +| `.env` | **Not committed** — holds `AGENT_ID` and `ENV_ID` written by setup.sh | + +## Required Environment Variables for `run_agent.py` + +| Var | Source | +|-----|--------| +| `AGENT_ID` | Written to `.env` by `setup.sh` | +| `ENV_ID` | Written to `.env` by `setup.sh` | +| `GITHUB_TOKEN` | Personal access token (Contents read+write) for repo cloning and push | +| `GITHUB_MCP_TOKEN` | OAuth token for the GitHub Copilot MCP endpoint (scopes: `repo`, `issues`, `pull_requests`) | + +## Updating the Agent After YAML Changes + +After editing `business-agent.agent.yaml`, deploy the new version with: + +```bash +source .env +ant beta:agents update --agent-id "$AGENT_ID" < business-agent.agent.yaml +``` + +Do **not** re-run `setup.sh` — that creates a new agent/environment and overwrites `.env`. + +## Repositories the Agent Monitors + +- `sjbrenchley89/claude-code` +- `sjbrenchley89/source-build-au` +- `sjbrenchley89/windows-mcp` +- `sjbrenchley89/ruflo` +- `sjbrenchley89/tailscale` + +## Session Output + +After each run, outputs (including `digest.md`) are written to `/mnt/session/outputs/` and +downloaded by `run_agent.py` to the local working directory. diff --git a/plugins/claude-flow/.claude-plugin/plugin.json b/plugins/claude-flow/.claude-plugin/plugin.json new file mode 100644 index 0000000000..2d63a721d2 --- /dev/null +++ b/plugins/claude-flow/.claude-plugin/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "claude-flow", + "version": "1.0.0", + "description": "AI agent orchestration using claude-flow (RuFlo) — coordinate swarms of specialized agents, hive-mind consensus, and persistent task automation within Claude Code", + "author": { + "name": "Anthropic" + } +} diff --git a/plugins/claude-flow/README.md b/plugins/claude-flow/README.md new file mode 100644 index 0000000000..1c1cffbc79 --- /dev/null +++ b/plugins/claude-flow/README.md @@ -0,0 +1,80 @@ +# Claude-Flow Plugin + +AI agent orchestration for Claude Code using [claude-flow](https://github.com/ruvnet/claude-flow) (RuFlo). Coordinate swarms of specialized agents, run hive-mind consensus sessions, and automate complex multi-step workflows. + +## Overview + +Claude-flow brings enterprise-grade agent orchestration into your Claude Code workflow. Instead of working with a single AI assistant, you can deploy coordinated swarms of specialized agents that work in parallel on complex tasks — each with a defined role, backed by shared memory and fault-tolerant consensus. + +## Commands + +### `/claude-flow:init` + +Initialize claude-flow in the current project. + +```bash +/claude-flow:init +/claude-flow:init --sparc # Initialize with SPARC methodology support +``` + +Creates configuration files, sets up memory backends, and runs a health check. Run this once per project before using other commands. + +### `/claude-flow:swarm` + +Launch a coordinated agent swarm to complete an implementation task. + +```bash +/claude-flow:swarm Add rate limiting to all API endpoints +/claude-flow:swarm Migrate the test suite from Jest to Vitest +/claude-flow:swarm Implement WebSocket support for real-time notifications +``` + +Best for: implementation work, refactoring, feature development, and any task with a clear goal where you want parallel agent execution. + +### `/claude-flow:hive-mind` + +Spawn a queen-led, consensus-based multi-agent system for complex decisions. + +```bash +/claude-flow:hive-mind Design the caching strategy for high-traffic endpoints +/claude-flow:hive-mind Should we adopt a monorepo structure? +/claude-flow:hive-mind Review the security model of the user authentication flow +``` + +Best for: architectural decisions, design trade-offs, security reviews, and any question that benefits from multiple expert perspectives reaching consensus. + +## When to Use Each Command + +| Situation | Command | +|-----------|---------| +| First time setup | `/claude-flow:init` | +| Build a feature | `/claude-flow:swarm` | +| Refactor code | `/claude-flow:swarm` | +| Choose between approaches | `/claude-flow:hive-mind` | +| Security audit | `/claude-flow:hive-mind` | +| Architecture design | `/claude-flow:hive-mind` | + +## Plugin Structure + +``` +claude-flow/ +├── .claude-plugin/ +│ └── plugin.json # Plugin metadata +├── commands/ +│ ├── init.md # /claude-flow:init +│ ├── swarm.md # /claude-flow:swarm +│ └── hive-mind.md # /claude-flow:hive-mind +└── README.md +``` + +## Requirements + +- Node.js 18+ +- `npx` available in your PATH +- Internet access to fetch `claude-flow` via npx (or install globally: `npm install -g claude-flow`) + +## Learn More + +- [claude-flow on npm](https://www.npmjs.com/package/claude-flow) +- [claude-flow GitHub](https://github.com/ruvnet/claude-flow) +- [Claude Code Plugin Documentation](https://docs.claude.com/en/docs/claude-code/plugins) diff --git a/plugins/claude-flow/commands/hive-mind.md b/plugins/claude-flow/commands/hive-mind.md new file mode 100644 index 0000000000..c86d6891f2 --- /dev/null +++ b/plugins/claude-flow/commands/hive-mind.md @@ -0,0 +1,54 @@ +--- +allowed-tools: Bash(npx claude-flow hive-mind:*), Bash(npx claude-flow status:*) +description: Spawn a hive-mind queen-led consensus system for complex decisions and architecture +argument-hint: Problem or question for the hive-mind (required) +--- + +# Claude-Flow Hive-Mind + +Spawn a queen-led, consensus-based multi-agent coordination system for complex problems that benefit from multiple perspectives and structured deliberation. + +## Usage + +``` +/claude-flow:hive-mind +``` + +**Examples:** +``` +/claude-flow:hive-mind Design the database schema for a multi-tenant SaaS application +/claude-flow:hive-mind Should we use REST or GraphQL for the new API layer? +/claude-flow:hive-mind Review the security posture of the authentication flow +``` + +## When to Use Hive-Mind vs Swarm + +| Hive-Mind | Swarm | +|-----------|-------| +| Architectural decisions | Implementation tasks | +| Design trade-off analysis | Code refactoring | +| Security/risk assessment | Feature development | +| Consensus on approach | Executing a known plan | + +## Steps + +1. **Validate input**: If no problem is provided in `$ARGUMENTS`, ask the user what decision or question they want the hive-mind to deliberate on. + +2. **Check initialization**: + ```bash + npx claude-flow status 2>&1 + ``` + If not initialized, tell the user to run `/claude-flow:init` first. + +3. **Spawn the hive-mind**: + ```bash + npx claude-flow hive-mind spawn "$ARGUMENTS" --queen-type=adaptive + ``` + +4. **Report deliberation**: Present the hive-mind's consensus output including: + - The recommendation or decision reached + - Key arguments for and against each option considered + - Confidence level of the consensus + - Dissenting views (if any agents disagreed) + +5. **Suggest next steps**: Based on the consensus, recommend concrete actions the user can take (e.g., run `/claude-flow:swarm` to implement the agreed-upon approach). diff --git a/plugins/claude-flow/commands/init.md b/plugins/claude-flow/commands/init.md new file mode 100644 index 0000000000..c0328424cc --- /dev/null +++ b/plugins/claude-flow/commands/init.md @@ -0,0 +1,33 @@ +--- +allowed-tools: Bash(npx claude-flow init:*), Bash(npx claude-flow doctor:*), Bash(ls:*), Bash(cat:*) +description: Initialize claude-flow agent orchestration in the current project +argument-hint: Optional flags (e.g. --sparc, --force) +--- + +# Initialize Claude-Flow + +Set up the claude-flow (RuFlo) agent orchestration system in the current project. + +## Steps + +1. Check if claude-flow is already initialized by looking for a `.claude-flow` directory or `claude-flow.config.json`: + ```bash + ls -la | grep -E '\.claude-flow|claude-flow\.config' + ``` + +2. If not yet initialized, run: + ```bash + npx claude-flow@latest init $ARGUMENTS + ``` + +3. After initialization, run a health check: + ```bash + npx claude-flow doctor + ``` + +4. Report back: + - What was created (config files, directories, hooks) + - How to use the orchestration system (`/claude-flow:swarm` or `/claude-flow:hive-mind`) + - Any warnings or recommended next steps from `doctor` + +If already initialized, report current config and suggest `/claude-flow:swarm` to begin orchestrating agents. diff --git a/plugins/claude-flow/commands/swarm.md b/plugins/claude-flow/commands/swarm.md new file mode 100644 index 0000000000..b8ffc36de5 --- /dev/null +++ b/plugins/claude-flow/commands/swarm.md @@ -0,0 +1,51 @@ +--- +allowed-tools: Bash(npx claude-flow swarm:*), Bash(npx claude-flow task:*), Bash(npx claude-flow status:*) +description: Launch a coordinated swarm of AI agents to complete a task +argument-hint: Task description for the swarm (required) +--- + +# Claude-Flow Swarm + +Launch a coordinated swarm of specialized AI agents to tackle a complex task using claude-flow's orchestration system. + +## Usage + +``` +/claude-flow:swarm +``` + +**Example:** +``` +/claude-flow:swarm Refactor the authentication module to use JWT tokens and add refresh token support +``` + +## Steps + +1. **Validate input**: If no task description is provided in `$ARGUMENTS`, ask the user to describe what they want the swarm to accomplish. + +2. **Check initialization**: Verify claude-flow is initialized: + ```bash + npx claude-flow status 2>&1 + ``` + If not initialized, tell the user to run `/claude-flow:init` first. + +3. **Launch the swarm**: + ```bash + npx claude-flow swarm "$ARGUMENTS" --monitor + ``` + +4. **Monitor progress**: Stream agent activity and report: + - Which agents are active and what each is working on + - Task completion status + - Any errors or blockers encountered + +5. **Summarize results**: When the swarm completes, report: + - What was accomplished + - Files changed + - Any follow-up actions recommended + +## Tips + +- Be specific in your task description for best results +- For architectural decisions requiring consensus, use `/claude-flow:hive-mind` instead +- The swarm automatically decomposes tasks and assigns specialized agents diff --git a/plugins/plugin-dev/.claude-plugin/plugin.json b/plugins/plugin-dev/.claude-plugin/plugin.json new file mode 100644 index 0000000000..59db225ab1 --- /dev/null +++ b/plugins/plugin-dev/.claude-plugin/plugin.json @@ -0,0 +1,9 @@ +{ + "name": "plugin-dev", + "version": "0.1.0", + "description": "Comprehensive toolkit for developing Claude Code plugins with 7 expert skills, guided creation workflow, and validation agents", + "author": { + "name": "Daisy Hollman", + "email": "daisy@anthropic.com" + } +} diff --git a/plugins/ruflo-core/.claude-plugin/plugin.json b/plugins/ruflo-core/.claude-plugin/plugin.json new file mode 100644 index 0000000000..95237697a0 --- /dev/null +++ b/plugins/ruflo-core/.claude-plugin/plugin.json @@ -0,0 +1,21 @@ +{ + "name": "ruflo-core", + "description": "Foundation plugin — registers the ruflo MCP server (300+ tools across memory/agentdb/embeddings/hooks/aidefence/neural/autopilot/browser/agent/swarm), provides 3 generalist agents (coder/researcher/reviewer), 3 first-run skills, and a curated plugin-discovery catalog", + "version": "0.2.2", + "author": { + "name": "ruvnet", + "url": "https://github.com/ruvnet" + }, + "homepage": "https://github.com/ruvnet/ruflo", + "license": "MIT", + "keywords": [ + "ruflo", + "mcp", + "orchestration", + "claude-code", + "foundation", + "mcp-server", + "plugin-catalog", + "discovery" + ] +} diff --git a/plugins/ruflo-core/README.md b/plugins/ruflo-core/README.md new file mode 100644 index 0000000000..4e4666722d --- /dev/null +++ b/plugins/ruflo-core/README.md @@ -0,0 +1,72 @@ +# ruflo-core + +Foundation plugin. Registers the `ruflo` MCP server (300+ tools), provides three generalist agents (`coder`, `researcher`, `reviewer`), three first-run helpers (`init-project`, `ruflo-doctor`, `discover-plugins`), and a curated catalog covering all 30+ sibling plugins. + +## Install + +``` +/plugin marketplace add ruvnet/ruflo +/plugin install ruflo-core@ruflo +``` + +## What's Included + +- **MCP Server**: 300+ tools via `@claude-flow/cli` (memory, agentdb, embeddings, hooks, neural, autopilot, browser, aidefence, agent, swarm, system, terminal, github, daa, coordination, performance, workflow, …) +- **CLI Commands**: 26 commands with 140+ subcommands for agent orchestration +- **3-Tier Model Routing**: Agent Booster (WASM), Haiku, Sonnet/Opus with automatic cost optimization +- **Session Management**: Persistent sessions with cross-conversation learning +- **Hooks**: PreToolUse / PostToolUse / PreCompact / Stop wired to claude-flow's auto-routing + learning loop. Defined at `plugins/ruflo-core/hooks/hooks.json` so the per-plugin loader picks them up on `/plugin install ruflo-core@ruflo` (per-plugin layout — fixes #1748 Issue 1; the marketplace-root copy at `.claude-plugin/hooks/hooks.json` is preserved for `claude --plugin-dir ` users). + +## Configuration + +The MCP server starts automatically when this plugin is active. Override environment variables in `.mcp.json` as needed. + +## Compatibility + +- **CLI:** pinned to `@claude-flow/cli` v3.6 major+minor. The `.mcp.json` invocation uses `@latest` for dynamic resolution; the smoke contract verifies the resolved CLI matches the v3.6 line. +- **Verification:** `bash plugins/ruflo-core/scripts/smoke.sh` is the contract. + +## MCP server contract + +The registered `ruflo` MCP server exposes 300+ tools across these families. Runtime truth is `mcp tool call mcp_status`: + +| Family | Notable tools | Plugin documenting it | +|--------|---------------|-----------------------| +| `memory_*` | `memory_store`, `_search`, `_search_unified`, `_import_claude`, `_bridge_status` | `ruflo-rag-memory` | +| `agentdb_*` | 15 tools for hierarchical / pattern / causal storage | `ruflo-agentdb` | +| `embeddings_*` | 10 tools incl. RaBitQ 32× quantization | `ruflo-agentdb`, `ruflo-ruvector` | +| `hooks_*` (incl. `hooks_intelligence_*`) | 19+ tools — routing, learning, transfer, metrics, explain | `ruflo-intelligence`, `ruflo-autopilot` | +| `aidefence_*` | 6 tools — PII / prompt-injection / sanitization | `ruflo-aidefence` | +| `neural_*` | 6 tools — train, predict, patterns, compress | `ruflo-intelligence` | +| `autopilot_*` | 10 tools — autonomous loops + learning | `ruflo-autopilot` | +| `browser_*` (+ new `browser_session_*`) | 23 + 5 = 28 tools — Playwright + RVF lifecycle | `ruflo-browser` | +| `ruvllm_sona_*` / `ruvllm_microlora_*` | 4 tools — adaptive learning | `ruflo-intelligence`, `ruflo-ruvllm` | +| `agent_*`, `swarm_*` | spawn, list, status, orchestrate | `ruflo-swarm` | +| `system_*`, `terminal_*` | system + terminal session ops | this plugin | + +For every other plugin's tool surface, see its `docs/adrs/0001-*.md`. + +## Sibling contracts + +This foundation plugin defers to seven sibling ADRs that own specific cross-cutting contracts. New plugins (and consumers of `ruflo-core`) should reference these instead of re-deriving: + +| Contract | Owner | +|----------|-------| +| **Pinning + smoke as contract** (general pattern) | [ruflo-ruvector ADR-0001](../ruflo-ruvector/docs/adrs/0001-pin-ruvector-0.2.25.md) | +| **Namespace convention** (`-`, reserved namespaces) | [ruflo-agentdb ADR-0001](../ruflo-agentdb/docs/adrs/0001-agentdb-optimization.md) | +| **Session-as-skill architecture** (RVF + trajectory + 3 AIDefence gates) | [ruflo-browser ADR-0001](../ruflo-browser/docs/adrs/0001-browser-skills-architecture.md) | +| **4-step intelligence pipeline** (RETRIEVE → JUDGE → DISTILL → CONSOLIDATE) | [ruflo-intelligence ADR-0001](../ruflo-intelligence/docs/adrs/0001-intelligence-surface-completeness.md) | +| **3-gate AIDefence pattern** (PII pre-storage, sanitization, prompt-injection) | [ruflo-aidefence ADR-0001](../ruflo-aidefence/docs/adrs/0001-aidefence-contract.md) | +| **270s cache-aware /loop heartbeat** | [ruflo-autopilot ADR-0001](../ruflo-autopilot/docs/adrs/0001-autopilot-contract.md) | +| **ADR plugin contract** (token-optimization via REFERENCE.md) | [ruflo-adr ADR-0001](../ruflo-adr/docs/adrs/0001-adr-plugin-pattern.md) | + +## Verification + +```bash +bash plugins/ruflo-core/scripts/smoke.sh +# Expected: "10 passed, 0 failed" +``` + +## Architecture Decisions + +- [`ADR-0001` — ruflo-core plugin contract (foundation, MCP server, plugin catalog, smoke as contract)](./docs/adrs/0001-core-contract.md) diff --git a/plugins/ruflo-core/agents/coder.md b/plugins/ruflo-core/agents/coder.md new file mode 100644 index 0000000000..bf0b1dd435 --- /dev/null +++ b/plugins/ruflo-core/agents/coder.md @@ -0,0 +1,31 @@ +--- +name: coder +description: Implementation specialist for writing clean, efficient code following project patterns +model: sonnet +--- +You are a code implementation specialist working within a Ruflo-coordinated swarm. Write clean, typed, tested code. Prefer editing existing files. Follow TDD London School. Use `npx @claude-flow/cli@latest hooks pre-edit --file "$FILE"` before editing and `npx @claude-flow/cli@latest hooks post-edit --file "$FILE" --success true` after. + +## Authoritative project documents + +Before implementing anything that affects architecture or scope, read **both**: + +- **`docs/SPEC.md`** — what the system does (requirements, scope) +- **`docs/adr/*.md`** — how decisions were made (tech stack, framework, auth, integration). Treat ADRs as **binding** unless superseded by a newer `status: Accepted` ADR. + +In a multi-agent swarm, ADRs are the cross-agent contract that prevents bounded-context drift. If your plan contradicts an ADR, surface the conflict — do not silently diverge. + +Guidelines: +- Read files before editing. Never create unnecessary files. +- Keep functions under 20 lines. Use typed interfaces for all public APIs. +- Apply SOLID principles. Validate inputs at system boundaries. +- Store successful patterns: `npx @claude-flow/cli@latest memory store --key "pattern-NAME" --value "DESCRIPTION" --namespace patterns` +- Search for prior art: `npx @claude-flow/cli@latest memory search --query "TOPIC" --namespace patterns` + + +### Neural Learning + +After completing tasks, store successful patterns: +```bash +npx @claude-flow/cli@latest hooks post-task --task-id "TASK_ID" --success true --train-neural true +npx @claude-flow/cli@latest memory search --query "TASK_TYPE patterns" --namespace patterns +``` diff --git a/plugins/ruflo-core/agents/researcher.md b/plugins/ruflo-core/agents/researcher.md new file mode 100644 index 0000000000..68d84e5f07 --- /dev/null +++ b/plugins/ruflo-core/agents/researcher.md @@ -0,0 +1,80 @@ +--- +name: researcher +description: Pathfinder research specialist — traverses RuVector memory graphs and codebase to surface patterns, dependencies, and prior art +model: sonnet +--- +You are a pathfinder research specialist within a Ruflo-coordinated swarm. You traverse knowledge graphs and codebases using a shortest-path exploration algorithm to surface the most relevant patterns, dependencies, and prior art before implementation begins. + +### Pathfinder Algorithm + +Use a graph-traversal approach — each research step expands the frontier of known connections: + +1. **Seed** — Start with the topic. Query AgentDB for the closest known nodes: + ``` + mcp__claude-flow__agentdb_semantic-route({ query: "TOPIC", namespace: "patterns" }) + ``` +2. **Expand** — For each result, follow causal edges to related knowledge: + ``` + mcp__claude-flow__agentdb_causal-edge({ from: "NODE_ID", type: "depends-on" }) + mcp__claude-flow__agentdb_hierarchical-recall({ path: "domain/TOPIC", depth: 3 }) + ``` +3. **Score** — Rank paths by relevance using HNSW similarity + recency: + ``` + mcp__claude-flow__agentdb_pattern-search({ query: "TOPIC", limit: 10 }) + ``` +4. **Prune** — Stop expanding paths with similarity < 0.3 (diminishing returns) +5. **Bridge** — Cross-reference with codebase (Read, Grep, Glob) to ground findings in current code +6. **Synthesize** — Merge graph findings into a coherent research summary: + ``` + mcp__claude-flow__agentdb_context-synthesize({ query: "TOPIC", sources: ["patterns", "tasks", "solutions"] }) + ``` + +### Research Workflow + +1. **Graph traverse**: Pathfinder algo above — expands from seed → related patterns → causal chains +2. **Codebase ground**: Use Read, Grep, Glob to verify graph findings against current source +3. **External bridge**: WebSearch/WebFetch when neither graph nor codebase has answers +4. **Dependency map**: Trace imports/exports to build the impact graph +5. **Risk surface**: Security, breaking changes, performance implications, edge cases +6. **Store findings**: Persist as new graph nodes for future traversals: + ``` + mcp__claude-flow__agentdb_hierarchical-store({ path: "research/TOPIC", data: "FINDINGS" }) + mcp__claude-flow__agentdb_causal-edge({ from: "research/TOPIC", to: "design/FEATURE", type: "informs" }) + ``` + +### Research Patterns + +| Pattern | Pathfinder Strategy | When to use | +|---------|-------------------|-------------| +| Codebase scan | Seed: feature name → expand: imports/exports → bridge: file reads | New feature | +| Dependency audit | Seed: module → expand: causal edges (depends-on) → prune at boundary | Refactor | +| Convention check | Seed: pattern name → expand: similar patterns → score by recency | Any change | +| Risk assessment | Seed: change description → expand: security/perf patterns → synthesize | Security/perf | +| Prior art search | Seed: concept → expand: hierarchical recall depth 5 → external bridge | Novel features | + +### Tools + +**AgentDB Graph Traversal:** +- `mcp__claude-flow__agentdb_semantic-route` — find closest knowledge node +- `mcp__claude-flow__agentdb_hierarchical-recall` — depth-limited tree traversal +- `mcp__claude-flow__agentdb_causal-edge` — follow dependency/impact chains +- `mcp__claude-flow__agentdb_pattern-search` — HNSW similarity search across patterns +- `mcp__claude-flow__agentdb_context-synthesize` — merge multi-source findings +- `mcp__claude-flow__agentdb_hierarchical-store` — persist new knowledge nodes + +**Codebase Exploration:** +- `Read`, `Grep`, `Glob` — file-level analysis +- `WebSearch`, `WebFetch` — external research + +**Memory (simple key-value):** +- `npx @claude-flow/cli@latest memory search --query "TOPIC" --namespace patterns` +- `npx @claude-flow/cli@latest memory store --key "research-TOPIC" --value "FINDINGS" --namespace tasks` + +Never modify source code. Your output informs architects, coders, and testers. + +### Neural Learning + +After completing tasks, store successful patterns and link them in the knowledge graph: +```bash +npx @claude-flow/cli@latest hooks post-task --task-id "TASK_ID" --success true --train-neural true +``` diff --git a/plugins/ruflo-core/agents/reviewer.md b/plugins/ruflo-core/agents/reviewer.md new file mode 100644 index 0000000000..54e9cfaa9c --- /dev/null +++ b/plugins/ruflo-core/agents/reviewer.md @@ -0,0 +1,19 @@ +--- +name: reviewer +description: Code review specialist for quality, security, and best-practice enforcement +model: sonnet +--- +You are a code review specialist within a Ruflo-coordinated swarm. Review code for correctness, security, performance, and adherence to project conventions. + +Checklist: +- Correctness: logic errors, off-by-one, null/undefined handling +- Security: input validation, injection risks, secrets in code, path traversal +- Performance: unnecessary allocations, O(n^2) loops, missing memoization +- Style: naming conventions, file length (<500 lines), function length (<20 lines) +- Types: proper interfaces, no `any` unless justified +- Tests: adequate coverage, edge cases, mocks for externals + +Report findings with severity (critical/warning/info). Store patterns: +`npx @claude-flow/cli@latest memory store --key "review-PATTERN" --value "DESCRIPTION" --namespace patterns` + +Use `npx @claude-flow/cli@latest hooks post-task --task-id "TASK_ID" --success true` when complete. diff --git a/plugins/ruflo-core/agents/witness-curator.md b/plugins/ruflo-core/agents/witness-curator.md new file mode 100644 index 0000000000..e9b13ea09e --- /dev/null +++ b/plugins/ruflo-core/agents/witness-curator.md @@ -0,0 +1,79 @@ +--- +name: witness-curator +description: Maintains the cryptographically-signed witness manifest. Adds new fix entries when shipping a release, regenerates the signed manifest + temporal history, identifies regression-introduction commits, and verifies markers against the live tree (ADR-103). +model: sonnet +--- + +You are the witness curator. Your job is to keep the project's signed +witness manifest accurate and to make regression introduction times +trivially answerable. + +## When to act + +You are invoked when: + +1. A release is being prepared and new fixes need attestation in the manifest. +2. CI reports a fix as `regressed` and someone wants to know when it broke. +3. A user is bootstrapping the witness toolkit on their own project. +4. Someone needs to interpret the signature/marker/drift output. + +## How the system works + +The manifest at `verification.md.json` lists `{ id, desc, file, sha256, marker, markerVerified }` per fix. +The whole manifest is hashed (SHA-256) and signed (Ed25519) using a deterministic seed +`sha256(gitCommit + ':ruflo-witness/v1')` — no committed private key. + +`verification-history.jsonl` is an append-only log of each regen's snapshot. +That's what lets you bisect: walk back through entries to find the last commit +where a now-regressed fix was passing. + +Toolkit lives in `plugins/ruflo-core/scripts/witness/`: +- `init.mjs` — bootstrap into a fresh repo +- `regen.mjs` — sign + append history (run on each release) +- `history.mjs` — query temporal log (summary, regressions, timeline) +- `verify.mjs` — validate signature + markers against the live tree +- `lib.mjs` — shared logic, importable from other scripts + +## Workflow: adding a fix + +When a fix ships: + +1. Identify the file containing the fix and a **distinctive marker substring** + that proves the fix is present. Avoid generic markers like `'function'`. + Good markers: a unique error message, a specific pattern from the diff, + a comment referencing the issue. +2. Append `{ id, desc, file, marker }` to the project's `witness-fixes.json` + (or directly to the script's `NEW_FIXES` array if no config file). +3. Run `node plugins/ruflo-core/scripts/witness/regen.mjs --dry-run` first + to confirm `verified: N/N` (all markers present). +4. Run without `--dry-run` to write the manifest + append history. +5. Commit `verification.md.json`, `verification-history.jsonl`, and any + updated `witness-fixes.json` together — they must move as one. + +## Workflow: investigating a regression + +When CI reports a fix as `regressed`: + +1. Run `history.mjs ... regressions` — for each currently-regressed fix, + it prints `lastPassCommit` and `regressedAtCommit`. +2. `git log lastPassCommit..regressedAtCommit -- ` shows the + commits that touched the affected file in the regression window. +3. Inspect the diff for marker removal. Restore or update marker. + +## Anti-patterns to flag + +- Hand-edited `verification.md.json` (signature breaks; always re-regen). +- A marker that's too generic (false-positives in unrelated code). +- Committing the manifest without the history (or vice-versa). +- Adding a fix entry whose `markerVerified=false` at issuance — fix the + build first, then regen. + +## In ruflo's CI + +`witness-verify` job in `v3-ci.yml` blocks `publish` if: +- signature invalid (someone hand-edited the manifest) +- any fix `regressed > 0` (a documented fix has lost its marker) +- any fix `missing > 0` (a cited dist file doesn't exist) + +For users adopting the toolkit, a similar job in their own CI gates +their own publishes the same way. diff --git a/plugins/ruflo-core/commands/ruflo-status.md b/plugins/ruflo-core/commands/ruflo-status.md new file mode 100644 index 0000000000..a797dc16d5 --- /dev/null +++ b/plugins/ruflo-core/commands/ruflo-status.md @@ -0,0 +1,11 @@ +--- +name: ruflo-status +description: Show Ruflo system health, MCP server status, and active agents +--- +$ARGUMENTS +Run diagnostics and show system status. +```bash +npx @claude-flow/cli@latest doctor +npx @claude-flow/cli@latest status +``` +To auto-fix issues, run `npx @claude-flow/cli@latest doctor --fix` separately. diff --git a/plugins/ruflo-core/commands/witness.md b/plugins/ruflo-core/commands/witness.md new file mode 100644 index 0000000000..5d218fbbf3 --- /dev/null +++ b/plugins/ruflo-core/commands/witness.md @@ -0,0 +1,30 @@ +--- +name: witness +description: Manage and verify a cryptographically-signed fix manifest with temporal history (ADR-103) +argument-hint: "init|regen|verify|history|regressions [--manifest ] [--history ]" +--- + +$ARGUMENTS + +Run the appropriate witness sub-command. Defaults assume `verification.md.json` and `verification-history.jsonl` at the project root. + +```bash +# Bootstrap (one-time per project) +node plugins/ruflo-core/scripts/witness/init.mjs + +# Regen + append history (each release) +node plugins/ruflo-core/scripts/witness/regen.mjs \ + --manifest verification.md.json \ + --history verification-history.jsonl \ + --fixes witness-fixes.json + +# Verify against live tree +node plugins/ruflo-core/scripts/witness/verify.mjs --manifest verification.md.json + +# Temporal queries +node plugins/ruflo-core/scripts/witness/history.mjs --history verification-history.jsonl summary +node plugins/ruflo-core/scripts/witness/history.mjs --history verification-history.jsonl regressions +node plugins/ruflo-core/scripts/witness/history.mjs --history verification-history.jsonl timeline --id +``` + +See `plugins/ruflo-core/skills/witness/SKILL.md` for the full workflow + anti-patterns. diff --git a/plugins/ruflo-core/docs/adrs/0001-core-contract.md b/plugins/ruflo-core/docs/adrs/0001-core-contract.md new file mode 100644 index 0000000000..e9aea8f0b5 --- /dev/null +++ b/plugins/ruflo-core/docs/adrs/0001-core-contract.md @@ -0,0 +1,102 @@ +--- +id: ADR-0001 +title: ruflo-core plugin contract — pinning, MCP server contract, plugin-catalog discovery, smoke as contract +status: Accepted +date: 2026-05-04 +updated: 2026-05-09 +authors: + - reviewer (Claude Code) +tags: [plugin, core, mcp, foundation, smoke-test] +--- + +## Context + +`ruflo-core` is the **foundation plugin**. Every other plugin (`ruflo-ruvector`, `ruflo-agentdb`, `ruflo-browser`, `ruflo-intelligence`, `ruflo-adr`, `ruflo-aidefence`, `ruflo-autopilot`, plus 25 others) depends on the MCP server it registers via `.mcp.json` and the orchestration patterns it documents. + +Today's plugin (v0.1.0): + +- `.claude-plugin/plugin.json:4` — `version: "0.1.0"`, keywords `mcp, orchestration, claude-code` +- `.mcp.json` — registers `ruflo` MCP server via `npx -y @claude-flow/cli@latest` +- `agents/` — 3 generalists (`coder`, `researcher`, `reviewer`) +- `skills/` — 3 first-run helpers (`init-project`, `ruflo-doctor`, `discover-plugins`) +- `commands/ruflo-status.md` — system status one-liner +- `README.md` — terse: "What's Included" + Configuration only + +The discover-plugins skill is a substantial asset — a curated 32-plugin catalog with decision guides. That stays. + +What's missing matches the cadence we've established: + +1. **No plugin-level ADR.** Foundation plugin should document its own contract since 30+ plugins depend on it. +2. **No smoke test.** +3. **No Compatibility section** pinning to `@claude-flow/cli` v3.6. +4. **MCP server tool count is undocumented.** `discover-plugins` mentions "314 tools" once, but this should be a contract claim with a verification path. +5. **No cross-references** to sibling ADRs (namespace convention, 3-gate pattern, 4-step pipeline) that other plugins now reference. + +## Decision + +### 1. Add this ADR (Proposed) + +`docs/adrs/0001-core-contract.md`. Cross-links the seven sibling ADRs. + +### 2. README augmentation (no rewrite) + +Append: + +- **Compatibility** — pin to `@claude-flow/cli` v3.6. Note the `npx -y @claude-flow/cli@latest` invocation in `.mcp.json` is the dynamic resolver; smoke verifies the resolved version. +- **MCP server contract** — the registered `ruflo` MCP server exposes 300+ tools across families: `memory_*`, `agentdb_*`, `embeddings_*`, `ruvllm_*`, `hooks_*`, `aidefence_*`, `neural_*`, `autopilot_*`, `browser_*`, `agent_*`, `swarm_*`, `system_*`, etc. Runtime truth via `mcp tool call mcp_status`. +- **Sibling contracts** — pointer block to the seven sibling ADRs that already define namespace convention, 3-gate pattern, 4-step pipeline, etc. +- **Architecture Decisions** + **Verification** sections. + +### 3. Plugin metadata bump + +`0.1.0 → 0.2.0`. Keywords add `foundation`, `mcp-server`, `plugin-catalog`, `discovery`. + +### 4. Smoke contract (`scripts/smoke.sh`) + +10 checks: + +1. plugin.json declares `0.2.0` with the new keywords. +2. `.mcp.json` exists and registers a `ruflo` MCP server. +3. All 3 agents present (`coder`, `researcher`, `reviewer`) with valid frontmatter. +4. All 3 skills present (`init-project`, `ruflo-doctor`, `discover-plugins`) with valid frontmatter. +5. `discover-plugins` skill catalog references at least 25 sibling plugins (the curated catalog). +6. README pins to `@claude-flow/cli` v3.6. +7. README cross-references sibling contracts (namespace convention, 3-gate pattern, 4-step pipeline). +8. ADR-0001 exists with status `Proposed`. +9. `commands/ruflo-status.md` invokes `doctor` and `status`. +10. No skill grants wildcard tool access. + +## Consequences + +**Positive:** +- Foundation plugin is now contractually self-documenting. +- Sibling-ADR cross-references make the cohesive plugin family discoverable from the entry point. +- Plugin catalog claims are now smoke-verifiable. + +**Negative:** +- `discover-plugins` catalog must be kept in sync as plugins are added. Today there are 33 plugins (including this one); the catalog covers ~32. Drift remediation is a separate, mechanical task. + +**Neutral:** +- No new MCP tools, no new skills, no new agents. Documentation + smoke only. + +## Verification + +```bash +bash plugins/ruflo-core/scripts/smoke.sh +# Expected: "10 passed, 0 failed" +``` + +## Related + +- `plugins/ruflo-ruvector/docs/adrs/0001-pin-ruvector-0.2.25.md` +- `plugins/ruflo-agentdb/docs/adrs/0001-agentdb-optimization.md` — namespace convention +- `plugins/ruflo-browser/docs/adrs/0001-browser-skills-architecture.md` +- `plugins/ruflo-intelligence/docs/adrs/0001-intelligence-surface-completeness.md` — 4-step pipeline +- `plugins/ruflo-adr/docs/adrs/0001-adr-plugin-pattern.md` +- `plugins/ruflo-aidefence/docs/adrs/0001-aidefence-contract.md` — 3-gate pattern +- `plugins/ruflo-autopilot/docs/adrs/0001-autopilot-contract.md` — 270s cache-aware /loop +- `v3/@claude-flow/cli/` — the MCP server source backing this plugin + +## Implementation status + +Plugin version v0.2.1 shipped and listed in marketplace.json. Source exists at `plugins/ruflo-core/`. Contract elements implemented: `.mcp.json` registers `ruflo` server via `npx -y @claude-flow/cli@latest`; plugin-catalog discovery skill present; 3 generalist agents shipped; smoke-as-contract gate defined in `scripts/smoke.sh`. diff --git a/plugins/ruflo-core/hooks/hooks.json b/plugins/ruflo-core/hooks/hooks.json new file mode 100644 index 0000000000..c6428ff20f --- /dev/null +++ b/plugins/ruflo-core/hooks/hooks.json @@ -0,0 +1,75 @@ +{ + "_note": "#1921 — hook commands invoke scripts/ruflo-hook.sh (resilient shim): prefers a locally-installed `ruflo`/`claude-flow` binary, falls back to `npx --prefer-offline`, and always exits 0 so a CLI/install failure (e.g. arborist `Invalid Version` on npm 10.8.x) never surfaces an error in Claude Code or blocks a turn. The trailing `|| true` guards the case where $CLAUDE_PLUGIN_ROOT is unset (older Claude Code) — the hook then no-ops silently. DO NOT revert to a bare `npx @alpha hooks …` per fire.", + "hooks": { + "PreToolUse": [ + { + "matcher": "Bash", + "hooks": [ + { + "type": "command", + "command": "\"${CLAUDE_PLUGIN_ROOT}/scripts/ruflo-hook.sh\" modify-bash || true" + } + ] + }, + { + "matcher": "Write|Edit|MultiEdit", + "hooks": [ + { + "type": "command", + "command": "\"${CLAUDE_PLUGIN_ROOT}/scripts/ruflo-hook.sh\" modify-file || true" + } + ] + } + ], + "PostToolUse": [ + { + "matcher": "Bash", + "hooks": [ + { + "type": "command", + "command": "/bin/bash -c 'INPUT=$(cat); CMD=$(printf %s \"$INPUT\" | jq -r \".tool_input.command // empty\"); [ -z \"$CMD\" ] && exit 0; EXIT=$(printf %s \"$INPUT\" | jq -r \".tool_response.exit_code // 0\"); SUCCESS=$([ \"$EXIT\" = \"0\" ] && echo true || echo false); \"${CLAUDE_PLUGIN_ROOT}/scripts/ruflo-hook.sh\" post-command -c \"$CMD\" -s \"$SUCCESS\" -e \"$EXIT\" || true'" + } + ] + }, + { + "matcher": "Write|Edit|MultiEdit", + "hooks": [ + { + "type": "command", + "command": "/bin/bash -c 'INPUT=$(cat); FILE=$(printf %s \"$INPUT\" | jq -r \".tool_input.file_path // .tool_input.path // empty\"); [ -z \"$FILE\" ] && exit 0; \"${CLAUDE_PLUGIN_ROOT}/scripts/ruflo-hook.sh\" post-edit -f \"$FILE\" -s true || true'" + } + ] + } + ], + "PreCompact": [ + { + "matcher": "manual", + "hooks": [ + { + "type": "command", + "command": "/bin/bash -c 'INPUT=$(cat); CUSTOM=$(echo \"$INPUT\" | jq -r \".custom_instructions // \\\"\\\"\"); echo \"🔄 PreCompact Guidance:\"; echo \"📋 IMPORTANT: Review CLAUDE.md in project root for:\"; echo \" • 54 available agents and concurrent usage patterns\"; echo \" • Swarm coordination strategies (hierarchical, mesh, adaptive)\"; echo \" • SPARC methodology workflows with batchtools optimization\"; echo \" • Critical concurrent execution rules (GOLDEN RULE: 1 MESSAGE = ALL OPERATIONS)\"; if [ -n \"$CUSTOM\" ]; then echo \"🎯 Custom compact instructions: $CUSTOM\"; fi; echo \"✅ Ready for compact operation\"'" + } + ] + }, + { + "matcher": "auto", + "hooks": [ + { + "type": "command", + "command": "/bin/bash -c 'echo \"🔄 Auto-Compact Guidance (Context Window Full):\"; echo \"📋 CRITICAL: Before compacting, ensure you understand:\"; echo \" • All 54 agents available in .claude/agents/ directory\"; echo \" • Concurrent execution patterns from CLAUDE.md\"; echo \" • Batchtools optimization for 300% performance gains\"; echo \" • Swarm coordination strategies for complex tasks\"; echo \"⚡ Apply GOLDEN RULE: Always batch operations in single messages\"; echo \"✅ Auto-compact proceeding with full agent context\"'" + } + ] + } + ], + "Stop": [ + { + "hooks": [ + { + "type": "command", + "command": "\"${CLAUDE_PLUGIN_ROOT}/scripts/ruflo-hook.sh\" session-end --generate-summary true --persist-state true --export-metrics true || true" + } + ] + } + ] + } +} diff --git a/plugins/ruflo-core/scripts/ruflo-hook.sh b/plugins/ruflo-core/scripts/ruflo-hook.sh new file mode 100644 index 0000000000..165c39d43d --- /dev/null +++ b/plugins/ruflo-core/scripts/ruflo-hook.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# ruflo-hook.sh — resilient invoker for ruflo CLI hook subcommands (#1921). +# +# Hooks fire on EVERY PreToolUse / PostToolUse / Stop. A bare +# `npx @alpha hooks …` re-resolves the @alpha dist-tag and re-installs +# from cold cache on every fire, and when the install crashes (e.g. an +# arborist `Invalid Version` on npm 10.8.x) the user sees a hook error in +# Claude Code after every turn. This shim: +# 1. prefers an already-installed `ruflo` / `claude-flow` binary (no npx, +# no install) — the common case for plugin users; +# 2. falls back to `npx --prefer-offline` so a populated npx cache is +# reused instead of a fresh registry resolve; +# 3. ALWAYS exits 0 — hook subcommands are best-effort telemetry/learning; +# a failure must never surface an error or block a turn. +# +# stdin (the hook event JSON) is passed through to the CLI unchanged. +# Usage: ruflo-hook.sh [args…] (the literal `hooks` +# word is prepended here, so callers pass e.g. `post-edit -f "$FILE" -s true`). + +# Swallow all diagnostics — nothing this script prints should reach Claude Code. +exec 2>/dev/null + +run() { "$@" || true; } + +if command -v ruflo >/dev/null 2>&1; then + run ruflo hooks "$@" +elif command -v claude-flow >/dev/null 2>&1; then + run claude-flow hooks "$@" +else + run npx --prefer-offline --yes ruflo@alpha hooks "$@" +fi + +exit 0 diff --git a/plugins/ruflo-core/scripts/smoke.sh b/plugins/ruflo-core/scripts/smoke.sh new file mode 100644 index 0000000000..842c30ca05 --- /dev/null +++ b/plugins/ruflo-core/scripts/smoke.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash +# Structural smoke test for ruflo-core v0.2.0 (ADR-0001). +set -u +ROOT="$(cd "$(dirname "$0")/.." && pwd)" +PASS=0 +FAIL=0 +step() { printf "→ %s ... " "$1"; } +ok() { printf "PASS\n"; PASS=$((PASS+1)); } +bad() { printf "FAIL: %s\n" "$1"; FAIL=$((FAIL+1)); } + +step "1. plugin.json declares 0.2.0 with new keywords" +v=$(grep -E '"version"' "$ROOT/.claude-plugin/plugin.json" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1) +if [[ "$v" != "0.2.0" ]]; then + bad "expected 0.2.0, got '$v'" +else + miss="" + for k in foundation mcp-server plugin-catalog discovery; do + grep -q "\"$k\"" "$ROOT/.claude-plugin/plugin.json" || miss="$miss $k" + done + [[ -z "$miss" ]] && ok || bad "missing keywords:$miss" +fi + +step "2. .mcp.json registers a 'ruflo' MCP server" +F="$ROOT/.mcp.json" +if [[ -f "$F" ]] && grep -q '"ruflo"' "$F" && grep -q '"command"' "$F"; then + ok +else + bad ".mcp.json missing or no ruflo server registration" +fi + +step "3. all 3 agents present with valid frontmatter" +miss="" +for a in coder researcher reviewer; do + f="$ROOT/agents/$a.md" + [[ -f "$f" ]] || { miss="$miss missing-$a"; continue; } + for k in 'name:' 'description:'; do + grep -q "^$k" "$f" || miss="$miss $a-no-$k" + done +done +[[ -z "$miss" ]] && ok || bad "$miss" + +step "4. all 3 skills present with valid frontmatter" +miss="" +for s in init-project ruflo-doctor discover-plugins; do + f="$ROOT/skills/$s/SKILL.md" + [[ -f "$f" ]] || { miss="$miss missing-$s"; continue; } + for k in 'name:' 'description:' 'allowed-tools:'; do + grep -q "^$k" "$f" || miss="$miss $s-no-$k" + done +done +[[ -z "$miss" ]] && ok || bad "$miss" + +step "5. discover-plugins catalog references at least 25 sibling plugins" +F="$ROOT/skills/discover-plugins/SKILL.md" +n=$(grep -oE 'ruflo-[a-z-]+' "$F" | sort -u | wc -l | tr -d ' ') +if [[ $n -ge 25 ]]; then + ok +else + bad "expected ≥25 distinct ruflo-* references, got $n" +fi + +step "6. README pins @claude-flow/cli to v3.6" +grep -qE "@claude-flow/cli.*v3\.6|v3\.6.*claude-flow/cli" "$ROOT/README.md" \ + && ok || bad "Compatibility pin to v3.6 missing" + +step "7. README cross-references sibling contracts" +F="$ROOT/README.md" +miss="" +grep -q "Namespace convention" "$F" || miss="$miss namespace" +grep -qE "3-gate|3 gates|three gates" "$F" || miss="$miss 3-gate" +grep -qE "4-step|4 step" "$F" || miss="$miss 4-step" +[[ -z "$miss" ]] && ok || bad "missing cross-references:$miss" + +step "8. ADR-0001 exists with status Proposed" +ADR="$ROOT/docs/adrs/0001-core-contract.md" +[[ -f "$ADR" ]] && grep -qE "^status:[[:space:]]*Proposed" "$ADR" \ + && ok || bad "ADR missing or status != Proposed" + +step "9. /ruflo-status command invokes doctor + status" +F="$ROOT/commands/ruflo-status.md" +if grep -q "doctor" "$F" && grep -q "status" "$F"; then + ok +else + bad "ruflo-status command missing doctor/status invocation" +fi + +step "10. no wildcard tool grants in skills" +bad_skills="" +for f in "$ROOT"/skills/*/SKILL.md; do + grep -q '^allowed-tools:[[:space:]]*\*' "$f" && bad_skills="$bad_skills $(basename $(dirname "$f"))" +done +[[ -z "$bad_skills" ]] && ok || bad "wildcard:$bad_skills" + +printf "\n%s passed, %s failed\n" "$PASS" "$FAIL" +[[ $FAIL -eq 0 ]] || exit 1 diff --git a/plugins/ruflo-core/skills/discover-plugins/SKILL.md b/plugins/ruflo-core/skills/discover-plugins/SKILL.md new file mode 100644 index 0000000000..f4d31267e3 --- /dev/null +++ b/plugins/ruflo-core/skills/discover-plugins/SKILL.md @@ -0,0 +1,119 @@ +--- +name: discover-plugins +description: Discover and recommend ruflo plugins based on your workflow, installed MCP tools, and current task +argument-hint: "[search-query]" +allowed-tools: mcp__claude-flow__transfer_plugin-search mcp__claude-flow__transfer_plugin-info mcp__claude-flow__transfer_plugin-featured mcp__claude-flow__transfer_plugin-official mcp__claude-flow__transfer_store-search mcp__claude-flow__transfer_store-featured mcp__claude-flow__transfer_store-trending mcp__claude-flow__transfer_store-info mcp__claude-flow__guidance_discover mcp__claude-flow__guidance_recommend mcp__claude-flow__guidance_capabilities mcp__claude-flow__mcp_status Bash Read +--- + +# Discover Plugins + +Find and recommend ruflo plugins for your workflow. + +## When to use + +When starting a new project, exploring ruflo capabilities, or wondering which plugins would help with your current task. + +## Steps + +1. **Check installed** — run `ls plugins/` to see what's already installed +2. **Browse marketplace** — call `mcp__claude-flow__transfer_plugin-featured` for recommended plugins +3. **Search by need** — call `mcp__claude-flow__transfer_plugin-search` with keywords matching your task +4. **Get recommendations** — call `mcp__claude-flow__guidance_recommend` with your current task description for personalized suggestions +5. **Check capabilities** — call `mcp__claude-flow__guidance_capabilities` to see what each plugin enables +6. **Show details** — call `mcp__claude-flow__transfer_plugin-info` for full plugin details + +## Plugin Catalog (32 plugins) + +### Core & Coordination — Start here + +| Plugin | When to use | What it adds | +|--------|-------------|-------------| +| **ruflo-core** | Always — base layer for all Ruflo work | MCP server, status, doctor, coder/researcher/reviewer agents | +| **ruflo-swarm** | Multi-agent tasks (3+ files, features, refactors) | Swarm topologies (hierarchical, mesh), Monitor streaming, worktree isolation | +| **ruflo-autopilot** | Autonomous task completion without manual steering | /loop-based autonomous execution, progress prediction, learning | +| **ruflo-loop-workers** | Recurring background work (audits, optimization, mapping) | 12 background workers via /loop or CronCreate scheduling | +| **ruflo-workflows** | Repeatable multi-step processes | Workflow templates, parallel execution, conditional branching | + +### Memory & Intelligence — Cross-session learning + +| Plugin | When to use | What it adds | +|--------|-------------|-------------| +| **ruflo-agentdb** | Semantic search over code patterns, telemetry, decisions | AgentDB with HNSW vector search (150x-12,500x faster), RuVector embeddings | +| **ruflo-rag-memory** | Simple key-value memory with search | Store/search/recall without full AgentDB setup | +| **ruflo-rvf** | Portable memory export/import across machines | RVF format, session persistence, cross-platform transfer | +| **ruflo-ruvector** | Vector embedding operations, HNSW indexing, clustering | ONNX 384-dim embeddings, hyperbolic Poincare ball, k-means/DBSCAN clustering | +| **ruflo-knowledge-graph** | Entity extraction, relation mapping, graph traversal | Pathfinder algo on AgentDB causal edges, code entity graphs | +| **ruflo-intelligence** | Task routing optimization, learning from outcomes | SONA neural patterns, trajectory learning, model routing with confidence | +| **ruflo-daa** | Self-adapting agents that evolve behavior | Dynamic Agentic Architecture, cognitive patterns, knowledge sharing | + +### Architecture & Methodology — Build right + +| Plugin | When to use | What it adds | +|--------|-------------|-------------| +| **ruflo-adr** | Document architecture decisions, check compliance | ADR create/index/supersede, code-to-ADR linking, compliance checking on diffs | +| **ruflo-ddd** | Domain modeling, bounded context scaffolding | Context wizard, aggregate roots, domain events, anti-corruption layers, boundary validation | +| **ruflo-sparc** | Structured development methodology | Specification-Pseudocode-Architecture-Refinement-Completion with quality gates | + +### Quality & Security — Ship safely + +| Plugin | When to use | What it adds | +|--------|-------------|-------------| +| **ruflo-security-audit** | Before merging, after dependency changes | CVE scanning, dependency vulnerability checks, security reports | +| **ruflo-aidefence** | Processing user input, handling untrusted data | Prompt injection detection, PII scanning, adversarial defense | +| **ruflo-testgen** | After implementing features, during refactors | Test gap detection, TDD London School workflow, coverage routing | +| **ruflo-browser** | UI testing, web scraping, visual validation | Playwright automation — navigate, click, screenshot, validate | + +### Development Tools — Build faster + +| Plugin | When to use | What it adds | +|--------|-------------|-------------| +| **ruflo-jujutsu** | PR review, merge decisions, diff risk scoring | Diff analysis, risk classification, reviewer recommendations | +| **ruflo-docs** | After API changes, before releases | Doc generation, drift detection, API documentation | +| **ruflo-ruvllm** | Local LLM inference, custom model configs | RuVLLM integration, MicroLoRA fine-tuning, chat formatting | +| **ruflo-agent** | Sandboxed code execution, untrusted workloads | WASM agent sandboxing, community gallery | +| **ruflo-plugin-creator** | Building new ruflo plugins | Scaffold structure, validate frontmatter, test MCP references | +| **ruflo-migrations** | Database schema changes | Sequential migration numbering, up/down pairs, dry-run, rollback validation | +| **ruflo-observability** | Logging, tracing, metrics correlation | Structured JSON logging, distributed tracing, agent-to-app telemetry correlation | +| **ruflo-cost-tracker** | Token budget management | Per-agent cost attribution, model pricing, budget alerts, optimization recommendations | + +### Domain-Specific — Specialized workloads + +| Plugin | When to use | What it adds | +|--------|-------------|-------------| +| **ruflo-goals** | Long-horizon planning, multi-session research | GOAP algorithm, deep research orchestration, horizon tracking, synthesis | +| **ruflo-federation** | Cross-installation agent coordination | Zero-trust peer discovery, mTLS auth, consensus routing, compliance audit | +| **ruflo-iot-cognitum** | Cognitum Seed hardware device management | 5-tier device trust, telemetry anomaly detection (Z-score), fleet firmware rollouts, witness chain verification, SONA + AgentDB integration | +| **ruflo-neural-trader** | Trading strategy development and backtesting | Z-score market anomalies, SONA trajectory strategies, walk-forward backtesting, portfolio optimization | +| **ruflo-market-data** | Market data ingestion and pattern matching | OHLCV vectorization, candlestick pattern detection, HNSW-indexed historical search | + +## Decision Guide + +**"I need to..."** → Use this plugin: + +- Build a feature → `ruflo-core` + `ruflo-swarm` + `ruflo-testgen` +- Fix a bug → `ruflo-core` + `ruflo-jujutsu` (for diff analysis) +- Audit security → `ruflo-security-audit` + `ruflo-aidefence` +- Run background tasks → `ruflo-loop-workers` + `ruflo-autopilot` +- Search past decisions → `ruflo-agentdb` + `ruflo-rag-memory` +- Plan a multi-week effort → `ruflo-goals` (horizon tracking) +- Manage IoT devices → `ruflo-iot-cognitum` +- Coordinate remote agents → `ruflo-federation` +- Test UI changes → `ruflo-browser` +- Generate docs → `ruflo-docs` +- Create a new plugin → `ruflo-plugin-creator` +- Document architecture decisions → `ruflo-adr` +- Scaffold domain models → `ruflo-ddd` +- Follow SPARC methodology → `ruflo-sparc` +- Develop trading strategies → `ruflo-neural-trader` + `ruflo-market-data` +- Work with vector embeddings → `ruflo-ruvector` +- Build knowledge graphs → `ruflo-knowledge-graph` +- Manage database migrations → `ruflo-migrations` +- Add observability → `ruflo-observability` +- Track token costs → `ruflo-cost-tracker` + +## Install any plugin + +``` +/plugin marketplace add ruvnet/ruflo +/plugin install @ruflo +``` diff --git a/plugins/ruflo-core/skills/init-project/SKILL.md b/plugins/ruflo-core/skills/init-project/SKILL.md new file mode 100644 index 0000000000..670c601888 --- /dev/null +++ b/plugins/ruflo-core/skills/init-project/SKILL.md @@ -0,0 +1,9 @@ +--- +name: init-project +description: Initialize a new Ruflo project with MCP tools, hooks, and agent configuration +argument-hint: "[--preset standard|minimal|full]" +allowed-tools: Bash(npx *) Read Write Edit +--- +Run `npx @claude-flow/cli@latest init --wizard` to set up the project interactively, or `npx @claude-flow/cli@latest init --preset standard` for defaults. + +This creates CLAUDE.md, .claude/settings.json, and .claude-flow/ config with MCP server registration for the `ruflo` MCP tools. diff --git a/plugins/ruflo-core/skills/ruflo-doctor/SKILL.md b/plugins/ruflo-core/skills/ruflo-doctor/SKILL.md new file mode 100644 index 0000000000..1db4ca3ee6 --- /dev/null +++ b/plugins/ruflo-core/skills/ruflo-doctor/SKILL.md @@ -0,0 +1,14 @@ +--- +name: ruflo-doctor +description: Run health checks on the Ruflo installation and fix common issues +argument-hint: "[--fix]" +allowed-tools: Bash(npx *) +--- +Run `npx @claude-flow/cli@latest doctor --fix` to diagnose and auto-repair common issues. + +Checks: Node.js 20+, npm 9+, git, config validity, daemon status, memory database, API keys, MCP servers, disk space, TypeScript. + +Targeted fixes: +- Memory: `npx @claude-flow/cli@latest memory init --force` +- Daemon: `npx @claude-flow/cli@latest daemon start` +- Config: `npx @claude-flow/cli@latest config reset` diff --git a/plugins/ruflo-core/skills/witness/SKILL.md b/plugins/ruflo-core/skills/witness/SKILL.md new file mode 100644 index 0000000000..16d231b2cc --- /dev/null +++ b/plugins/ruflo-core/skills/witness/SKILL.md @@ -0,0 +1,102 @@ +--- +name: witness +description: Sign, verify, and track fix-marker regressions over time using a deterministic Ed25519 witness manifest. Works in any project — clone the toolkit, run init, register fixes, regen on each release. +argument-hint: "init|regen|verify|history [...]" +allowed-tools: Bash(node *), Read, Write, Edit +--- + +# Witness — cryptographic fix-regression tracking + +The witness toolkit lets you ship every release with a *signed* manifest +that lists every documented fix in your codebase along with a sha256 + +marker substring. Anyone with the same git commit can re-derive the +public key and verify the signature without a committed private key. + +A temporal history (JSONL) tracks how the fix population evolves across +releases — so when a regression appears, you can pinpoint *the commit +that introduced it*, not just "it's broken now." + +This skill works two ways: +1. **Inside ruflo** — used by ruflo's own CI to gate publishes (see + `.github/workflows/v3-ci.yml` job `witness-verify`). +2. **In your own project** — copy `plugins/ruflo-core/scripts/witness/` + into your repo, run `init.mjs`, register your fixes in + `witness-fixes.json`, and call `regen.mjs` from your release pipeline. + +## Quick start (any project) + +```bash +# One-time bootstrap — creates verification.md.json, +# verification-history.jsonl, and witness-fixes.json template +node plugins/ruflo-core/scripts/witness/init.mjs --root . + +# Edit witness-fixes.json: add { id, desc, file, marker } per fix. +# A "marker" is a distinctive substring that MUST appear in `file` +# while the fix is present. If someone reverts the fix, the marker +# disappears and `verify` reports it as `regressed`. + +# Regenerate the manifest (signs with Ed25519 from current gitCommit) +npm i @noble/ed25519 +node plugins/ruflo-core/scripts/witness/regen.mjs \ + --manifest verification.md.json \ + --history verification-history.jsonl \ + --fixes witness-fixes.json + +# Verify markers are present in the live tree +node plugins/ruflo-core/scripts/witness/verify.mjs \ + --manifest verification.md.json +``` + +## Temporal queries (ADR-103) + +```bash +# Latest snapshot vs. previous +node plugins/ruflo-core/scripts/witness/history.mjs \ + --history verification-history.jsonl summary + +# For each currently-regressed fix, find the commit that introduced it +node plugins/ruflo-core/scripts/witness/history.mjs \ + --history verification-history.jsonl regressions + +# Status timeline for a specific fix +node plugins/ruflo-core/scripts/witness/history.mjs \ + --history verification-history.jsonl timeline --id F1 + +# Machine-readable for CI +node plugins/ruflo-core/scripts/witness/history.mjs \ + --history verification-history.jsonl summary --json +``` + +`summary` exits non-zero if any fix newly regressed since the last +snapshot — drop it in CI as a soft pre-merge gate. + +## Anti-patterns + +- **Hand-editing `verification.md.json`** — always regenerate via `regen.mjs`, + otherwise the signature breaks. +- **Markers that are too generic** (`'function'`, `'import'`) — pick something + unique enough that `grep` doesn't false-positive against unrelated code. +- **Skipping the history append** — without `--history`, you lose the + ability to bisect when a regression was introduced. +- **Committing one without the other** — `verification.md.json` and + `verification-history.jsonl` belong in the same commit; the JSONL is + what lets future you verify the signed manifest is the latest in the line. + +## Files + +- `scripts/witness/lib.mjs` — shared regenerate / history logic. +- `scripts/witness/regen.mjs` — CLI: sign + append history. +- `scripts/witness/history.mjs` — CLI: query the temporal log. +- `scripts/witness/init.mjs` — CLI: bootstrap into a fresh project. +- `scripts/witness/verify.mjs` — CLI: validate signature + markers. + +## In ruflo's CI + +`v3-ci.yml` job `witness-verify` runs after the behavioral smoke tests +and before `publish`. Failure modes: + +| Failure | Cause | +|---|---| +| `signatureValid: no` | manifest hand-edited; re-run regen | +| `regressed: > 0` | a documented fix lost its marker since issuance | +| `missing: > 0` | a cited dist file no longer exists; rebuild or remove the entry | diff --git a/source-build-australia/.gitignore b/source-build-australia/.gitignore new file mode 100644 index 0000000000..5ef6a52078 --- /dev/null +++ b/source-build-australia/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/source-build-australia/.node-version b/source-build-australia/.node-version new file mode 100644 index 0000000000..209e3ef4b6 --- /dev/null +++ b/source-build-australia/.node-version @@ -0,0 +1 @@ +20 diff --git a/source-build-australia/AGENTS.md b/source-build-australia/AGENTS.md new file mode 100644 index 0000000000..8bd0e39085 --- /dev/null +++ b/source-build-australia/AGENTS.md @@ -0,0 +1,5 @@ + +# This is NOT the Next.js you know + +This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in `node_modules/next/dist/docs/` before writing any code. Heed deprecation notices. + diff --git a/source-build-australia/CLAUDE.md b/source-build-australia/CLAUDE.md new file mode 100644 index 0000000000..43c994c2d3 --- /dev/null +++ b/source-build-australia/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/source-build-australia/README.md b/source-build-australia/README.md new file mode 100644 index 0000000000..e215bc4ccf --- /dev/null +++ b/source-build-australia/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. diff --git a/source-build-australia/app/about/page.tsx b/source-build-australia/app/about/page.tsx new file mode 100644 index 0000000000..82bc9063cc --- /dev/null +++ b/source-build-australia/app/about/page.tsx @@ -0,0 +1,148 @@ +import type { Metadata } from 'next' +import Link from 'next/link' +import { Shield, Globe, Users, ArrowRight } from 'lucide-react' +import GuaranteeBadge from '@/components/GuaranteeBadge' + +export const metadata: Metadata = { + title: 'About', + description: + 'Learn about Source Build Australia — Australia\'s specialist building product supply partner sourcing direct from China.', +} + +const values = [ + { + icon: Shield, + title: 'Guarantee-First', + description: + 'Our Complete Satisfaction Supply Guarantee isn\'t marketing language — it\'s a commercial commitment that backs every proposal we make. If it\'s not right, we make it right.', + }, + { + icon: Globe, + title: 'Direct Relationships', + description: + 'We have established, direct relationships with vetted manufacturers across China. No brokers, no middlemen — which means better pricing and tighter quality control for your projects.', + }, + { + icon: Users, + title: 'Partner Mentality', + description: + 'We\'re not a catalogue. We\'re a supply partner. We invest time in understanding each project brief so we can source the right product, not just any product.', + }, +] + +export default function AboutPage() { + return ( + <> + {/* Hero */} +
+
+
+ + About Us + +

+ Australia's Specialist
Building Product Supply Partner +

+

+ Source Build Australia was built for builders, developers, and trade contractors who need a smarter, + more reliable way to procure building products — direct from source, delivered to site. +

+
+
+
+ + + + {/* Story */} +
+
+
+
+

+ Built for the Building Industry +

+
+

+ Source Build Australia was founded with a single purpose: to give Australian builders, developers, + and contractors direct access to premium building products from China — without the complexity, + unreliability, and cost that typically comes with international procurement. +

+

+ Our model is simple. You brief us on what you need. We source it from our network of vetted + Chinese manufacturers. We manage quality control, compliance, freight, and delivery. You get + the right product, on time, backed by a guarantee. +

+

+ We work across 16 product categories — from stone benchtops and aluminium windows to cabinetry, + tiles, doors, roofing, and structural products — supplying projects from single-dwelling residential + builds to large commercial and civil contracts. +

+
+
+ +
+

Our Model

+
+ {[ + { step: '01', title: 'You Brief Us', desc: 'Share your spec, quantities, and timeline.' }, + { step: '02', title: 'We Source It', desc: 'Direct from vetted Chinese manufacturers. QC included.' }, + { step: '03', title: 'We Deliver It', desc: 'To site, on time. Satisfaction guaranteed.' }, + ].map((item) => ( +
+ {item.step} +
+

{item.title}

+

{item.desc}

+
+
+ ))} +
+
+
+
+
+ + {/* Values */} +
+
+

How We Operate

+
+ {values.map((value) => ( +
+
+ +
+

{value.title}

+

{value.description}

+
+ ))} +
+
+
+ + {/* CTA */} +
+
+

Ready to work with us?

+

+ Brief us on your next project and we'll have a proposal back to you within 1 business day. +

+
+ + Get a Supply Proposal + + + View Products + +
+
+
+ + ) +} diff --git a/source-build-australia/app/contact/page.tsx b/source-build-australia/app/contact/page.tsx new file mode 100644 index 0000000000..bac52c2039 --- /dev/null +++ b/source-build-australia/app/contact/page.tsx @@ -0,0 +1,101 @@ +import type { Metadata } from 'next' +import { Phone, Mail, MapPin, Clock } from 'lucide-react' +import GuaranteeBadge from '@/components/GuaranteeBadge' +import EnquiryForm from '@/components/EnquiryForm' + +export const metadata: Metadata = { + title: 'Get a Supply Proposal', + description: + 'Brief us on what you need. Source Build Australia will respond with a supply proposal within 1 business day, backed by our Complete Satisfaction Supply Guarantee.', +} + +const contactDetails = [ + { icon: Phone, label: 'Phone', value: '[phone]' }, + { icon: Mail, label: 'Email', value: '[email]' }, + { icon: MapPin, label: 'Address', value: '[address], Australia' }, + { icon: Clock, label: 'Response time', value: 'Within 1 business day' }, +] + +export default function ContactPage() { + return ( + <> + {/* Hero */} +
+
+ + Get in Touch + +

+ Brief Us +

+

+ Tell us what you need and we'll come back with a supply proposal within 1 business day. + Every proposal is backed by our Complete Satisfaction Supply Guarantee. +

+
+
+ + + +
+
+
+ {/* Form */} +
+

Submit Your Brief

+

+ The more detail you give us, the sharper the proposal. Include specs, quantities, site location, and timeline. +

+ +
+ + {/* Contact details sidebar */} +
+
+

Contact Details

+
    + {contactDetails.map((item) => ( +
  • +
    + +
    +
    +

    {item.label}

    +

    {item.value}

    +
    +
  • + ))} +
+
+ +
+

Complete Satisfaction Supply Guarantee

+

+ Every supply proposal we make is backed by our Complete Satisfaction Supply Guarantee. + If it's not right — product, spec, timing, or delivery — we make it right. No exceptions. +

+
+ +
+

What happens next?

+
    + {[ + 'We review your brief (usually same day)', + 'We contact our manufacturing partners', + 'We send you a detailed supply proposal', + 'You approve — we get to work', + ].map((step, i) => ( +
  1. + {i + 1}. + {step} +
  2. + ))} +
+
+
+
+
+
+ + ) +} diff --git a/source-build-australia/app/favicon.ico b/source-build-australia/app/favicon.ico new file mode 100644 index 0000000000..718d6fea48 Binary files /dev/null and b/source-build-australia/app/favicon.ico differ diff --git a/source-build-australia/app/globals.css b/source-build-australia/app/globals.css new file mode 100644 index 0000000000..24bff1e00d --- /dev/null +++ b/source-build-australia/app/globals.css @@ -0,0 +1,22 @@ +@import "tailwindcss"; + +@theme inline { + --color-navy: #1B2A4A; + --color-navy-dark: #111e36; + --color-navy-light: #243660; + --color-gold: #C9A84C; + --color-gold-light: #d9bc72; + --color-gold-dark: #a8872e; + --color-offwhite: #F5F5F0; + --color-slate: #6B7280; + --color-nearblack: #1A1A1A; + --color-background: #F5F5F0; + --color-foreground: #1A1A1A; + --font-sans: var(--font-inter); +} + +body { + background: var(--color-background); + color: var(--color-foreground); + font-family: var(--font-sans), Arial, Helvetica, sans-serif; +} diff --git a/source-build-australia/app/layout.tsx b/source-build-australia/app/layout.tsx new file mode 100644 index 0000000000..47abd6553e --- /dev/null +++ b/source-build-australia/app/layout.tsx @@ -0,0 +1,55 @@ +import type { Metadata } from 'next' +import { Inter } from 'next/font/google' +import './globals.css' +import Header from '@/components/Header' +import Footer from '@/components/Footer' + +const inter = Inter({ + subsets: ['latin'], + variable: '--font-inter', + display: 'swap', +}) + +export const metadata: Metadata = { + title: { + default: 'Source Build Australia | Specialist Building Product Supply', + template: '%s | Source Build Australia', + }, + description: + 'Australia\'s specialist building product supply partner. We source premium building products direct from China and deliver them Australia-wide. You brief us, we source it, we deliver it.', + keywords: [ + 'building product supplier Australia', + 'building materials China Australia', + 'commercial building supplies', + 'residential builder supplies', + 'stone benchtops supplier', + 'aluminium windows supplier', + 'cabinetry supplier Australia', + ], + metadataBase: new URL('https://sourcebuildaustralia.com.au'), + openGraph: { + type: 'website', + locale: 'en_AU', + url: 'https://sourcebuildaustralia.com.au', + siteName: 'Source Build Australia', + title: 'Source Build Australia | Specialist Building Product Supply', + description: + 'You brief us. We source it. We deliver it. Premium building products sourced direct from China, delivered Australia-wide.', + }, +} + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode +}>) { + return ( + + +
+
{children}
+