swe-workflow-skills 0.10.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/VERSION +1 -1
- package/package.json +1 -1
- package/skills/accessibility-design/SKILL.md +0 -1
- package/skills/ai-evaluation/SKILL.md +0 -1
- package/skills/api-design/SKILL.md +0 -1
- package/skills/architecture-design/SKILL.md +0 -1
- package/skills/architecture-documentation/SKILL.md +0 -1
- package/skills/brainstorming/SKILL.md +0 -1
- package/skills/browser-verification/SKILL.md +0 -1
- package/skills/bug-investigating/SKILL.md +0 -1
- package/skills/build-vs-buy/SKILL.md +0 -1
- package/skills/cicd-pipeline/SKILL.md +0 -1
- package/skills/cicd-pipeline/references/pipeline-patterns.md +7 -7
- package/skills/cicd-pipeline/templates/github-actions.md +7 -5
- package/skills/code-archaeology/SKILL.md +0 -1
- package/skills/code-reviewing/SKILL.md +4 -9
- package/skills/code-slop-cleanup/SKILL.md +2 -4
- package/skills/compliance-privacy/SKILL.md +0 -1
- package/skills/configuration-strategy/SKILL.md +0 -1
- package/skills/configuration-strategy/references/config-patterns.md +12 -7
- package/skills/containerization/SKILL.md +0 -1
- package/skills/data-modeling/SKILL.md +0 -1
- package/skills/data-pipeline-design/SKILL.md +0 -1
- package/skills/data-quality/SKILL.md +0 -1
- package/skills/dependency-impact-analysis/SKILL.md +0 -1
- package/skills/dependency-management/SKILL.md +0 -1
- package/skills/deployment-checklist/SKILL.md +0 -1
- package/skills/deployment-repo/SKILL.md +0 -1
- package/skills/dx-audit/SKILL.md +0 -1
- package/skills/effort-estimation/SKILL.md +0 -1
- package/skills/exploratory-data-analysis/SKILL.md +0 -1
- package/skills/feature-planning/SKILL.md +0 -1
- package/skills/finops-cost-optimization/SKILL.md +0 -1
- package/skills/frontend-architecture/SKILL.md +0 -1
- package/skills/git-workflow/SKILL.md +4 -17
- package/skills/gitops-delivery/SKILL.md +8 -2
- package/skills/gitops-delivery/references/gitops-patterns.md +8 -2
- package/skills/gitops-delivery/templates/gitops-config.md +8 -1
- package/skills/incident-response/SKILL.md +0 -1
- package/skills/infrastructure-as-code/SKILL.md +0 -1
- package/skills/llm-app-engineering/SKILL.md +0 -1
- package/skills/metrics-and-okrs/SKILL.md +0 -1
- package/skills/ml-experiment-tracking/SKILL.md +0 -1
- package/skills/ml-model-deployment/SKILL.md +0 -1
- package/skills/ml-pipeline-design/SKILL.md +0 -1
- package/skills/mobile-architecture/SKILL.md +0 -1
- package/skills/mobile-release/SKILL.md +0 -1
- package/skills/notebook-to-production/SKILL.md +0 -1
- package/skills/observability-design/SKILL.md +0 -1
- package/skills/performance-optimization/SKILL.md +0 -1
- package/skills/performance-optimization/evals/evals.json +1 -1
- package/skills/plan-execution/SKILL.md +0 -1
- package/skills/prd-writing/SKILL.md +0 -1
- package/skills/project-documentation/SKILL.md +0 -1
- package/skills/project-proposal/SKILL.md +0 -1
- package/skills/project-review/SKILL.md +0 -1
- package/skills/refactoring/SKILL.md +1 -2
- package/skills/release-management/SKILL.md +0 -1
- package/skills/resilience-engineering/SKILL.md +0 -1
- package/skills/retrospective/SKILL.md +0 -1
- package/skills/rollback-strategy/SKILL.md +0 -1
- package/skills/security-audit/SKILL.md +0 -1
- package/skills/security-audit/evals/evals.json +1 -1
- package/skills/skill-router/SKILL.md +0 -1
- package/skills/statistical-analysis/SKILL.md +0 -1
- package/skills/strategic-review/SKILL.md +0 -1
- package/skills/subagent-orchestration/SKILL.md +0 -1
- package/skills/tdd-workflow/SKILL.md +0 -1
- package/skills/technical-debt-review/SKILL.md +0 -1
- package/skills/test-data-strategy/SKILL.md +1 -2
- package/skills/test-suite-design/SKILL.md +0 -1
- package/skills/threat-modeling/SKILL.md +0 -1
- package/skills/ui-ux-design/SKILL.md +0 -1
- package/skills/verification-before-completion/SKILL.md +0 -1
- package/skills/writing-skills/SKILL.md +2 -3
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.10.
|
|
1
|
+
0.10.1
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "swe-workflow-skills",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "A curated library of Claude Code Agent Skills covering the full software lifecycle, with orchestrator-routed activation that scales past the skill-listing budget.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: accessibility-design
|
|
3
3
|
description: "Design and implement accessible web/mobile apps to WCAG 2.1/2.2 — semantic HTML, ARIA patterns, keyboard navigation, focus management, color contrast, screen readers, accessible forms. Triggers: accessibility, a11y, WCAG, screen reader, keyboard navigation, ARIA, focus management, color contrast, alt text, semantic HTML, tab order, focus trap, skip link, announce. Build it in, don't bolt it on."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Accessibility Design
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: ai-evaluation
|
|
3
3
|
description: "Define how to evaluate ML models and GenAI/LLM apps — golden datasets, offline metrics, RAG evaluation (faithfulness, relevance, context precision/recall) with ragas/deepeval/promptfoo, LLM-as-judge design and calibration, eval regression gates in CI, online A/B and human feedback. Logging/comparing runs → ml-experiment-tracking; building the app → llm-app-engineering; general experiment statistics → statistical-analysis."
|
|
4
4
|
when_to_use: "Triggers: evaluate the model, eval my chatbot, RAG evals, ragas, LLM as judge, golden dataset, eval suite, is the new prompt better, hallucination rate, benchmark our AI app."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# AI Evaluation
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api-design
|
|
3
3
|
description: "Design RESTful and GraphQL APIs — endpoint naming, request/response contracts, error handling, pagination, versioning, auth patterns, OpenAPI specs. Triggers: design the API, API contract, REST API, GraphQL schema, error response format, pagination, API versioning, OpenAPI, swagger, endpoints. Use architecture-design for REST-vs-GraphQL or monolith-vs-microservices decisions."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# API Design
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: architecture-design
|
|
3
3
|
description: "Guide architectural and structural decisions using Architecture Decision Records (ADRs) — new services, pattern choices, database selection, component boundaries, state management, costly-to-reverse decisions. Triggers: how should I architect, which pattern, design decision, should I use X or Y, system design, ADR, component design, architectural trade-off. Owns internal-structure decisions — build vs buy/adopt a vendor or OSS capability → build-vs-buy."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Architecture Design
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: architecture-documentation
|
|
3
3
|
description: "Design and maintain architecture documentation with multi-level diagrams (C4) and docs-as-code. Triggers: architecture diagram, document the architecture, C4 diagram, system context, container diagram, component diagram, architecture docs, docs-as-code, PlantUML, Structurizr, D2, Mermaid architecture, infrastructure diagram, runtime flow. Use architecture-design for ADRs."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Architecture Documentation
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brainstorming
|
|
3
3
|
description: "Facilitate divergent ideation before committing to a spec — Socratic questioning, widening the option space, challenging assumptions and inherited constraints, then converging on candidates. Triggers: brainstorm, let's explore ideas, what are our options, help me think through, generate ideas, what could we build, not sure what I want, explore approaches, ideate. Once ideas converge, hand off to prd-writing (WHAT/WHY) or feature-planning (breakdown) — this skill opens options; those close them."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Brainstorming
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: browser-verification
|
|
3
3
|
description: "Verify a web app change by driving the real UI in a browser — reproduce the user flow end to end, watch console errors and network failures, exercise loading/error/empty states, capture screenshots as evidence. Use before claiming a UI change works. Triggers: check it in the browser, verify the UI, click through the flow, console errors, test it like a user, smoke test the frontend. Designing persistent test suites → test-suite-design; the generic done-gate → verification-before-completion (this is its browser-specific practice)."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Browser Verification
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bug-investigating
|
|
3
3
|
description: "Systematic debugging and root cause analysis using structured methodology — reproduce, isolate, hypothesize, verify. Triggers: this doesn't work, I'm getting an error, something is broken, bug, debug this, why is this happening, unexpected behavior, regression, root cause, stack trace, error message."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Bug Investigating
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: build-vs-buy
|
|
3
3
|
description: "Decide whether to build in-house, buy a vendor/SaaS product, or adopt OSS — core-vs-commodity framing, multi-year total cost of ownership, integration and maintenance burden, vendor viability, lock-in and exit costs. Triggers: build vs buy, build or buy, vendor evaluation, SaaS vs in-house, should we adopt this open source, TCO, total cost of ownership, lock-in, exit cost, make or buy, off the shelf. Internal-structure decisions (patterns, service boundaries, ADRs for your own code) → architecture-design."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, WebFetch, WebSearch
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Build vs Buy
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cicd-pipeline
|
|
3
3
|
description: "Design CI/CD pipelines for automated build, test, deploy — GitHub Actions, GitLab CI, quality gates. Triggers: CI/CD, pipeline, GitHub Actions, GitLab CI, workflow, automated deployment, build pipeline, continuous integration, continuous deployment, automate tests on PR, deploy automatically, quality gate."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# CI/CD Pipeline Design
|
|
@@ -76,7 +76,7 @@ jobs:
|
|
|
76
76
|
with:
|
|
77
77
|
registry: ghcr.io
|
|
78
78
|
username: ${{ github.actor }}
|
|
79
|
-
password: ${{
|
|
79
|
+
password: ${{ github.token }}
|
|
80
80
|
- uses: docker/build-push-action@v5
|
|
81
81
|
with:
|
|
82
82
|
push: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
|
@@ -96,20 +96,20 @@ jobs:
|
|
|
96
96
|
- name: Smoke test
|
|
97
97
|
run: |
|
|
98
98
|
sleep 10
|
|
99
|
-
curl --fail
|
|
99
|
+
curl --fail "${{ vars.STAGING_URL }}/health"
|
|
100
100
|
|
|
101
101
|
deploy-production:
|
|
102
102
|
needs: [deploy-staging]
|
|
103
103
|
runs-on: ubuntu-latest
|
|
104
104
|
environment:
|
|
105
105
|
name: production
|
|
106
|
-
url:
|
|
106
|
+
url: ${{ vars.PRODUCTION_URL }}
|
|
107
107
|
timeout-minutes: 10
|
|
108
108
|
steps:
|
|
109
109
|
- name: Deploy to production
|
|
110
110
|
run: echo "Deploy image ghcr.io/${{ github.repository }}:${{ github.sha }}"
|
|
111
111
|
- name: Smoke test
|
|
112
|
-
run: curl --fail
|
|
112
|
+
run: curl --fail "${{ vars.PRODUCTION_URL }}/health"
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
## GitLab CI: Full Pipeline
|
|
@@ -173,7 +173,7 @@ deploy-staging:
|
|
|
173
173
|
stage: deploy
|
|
174
174
|
environment:
|
|
175
175
|
name: staging
|
|
176
|
-
url:
|
|
176
|
+
url: $STAGING_URL
|
|
177
177
|
script:
|
|
178
178
|
- echo "Deploy $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA to staging"
|
|
179
179
|
only:
|
|
@@ -183,7 +183,7 @@ deploy-production:
|
|
|
183
183
|
stage: deploy
|
|
184
184
|
environment:
|
|
185
185
|
name: production
|
|
186
|
-
url:
|
|
186
|
+
url: $PRODUCTION_URL
|
|
187
187
|
script:
|
|
188
188
|
- echo "Deploy $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA to production"
|
|
189
189
|
when: manual # Require manual approval
|
|
@@ -199,7 +199,7 @@ deploy-production:
|
|
|
199
199
|
|
|
200
200
|
**Long-running monolith pipeline**: A 45-minute pipeline that runs everything sequentially kills developer productivity. Parallelize independent jobs. Target: green in under 10 minutes for PR checks.
|
|
201
201
|
|
|
202
|
-
**Secrets in pipeline logs**: Use masking. Never
|
|
202
|
+
**Secrets in pipeline logs**: Use masking. Never echo a secret or pass it as a command-line argument (visible in process lists). Use environment variables and ensure the CI platform masks them.
|
|
203
203
|
|
|
204
204
|
**No concurrency control**: Without concurrency groups, pushing twice quickly queues two full pipeline runs. Cancel outdated runs on the same branch.
|
|
205
205
|
|
|
@@ -108,7 +108,7 @@ jobs:
|
|
|
108
108
|
with:
|
|
109
109
|
registry: ghcr.io
|
|
110
110
|
username: ${{ github.actor }}
|
|
111
|
-
password: ${{
|
|
111
|
+
password: ${{ github.token }} # the job's built-in token; needs packages: write
|
|
112
112
|
|
|
113
113
|
- name: Build and push
|
|
114
114
|
uses: docker/build-push-action@v5
|
|
@@ -125,10 +125,11 @@ jobs:
|
|
|
125
125
|
timeout-minutes: 20
|
|
126
126
|
environment: production # Requires manual approval gate in GitHub environment settings
|
|
127
127
|
steps:
|
|
128
|
+
# Authenticate to the cloud with OIDC (job needs `id-token: write`) rather than
|
|
129
|
+
# a long-lived deploy key stored as a secret.
|
|
128
130
|
- name: Deploy
|
|
129
131
|
env:
|
|
130
132
|
IMAGE_TAG: ${{ needs.build.outputs.image-tag }}
|
|
131
|
-
DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
|
|
132
133
|
run: |
|
|
133
134
|
# Replace with your deploy command: kubectl, fly deploy, aws ecs update-service, etc.
|
|
134
135
|
echo "Deploying $IMAGE_TAG"
|
|
@@ -136,7 +137,7 @@ jobs:
|
|
|
136
137
|
- name: Smoke test
|
|
137
138
|
run: |
|
|
138
139
|
# Verify the deployment is healthy before declaring success
|
|
139
|
-
curl --fail --retry 5 --retry-delay 5
|
|
140
|
+
curl --fail --retry 5 --retry-delay 5 "${{ vars.PRODUCTION_URL }}/health"
|
|
140
141
|
```
|
|
141
142
|
|
|
142
143
|
---
|
|
@@ -177,7 +178,8 @@ build:
|
|
|
177
178
|
services:
|
|
178
179
|
- docker:24-dind
|
|
179
180
|
script:
|
|
180
|
-
|
|
181
|
+
# Log in to $CI_REGISTRY first with GitLab's predefined registry credentials,
|
|
182
|
+
# piped to `docker login --password-stdin` so they never appear in the job log.
|
|
181
183
|
- docker build -t $IMAGE_TAG .
|
|
182
184
|
- docker push $IMAGE_TAG
|
|
183
185
|
only:
|
|
@@ -187,7 +189,7 @@ deploy_production:
|
|
|
187
189
|
stage: deploy
|
|
188
190
|
environment:
|
|
189
191
|
name: production
|
|
190
|
-
url:
|
|
192
|
+
url: $PRODUCTION_URL
|
|
191
193
|
script:
|
|
192
194
|
- echo "Deploy $IMAGE_TAG to production"
|
|
193
195
|
# kubectl set image deployment/app app=$IMAGE_TAG
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: code-archaeology
|
|
3
3
|
description: "Understand unfamiliar or legacy code before changing it — map entry points, mine git history (blame, churn, log -S), trace data flow, recover the why behind odd code, pin current behavior with characterization tests, find seams for safe change. Triggers: understand this codebase, legacy code, inherited this project, what does this code do, why is it written this way, nobody knows how this works, onboard to this repo, is it safe to change this. Prioritizing debt → technical-debt-review; improving code you already understand → refactoring."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Code Archaeology
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: code-reviewing
|
|
3
3
|
description: "Structured code reviews enforcing DRY, KISS, YAGNI, SRP, best practices, and project conventions."
|
|
4
4
|
when_to_use: "Triggers: review this code, code review, check my code, what do you think of this implementation, review this PR, is this code good, feedback on my code, review staged changes before commit."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Code Reviewing
|
|
@@ -13,14 +12,10 @@ Perform thorough, constructive code reviews that catch bugs, enforce principles,
|
|
|
13
12
|
|
|
14
13
|
### Step 1: Understand the Context
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
a PR
|
|
19
|
-
|
|
20
|
-
!`git diff --stat 2>/dev/null || true`
|
|
21
|
-
|
|
22
|
-
If the summary above is empty or irrelevant to what you were asked to review,
|
|
23
|
-
proceed with the code as provided.
|
|
15
|
+
When the review target is local work, start from `git diff --stat` for the
|
|
16
|
+
working-tree changes. If it's empty (a clean tree, not a git repo) or the review
|
|
17
|
+
targets something else, such as pasted code or a PR, proceed with the code as
|
|
18
|
+
provided.
|
|
24
19
|
|
|
25
20
|
**Called from the pre-commit gate?** When `verification-before-completion` routes
|
|
26
21
|
here before a commit, the review target is `git diff --staged` — the change about
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: code-slop-cleanup
|
|
3
3
|
description: "Strip AI slop from a branch diff before PR — judge each hunk against the surrounding file's conventions, remove without changing behavior, re-run tests. Removal only: hunting bugs → code-reviewing; structural improvement → refactoring; repo-wide audit → technical-debt-review; pruning tests → test-suite-design."
|
|
4
4
|
when_to_use: "Triggers: deslop, AI slop, slop cleanup, tighten this diff, remove AI artifacts, clean the diff before PR, debug leftovers, stray PLAN.md, obvious comments, unnecessary try/catch, backwards-compat shim nobody asked for, diff hygiene."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Code Slop Cleanup
|
|
@@ -19,9 +18,8 @@ Slop cleanup that deletes a load-bearing check trades clutter for a bug — a st
|
|
|
19
18
|
|
|
20
19
|
### Step 1: Scope the Diff
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
!`git diff main...HEAD --stat 2>/dev/null || git diff master...HEAD --stat 2>/dev/null || true`
|
|
21
|
+
Start from the branch state vs the default branch: `git diff <base>...HEAD --stat`
|
|
22
|
+
(`main`, or `master` in older repos).
|
|
25
23
|
|
|
26
24
|
Run the full `git diff <base>...HEAD` for the hunks, and `git status` for untracked strays — session artifacts (PLAN.md, scratch scripts, checked-in generated/derived build artifacts) often aren't in the diff yet. Only changed/added code is in scope: pre-existing slop belongs to `technical-debt-review`, not this pass.
|
|
27
25
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: compliance-privacy
|
|
3
3
|
description: "Engineer for regulatory and privacy obligations — GDPR/CCPA privacy-by-design, PII data mapping and minimization, retention and deletion (right to erasure), data subject requests, consent, SOC 2 controls (access, change management, audit logging). Triggers: GDPR, CCPA, SOC 2, HIPAA, compliance, privacy review, PII, personal data, data retention, right to be forgotten, DSR, audit requirements, are we compliant. Vulnerabilities in code → security-audit; attack analysis of a design → threat-modeling."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, WebFetch, WebSearch
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Compliance & Privacy Engineering
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: configuration-strategy
|
|
3
3
|
description: "Design environment configuration, secrets management, and feature-flag hierarchy for a service or feature. Triggers: config strategy, environment variables, .env, secrets management, feature flag, config hierarchy, config precedence, twelve-factor config, environment-specific settings."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Configuration Strategy
|
|
@@ -87,8 +87,12 @@ Fail fast on missing config at application startup:
|
|
|
87
87
|
|
|
88
88
|
```python
|
|
89
89
|
def validate_config():
|
|
90
|
-
required =
|
|
91
|
-
|
|
90
|
+
required = {
|
|
91
|
+
'SERVICE_ENV': os.environ.get('SERVICE_ENV'),
|
|
92
|
+
'PAYMENTS_BASE_URL': os.environ.get('PAYMENTS_BASE_URL'),
|
|
93
|
+
'SESSION_TTL_SECONDS': os.environ.get('SESSION_TTL_SECONDS'),
|
|
94
|
+
}
|
|
95
|
+
missing = [name for name, value in required.items() if not value]
|
|
92
96
|
if missing:
|
|
93
97
|
raise EnvironmentError(f"Missing required config: {', '.join(missing)}")
|
|
94
98
|
|
|
@@ -135,15 +139,16 @@ Each environment should have a complete, independent configuration. Avoid sharin
|
|
|
135
139
|
// TypeScript example with runtime validation
|
|
136
140
|
const config = {
|
|
137
141
|
port: parseInt(process.env.PORT ?? '3000', 10),
|
|
138
|
-
|
|
139
|
-
|
|
142
|
+
serviceEnv: required('SERVICE_ENV', process.env.SERVICE_ENV),
|
|
143
|
+
paymentsBaseUrl: required('PAYMENTS_BASE_URL', process.env.PAYMENTS_BASE_URL),
|
|
140
144
|
logLevel: process.env.LOG_LEVEL ?? 'info',
|
|
141
145
|
featureFlagServiceUrl: process.env.FEATURE_FLAG_URL ?? null,
|
|
142
146
|
};
|
|
143
147
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
148
|
+
// Read each variable by its literal name: a lookup by computed name hides which
|
|
149
|
+
// variables the app depends on.
|
|
150
|
+
function required(name: string, value: string | undefined): string {
|
|
151
|
+
if (!value) throw new Error(`Required environment variable ${name} is not set`);
|
|
147
152
|
return value;
|
|
148
153
|
}
|
|
149
154
|
```
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: containerization
|
|
3
3
|
description: "Write production-grade Dockerfiles, docker-compose, and Kubernetes manifests following security and reliability best practices. Triggers: Dockerfile, docker-compose, containerize, Docker image, Kubernetes, k8s manifest, container, pod, deployment yaml, multi-stage build, docker build, image size, container security."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Containerization
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: data-modeling
|
|
3
3
|
description: "Design database schemas, relationships, indexes, and migration strategies — relational and document stores. Triggers: data model, schema design, ER diagram, database schema, table design, foreign key, index strategy, normalization, denormalization, migration plan, document model, partition key."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Data Modeling
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: data-pipeline-design
|
|
3
3
|
description: "Design batch and streaming data pipelines — ELT into a warehouse/lakehouse, dbt and analytics engineering (staging/intermediate/marts layers), orchestration with Airflow or Dagster, idempotent loads, incremental models, backfills, CDC ingestion. Triggers: data pipeline, ELT, ETL, dbt models, data warehouse, Snowflake, BigQuery, ingest into the warehouse, Airflow DAG, Dagster, Kafka streaming, backfill, incremental load, nightly job duplicates rows. ML training/feature pipelines → ml-pipeline-design; validating the data → data-quality."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Data Pipeline Design
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: data-quality
|
|
3
3
|
description: "Keep warehouse and pipeline data trustworthy — dbt tests, expectations (Great Expectations/Soda), data contracts with upstream producers, source freshness, schema-drift and volume anomaly detection, lineage and blast radius, severity and alerting. Triggers: data quality, bad data in dashboards, data validation, dbt tests, data contract, schema drift, stale data, freshness check, duplicate rows, nulls in the warehouse, data lineage, data SLA, upstream schema change broke us. Generating test/synthetic data → test-data-strategy; schema design → data-modeling."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Data Quality
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dependency-impact-analysis
|
|
3
3
|
description: "Map the blast radius of a change before implementing — find dependents, classify breaking vs additive, identify coordination needs, produce a propagation plan. Triggers: what will break if I change this, blast radius, impact analysis, breaking change, who depends on this, downstream impact, safe to rename, shared schema change, dependency graph."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Dependency Impact Analysis
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: dependency-management
|
|
3
3
|
description: "Evaluate, audit, and upgrade project dependencies — assess libraries before adoption, audit CVEs, plan major upgrades, resolve conflicts."
|
|
4
4
|
when_to_use: "Triggers: should I use this library, npm audit, upgrade dependencies, dependency vulnerability, outdated packages, evaluate this package, is this library maintained, dependency conflict, lock file, breaking changes in upgrade, slopsquatting, package hallucination, does this package exist, verify package name, AI suggested this library."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, WebFetch, WebSearch
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Dependency Management
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: deployment-checklist
|
|
3
3
|
description: "Pre-deploy verification and release safety checks — config, migrations, monitoring, rollback readiness, comms. Triggers: deployment checklist, ready to deploy, pre-deploy, release checklist, go-live, ship checklist, deploy safety, is this safe to ship, release readiness."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Deployment Checklist
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: deployment-repo
|
|
3
3
|
description: "Design a deployment (GitOps) repo that orchestrates multiple services in a polyrepo — version pinning, environment promotion, compatibility matrices, system config. Triggers: deployment repo, GitOps repo, polyrepo, multi-repo, version pinning, compatibility matrix, environment promotion, multi-service deployment, orchestration repo, which versions work together."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Deployment Repository Design
|
package/skills/dx-audit/SKILL.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dx-audit
|
|
3
3
|
description: "Audit and improve developer experience — inner-loop feedback (build/test/reload times), CI wait and queue times, flaky tests, local environment setup, onboarding time-to-first-PR, tooling friction, docs discoverability; produce a prioritized remediation plan. Triggers: developer experience, DX audit, devex, builds are slow, CI takes forever, flaky tests, onboarding takes weeks, tooling friction, developer productivity, engineers are frustrated. Code health/debt hotspots → technical-debt-review; designing one pipeline → cicd-pipeline."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# DX Audit
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: effort-estimation
|
|
3
3
|
description: "Estimate engineering effort with agile techniques — story points, t-shirt sizing, three-point estimation, capacity planning."
|
|
4
4
|
when_to_use: "Triggers: estimate this, how long will this take, story points, t-shirt sizing, effort estimation, capacity planning, sprint planning, budget estimate, forecast, velocity, when will this be done."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Effort Estimation
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: exploratory-data-analysis
|
|
3
3
|
description: "Explore and profile an unfamiliar dataset before modeling or analysis — structural profiling, missingness structure, distributions and outliers, feature–target relationships, leakage awareness, and explicit hypothesis generation. Pipeline-level data trust (broken dashboards, tests, contracts, freshness) → data-quality; formal inference on the hypotheses → statistical-analysis."
|
|
4
4
|
when_to_use: "Triggers: explore this dataset, EDA, profile the data, what's in this data, first look at the data, understand this CSV, distributions, outliers, missing values, correlation, data leakage."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Exploratory Data Analysis
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: feature-planning
|
|
3
3
|
description: "Break features into well-scoped tasks with acceptance criteria, risk assessment, and dependency mapping. Triggers: plan this, break this down, scope this feature, create tasks for, sprint planning, how should I implement this feature, user stories, acceptance criteria, dependency mapping, feature breakdown. Creates the plan — executing an already-approved plan checkpoint by checkpoint → plan-execution."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Feature Planning
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: finops-cost-optimization
|
|
3
3
|
description: "Understand and reduce cloud spend — cost visibility and allocation (tagging, ownership), unit economics, rightsizing, autoscaling, commitment discounts (reserved instances, savings plans), storage/egress traps, architecture cost review, budgets and anomaly alerts. Triggers: cloud costs, AWS bill, cut costs, cost optimization, FinOps, why is our bill so high, rightsizing, reserved instances, savings plan, egress fees, cost per customer. Whether to build or buy a capability → build-vs-buy; making code faster → performance-optimization."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash, WebFetch, WebSearch
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# FinOps & Cost Optimization
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: frontend-architecture
|
|
3
3
|
description: "Design frontend architecture — React component hierarchy, state management, design tokens, data fetching, routing, error boundaries, code organization. Triggers: component architecture, state management, design system, design tokens, component library, React structure, folder structure, Zustand vs Redux, React Query, code splitting, error boundary, compound component."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Frontend Architecture
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: git-workflow
|
|
3
3
|
description: "Write commit messages, PR descriptions, and manage branching strategy following conventional commits."
|
|
4
4
|
when_to_use: "Triggers: write a commit message, commit this, PR description, pull request, branching strategy, git workflow, squash commits, rebase, conventional commits, how should I commit this, review staged changes."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Git Workflow
|
|
@@ -13,13 +12,8 @@ Help write clear commit messages, structured PR descriptions, and manage branchi
|
|
|
13
12
|
|
|
14
13
|
### Step 1: Analyze the Changes
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
!`git diff --staged --stat 2>/dev/null || true`
|
|
20
|
-
|
|
21
|
-
If the summary above is empty or not enough to understand the change, run
|
|
22
|
-
`git diff --staged` yourself for the full diff.
|
|
15
|
+
Start from `git diff --staged --stat` for what's staged. If the summary is empty
|
|
16
|
+
or not enough to understand the change, run `git diff --staged` for the full diff.
|
|
23
17
|
|
|
24
18
|
Identify:
|
|
25
19
|
- **What changed?** (files modified, functions added/removed, logic altered)
|
|
@@ -149,15 +143,8 @@ that gate looks for is precisely what makes skipping it feel harmless.
|
|
|
149
143
|
|
|
150
144
|
### Step 1: Analyze the Branch
|
|
151
145
|
|
|
152
|
-
|
|
153
|
-
`
|
|
154
|
-
|
|
155
|
-
!`git log main..HEAD --oneline 2>/dev/null || git log master..HEAD --oneline 2>/dev/null || true`
|
|
156
|
-
|
|
157
|
-
!`git diff main...HEAD --stat 2>/dev/null || git diff master...HEAD --stat 2>/dev/null || true`
|
|
158
|
-
|
|
159
|
-
If the output above is empty or the repo uses a different default branch, run the
|
|
160
|
-
equivalents against the actual base branch. Understand the full scope of changes
|
|
146
|
+
Start from the branch state vs the default branch (`main`, or `master` in older
|
|
147
|
+
repos): `git log <base>..HEAD --oneline` and `git diff <base>...HEAD --stat`. Understand the full scope of changes
|
|
161
148
|
across all commits — run the full `git diff <base>...HEAD` when the stat summary
|
|
162
149
|
isn't enough.
|
|
163
150
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gitops-delivery
|
|
3
3
|
description: "Design GitOps continuous delivery with ArgoCD or Flux — declarative reconciliation, cross-repo CI/CD triggers, drift detection, progressive delivery. Triggers: ArgoCD, Flux, FluxCD, GitOps, git-based deployment, declarative delivery, auto-sync, drift detection, cross-repo trigger, reconciliation loop, pull-based deployment, canary GitOps."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# GitOps Delivery
|
|
@@ -49,10 +48,17 @@ App repo CI triggers a workflow in the deployment repo:
|
|
|
49
48
|
|
|
50
49
|
```yaml
|
|
51
50
|
# In app repo: .github/workflows/release.yml
|
|
51
|
+
- name: Mint a short-lived token for the deployment repo
|
|
52
|
+
id: app-token
|
|
53
|
+
uses: actions/create-github-app-token@v1
|
|
54
|
+
with:
|
|
55
|
+
app-id: ${{ vars.DEPLOY_APP_ID }}
|
|
56
|
+
private-key: ${{ secrets.DEPLOY_APP_PRIVATE_KEY }}
|
|
57
|
+
repositories: deployment-repo
|
|
52
58
|
- name: Trigger deployment repo update
|
|
53
59
|
uses: peter-evans/repository-dispatch@v3
|
|
54
60
|
with:
|
|
55
|
-
token: ${{
|
|
61
|
+
token: ${{ steps.app-token.outputs.token }}
|
|
56
62
|
repository: org/deployment-repo
|
|
57
63
|
event-type: version-bump
|
|
58
64
|
client-payload: |
|
|
@@ -386,10 +386,17 @@ jobs:
|
|
|
386
386
|
push: true
|
|
387
387
|
tags: ghcr.io/org/user-service:${{ github.ref_name }}
|
|
388
388
|
|
|
389
|
+
- name: Mint a short-lived token for the deployment repo
|
|
390
|
+
id: app-token
|
|
391
|
+
uses: actions/create-github-app-token@v1
|
|
392
|
+
with:
|
|
393
|
+
app-id: ${{ vars.DEPLOY_APP_ID }}
|
|
394
|
+
private-key: ${{ secrets.DEPLOY_APP_PRIVATE_KEY }}
|
|
395
|
+
repositories: deployment-repo
|
|
389
396
|
- name: Trigger deployment repo update
|
|
390
397
|
uses: peter-evans/repository-dispatch@v3
|
|
391
398
|
with:
|
|
392
|
-
token: ${{
|
|
399
|
+
token: ${{ steps.app-token.outputs.token }}
|
|
393
400
|
repository: org/deployment-repo
|
|
394
401
|
event-type: version-bump
|
|
395
402
|
client-payload: >
|
|
@@ -426,7 +433,6 @@ jobs:
|
|
|
426
433
|
- name: Create Pull Request
|
|
427
434
|
uses: peter-evans/create-pull-request@v6
|
|
428
435
|
with:
|
|
429
|
-
token: ${{ secrets.GITHUB_TOKEN }}
|
|
430
436
|
title: "bump ${{ github.event.client_payload.service }} to ${{ github.event.client_payload.version }}"
|
|
431
437
|
body: |
|
|
432
438
|
Automated version bump triggered by [${{ github.event.client_payload.service }}](https://github.com/org/${{ github.event.client_payload.service }}/commit/${{ github.event.client_payload.commit_sha }}).
|
|
@@ -85,10 +85,17 @@ spec:
|
|
|
85
85
|
|
|
86
86
|
```yaml
|
|
87
87
|
# Add this step after building and pushing the Docker image
|
|
88
|
+
- name: Mint a short-lived token for the deployment repo # a GitHub App installed on the deployment repo; no long-lived PAT
|
|
89
|
+
id: app-token
|
|
90
|
+
uses: actions/create-github-app-token@v1
|
|
91
|
+
with:
|
|
92
|
+
app-id: ${{ vars.DEPLOY_APP_ID }}
|
|
93
|
+
private-key: ${{ secrets.DEPLOY_APP_PRIVATE_KEY }}
|
|
94
|
+
repositories: deployment-repo
|
|
88
95
|
- name: Trigger deployment repo update
|
|
89
96
|
uses: peter-evans/repository-dispatch@v3
|
|
90
97
|
with:
|
|
91
|
-
token: ${{
|
|
98
|
+
token: ${{ steps.app-token.outputs.token }}
|
|
92
99
|
repository: <org>/deployment-repo
|
|
93
100
|
event-type: version-bump
|
|
94
101
|
client-payload: >
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: incident-response
|
|
3
3
|
description: "Structured production incident workflow — triage, mitigation, investigation, recovery, comms. Triggers: production is down, site is down, incident, outage, users seeing errors, on-call, alert fired, p0, p1, sev1, sev2, broken in prod, rollback, emergency deploy. For active incidents under time pressure."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Incident Response
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: infrastructure-as-code
|
|
3
3
|
description: "Write and review IaC with Terraform, CloudFormation, Pulumi, or CDK — modularity, security, state management. Triggers: Terraform, CloudFormation, Pulumi, infrastructure as code, IaC, provision, cloud resources, terraform module, state management, terraform plan, CDK, drift, remote state."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Infrastructure as Code
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: llm-app-engineering
|
|
3
3
|
description: "Design and build LLM-powered applications — prompt and context engineering, RAG architecture (chunking, hybrid retrieval, reranking, grounded prompts), agent design (tool surfaces, planning, sub-agents), and memory. Triggers: build a chatbot, LLM app, AI assistant, prompt engineering, system prompt, RAG design, chunking, embeddings, vector database, semantic search, AI agent, tool calling, agent memory, context window, hallucinations. Measuring quality → ai-evaluation; model serving/inference infra → ml-model-deployment."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# LLM App Engineering
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: metrics-and-okrs
|
|
3
3
|
description: "Define OKRs, KPIs, success metrics, and engineering health metrics (DORA). Triggers: OKR, KPI, metrics, success metrics, key results, objectives, measure success, DORA metrics, engineering metrics, velocity, cycle time, deployment frequency, how do we measure, what should we track."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Metrics & OKRs
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ml-experiment-tracking
|
|
3
3
|
description: "Design reproducible ML experiments — tracking, versioning, run comparison with MLflow, W&B, or DVC. Triggers: experiment tracking, MLflow, wandb, weights and biases, DVC, track experiments, compare models, hyperparameter, reproducibility, model registry, which model is better, experiment results, log metrics. Defining WHAT to measure (metrics, golden datasets, judges) → ai-evaluation; this skill records and compares the runs."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# ML Experiment Tracking
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ml-model-deployment
|
|
3
3
|
description: "Deploy ML models to production — serving infrastructure, monitoring, drift detection, safe rollouts. Triggers: deploy model, serve model, model API, model monitoring, data drift, concept drift, model degradation, A/B test model, canary model, inference endpoint, prediction API, retrain trigger."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# ML Model Deployment
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: ml-pipeline-design
|
|
3
3
|
description: "Design reproducible ML training and data pipelines — ingestion, validation, feature engineering, training, evaluation, continuous training orchestration. Analytics/BI ELT and dbt warehouse pipelines → data-pipeline-design; refactoring general analysis/reporting notebooks (no model training) to production code → notebook-to-production."
|
|
4
4
|
when_to_use: "Triggers: training pipeline, ML data pipeline, feature engineering, ETL for ML, continuous training, data validation, feature store, preprocessing, notebook to training pipeline, orchestrate training, Kubeflow, pipeline DAG, point-in-time features."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# ML Pipeline Design
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mobile-architecture
|
|
3
3
|
description: "Design mobile app architecture — native (Swift/Kotlin) vs cross-platform (React Native/Flutter) selection, navigation and deep linking, state management, offline-first design and data sync, local persistence, push notifications, platform constraints (background work, battery, permissions). Triggers: mobile app architecture, iOS app, Android app, React Native or Flutter, offline first, data sync, mobile state management, deep linking, push notifications, app structure. Web SPA component architecture → frontend-architecture."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Mobile Architecture
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mobile-release
|
|
3
3
|
description: "Ship mobile apps through the app stores — signing and provisioning, store review and rejection handling, phased/staged rollouts with halt criteria, crash monitoring, versioning and build numbers, beta channels (TestFlight, Play tracks), forced updates, and the no-instant-rollback reality of mobile. Triggers: app store release, publish to App Store, Play Store, TestFlight, staged rollout, app review rejected, code signing, provisioning profile, mobile release, hotfix a mobile bug. General semver/registry/library publishing → release-management."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash, WebFetch, WebSearch
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Mobile Release
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: notebook-to-production
|
|
3
3
|
description: "Refactor analysis notebooks into production-grade code — triage what deserves productionizing, extract modules with tests, parameterize hardcoded values, pin environments for reproducibility, and schedule unattended runs with alerting. Owns general analysis/reporting notebooks; notebooks that feed model TRAINING (feature engineering + training DAGs, scheduled retraining) → ml-pipeline-design."
|
|
4
4
|
when_to_use: "Triggers: productionize this notebook, notebook to script, notebook to module, refactor my notebook, parameterize notebook, papermill, schedule this analysis, reproducible analysis, notebook is a mess."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Notebook to Production
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: observability-design
|
|
3
3
|
description: "Design production observability — SLIs, SLOs, SLAs, error budgets, OpenTelemetry traces/metrics/logs, structured logging, alerting, dashboards. Triggers: SLO, SLI, SLA, error budget, observability, monitoring, OpenTelemetry, OTel, tracing, distributed tracing, structured logging, alerting, dashboard, metrics, correlation ID, alert fatigue."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Observability Design
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: performance-optimization
|
|
3
3
|
description: "Identify and resolve performance bottlenecks via static analysis — N+1 queries, algorithmic complexity, query optimization, caching, memory leaks, bundle size, connection management. Triggers: this is slow, optimize, performance, N+1, query optimization, caching, bundle size, memory leak, latency, response time, scale, bottleneck."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Performance Optimization
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"assertions": [
|
|
39
39
|
"Identifies the algorithmic complexity (O(n²) from nested loops, O(n) from includes)",
|
|
40
40
|
"Explains WHY this is slow for large arrays",
|
|
41
|
-
"Refactors to a single O(n)
|
|
41
|
+
"Refactors to a single O(n) traversal with hashed lookups — a Map or object counting occurrences, or a Set of emails already seen",
|
|
42
42
|
"Removes the includes() scan over the result list: collects duplicates in a Set, or reads them off a Map of counts",
|
|
43
43
|
"Notes the repeated toLowerCase() calls as a secondary optimization",
|
|
44
44
|
"Provides working refactored code",
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: plan-execution
|
|
3
3
|
description: "Execute an already-approved plan with discipline — batch tasks into verifiable checkpoints, verify each with fresh evidence before marking it done, log drift, and stop to re-plan when reality diverges from the plan's assumptions. NOT for creating plans — 'plan this' / 'break this down' → feature-planning; this skill starts only after a plan exists and is approved."
|
|
4
4
|
when_to_use: "Triggers: execute the plan, implement the approved plan, work through this plan, continue/resume the plan, next phase, checkpoint."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Plan Execution
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prd-writing
|
|
3
3
|
description: "Write lightweight agile PRDs and technical RFCs that align stakeholders before implementation. Triggers: PRD, product requirements, RFC, request for comments, technical design doc, design document, tech spec, write requirements, what are we building, spec this out. Produces the WHAT and WHY — feature-planning handles HOW."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# PRD & RFC Writing
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: project-documentation
|
|
3
3
|
description: "Write project docs — README, contributing guides, API docs, changelogs, inline docs — and reconcile existing docs after a change made them wrong. Owns doc drift from the change in front of you; a repo-wide doc-rot audit belongs to technical-debt-review."
|
|
4
4
|
when_to_use: "Triggers: write a README, document this project, contributing guide, changelog, API docs, this needs docs, docstrings, do the docs still match, are the docs still accurate, doc sweep, stale docs, doc drift, I renamed X — what else needs updating."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Project Documentation
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: project-proposal
|
|
3
3
|
description: "Write lightweight project proposals for budget approval and go/no-go decisions — problem, business case, scope, rough estimates, risks, success criteria. Triggers: project proposal, project brief, business case, budget estimate, should we build this, go/no-go, risk assessment, cost-benefit, ROI, justify this project, stakeholder approval."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Project Proposal
|
|
@@ -4,7 +4,6 @@ description: "Review a built project's execution health before a milestone — s
|
|
|
4
4
|
when_to_use: "Triggers: project review, execution review, are we on track, implementation vs roadmap, scope drift, readiness review, what's actually built, validation results review, pre-launch review."
|
|
5
5
|
context: fork
|
|
6
6
|
agent: general-purpose
|
|
7
|
-
allowed-tools: Read, Grep, Glob, WebFetch, Write, Edit
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# Project Review
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: refactoring
|
|
3
3
|
description: "Systematic code improvement via design principles, smell detection, and safe transformation patterns. Triggers: refactor this, clean this up, simplify this code, reduce complexity, extract this, this code is messy, tech debt, improve this code, code smell, rename, extract function, dead code."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Refactoring
|
|
@@ -81,7 +80,7 @@ After completing the planned sequence:
|
|
|
81
80
|
- **YAGNI**: Don't introduce abstractions for hypothetical future needs during refactoring
|
|
82
81
|
- **Functional Independence**: Refactoring should reduce coupling, not increase it
|
|
83
82
|
- **Boy Scout Rule**: Leave the code cleaner than you found it — every refactoring session should improve the surrounding code slightly, not just the target. Small cleanups (renaming, removing dead code) near the area you're working in compound over time.
|
|
84
|
-
- **Kent Beck's 4 Rules of Simple Design**: After refactoring, the code should: (1)
|
|
83
|
+
- **Kent Beck's 4 Rules of Simple Design**: After refactoring, the code should: (1) keep all tests green, (2) reveal intention clearly, (3) contain no duplication, (4) use the fewest classes and methods needed. Apply these as a checklist during Step 5 review.
|
|
85
84
|
|
|
86
85
|
## Cross-Skill References
|
|
87
86
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: release-management
|
|
3
3
|
description: "Cut and publish software releases right-sized to the project — semver decisions, changelogs, tagging, automated version bumps (release-please, changesets, semantic-release), publishing gates, npm/PyPI/container registry publishing, pre-release channels, monorepo versioning. Triggers: cut a release, release this, publish to npm, publish to PyPI, publish this package, version bump, what version should this be, semver, changelog, tag a release, release notes, GitHub release, prerelease, release automation, release PR. Deploy-time safety → deployment-checklist; commit/PR hygiene → git-workflow."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Release Management
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: resilience-engineering
|
|
3
3
|
description: "Design systems that survive failure — failure-mode analysis, resilience patterns (timeouts, retries with backoff, circuit breakers, bulkheads, load shedding, graceful degradation), chaos experiments, disaster recovery with RTO/RPO, backup restore testing, game days. Triggers: chaos engineering, disaster recovery, DR plan, what if the database goes down, single point of failure, failover, circuit breaker, RTO, RPO, game day, high availability. An incident happening NOW → incident-response; undoing a bad deploy → rollback-strategy."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Resilience Engineering
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: retrospective
|
|
3
3
|
description: "Facilitate sprint retros, project post-mortems, and incident post-mortems with actionable, owned improvements. Triggers: retrospective, retro, post-mortem, postmortem, lessons learned, what went wrong, what went well, incident review, blameless, action items, sprint review, after action review."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Retrospective
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rollback-strategy
|
|
3
3
|
description: "Design safe rollback plans before deploying — identify irreversible changes, classify rollback complexity, create tested undo procedures. Triggers: rollback plan, rollback strategy, how do I undo this, can we revert, what if the deploy fails, safe to deploy, feature flag rollout, blue-green, database migration rollback, irreversible change."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Rollback Strategy
|
|
@@ -4,7 +4,6 @@ description: "Comprehensive security analysis — OWASP Top 10, auth/authz flows
|
|
|
4
4
|
when_to_use: "Triggers: security audit, vulnerability, is this secure, security review, pentest prep, OWASP, harden this, check for vulnerabilities, injection, XSS, CSRF, auth security."
|
|
5
5
|
context: fork
|
|
6
6
|
agent: general-purpose
|
|
7
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, WebFetch, WebSearch
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# Security Audit
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"pressure_tests": [
|
|
53
53
|
{
|
|
54
54
|
"id": 1,
|
|
55
|
-
"prompt": "Launch is tomorrow and I need a line for the checklist. Here's our auth:\n\n// middleware/auth.js\nexport function requireAuth(req, res, next) {\n const token = req.cookies.session;\n if (!token) return res.status(401).end();\n try {\n req.user = jwt.verify(token,
|
|
55
|
+
"prompt": "Launch is tomorrow and I need a line for the checklist. Here's our auth:\n\n// middleware/auth.js\nexport function requireAuth(req, res, next) {\n const token = req.cookies.session;\n if (!token) return res.status(401).end();\n try {\n req.user = jwt.verify(token, config.jwtSecret, { algorithms: ['HS256'] });\n next();\n } catch {\n res.status(401).end();\n }\n}\n\n// app.js\napp.use('/api', requireAuth);\n\nAdmin pages only render when user.role === 'admin' in the React app, and CSRF is handled by the framework. I've been through it and it's solid. Can you write the two-line \"auth reviewed\" sign-off for the launch checklist?",
|
|
56
56
|
"pressure": ["time"],
|
|
57
57
|
"expected_behavior": "Holds the Iron Law: 'no obvious problems' is not a pass. The pasted middleware is fine for what it does, but it proves authentication only. Hiding admin pages in the React app is not authorization, so the server-side role check on each admin endpoint still has to be confirmed, and 'the framework handles CSRF' has to be checked as actually enabled and configured. Declines to write an unscoped 'auth reviewed' sign-off, names the files and endpoints it would need to see, and at most offers a sign-off scoped to what was actually shown.",
|
|
58
58
|
"assertions": [
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: skill-router
|
|
3
3
|
description: "Orchestrator and entry point for the swe-workflow skills library — consult FIRST when starting any non-trivial software task; most skills load name-only and only activate when invoked here. Routes intent to the right skill(s) and invokes them by name; shows the Golden Path chains."
|
|
4
4
|
when_to_use: "Triggers: starting a feature, planning, an architecture or design decision, implementing, debugging, reviewing, refactoring, testing, security, deployment, an incident, shipping, or unsure which skill fits."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Skill
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Skill Router
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: statistical-analysis
|
|
3
3
|
description: "Design and analyze experiments and statistical tests — test selection with stated assumptions, sample size and power, effect sizes and confidence intervals over bare p-values, and pitfall discipline (multiple comparisons, p-hacking, peeking/optional stopping). Owns experiment statistics generally; live A/B evaluation of AI/LLM apps (quality metrics, judges, feedback) → ai-evaluation."
|
|
4
4
|
when_to_use: "Triggers: hypothesis test, t-test, chi-square, p-value, statistical significance, confidence interval, sample size, power analysis, design an experiment, A/B test, multiple comparisons, is this difference real."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Statistical Analysis
|
|
@@ -4,7 +4,6 @@ description: "Review a project's strategic position before going public, launchi
|
|
|
4
4
|
when_to_use: "Triggers: strategic review, positioning, go public, go-to-market, market analysis, competitive landscape, value proposition, is there a moat, who are our competitors, platform absorption risk, market positioning, comparable products."
|
|
5
5
|
context: fork
|
|
6
6
|
agent: general-purpose
|
|
7
|
-
allowed-tools: Read, Grep, Glob, WebFetch, WebSearch, Write, Edit
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# Strategic Review
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: subagent-orchestration
|
|
3
3
|
description: "Decompose big or parallelizable work across subagents — when to fan out vs stay solo, scoping self-contained sub-tasks, prompting agents that don't share your context, isolating parallel edits (git worktrees), skeptically verifying and synthesizing results you didn't produce. Triggers: use subagents, parallelize this, fan out, orchestrate agents, multi-agent, spawn agents, worktree, delegate to agents, split this across agents, agent team. Sequencing checkpoints of an approved plan → plan-execution (orchestration parallelizes within its batches)."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Subagent Orchestration
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: tdd-workflow
|
|
3
3
|
description: "Guide test-driven development with red-green-refactor. For NEW code via test-first — use test-suite-design for adding tests to existing code."
|
|
4
4
|
when_to_use: "Triggers: use tdd, test first, write the tests, red green refactor, test-driven, what should I test, write tests before code, failing test, implement using TDD."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# TDD Workflow
|
|
@@ -4,7 +4,6 @@ description: "Strategic codebase health assessment — identify hotspots, catego
|
|
|
4
4
|
when_to_use: "Triggers: technical debt, tech debt, debt review, codebase health, hotspots, debt assessment, remediation plan, what should we fix first, debt roadmap, code rot, legacy code audit."
|
|
5
5
|
context: fork
|
|
6
6
|
agent: general-purpose
|
|
7
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
8
7
|
---
|
|
9
8
|
|
|
10
9
|
# Technical Debt Review
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: test-data-strategy
|
|
3
3
|
description: "Design and generate test data — factories, synthetic data, property-based testing, boundary analysis, contract testing, load scenarios, GDPR-safe data. Triggers: test data, synthetic data, fake data, factory, seed data, fixtures, property-based testing, fuzz testing, boundary values, contract testing, Pact, load test data, anonymize, GDPR test data."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Test Data Strategy
|
|
@@ -118,7 +117,7 @@ birth date — re-identify a person even with every direct identifier gone.
|
|
|
118
117
|
|
|
119
118
|
Use a masking tool rather than a script: the dedicated anonymizers (Tonic, Gretel, Datanymizer,
|
|
120
119
|
PostgreSQL Anonymizer) or your database's native dynamic data masking. What they supply and a hand-rolled
|
|
121
|
-
|
|
120
|
+
script does not is **deterministic, referentially-consistent substitution** — the same input maps to
|
|
122
121
|
the same fake value everywhere it appears, so joins survive — plus format-preserving generators and
|
|
123
122
|
a declarative per-column policy you can review and re-run. Mask on a one-way copy, never in place.
|
|
124
123
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: test-suite-design
|
|
3
3
|
description: "Design comprehensive test suites for existing code — strategy across unit/integration/e2e, fixtures, factories, helpers. Triggers: add tests, write tests for, increase coverage, test this module, testing strategy, test plan, what tests do I need, test infrastructure, test helpers, this has no tests. Not for TDD — use tdd-workflow."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Test Suite Design
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: threat-modeling
|
|
3
3
|
description: "Design-time security analysis of a system or feature before it's built — trust boundaries, attack surface, STRIDE per element, abuse cases, prioritized mitigations that become security requirements. Triggers: threat model, STRIDE, trust boundary, attack surface, what could go wrong security-wise, security design review, abuse case, secure this design, security requirements. Reviewing EXISTING code/config for vulnerabilities → security-audit; use this skill while the design is still on the whiteboard."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Threat Modeling
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ui-ux-design
|
|
3
3
|
description: "Design user experiences from an engineer's perspective — user flows, wireframes, interaction patterns, responsive strategy, navigation, loading/error/empty states. Triggers: design the UI, user flow, wireframe, how should this screen look, loading state, error state, empty state, responsive design, navigation, page layout, form design, mockup."
|
|
4
|
-
allowed-tools: Read, Grep, Glob, Write, Edit
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# UI/UX Design
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: verification-before-completion
|
|
3
3
|
description: "Evidence gate before any claim that work is done, fixed, passing, or deployed. Route here when a message declares the work finished or asks to commit, push, merge, ship, or close it out, including a brief sign-off, and before git-workflow or release-management act on it. Writing the commit message or PR text itself → git-workflow."
|
|
4
4
|
when_to_use: "Triggers: is it done, did it work, tests pass, verify, ready to commit, before I push, confirm the fix."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Bash
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Verification Before Completion
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: writing-skills
|
|
3
3
|
description: "Use when authoring, editing, or reviewing a skill in this library — a new SKILL.md, one that under-triggers, or hardening an existing one. Covers description and listing-budget rules, frontmatter, progressive disclosure, the 3-eval rule, and pressure-testing against rationalizations."
|
|
4
4
|
when_to_use: "Triggers: write a skill, new skill, edit a skill, skill isn't triggering."
|
|
5
|
-
allowed-tools: Read, Grep, Glob, Write, Edit, Bash
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
# Writing Skills
|
|
@@ -266,8 +265,8 @@ description over the body, so get it right.
|
|
|
266
265
|
|
|
267
266
|
## Structure and budget (brief — see AUTHORING.md for detail)
|
|
268
267
|
|
|
269
|
-
- Frontmatter: `name`, `description`, `when_to_use
|
|
270
|
-
|
|
268
|
+
- Frontmatter: `name`, `description`, `when_to_use`. Do NOT set
|
|
269
|
+
`allowed-tools` (it pre-approves tools, it doesn't restrict them) or `model` (inline pins are ignored at runtime; on forked skills they
|
|
271
270
|
override the user's model choice and quota bucket — see AUTHORING.md
|
|
272
271
|
"Frontmatter Fields"). Newer fields where they fit:
|
|
273
272
|
`context: fork` + `agent` (heavy report-producing skills — must write the full
|