mirror of
https://github.com/wshobson/agents.git
synced 2026-03-18 17:47:16 +00:00
feat: add Agent Skills and restructure documentation
- Add 47 Agent Skills across 14 plugins following Anthropic's specification - Python (5): async patterns, testing, packaging, performance, UV package manager - JavaScript/TypeScript (4): advanced types, Node.js patterns, testing, modern JS - Kubernetes (4): manifests, Helm charts, GitOps, security policies - Cloud Infrastructure (4): Terraform, multi-cloud, hybrid networking, cost optimization - CI/CD (4): pipeline design, GitHub Actions, GitLab CI, secrets management - Backend (3): API design, architecture patterns, microservices - LLM Applications (4): LangChain, prompt engineering, RAG, evaluation - Blockchain/Web3 (4): DeFi protocols, NFT standards, Solidity security, Web3 testing - Framework Migration (4): React, Angular, database, dependency upgrades - Observability (4): Prometheus, Grafana, distributed tracing, SLO - Payment Processing (4): Stripe, PayPal, PCI compliance, billing - API Scaffolding (1): FastAPI templates - ML Operations (1): ML pipeline workflow - Security (1): SAST configuration - Restructure documentation into /docs directory - agent-skills.md: Complete guide to all 47 skills - agents.md: All 85 agents with model configuration - plugins.md: Complete catalog of 63 plugins - usage.md: Commands, workflows, and best practices - architecture.md: Design principles and patterns - Update README.md - Add Agent Skills banner announcement - Reduce length by ~75% with links to detailed docs - Add What's New section showcasing Agent Skills - Add Popular Use Cases with real examples - Improve navigation with Core Guides and Quick Links - Update marketplace.json with skills arrays for 14 plugins All 47 skills follow Agent Skills Specification: - Required YAML frontmatter (name, description) - Use when activation clauses - Progressive disclosure architecture - Under 1024 character descriptions
This commit is contained in:
@@ -0,0 +1,171 @@
|
||||
# Kubernetes Service Templates
|
||||
|
||||
---
|
||||
# Template 1: ClusterIP Service (Internal Only)
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: <app-name>
|
||||
namespace: <namespace>
|
||||
labels:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
app.kubernetes.io/instance: <instance-name>
|
||||
annotations:
|
||||
description: "Internal service for <app-name>"
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
app.kubernetes.io/instance: <instance-name>
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
targetPort: http # Named port from container
|
||||
protocol: TCP
|
||||
sessionAffinity: None
|
||||
|
||||
---
|
||||
# Template 2: LoadBalancer Service (External Access)
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: <app-name>-lb
|
||||
namespace: <namespace>
|
||||
labels:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
annotations:
|
||||
# AWS NLB annotations
|
||||
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
|
||||
service.beta.kubernetes.io/aws-load-balancer-scheme: "internet-facing"
|
||||
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
|
||||
# SSL certificate (optional)
|
||||
# service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:..."
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
externalTrafficPolicy: Local # Preserves client IP
|
||||
selector:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
- name: https
|
||||
port: 443
|
||||
targetPort: https
|
||||
protocol: TCP
|
||||
# Restrict access to specific IPs (optional)
|
||||
# loadBalancerSourceRanges:
|
||||
# - 203.0.113.0/24
|
||||
|
||||
---
|
||||
# Template 3: NodePort Service (Direct Node Access)
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: <app-name>-np
|
||||
namespace: <namespace>
|
||||
labels:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
spec:
|
||||
type: NodePort
|
||||
selector:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
targetPort: 8080
|
||||
nodePort: 30080 # Optional, 30000-32767 range
|
||||
protocol: TCP
|
||||
|
||||
---
|
||||
# Template 4: Headless Service (StatefulSet)
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: <app-name>-headless
|
||||
namespace: <namespace>
|
||||
labels:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
spec:
|
||||
clusterIP: None # Headless
|
||||
selector:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
ports:
|
||||
- name: client
|
||||
port: 9042
|
||||
targetPort: 9042
|
||||
publishNotReadyAddresses: true # Include not-ready pods in DNS
|
||||
|
||||
---
|
||||
# Template 5: Multi-Port Service with Metrics
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: <app-name>-multi
|
||||
namespace: <namespace>
|
||||
labels:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
annotations:
|
||||
prometheus.io/scrape: "true"
|
||||
prometheus.io/port: "9090"
|
||||
prometheus.io/path: "/metrics"
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
targetPort: 8080
|
||||
protocol: TCP
|
||||
- name: https
|
||||
port: 443
|
||||
targetPort: 8443
|
||||
protocol: TCP
|
||||
- name: grpc
|
||||
port: 9090
|
||||
targetPort: 9090
|
||||
protocol: TCP
|
||||
- name: metrics
|
||||
port: 9091
|
||||
targetPort: 9091
|
||||
protocol: TCP
|
||||
|
||||
---
|
||||
# Template 6: Service with Session Affinity
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: <app-name>-sticky
|
||||
namespace: <namespace>
|
||||
labels:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
app.kubernetes.io/name: <app-name>
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
targetPort: 8080
|
||||
protocol: TCP
|
||||
sessionAffinity: ClientIP
|
||||
sessionAffinityConfig:
|
||||
clientIP:
|
||||
timeoutSeconds: 10800 # 3 hours
|
||||
|
||||
---
|
||||
# Template 7: ExternalName Service (External Service Mapping)
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: external-db
|
||||
namespace: <namespace>
|
||||
spec:
|
||||
type: ExternalName
|
||||
externalName: db.example.com
|
||||
ports:
|
||||
- port: 5432
|
||||
targetPort: 5432
|
||||
protocol: TCP
|
||||
Reference in New Issue
Block a user