fix: add YAML frontmatter (name + description) to all SKILL.md files

- Added frontmatter to 34 skills that were missing it entirely (0% Tessl score)
- Fixed name field format to kebab-case across all 169 skills
- Resolves #284
This commit is contained in:
Reza Rezvani
2026-03-06 20:35:35 +01:00
parent 29af0a9ae3
commit 3622efedc0
169 changed files with 396 additions and 226 deletions

View File

@@ -1,3 +1,8 @@
---
name: "contract-and-proposal-writer"
description: "Contract & Proposal Writer"
---
# Contract & Proposal Writer
**Tier:** POWERFUL

View File

@@ -1,5 +1,5 @@
---
name: customer-success-manager
name: "customer-success-manager"
description: Monitors customer health, predicts churn risk, and identifies expansion opportunities using weighted scoring models for SaaS customer success
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: revenue-operations
name: "revenue-operations"
description: Analyzes pipeline coverage, tracks forecast accuracy with MAPE, and calculates GTM efficiency metrics for SaaS revenue optimization
---

View File

@@ -1,5 +1,5 @@
---
name: sales-engineer
name: "sales-engineer"
description: Analyzes RFP responses for coverage gaps, builds competitive feature matrices, and plans proof-of-concept engagements for pre-sales engineering
---

View File

@@ -1,5 +1,5 @@
---
name: c-level-advisor
name: "c-level-advisor"
description: "Complete virtual board of directors — 28 skills covering 10 C-level roles, orchestration, cross-cutting capabilities, and culture frameworks. Features internal quality loop, two-layer memory, board meeting protocol with Phase 2 isolation, proactive triggers, and structured communication standard."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: agent-protocol
name: "agent-protocol"
description: "Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, and response formats. Use when C-suite agents need to query each other, coordinate cross-functional analysis, or run board meetings with multiple agent roles."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: board-deck-builder
name: "board-deck-builder"
description: "Assembles comprehensive board and investor update decks by pulling perspectives from all C-suite roles. Use when preparing board meetings, investor updates, quarterly business reviews, or fundraising narratives. Covers structure, narrative framework, bad news delivery, and common mistakes."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: board-meeting
name: "board-meeting"
description: "Multi-agent board meeting protocol for strategic decisions. Runs a structured 6-phase deliberation: context loading, independent C-suite contributions (isolated, no cross-pollination), critic analysis, synthesis, founder review, and decision extraction. Use when the user invokes /cs:board, calls a board meeting, or wants structured multi-perspective executive deliberation on a strategic question."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: ceo-advisor
name: "ceo-advisor"
description: "Executive leadership guidance for strategic decision-making, organizational development, and stakeholder management. Use when planning strategy, preparing board presentations, managing investors, developing organizational culture, making executive decisions, fundraising, or when user mentions CEO, strategic planning, board meetings, investor updates, organizational leadership, or executive strategy."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: cfo-advisor
name: "cfo-advisor"
description: "Financial leadership for startups and scaling companies. Financial modeling, unit economics, fundraising strategy, cash management, and board financial packages. Use when building financial models, analyzing unit economics, planning fundraising, managing cash runway, preparing board materials, or when user mentions CFO, burn rate, runway, fundraising, unit economics, LTV, CAC, term sheets, or financial strategy."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: change-management
name: "change-management"
description: "Framework for rolling out organizational changes without chaos. Covers the ADKAR model adapted for startups, communication templates, resistance patterns, and change fatigue management. Handles process changes, org restructures, strategy pivots, and culture changes. Use when announcing a reorg, switching tools, pivoting strategy, killing a product, changing leadership, or when user mentions change management, change rollout, managing resistance, org change, reorg, or pivot communication."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: chief-of-staff
name: "chief-of-staff"
description: "C-suite orchestration layer. Routes founder questions to the right advisor role(s), triggers multi-role board meetings for complex decisions, synthesizes outputs, and tracks decisions. Every C-suite interaction starts here. Loads company context automatically."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: chro-advisor
name: "chro-advisor"
description: "People leadership for scaling companies. Hiring strategy, compensation design, org structure, culture, and retention. Use when building hiring plans, designing comp frameworks, restructuring teams, managing performance, building culture, or when user mentions CHRO, HR, people strategy, talent, headcount, compensation, org design, retention, or performance management."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: ciso-advisor
name: "ciso-advisor"
description: "Security leadership for growth-stage companies. Risk quantification in dollars, compliance roadmap (SOC 2/ISO 27001/HIPAA/GDPR), security architecture strategy, incident response leadership, and board-level security reporting. Use when building security programs, justifying security budget, selecting compliance frameworks, managing incidents, assessing vendor risk, or when user mentions CISO, security strategy, compliance roadmap, zero trust, or board security reporting."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: cmo-advisor
name: "cmo-advisor"
description: "Marketing leadership for scaling companies. Brand positioning, growth model design, marketing budget allocation, and marketing org design. Use when designing brand strategy, selecting growth models (PLG vs sales-led vs community-led), allocating marketing budgets, building marketing teams, or when user mentions CMO, brand strategy, growth model, CAC, LTV, channel mix, or marketing ROI."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: company-os
name: "company-os"
description: "The meta-framework for how a company runs — the connective tissue between all C-suite roles. Covers operating system selection (EOS, Scaling Up, OKR-native, hybrid), accountability charts, scorecards, meeting pulse, issue resolution, and 90-day rocks. Use when setting up company operations, selecting a management framework, designing meeting rhythms, building accountability systems, implementing OKRs, or when user mentions EOS, Scaling Up, operating system, L10 meetings, rocks, scorecard, accountability chart, or quarterly planning."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: competitive-intel
name: "competitive-intel"
description: "Systematic competitor tracking that feeds CMO positioning, CRO battlecards, and CPO roadmap decisions. Use when analyzing competitors, building sales battlecards, tracking market moves, positioning against alternatives, or when user mentions competitive intelligence, competitive analysis, competitor research, battlecards, win/loss, or market positioning."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: context-engine
name: "context-engine"
description: "Loads and manages company context for all C-suite advisor skills. Reads ~/.claude/company-context.md, detects stale context (>90 days), enriches context during conversations, and enforces privacy/anonymization rules before external API calls."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: coo-advisor
name: "coo-advisor"
description: "Operations leadership for scaling companies. Process design, OKR execution, operational cadence, and scaling playbooks. Use when designing operations, setting up OKRs, building processes, scaling teams, analyzing bottlenecks, planning operational cadence, or when user mentions COO, operations, process improvement, OKRs, scaling, operational efficiency, or execution."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: cpo-advisor
name: "cpo-advisor"
description: "Product leadership for scaling companies. Product vision, portfolio strategy, product-market fit, and product org design. Use when setting product vision, managing a product portfolio, measuring PMF, designing product teams, prioritizing at the portfolio level, reporting to the board on product, or when user mentions CPO, product strategy, product-market fit, product organization, portfolio prioritization, or roadmap strategy."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: cro-advisor
name: "cro-advisor"
description: "Revenue leadership for B2B SaaS companies. Revenue forecasting, sales model design, pricing strategy, net revenue retention, and sales team scaling. Use when designing the revenue engine, setting quotas, modeling NRR, evaluating pricing, building board forecasts, or when user mentions CRO, chief revenue officer, revenue strategy, sales model, ARR growth, NRR, expansion revenue, churn, pricing strategy, or sales capacity."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: cs-onboard
name: "cs-onboard"
description: "Founder onboarding interview that captures company context across 7 dimensions. Invoke with /cs:setup for initial interview or /cs:update for quarterly refresh. Generates ~/.claude/company-context.md used by all C-suite advisor skills."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: cto-advisor
name: "cto-advisor"
description: "Technical leadership guidance for engineering teams, architecture decisions, and technology strategy. Use when assessing technical debt, scaling engineering teams, evaluating technologies, making architecture decisions, establishing engineering metrics, or when user mentions CTO, tech debt, technical debt, team scaling, architecture decisions, technology evaluation, engineering metrics, DORA metrics, or technology strategy."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: culture-architect
name: "culture-architect"
description: "Build, measure, and evolve company culture as operational behavior — not wall posters. Covers mission/vision/values workshops, values-to-behaviors translation, culture code creation, culture health assessment, and cultural rituals by stage. Use when building company values, assessing culture health, designing cultural rituals, creating culture codes, handling culture clashes, or when user mentions culture, values, culture debt, founder culture, or culture code."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: decision-logger
name: "decision-logger"
description: "Two-layer memory architecture for board meeting decisions. Manages raw transcripts (Layer 1) and approved decisions (Layer 2). Use when logging decisions after a board meeting, reviewing past decisions with /cs:decisions, or checking overdue action items with /cs:review. Invoked automatically by the board-meeting skill after Phase 5 founder approval."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: executive-mentor
name: "executive-mentor"
description: "Adversarial thinking partner for founders and executives. Stress-tests plans, prepares for brutal board meetings, dissects decisions with no good options, and forces honest post-mortems. Use when you need someone to find the holes before the board does, make a decision you've been avoiding, or understand what actually went wrong."
license: MIT
metadata:

View File

@@ -1,3 +1,8 @@
---
name: "board-prep"
description: "/em -board-prep — Board Meeting Preparation"
---
# /em:board-prep — Board Meeting Preparation
**Command:** `/em:board-prep <agenda>`

View File

@@ -1,3 +1,8 @@
---
name: "challenge"
description: "/em -challenge — Pre-Mortem Plan Analysis"
---
# /em:challenge — Pre-Mortem Plan Analysis
**Command:** `/em:challenge <plan>`

View File

@@ -1,3 +1,8 @@
---
name: "hard-call"
description: "/em -hard-call — Framework for Decisions With No Good Options"
---
# /em:hard-call — Framework for Decisions With No Good Options
**Command:** `/em:hard-call <decision>`

View File

@@ -1,3 +1,8 @@
---
name: "postmortem"
description: "/em -postmortem — Honest Analysis of What Went Wrong"
---
# /em:postmortem — Honest Analysis of What Went Wrong
**Command:** `/em:postmortem <event>`

View File

@@ -1,3 +1,8 @@
---
name: "stress-test"
description: "/em -stress-test — Business Assumption Stress Testing"
---
# /em:stress-test — Business Assumption Stress Testing
**Command:** `/em:stress-test <assumption>`

View File

@@ -1,5 +1,5 @@
---
name: founder-coach
name: "founder-coach"
description: "Personal leadership development for founders and first-time CEOs. Covers founder archetype identification, delegation frameworks, energy management, CEO calendar audits, leadership style evolution, blind spot identification, imposter syndrome, founder mental health, and succession planning. Use when a founder feels like the bottleneck, struggles to delegate, is burning out, transitioning from IC to executive, managing a board, or when user mentions founder mode, CEO growth, leadership development, delegation, burnout, or imposter syndrome."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: internal-narrative
name: "internal-narrative"
description: "Build and maintain one coherent company story across all audiences — employees, investors, customers, candidates, and partners. Detects narrative contradictions and ensures the same truth is framed for each audience's needs. Use when preparing investor updates, all-hands presentations, board communications, recruiting narratives, crisis communications, or when user mentions company narrative, messaging consistency, storytelling, all-hands, investor update, or crisis communication."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: intl-expansion
name: "intl-expansion"
description: "International market expansion strategy. Market selection, entry modes, localization, regulatory compliance, and go-to-market by region. Use when expanding to new countries, evaluating international markets, planning localization, or building regional teams."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: ma-playbook
name: "ma-playbook"
description: "M&A strategy for acquiring companies or being acquired. Due diligence, valuation, integration, and deal structure. Use when evaluating acquisitions, preparing for acquisition, M&A due diligence, integration planning, or deal negotiation."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: org-health-diagnostic
name: "org-health-diagnostic"
description: "Cross-functional organizational health check combining signals from all C-suite roles. Scores 8 dimensions on a traffic-light scale with drill-down recommendations. Use when assessing overall company health, preparing for board reviews, identifying at-risk functions, or when user mentions org health, health check, or health dashboard."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: scenario-war-room
name: "scenario-war-room"
description: "Cross-functional what-if modeling for cascading multi-variable scenarios. Unlike single-assumption stress testing, this models compound adversity across all business functions simultaneously. Use when facing complex risk scenarios, strategic decisions with major downside, or when the user asks 'what if X AND Y both happen?'"
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: strategic-alignment
name: "strategic-alignment"
description: "Cascades strategy from boardroom to individual contributor. Detects and fixes misalignment between company goals and team execution. Covers strategy articulation, cascade mapping, orphan goal detection, silo identification, communication gap analysis, and realignment protocols. Use when teams are pulling in different directions, OKRs don't connect, departments optimize locally at company expense, or when user mentions alignment, strategy cascade, silo, conflicting OKRs, or strategy communication."
license: MIT
metadata:

View File

@@ -1,5 +1,5 @@
---
name: aws-solution-architect
name: "aws-solution-architect"
description: Design AWS architectures for startups using serverless patterns and IaC templates. Use when asked to design serverless architecture, create CloudFormation templates, optimize AWS costs, set up CI/CD pipelines, or migrate to AWS. Covers Lambda, API Gateway, DynamoDB, ECS, Aurora, and cost optimization.
---

View File

@@ -1,5 +1,5 @@
---
name: code-reviewer
name: "code-reviewer"
description: Code review automation for TypeScript, JavaScript, Python, Go, Swift, Kotlin. Analyzes PRs for complexity and risk, checks code quality for SOLID violations and code smells, generates review reports. Use when reviewing pull requests, analyzing code quality, identifying issues, generating review checklists.
---

View File

@@ -1,3 +1,8 @@
---
name: "email-template-builder"
description: "Email Template Builder"
---
# Email Template Builder
**Tier:** POWERFUL
@@ -157,7 +162,7 @@ import { Button, Heading, Text } from "@react-email/components"
import { EmailLayout } from "../components/layout/email-layout"
interface WelcomeEmailProps {
name: string
name: "string"
confirmUrl: string
trialDays?: number
}
@@ -216,7 +221,7 @@ import { EmailLayout } from "../components/layout/email-layout"
interface InvoiceItem { description: string; amount: number }
interface InvoiceEmailProps {
name: string
name: "string"
invoiceNumber: string
invoiceDate: string
dueDate: string
@@ -323,7 +328,7 @@ export async function sendEmail(to: string, payload: EmailPayload) {
to,
subject: template.subject,
html: trackedHtml,
tags: [{ name: "email_type", value: payload.type }],
tags: [{ name: "email-type", value: payload.type }],
})
return result
@@ -356,8 +361,8 @@ export async function sendEmail(to: string, payload: EmailPayload) {
// emails/i18n/en.ts
export const en = {
welcome: {
preview: (name: string) => `Welcome to MyApp, ${name}!`,
heading: (name: string) => `Welcome to MyApp, ${name}!`,
preview: (name: "string-welcome-to-myapp-name"
heading: (name: "string-welcome-to-myapp-name"
body: (days: number) => `You've got ${days} days to explore everything.`,
cta: "Confirm Email Address",
},
@@ -366,8 +371,8 @@ export const en = {
// emails/i18n/de.ts
export const de = {
welcome: {
preview: (name: string) => `Willkommen bei MyApp, ${name}!`,
heading: (name: string) => `Willkommen bei MyApp, ${name}!`,
preview: (name: "string-willkommen-bei-myapp-name"
heading: (name: "string-willkommen-bei-myapp-name"
body: (days: number) => `Du hast ${days} Tage Zeit, alles zu erkunden.`,
cta: "E-Mail-Adresse bestätigen",
},

View File

@@ -1,3 +1,8 @@
---
name: "incident-commander"
description: "Incident Commander Skill"
---
# Incident Commander Skill
**Category:** Engineering Team

View File

@@ -1,5 +1,5 @@
---
name: ms365-tenant-manager
name: "ms365-tenant-manager"
description: Microsoft 365 tenant administration for Global Administrators. Automate M365 tenant setup, Office 365 admin tasks, Azure AD user management, Exchange Online configuration, Teams administration, and security policies. Generate PowerShell scripts for bulk operations, Conditional Access policies, license management, and compliance reporting. Use for M365 tenant manager, Office 365 admin, Azure AD users, Global Administrator, tenant configuration, or Microsoft 365 automation.
---

View File

@@ -1,5 +1,5 @@
---
name: playwright-pro
name: "playwright-pro"
description: "Production-grade Playwright testing toolkit. Generate tests, fix flaky failures, migrate from Cypress/Selenium, sync with TestRail, run on BrowserStack. 55 templates, 3 agents, smart reporting."
---

View File

@@ -1,5 +1,5 @@
---
name: browserstack
name: "browserstack"
description: >-
Run tests on BrowserStack. Use when user mentions "browserstack",
"cross-browser", "cloud testing", "browser matrix", "test on safari",
@@ -40,7 +40,7 @@ export default defineConfig({
// ... existing config
projects: isBS ? [
{
name: 'chrome@latest:Windows 11',
name: "chromelatestwindows-11",
use: {
connectOptions: {
wsEndpoint: `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(JSON.stringify({
@@ -55,7 +55,7 @@ export default defineConfig({
},
},
{
name: 'firefox@latest:Windows 11',
name: "firefoxlatestwindows-11",
use: {
connectOptions: {
wsEndpoint: `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(JSON.stringify({
@@ -70,7 +70,7 @@ export default defineConfig({
},
},
{
name: 'webkit@latest:OS X Ventura',
name: "webkitlatestos-x-ventura",
use: {
connectOptions: {
wsEndpoint: `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(JSON.stringify({

View File

@@ -1,5 +1,5 @@
---
name: coverage
name: "coverage"
description: >-
Analyze test coverage gaps. Use when user says "test coverage",
"what's not tested", "coverage gaps", "missing tests", "coverage report",

View File

@@ -1,5 +1,5 @@
---
name: fix
name: "fix"
description: >-
Fix failing or flaky Playwright tests. Use when user says "fix test",
"flaky test", "test failing", "debug test", "test broken", "test passes
@@ -14,7 +14,7 @@ Diagnose and fix a Playwright test that fails or passes intermittently using a s
`$ARGUMENTS` contains:
- A test file path: `e2e/login.spec.ts`
- A test name: `"should redirect after login"`
- A test name: ""should redirect after login"`
- A description: `"the checkout test fails in CI but passes locally"`
## Steps

View File

@@ -1,5 +1,5 @@
---
name: generate
name: "generate"
description: >-
Generate Playwright tests. Use when user says "write tests", "generate tests",
"add tests for", "test this component", "e2e test", "create test for",

View File

@@ -1,5 +1,5 @@
---
name: init
name: "init"
description: >-
Set up Playwright in a project. Use when user says "set up playwright",
"add e2e tests", "configure playwright", "testing setup", "init playwright",
@@ -61,9 +61,9 @@ export default defineConfig({
screenshot: 'only-on-failure',
},
projects: [
{ name: 'chromium', use: { ...devices['Desktop Chrome'] } },
{ name: 'firefox', use: { ...devices['Desktop Firefox'] } },
{ name: 'webkit', use: { ...devices['Desktop Safari'] } },
{ name: "chromium", use: { ...devices['Desktop Chrome'] } },
{ name: "firefox", use: { ...devices['Desktop Firefox'] } },
{ name: "webkit", use: { ...devices['Desktop Safari'] } },
],
webServer: {
command: 'npm run dev',
@@ -125,7 +125,7 @@ test.describe('Homepage', () => {
If `.github/workflows/` exists, create `playwright.yml`:
```yaml
name: Playwright Tests
name: "playwright-tests"
on:
push:
@@ -142,16 +142,16 @@ jobs:
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies
- name: "install-dependencies"
run: npm ci
- name: Install Playwright Browsers
- name: "install-playwright-browsers"
run: npx playwright install --with-deps
- name: Run Playwright tests
- name: "run-playwright-tests"
run: npx playwright test
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
name: "playwright-report"
path: playwright-report/
retention-days: 30
```

View File

@@ -1,5 +1,5 @@
---
name: migrate
name: "migrate"
description: >-
Migrate from Cypress or Selenium to Playwright. Use when user mentions
"cypress", "selenium", "migrate tests", "convert tests", "switch to

View File

@@ -1,5 +1,5 @@
---
name: report
name: "report"
description: >-
Generate test report. Use when user says "test report", "results summary",
"test status", "show results", "test dashboard", or "how did tests go".

View File

@@ -1,5 +1,5 @@
---
name: review
name: "review"
description: >-
Review Playwright tests for quality. Use when user says "review tests",
"check test quality", "audit tests", "improve tests", "test code review",
@@ -72,7 +72,7 @@ For each file:
### Critical
- Line 15: `waitForTimeout(2000)` → use `expect(locator).toBeVisible()`
- Line 28: CSS selector `.btn-submit` → `getByRole('button', { name: 'Submit' })`
- Line 28: CSS selector `.btn-submit` → `getByRole('button', { name: "submit" })`
### Warning
- Line 42: Test name "test login" → "should redirect to dashboard after login"

View File

@@ -1,5 +1,5 @@
---
name: testrail
name: "testrail"
description: >-
Sync tests with TestRail. Use when user mentions "testrail", "test management",
"test cases", "test run", "sync test cases", "push results to testrail",

View File

@@ -1,5 +1,5 @@
---
name: self-improving-agent
name: "self-improving-agent"
description: "Curate Claude Code's auto-memory into durable project knowledge. Analyze MEMORY.md for patterns, promote proven learnings to CLAUDE.md and .claude/rules/, extract recurring solutions into reusable skills. Use when: (1) reviewing what Claude has learned about your project, (2) graduating a pattern from notes to enforced rules, (3) turning a debugging solution into a skill, (4) checking memory health and capacity."
---

View File

@@ -1,5 +1,5 @@
---
name: extract
name: "extract"
description: "Turn a proven pattern or debugging solution into a standalone reusable skill with SKILL.md, reference docs, and examples."
command: /si:extract
---
@@ -75,7 +75,7 @@ The generated SKILL.md must follow this format:
```markdown
---
name: <skill-name>
name: "skill-name"
description: "<one-line description>. Use when: <trigger conditions>."
---

View File

@@ -1,5 +1,5 @@
---
name: promote
name: "promote"
description: "Graduate a proven pattern from auto-memory (MEMORY.md) to CLAUDE.md or .claude/rules/ for permanent enforcement."
command: /si:promote
---

View File

@@ -1,5 +1,5 @@
---
name: remember
name: "remember"
description: "Explicitly save important knowledge to auto-memory with timestamp and context. Use when a discovery is too important to rely on auto-capture."
command: /si:remember
---

View File

@@ -1,5 +1,5 @@
---
name: review
name: "review"
description: "Analyze auto-memory for promotion candidates, stale entries, consolidation opportunities, and health metrics."
command: /si:review
---

View File

@@ -1,5 +1,5 @@
---
name: status
name: "status"
description: "Memory health dashboard showing line counts, topic files, capacity, stale entries, and recommendations."
command: /si:status
---

View File

@@ -1,5 +1,5 @@
---
name: senior-architect
name: "senior-architect"
description: This skill should be used when the user asks to "design system architecture", "evaluate microservices vs monolith", "create architecture diagrams", "analyze dependencies", "choose a database", "plan for scalability", "make technical decisions", or "review system design". Use for architecture decision records (ADRs), tech stack evaluation, system design reviews, dependency analysis, and generating architecture diagrams in Mermaid, PlantUML, or ASCII format.
---

View File

@@ -1,5 +1,5 @@
---
name: senior-backend
name: "senior-backend"
description: This skill should be used when the user asks to "design REST APIs", "optimize database queries", "implement authentication", "build microservices", "review backend code", "set up GraphQL", "handle database migrations", or "load test APIs". Use for Node.js/Express/Fastify development, PostgreSQL optimization, API security, and backend architecture patterns.
---
@@ -192,7 +192,7 @@ paths:
get:
summary: List users
parameters:
- name: limit
- name: "limit"
in: query
schema:
type: integer
@@ -319,7 +319,7 @@ import { z } from 'zod';
const CreateUserSchema = z.object({
email: z.string().email().max(255),
name: z.string().min(1).max(100),
name: "zstringmin1max100"
age: z.number().int().positive().optional()
});

View File

@@ -1,5 +1,5 @@
---
name: senior-computer-vision
name: "senior-computer-vision"
description: Computer vision engineering skill for object detection, image segmentation, and visual AI systems. Covers CNN and Vision Transformer architectures, YOLO/Faster R-CNN/DETR detection, Mask R-CNN/SAM segmentation, and production deployment with ONNX/TensorRT. Includes PyTorch, torchvision, Ultralytics, Detectron2, and MMDetection frameworks. Use when building detection pipelines, training custom models, optimizing inference, or deploying vision systems.
---

View File

@@ -1,5 +1,5 @@
---
name: senior-data-engineer
name: "senior-data-engineer"
description: Data engineering skill for building scalable data pipelines, ETL/ELT systems, and data infrastructure. Expertise in Python, SQL, Spark, Airflow, dbt, Kafka, and modern data stack. Includes data modeling, pipeline orchestration, data quality, and DataOps. Use when designing data architectures, building data pipelines, optimizing data workflows, implementing data governance, or troubleshooting data issues.
---
@@ -173,20 +173,20 @@ WHERE o._extracted_at > (SELECT MAX(_extracted_at) FROM {{ this }})
version: 2
models:
- name: fct_orders
- name: "fct-orders"
description: "Order fact table"
columns:
- name: order_id
- name: "order-id"
tests:
- unique
- not_null
- name: total_amount
- name: "total-amount"
tests:
- not_null
- dbt_utils.accepted_range:
min_value: 0
max_value: 1000000
- name: order_date
- name: "order-date"
tests:
- not_null
- dbt_utils.recency:
@@ -544,7 +544,7 @@ validator.save_expectation_suite(discard_failed_expectations=False)
version: 2
models:
- name: fct_orders
- name: "fct-orders"
description: "Order fact table with data quality checks"
tests:
@@ -559,7 +559,7 @@ models:
interval: 24
columns:
- name: order_id
- name: "order-id"
description: "Unique order identifier"
tests:
- unique
@@ -568,7 +568,7 @@ models:
to: ref('dim_orders')
field: order_id
- name: total_amount
- name: "total-amount"
tests:
- not_null
- dbt_utils.accepted_range:
@@ -579,7 +579,7 @@ models:
min_value: 0
row_condition: "status != 'cancelled'"
- name: customer_id
- name: "customer-id"
tests:
- not_null
- relationships:
@@ -593,7 +593,7 @@ models:
```yaml
# contracts/orders_contract.yaml
contract:
name: orders_data_contract
name: "orders-data-contract"
version: "1.0.0"
owner: data-team@company.com
@@ -628,9 +628,9 @@ sla:
duplicate_tolerance: 0.01
consumers:
- name: analytics-team
- name: "analytics-team"
usage: "Daily reporting dashboards"
- name: ml-team
- name: "ml-team"
usage: "Churn prediction model"
```
@@ -641,7 +641,7 @@ consumers:
from datetime import datetime, timedelta
import pandas as pd
def generate_quality_report(connection, table_name: str) -> dict:
def generate_quality_report(connection, table_name: "str-dict"
"""Generate comprehensive data quality report."""
report = {
@@ -914,7 +914,7 @@ Last update: 3 days ago
```yaml
# dbt freshness check
sources:
- name: raw
- name: "raw"
freshness:
warn_after: {count: 12, period: hour}
error_after: {count: 24, period: hour}

View File

@@ -1,5 +1,5 @@
---
name: senior-data-scientist
name: "senior-data-scientist"
description: World-class data science skill for statistical modeling, experimentation, causal inference, and advanced analytics. Expertise in Python (NumPy, Pandas, Scikit-learn), R, SQL, statistical methods, A/B testing, time series, and business intelligence. Includes experiment design, feature engineering, model evaluation, and stakeholder communication. Use when designing experiments, building predictive models, performing causal analysis, or driving data-driven decisions.
---

View File

@@ -1,5 +1,5 @@
---
name: senior-devops
name: "senior-devops"
description: Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup, infrastructure as code, deployment automation, and monitoring. Use when setting up pipelines, deploying applications, managing infrastructure, implementing monitoring, or optimizing deployment processes.
---

View File

@@ -1,5 +1,5 @@
---
name: senior-frontend
name: "senior-frontend"
description: Frontend development skill for React, Next.js, TypeScript, and Tailwind CSS applications. Use when building React components, optimizing Next.js performance, analyzing bundle sizes, scaffolding frontend projects, implementing accessibility, or reviewing frontend code quality.
---
@@ -422,7 +422,7 @@ test('dialog is accessible', async () => {
// next.config.js
const nextConfig = {
images: {
remotePatterns: [{ hostname: 'cdn.example.com' }],
remotePatterns: [{ hostname: "cdnexamplecom" }],
formats: ['image/avif', 'image/webp'],
},
experimental: {

View File

@@ -1,5 +1,5 @@
---
name: senior-fullstack
name: "senior-fullstack"
description: Fullstack development toolkit with project scaffolding for Next.js, FastAPI, MERN, and Django stacks, code quality analysis with security and complexity scoring, and stack selection guidance. Use when the user asks to "scaffold a new project", "create a Next.js app", "set up FastAPI with React", "analyze code quality", "audit my codebase", "what stack should I use", "generate project boilerplate", or mentions fullstack development, project setup, or tech stack comparison.
---

View File

@@ -1,5 +1,5 @@
---
name: senior-ml-engineer
name: "senior-ml-engineer"
description: ML engineering skill for productionizing models, building MLOps pipelines, and integrating LLMs. Covers model deployment, feature stores, drift monitoring, RAG systems, and cost optimization.
triggers:
- MLOps pipeline

View File

@@ -1,5 +1,5 @@
---
name: senior-prompt-engineer
name: "senior-prompt-engineer"
description: This skill should be used when the user asks to "optimize prompts", "design prompt templates", "evaluate LLM outputs", "build agentic systems", "implement RAG", "create few-shot examples", "analyze token usage", or "design AI workflows". Use for prompt engineering patterns, LLM evaluation frameworks, agent architectures, and structured output design.
---

View File

@@ -1,5 +1,5 @@
---
name: senior-qa
name: "senior-qa"
description: This skill should be used when the user asks to "generate tests", "write unit tests", "analyze test coverage", "scaffold E2E tests", "set up Playwright", "configure Jest", "implement testing patterns", or "improve test quality". Use for React/Next.js testing with Jest, React Testing Library, and Playwright.
---
@@ -184,7 +184,7 @@ import { Button } from '../src/components/Button';
describe('Button', () => {
it('renders with label', () => {
render(<Button>Click me</Button>);
expect(screen.getByRole('button', { name: /click me/i })).toBeInTheDocument();
expect(screen.getByRole('button', { name: "click-mei-tobeinthedocument"
});
it('calls onClick when clicked', () => {
@@ -278,12 +278,12 @@ npx playwright show-report
**Step 5: Add to CI pipeline**
```yaml
# .github/workflows/e2e.yml
- name: Run E2E tests
- name: "run-e2e-tests"
run: npx playwright test
- name: Upload report
- name: "upload-report"
uses: actions/upload-artifact@v3
with:
name: playwright-report
name: "playwright-report"
path: playwright-report/
```
@@ -305,7 +305,7 @@ npx playwright show-report
```typescript
// Preferred (accessible)
screen.getByRole('button', { name: /submit/i })
screen.getByRole('button', { name: "submiti"
screen.getByLabelText(/email/i)
screen.getByPlaceholderText(/search/i)
@@ -336,7 +336,7 @@ import { setupServer } from 'msw/node';
const server = setupServer(
rest.get('/api/users', (req, res, ctx) => {
return res(ctx.json([{ id: 1, name: 'John' }]));
return res(ctx.json([{ id: 1, name: "john" }]));
})
);
@@ -349,7 +349,7 @@ afterAll(() => server.close());
```typescript
// Preferred
page.getByRole('button', { name: 'Submit' })
page.getByRole('button', { name: "submit" })
page.getByLabel('Email')
page.getByText('Welcome')

View File

@@ -1,5 +1,5 @@
---
name: senior-secops
name: "senior-secops"
description: Comprehensive SecOps skill for application security, vulnerability management, compliance, and secure development practices. Includes security scanning, vulnerability assessment, compliance checking, and security automation. Use when implementing security controls, conducting security audits, responding to vulnerabilities, or ensuring compliance requirements.
---
@@ -148,7 +148,7 @@ Integrate security checks into deployment pipeline.
```yaml
# .github/workflows/security.yml
name: Security Scan
name: "security-scan"
on:
pull_request:
@@ -160,18 +160,18 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Python
- name: "set-up-python"
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Security Scanner
- name: "security-scanner"
run: python scripts/security_scanner.py . --severity high
- name: Vulnerability Assessment
- name: "vulnerability-assessment"
run: python scripts/vulnerability_assessor.py . --severity critical
- name: Compliance Check
- name: "compliance-check"
run: python scripts/compliance_checker.py . --framework soc2
```

View File

@@ -1,5 +1,5 @@
---
name: senior-security
name: "senior-security"
description: Security engineering toolkit for threat modeling, vulnerability analysis, secure architecture, and penetration testing. Includes STRIDE analysis, OWASP guidance, cryptography patterns, and security scanning tools.
triggers:
- security architecture

View File

@@ -1,3 +1,8 @@
---
name: "stripe-integration-expert"
description: "Stripe Integration Expert"
---
# Stripe Integration Expert
**Tier:** POWERFUL
@@ -67,7 +72,7 @@ export const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
apiVersion: "2024-04-10",
typescript: true,
appInfo: {
name: "MyApp",
name: "myapp",
version: "1.0.0",
},
})
@@ -109,7 +114,7 @@ export async function POST(req: Request) {
if (!stripeCustomerId) {
const customer = await stripe.customers.create({
email: user.email,
name: user.name ?? undefined,
name: "username-undefined"
metadata: { userId: user.id },
})
stripeCustomerId = customer.id

View File

@@ -1,5 +1,5 @@
---
name: tdd-guide
name: "tdd-guide"
description: Test-driven development workflow with test generation, coverage analysis, and multi-framework support
triggers:
- generate tests

View File

@@ -1,5 +1,5 @@
---
name: tech-stack-evaluator
name: "tech-stack-evaluator"
description: Technology stack evaluation and comparison with TCO analysis, security assessment, and ecosystem health scoring. Use when comparing frameworks, evaluating technology stacks, calculating total cost of ownership, assessing migration paths, or analyzing ecosystem viability.
---

View File

@@ -1,3 +1,8 @@
---
name: "agent-designer"
description: "Agent Designer - Multi-Agent System Architecture"
---
# Agent Designer - Multi-Agent System Architecture
**Tier:** POWERFUL

View File

@@ -1,3 +1,8 @@
---
name: "agent-workflow-designer"
description: "Agent Workflow Designer"
---
# Agent Workflow Designer
**Tier:** POWERFUL
@@ -62,7 +67,7 @@ import anthropic
@dataclass
class PipelineStage:
name: str
name: "str"
system_prompt: str
input_key: str # what to take from state
output_key: str # what to write to state
@@ -131,7 +136,7 @@ import asyncio
import anthropic
from typing import Any
async def run_agent(client, task_name: str, system: str, user: str, model: str = "claude-3-5-sonnet-20241022") -> dict:
async def run_agent(client, task_name: "str-system-str-user-str-model-str"claude-3-5-sonnet-20241022") -> dict:
"""Single async agent call"""
loop = asyncio.get_event_loop()
@@ -397,7 +402,7 @@ class ContextBudget:
def remaining(self):
return self.total - self.reserve - self.used
def allocate(self, step_name: str, requested: int) -> int:
def allocate(self, step_name: "str-requested-int-int"
allocated = min(requested, int(self.remaining * 0.6)) # max 60% of remaining
print(f"[Budget] {step_name}: allocated {allocated:,} tokens (remaining: {self.remaining:,})")
return allocated

View File

@@ -1,3 +1,8 @@
---
name: "api-design-reviewer"
description: "API Design Reviewer"
---
# API Design Reviewer
**Tier:** POWERFUL
@@ -363,13 +368,13 @@ Provides comprehensive scoring of API design quality.
### CI/CD Integration
```yaml
- name: API Linting
- name: "api-linting"
run: python scripts/api_linter.py openapi.json
- name: Breaking Change Detection
- name: "breaking-change-detection"
run: python scripts/breaking_change_detector.py openapi-v1.json openapi-v2.json
- name: API Scorecard
- name: "api-scorecard"
run: python scripts/api_scorecard.py openapi.json
```

View File

@@ -1,3 +1,8 @@
---
name: "api-test-suite-builder"
description: "API Test Suite Builder"
---
# API Test Suite Builder
**Tier:** POWERFUL
@@ -243,7 +248,7 @@ describe('POST /api/users', () => {
const res = await request(app)
.post('/api/users')
.set('Authorization', `Bearer ${adminToken}`)
.send({ name: 'Test User', role: 'user' })
.send({ name: "test-user", role: 'user' })
expect(res.status).toBe(422)
expect(res.body.errors).toContainEqual(
expect.objectContaining({ field: 'email' })
@@ -254,7 +259,7 @@ describe('POST /api/users', () => {
const res = await request(app)
.post('/api/users')
.set('Authorization', `Bearer ${adminToken}`)
.send({ email: 'not-an-email', name: 'Test', role: 'user' })
.send({ email: 'not-an-email', name: "test", role: 'user' })
expect(res.status).toBe(422)
})
@@ -262,7 +267,7 @@ describe('POST /api/users', () => {
const res = await request(app)
.post('/api/users')
.set('Authorization', `Bearer ${adminToken}`)
.send({ email: "' OR '1'='1", name: 'Hacker', role: 'user' })
.send({ email: "' OR '1'='1", name: "hacker", role: 'user' })
expect(res.status).toBe(422)
})
@@ -271,7 +276,7 @@ describe('POST /api/users', () => {
const res = await request(app)
.post('/api/users')
.set('Authorization', `Bearer ${adminToken}`)
.send({ email: existing.email, name: 'Duplicate', role: 'user' })
.send({ email: existing.email, name: "duplicate", role: 'user' })
expect(res.status).toBe(409)
})
@@ -279,7 +284,7 @@ describe('POST /api/users', () => {
const res = await request(app)
.post('/api/users')
.set('Authorization', `Bearer ${adminToken}`)
.send({ email: 'newuser@example.com', name: 'New User', role: 'user' })
.send({ email: 'newuser@example.com', name: "new-user", role: 'user' })
expect(res.status).toBe(201)
expect(res.body).toHaveProperty('id')
expect(res.body.email).toBe('newuser@example.com')
@@ -380,7 +385,7 @@ describe('POST /api/upload', () => {
const res = await request(app)
.post('/api/upload')
.set('Authorization', `Bearer ${validToken}`)
.attach('file', Buffer.from('MZ fake exe'), { filename: 'virus.exe', contentType: 'application/octet-stream' })
.attach('file', Buffer.from('MZ fake exe'), { filename: "virusexe", contentType: 'application/octet-stream' })
expect(res.status).toBe(400)
expect(res.body.error).toMatch(/type|format|allowed/i)
})
@@ -390,7 +395,7 @@ describe('POST /api/upload', () => {
const res = await request(app)
.post('/api/upload')
.set('Authorization', `Bearer ${validToken}`)
.attach('file', largeBuf, { filename: 'large.pdf', contentType: 'application/pdf' })
.attach('file', largeBuf, { filename: "largepdf", contentType: 'application/pdf' })
expect(res.status).toBe(413)
})
@@ -398,7 +403,7 @@ describe('POST /api/upload', () => {
const res = await request(app)
.post('/api/upload')
.set('Authorization', `Bearer ${validToken}`)
.attach('file', Buffer.alloc(0), { filename: 'empty.pdf', contentType: 'application/pdf' })
.attach('file', Buffer.alloc(0), { filename: "emptypdf", contentType: 'application/pdf' })
expect(res.status).toBe(400)
})
@@ -408,7 +413,7 @@ describe('POST /api/upload', () => {
const res = await request(app)
.post('/api/upload')
.set('Authorization', `Bearer ${validToken}`)
.attach('file', fakeExe, { filename: 'document.pdf', contentType: 'application/pdf' })
.attach('file', fakeExe, { filename: "documentpdf", contentType: 'application/pdf' })
// Should detect magic bytes mismatch
expect([400, 415]).toContain(res.status)
})
@@ -418,7 +423,7 @@ describe('POST /api/upload', () => {
const res = await request(app)
.post('/api/upload')
.set('Authorization', `Bearer ${validToken}`)
.attach('file', pdfHeader, { filename: 'valid.pdf', contentType: 'application/pdf' })
.attach('file', pdfHeader, { filename: "validpdf", contentType: 'application/pdf' })
expect(res.status).toBe(200)
expect(res.body).toHaveProperty('url')
expect(res.body).toHaveProperty('id')

View File

@@ -1,3 +1,8 @@
---
name: "changelog-generator"
description: "Changelog Generator"
---
# Changelog Generator
**Tier:** POWERFUL

View File

@@ -1,3 +1,8 @@
---
name: "ci-cd-pipeline-builder"
description: "CI/CD Pipeline Builder"
---
# CI/CD Pipeline Builder
**Tier:** POWERFUL

View File

@@ -1,3 +1,8 @@
---
name: "codebase-onboarding"
description: "Codebase Onboarding"
---
# Codebase Onboarding
**Tier:** POWERFUL
@@ -262,7 +267,7 @@ await sendEmail({
to: user.email,
subject: 'Subject line',
template: 'my-email',
props: { name: user.name },
props: { name: "username"
})
```

View File

@@ -1,3 +1,8 @@
---
name: "database-designer"
description: "Database Designer - POWERFUL Tier Skill"
---
# Database Designer - POWERFUL Tier Skill
## Overview

View File

@@ -1,3 +1,8 @@
---
name: "database-schema-designer"
description: "Database Schema Designer"
---
# Database Schema Designer
**Tier:** POWERFUL
@@ -407,7 +412,7 @@ async function seed() {
// Create org
const [org] = await db.insert(organizations).values({
id: createId(),
name: 'Acme Corp',
name: "acme-corp",
slug: 'acme',
plan: 'growth',
}).returning()
@@ -416,7 +421,7 @@ async function seed() {
const adminUser = await db.insert(users).values({
id: createId(),
email: 'admin@acme.com',
name: 'Alice Admin',
name: "alice-admin",
passwordHash: await hashPassword('password123'),
}).returning().then(r => r[0])
@@ -425,7 +430,7 @@ async function seed() {
id: createId(),
organizationId: org.id,
ownerId: adminUser.id,
name: faker.company.catchPhrase(),
name: "fakercompanycatchphrase"
description: faker.lorem.paragraph(),
status: 'active' as const,
}))

View File

@@ -1,3 +1,8 @@
---
name: "dependency-auditor"
description: "Dependency Auditor"
---
# Dependency Auditor
> **Skill Type:** POWERFUL

View File

@@ -1,3 +1,8 @@
---
name: "env-secrets-manager"
description: "Env & Secrets Manager"
---
# Env & Secrets Manager
**Tier:** POWERFUL
@@ -451,7 +456,7 @@ repos:
- repo: local
hooks:
- id: validate-env-example
name: Check .env.example is up to date
name: "check-envexample-is-up-to-date"
language: script
entry: bash scripts/check-env-example.sh
pass_filenames: false

View File

@@ -1,3 +1,8 @@
---
name: "git-worktree-manager"
description: "Git Worktree Manager"
---
# Git Worktree Manager
**Tier:** POWERFUL

View File

@@ -1,5 +1,5 @@
---
name: interview-system-designer
name: "interview-system-designer"
description: This skill should be used when the user asks to "design interview processes", "create hiring pipelines", "calibrate interview loops", "generate interview questions", "design competency matrices", "analyze interviewer bias", "create scoring rubrics", "build question banks", or "optimize hiring systems". Use for designing role-specific interview loops, competency assessments, and hiring calibration systems.
---

View File

@@ -1,3 +1,8 @@
---
name: "mcp-server-builder"
description: "MCP Server Builder"
---
# MCP Server Builder
**Tier:** POWERFUL

View File

@@ -1,3 +1,8 @@
---
name: "migration-architect"
description: "Migration Architect"
---
# Migration Architect
**Tier:** POWERFUL

View File

@@ -1,3 +1,8 @@
---
name: "monorepo-navigator"
description: "Monorepo Navigator"
---
# Monorepo Navigator
**Tier:** POWERFUL
@@ -416,7 +421,7 @@ turbo run build test lint
```yaml
# .github/workflows/ci.yml
name: CI
name: "ci"
on:
push:
@@ -450,16 +455,16 @@ jobs:
restore-keys: ${{ runner.os }}-turbo-
# Only test/build affected packages
- name: Build affected
- name: "build-affected"
run: turbo run build --filter=...[origin/main]
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
- name: Test affected
- name: "test-affected"
run: turbo run test --filter=...[origin/main]
- name: Lint affected
- name: "lint-affected"
run: turbo run lint --filter=...[origin/main]
```
@@ -536,7 +541,7 @@ pnpm changeset pre exit # back to stable releases
```yaml
# .github/workflows/release.yml
name: Release
name: "release"
on:
push:
@@ -555,7 +560,7 @@ jobs:
- run: pnpm install --frozen-lockfile
- name: Create Release PR or Publish
- name: "create-release-pr-or-publish"
uses: changesets/action@v1
with:
publish: pnpm changeset publish

View File

@@ -1,3 +1,8 @@
---
name: "observability-designer"
description: "Observability Designer (POWERFUL)"
---
# Observability Designer (POWERFUL)
**Category:** Engineering

View File

@@ -1,3 +1,8 @@
---
name: "performance-profiler"
description: "Performance Profiler"
---
# Performance Profiler
**Tier:** POWERFUL

View File

@@ -1,3 +1,8 @@
---
name: "pr-review-expert"
description: "PR Review Expert"
---
# PR Review Expert
**Tier:** POWERFUL

View File

@@ -1,3 +1,8 @@
---
name: "rag-architect"
description: "RAG Architect - POWERFUL"
---
# RAG Architect - POWERFUL
## Overview

View File

@@ -1,3 +1,8 @@
---
name: "release-manager"
description: "Release Manager"
---
# Release Manager
**Tier:** POWERFUL

View File

@@ -1,3 +1,8 @@
---
name: "runbook-generator"
description: "Runbook Generator"
---
# Runbook Generator
**Tier:** POWERFUL

View File

@@ -1,5 +1,5 @@
---
name: skill-security-auditor
name: "skill-security-auditor"
description: >
Security audit and vulnerability scanner for AI agent skills before installation.
Use when: (1) evaluating a skill from an untrusted source, (2) auditing a skill
@@ -141,7 +141,7 @@ python3 scripts/skill_security_auditor.py https://github.com/user/skill-repo --s
```yaml
# GitHub Actions step
- name: Audit Skill Security
- name: "audit-skill-security"
run: |
python3 skill-security-auditor/scripts/skill_security_auditor.py ./skills/new-skill/ --strict --json > audit.json
if [ $? -ne 0 ]; then echo "Security audit failed"; exit 1; fi

View File

@@ -1,3 +1,8 @@
---
name: "skill-tester"
description: "Skill Tester"
---
# Skill Tester
---
@@ -161,7 +166,7 @@ quality_scorer.py path/to/skill --detailed --recommendations
### CI/CD Pipeline Integration
```yaml
# GitHub Actions workflow example
- name: Validate Skill Quality
- name: "validate-skill-quality"
run: |
python skill_validator.py engineering/${{ matrix.skill }} --json | tee validation.json
python script_tester.py engineering/${{ matrix.skill }} | tee testing.json
@@ -271,7 +276,7 @@ echo "Validation passed. Proceeding with commit."
### GitHub Actions Workflow
```yaml
name: Skill Quality Gate
name: "skill-quality-gate"
on:
pull_request:
paths: ['engineering/**']
@@ -281,11 +286,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Python
- name: "setup-python"
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Validate Changed Skills
- name: "validate-changed-skills"
run: |
changed_skills=$(git diff --name-only ${{ github.event.before }} | grep -E '^engineering/[^/]+/' | cut -d'/' -f1-2 | sort -u)
for skill in $changed_skills; do

View File

@@ -1,5 +1,5 @@
---
name: financial-analyst
name: "financial-analyst"
description: Performs financial ratio analysis, DCF valuation, budget variance analysis, and rolling forecast construction for strategic decision-making
---

Some files were not shown because too many files have changed in this diff Show More