复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
A model-agnostic agent-skills platform.
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
A model-agnostic agent-skills platform. The canonical layer is harness-free by construction; Claude Code is currently the verified-native harness. Other harnesses remain engineering candidates until their native-path integration is verified; source research alone is never presented as public support.
Version semantics: the release badge is this marketplace's display version. npm packages, including the
ccpiCLI and publishable plugins, retain their own package versions; they are intentionally not expected to equal the display version. The version-surface checker governs the display surfaces without rewriting package semver.
Inside Claude Code, one command installs the whole marketplace:
/plugin marketplace add jeremylongshore/claude-code-plugins
Or use the CLI:
pnpm add -g @intentsolutionsio/ccpi
ccpi install devops-automation-pack
Browse the marketplace · Explore plugins · Download bundles
Killer Skill of the Week — no-ai-slop by Peter Yang
Strip AI slop from any draft — named-pattern edits that keep the writer's real voice
no-ai-slop does two jobs and refuses to fake a third. In Edit mode it makes the minimum effective edit — cutting throat-clearing, weak verbs, and abstract nouns while deliberately preserving the writer's cadence, bluntness, humor, and honest admissions, so a rough draft still sounds like the same person afterward. In Detect mode it names each AI-slop pattern it finds, quotes the offending line, and gives the fix in a few words — and pointedly does NOT score the draft or guess whether an AI wrote it. That restraint is the whole point: AI detectors guess; named patterns are evidence the reader can check. MIT-licensed, single focused skill, actively maintained by Peter Yang.
"AI detectors guess. Named patterns are evidence the user can check." — Peter Yang
Grade: A | Week of July 22, 2026 (W30) | View on GitHub
Previous picks: tonone, mnemos, databricks-pack, kobiton-automate, code-cleanup, web-analytics, token-optimizer, executive-assistant-skills, skill-creator, cursor-pack, crypto-portfolio-tracker. See all at tonsofskills.com.
Every number below names the cohort it counts and the command that reproduces it — an unlabeled count is how a corpus ends up with five contradictory answers to "how many skills."
| Count | Cohort | Reproduce with |
|---|---|---|
| 440 | catalog plugins (catalog-entry cohort) | node scripts/generate-readme-toc.mjs over marketplace.extended.json |
| 2,984 | marketplace-visible skills (distinct) | node -e "import('./scripts/corpus-resolver.mjs').then(m=>console.log(m.resolveCorpus('marketplace-visible').length))" |
| 347 | agent definitions in plugins | git ls-files 'plugins/**' | grep '/agents/.*\.md' |
| 19 | plugin categories | ls -d plugins/*/ |
Across 396 published packages in the claude-code-plugins namespace. Updated daily by GitHub Actions.
| Window | All packages | Established (>30d) |
|---|---|---|
| Last 24 hours | 962 | 962 |
| Last 7 days | 2,920 | 2,916 |
| Last 30 days | 12,868 | 12,779 |
"Established" excludes packages first published within the last 30 days, so a bulk-publish event doesn't dominate the headline.
Top 10 by last 30 days:
Last refreshed 2026-08-19T03:03:05.709Z.
Five real questions, five doors — each resolves to a live, generated surface, never a hand-maintained list:
The 19 categories below link into the live marketplace. Plugin counts are the catalog-entry cohort — regenerated from marketplace.extended.json by this generator; the catalog itself lives on tonsofskills.com, never in this file (§ 6A of the platform blueprint).
| Category | Plugins | |
|---|---|---|
| 🤖 | AI & Machine Learning | 37 |
| 🎭 | AI Agents & Agency | 9 |
| 🔌 | API Development | 26 |
| 💼 | Business Tools | 6 |
| 👥 | Community | 20 |
| ₿ | Crypto & Web3 | 27 |
| 💾 | Database | 26 |
| 🎨 | Design | 2 |
| 🔧 | DevOps & Infrastructure | 36 |
| 📚 | Examples & Templates | 5 |
| 🧩 | MCP Servers | 17 |
| 📦 | Packages | 5 |
| ⚡ | Performance | 25 |
| ✅ | Productivity | 29 |
| 🎁 | SaaS Skill Packs | 105 |
| 🔐 | Security | 27 |
| ✨ | Skill Enhancers | 9 |
| 🧪 | Testing | 28 |
| 📁 | Analytics | 1 |
Four artifact classes live in this repository, distinguished on sight and never blurred — provenance is a truth requirement here, not a UX nicety:
| Class | What it is | How the reader can tell |
|---|---|---|
| Canonical skill | First-party, harness-free, the source of truth | No .source.json in its plugin directory |
| Generated adapter | A thin, machine-produced harness projection | Lives under a generated path with a "generated — do not edit" header |
| First-party package | An Intent Solutions distribution (npm, cowork zip) | @intentsolutionsio scope, IS-authored license |
| Upstream mirror | Somebody else's work, hosted mirror-by-default | .source.json present — upstream author, license, and pinned commit recorded |
Not yet certified. The certification program (tiers T0–T4 with retained, hash-matched evidence) is a later epic of the platform blueprint; until its report exists, no artifact on this surface claims a tier. This line is rendered from the absence of certification-report.json — honestly, not cosmetically.
Start with the contribution guide, then the intake and review standards every submission passes through:
External plugins are hosted mirror-by-default: the contributor's repository stays the source of truth, every mirrored source is pinned in a content lockfile, and upstream credit — author, license, resolved commit — is recorded in the mirror itself. Improvements flow by upstreaming to the author's repository, never by silently editing the mirror. The full decision record is the external-sync model.
MIT for the repository scaffolding and first-party tooling; each plugin carries its own license in its manifest, and mirrored plugins keep their upstream license verbatim.
name: canva-incident-runbook
description: 'Execute Canva Connect API incident response with triage, mitigation,
and postmortem.
Use when responding to Canva-related outages, investigating API errors,
or running post-incident reviews for Canva integration failures.
Trigger with phrases like "canva incident", "canva outage",
"canva down", "canva on-call", "canva emergency", "canva broken".
'
allowed-tools: Read, Grep, Bash(kubectl:*), Bash(curl:*)
version: 1.5.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- design
- canva
compatibility: Designed for Claude CodeRapid incident response for Canva Connect API integration failures. Covers triage, mitigation, escalation, and postmortem.
#!/bin/bash
# canva-triage.sh — Run immediately when incident detected
echo "=== Canva Triage ==="
# 1. Is it Canva or us?
echo -n "Canva API: "
curl -s -o /dev/null -w "HTTP %{http_code} (%{time_total}s)\n" \
-H "Authorization: Bearer $CANVA_ACCESS_TOKEN" \
"https://api.canva.com/rest/v1/users/me"
# 2. Check our health endpoint
echo -n "Our health: "
curl -s -o /dev/null -w "HTTP %{http_code}\n" \
"https://api.ourapp.com/health"
# 3. Error rate (if Prometheus available)
echo "Error rate (5min):"
curl -s "localhost:9090/api/v1/query?query=rate(canva_api_errors_total[5m])" \
| python3 -c "import sys,json; d=json.load(sys.stdin); print(d['data']['result'])" 2>/dev/null \
|| echo "Prometheus not available"
# 4. Rate limit status
echo -n "Rate limit remaining: "
curl -sD - -o /dev/null -H "Authorization: Bearer $CANVA_ACCESS_TOKEN" \
"https://api.canva.com/rest/v1/designs?limit=1" 2>&1 \
| grep -i "x-ratelimit-remaining" || echo "unknown"
API returning errors?
├── YES → What HTTP status?
│ ├── 401 → Token expired → Refresh token, check rotation
│ ├── 403 → Scope issue → Verify integration permissions
│ ├── 429 → Rate limited → Enable backoff, check Retry-After
│ ├── 5xx → Canva outage → Enable fallback, monitor status page
│ └── Other → Check request format against API docs
└── NO → Is our integration healthy?
├── YES → Likely resolved or intermittent → Monitor
└── NO → Check our infra (pods, memory, DNS, TLS)
| Level | Definition | Response Time | Example |
|---|---|---|---|
| P1 | All design operations broken | < 15 min | All API calls returning 5xx |
| P2 | Degraded — some operations fail | < 1 hour | Exports failing, designs work |
| P3 | Minor — non-critical feature down | < 4 hours | Webhooks delayed |
| P4 | No user impact | Next business day | Monitoring gap |
# Check if token is valid
curl -s -H "Authorization: Bearer $TOKEN" \
https://api.canva.com/rest/v1/users/me | python3 -m json.tool
# If expired: refresh all affected users' tokens
# If revoked: users must re-authorize via OAuth flow
# Check how long to wait
curl -sD - -o /dev/null -H "Authorization: Bearer $TOKEN" \
"https://api.canva.com/rest/v1/designs" 2>&1 \
| grep -i "retry-after"
# Immediate: reduce request rate
# Enable queue-based rate limiting
# Check Canva status page (no official status.canva.com for API)
# Check Canva developer community for reported outages
# Enable graceful degradation
# Return cached data where possible
# Show "Design features temporarily unavailable" to users
P[1-4] INCIDENT: Canva Integration
Status: INVESTIGATING | MITIGATING | RESOLVED
Impact: [Describe user impact]
API Response: HTTP [status code]
Current action: [What you're doing]
Next update: [Time]
IC: @[name]
Canva Design Features — Degraded Performance
We are experiencing issues with our design integration.
Users may see delays or errors when creating/exporting designs.
We are actively working with our design platform provider to resolve this.
Last updated: [ISO 8601 timestamp]
# Collect logs for the incident window
kubectl logs -l app=canva-integration --since=2h > incident-canva-logs.txt
# Export metrics
curl "localhost:9090/api/v1/query_range?query=canva_api_errors_total&start=$(date -d '2 hours ago' +%s)&end=$(date +%s)&step=60" > metrics.json
## Incident: Canva API [Error Type]
**Date:** YYYY-MM-DD HH:MM UTC
**Duration:** X hours Y minutes
**Severity:** P[1-4]
### Summary
[1-2 sentence description]
### Timeline (UTC)
- HH:MM — [First alert / error detected]
- HH:MM — [Investigation started]
- HH:MM — [Root cause identified]
- HH:MM — [Mitigation applied]
- HH:MM — [Confirmed resolved]
### Root Cause
[Was it Canva-side or our integration? Token issue? Rate limit? Code bug?]
### Impact
- Users affected: N
- Failed operations: N designs / N exports
### Action Items
- [ ] [Preventive measure] — Owner — Due date
The runbook produces a redacted incident record with severity, scope label, failure category, affected operation count, mitigation, reconciliation state, and owner decision. It excludes OAuth secrets, design content, asset URLs, and user data.
For a spike in token-refresh failures, pause export creation, report only aggregate 401 counts and opaque request IDs, and route users through the approved reauthorization flow. Do not retry a revoked token, expose it while triaging, or treat a failed health query as permission to bypass scope checks.
| Issue | Cause | Solution |
|---|---|---|
| Can't determine if Canva is down | No status page API | Test with known-good token |
| Token refresh fails | Revoked integration | Re-authorize user |
| All users affected | Integration-level issue | Check client credentials |
| Single user affected | User-level token issue | Refresh that user's token |
For data handling, see canva-data-handling.
评论 (0)
暂无评论,成为第一个评论者吧!