@1aboveio/skills 1.0.4 → 1.0.5
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/package.json +2 -2
- package/skills/app-dev/airflow/SKILL.md +1 -1
- package/skills/app-dev/android-foundation/SKILL.md +1 -1
- package/skills/app-dev/app-debug/SKILL.md +1 -1
- package/skills/app-dev/better-auth/SKILL.md +1 -1
- package/skills/app-dev/data-catalog/SKILL.md +1 -1
- package/skills/app-dev/data-quality/SKILL.md +1 -1
- package/skills/app-dev/ios-foundation/SKILL.md +1 -1
- package/skills/app-dev/monorepo/SKILL.md +1 -1
- package/skills/app-dev/nextjs-fullstack/SKILL.md +1 -1
- package/skills/app-dev/prisma-setup/SKILL.md +1 -1
- package/skills/app-dev/pyspark/SKILL.md +54 -12
- package/skills/app-dev/pyspark/references/adaptive-batching.md +294 -0
- package/skills/app-dev/pyspark/references/diagnosis-and-profiling.md +24 -3
- package/skills/app-dev/pyspark/references/etl-contract.md +27 -0
- package/skills/app-dev/pyspark/references/production-validation.md +41 -11
- package/skills/app-dev/pyspark/references/reconciliation.md +28 -3
- package/skills/app-dev/pyspark/references/transformation-design.md +20 -0
- package/skills/app-dev/python-backend/SKILL.md +1 -1
- package/skills/app-dev/shadcn/SKILL.md +1 -1
- package/skills/app-dev/zod-v4/SKILL.md +1 -1
- package/skills/cicd/cloud-build/SKILL.md +1 -1
- package/skills/cicd/cloud-debug/SKILL.md +1 -1
- package/skills/cicd/cloud-deploy/SKILL.md +1 -1
- package/skills/cicd/docker/SKILL.md +1 -1
- package/skills/cicd/github-actions/SKILL.md +1 -1
- package/skills/cicd/github-flow/SKILL.md +1 -1
- package/skills/cicd/google-cloud/SKILL.md +1 -1
- package/skills/cicd/mergify/SKILL.md +1 -1
- package/skills/cicd/podman/SKILL.md +1 -1
- package/skills/content/article-review/SKILL.md +1 -1
- package/skills/content/article-to-image/SKILL.md +1 -1
- package/skills/content/flowchart-svg/SKILL.md +1 -1
- package/skills/content/image-gen/SKILL.md +1 -1
- package/skills/content/mermaid/SKILL.md +1 -1
- package/skills/content/wechat-article-writer/SKILL.md +1 -1
- package/skills/content/wechat-publisher/SKILL.md +1 -1
- package/skills/content/wechat-search/SKILL.md +1 -1
- package/skills/content/xai-search/SKILL.md +1 -1
- package/skills/core/distill-writing/SKILL.md +1 -1
- package/skills/core/doc-to-md/SKILL.md +1 -1
- package/skills/core/editorial-review/SKILL.md +1 -1
- package/skills/core/house-style/SKILL.md +1 -1
- package/skills/core/house-style/references/defaults.md +32 -6
- package/skills/core/plain-language/SKILL.md +87 -4
- package/skills/core/polish-cn/SKILL.md +1 -1
- package/skills/core/reg-parser/SKILL.md +1 -1
- package/skills/core/terminology/SKILL.md +1 -1
- package/skills/core/write-doc/SKILL.md +1 -1
- package/skills/engineering/better-review/SKILL.md +1 -1
- package/skills/engineering/contributing/SKILL.md +1 -1
- package/skills/engineering/e2e-test/SKILL.md +1 -1
- package/skills/engineering/engineering-runtime/SKILL.md +1 -1
- package/skills/engineering/engineering-runtime/coherence/workflow.json +13 -13
- package/skills/engineering/ensure-coverage/SKILL.md +1 -1
- package/skills/engineering/golden-path/SKILL.md +1 -1
- package/skills/engineering/harness-runtime/SKILL.md +1 -1
- package/skills/engineering/resolve-issues/SKILL.md +1 -1
- package/skills/engineering/resolve-release/SKILL.md +1 -1
- package/skills/engineering/rush-issues/SKILL.md +1 -1
- package/skills/engineering/rush-release/SKILL.md +1 -1
- package/skills/engineering/test-quality/SKILL.md +1 -1
- package/skills/risk-compliance/compliance-audit/SKILL.md +1 -1
- package/skills/risk-compliance/contract-compare/SKILL.md +1 -1
- package/skills/risk-compliance/contract-review/SKILL.md +1 -1
- package/skills/risk-compliance/doc-authenticity/SKILL.md +1 -1
- package/skills/risk-compliance/fraud-analysis/SKILL.md +1 -1
- package/skills/risk-compliance/payment-analysis/SKILL.md +1 -1
- package/skills/risk-compliance/report-writing/SKILL.md +1 -1
- package/skills/risk-compliance/similar-domain/SKILL.md +1 -1
- package/skills/risk-compliance/tld-detection/SKILL.md +1 -1
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
# Production Validation
|
|
2
2
|
|
|
3
3
|
Playbook for workflow step 5: **canary → (optional) profile → write →
|
|
4
|
-
reconciliation** on the cluster.
|
|
5
|
-
of source data. Bind canary and write to the same pinned
|
|
6
|
-
do not substitute.
|
|
4
|
+
reconciliation** on the cluster. Start with a **small sample**, typically
|
|
5
|
+
**one month** of source data. Bind each canary and its write to the same pinned
|
|
6
|
+
snapshot. Local tests do not substitute. The sample is not a full-history
|
|
7
|
+
execution batch size. Every backfill/rebuild uses the required
|
|
8
|
+
[Adaptive Batching](adaptive-batching.md) plan: aggregate inventory, measured
|
|
9
|
+
budgets, local wider-versus-smaller equivalence, and a bounded wider
|
|
10
|
+
validate-only production canary before any authorized wider publication.
|
|
7
11
|
|
|
8
12
|
## Fail-Closed Admission
|
|
9
13
|
|
|
@@ -11,12 +15,16 @@ Do not launch until all applicable facts are recorded and valid:
|
|
|
11
15
|
|
|
12
16
|
- exact commit/module hash;
|
|
13
17
|
- production Spark, Python, Java, and table-format runtimes;
|
|
14
|
-
- source
|
|
18
|
+
- immutable source pins and exact half-open output/history boundaries for the
|
|
19
|
+
small sample or planned execution batch;
|
|
15
20
|
- scheduler pause/ownership state;
|
|
16
21
|
- zero competing warehouse work;
|
|
17
22
|
- explicit validate-only or write-enabled mode;
|
|
18
23
|
- durable writable log and event-log destination;
|
|
19
|
-
- restart/recovery plan for writes
|
|
24
|
+
- restart/recovery plan for writes;
|
|
25
|
+
- for backfills/rebuilds, a pinned adaptive manifest with measured budgets,
|
|
26
|
+
verified remaining scope, and complete Hudi partition population, table/key/
|
|
27
|
+
operation/lock checks and single-writer admission.
|
|
20
28
|
|
|
21
29
|
Classify existing processes and working-tree changes before touching them. Do
|
|
22
30
|
not kill or overwrite another operator's work.
|
|
@@ -100,6 +108,17 @@ Prove the canary did not write:
|
|
|
100
108
|
|
|
101
109
|
Do not add `.cache()` or `.persist()` to warm the canary.
|
|
102
110
|
|
|
111
|
+
### Wider Execution Canary
|
|
112
|
+
|
|
113
|
+
The small sample proves its scope, not an entire rebuild. Before widening a
|
|
114
|
+
batch, require local wider == union-of-smaller equivalence on the same immutable
|
|
115
|
+
sources, then a bounded wider validate-only canary through the complete
|
|
116
|
+
production call path. It must exercise the proposed width and relevant volume,
|
|
117
|
+
expansion, and hot-key shape within measured budgets. Apply the same requirements
|
|
118
|
+
for zero blockers, explicit skip, zero output, and logs. Keep source
|
|
119
|
+
pins, per-Activity-Date cutoffs, full identity, and partition population intact.
|
|
120
|
+
Follow [Adaptive Batching](adaptive-batching.md) for shape coverage and receipts.
|
|
121
|
+
|
|
103
122
|
## 2. Profiling (optional)
|
|
104
123
|
|
|
105
124
|
After the canary, profile when **either** the small-sample canary exceeds
|
|
@@ -110,16 +129,27 @@ After the canary, profile when **either** the small-sample canary exceeds
|
|
|
110
129
|
## 3. Write
|
|
111
130
|
|
|
112
131
|
Write-enabled only after a successful canary and **explicit authorization**.
|
|
113
|
-
Re-check admission. Publish the same pinned sample
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
132
|
+
Re-check admission. Publish the same pinned sample or execution batch proven
|
|
133
|
+
by its own canary. Adaptive planning does not grant write authorization. Do not
|
|
134
|
+
present canary time as write performance. A successful small validate-only
|
|
135
|
+
sample does not require a sample write: the first authorized publication may be
|
|
136
|
+
the wider batch after its own proof. If a sample has already been published,
|
|
137
|
+
reconcile it and exclude compatible completed scope from remaining work without
|
|
138
|
+
creating an incomplete partition replacement.
|
|
139
|
+
|
|
140
|
+
On cancellation/interruption, stop the old controller from launching more work,
|
|
141
|
+
inspect the existing Spark application/attempts and Hudi timeline, and reconcile
|
|
142
|
+
any committed scope before retrying. YARN `KILLED` alone does not prove no
|
|
143
|
+
commit occurred. Settle inflight or unknown publication state through supported
|
|
144
|
+
recovery before resuming with one controller/writer. Follow the
|
|
145
|
+
[recovery checklist](adaptive-batching.md#7-recover-an-interruption-before-retrying).
|
|
118
146
|
|
|
119
147
|
## 4. Reconciliation
|
|
120
148
|
|
|
121
149
|
Independent cluster read of the published scope — not a reuse of canary
|
|
122
|
-
aggregates. Follow [Reconciliation](reconciliation.md).
|
|
150
|
+
aggregates. Follow [Reconciliation](reconciliation.md). For wider writes retain
|
|
151
|
+
monthly or finer full-key/preserved-column checks and manifest receipts. Fail
|
|
152
|
+
closed on mismatch; committed but unreconciled scope is not completed work.
|
|
123
153
|
|
|
124
154
|
## Evidence And Ownership
|
|
125
155
|
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# Reconciliation
|
|
2
2
|
|
|
3
|
-
Cluster check after an authorized write in production validation. Use the
|
|
4
|
-
|
|
3
|
+
Cluster check after an authorized write in production validation. Use the same
|
|
4
|
+
pinned source inputs and exact scope proven by that write's canary: the small
|
|
5
|
+
sample or a separately proven wider execution batch. Local fixtures do not
|
|
6
|
+
prove this. Every backfill/rebuild follows [Adaptive Batching](adaptive-batching.md).
|
|
5
7
|
|
|
6
8
|
Independently read the published table or Hudi commit. Do not reuse canary
|
|
7
9
|
aggregates. Fail closed on mismatch.
|
|
@@ -12,7 +14,7 @@ Against the canary metrics and the previous path/oracle:
|
|
|
12
14
|
|
|
13
15
|
- row count and distinct identity count
|
|
14
16
|
- schema and required columns
|
|
15
|
-
- date/partition coverage of the
|
|
17
|
+
- date/partition coverage of the published scope
|
|
16
18
|
- write mode, commit success, and downstream readability
|
|
17
19
|
- validation blockers still zero on the published scope
|
|
18
20
|
|
|
@@ -32,6 +34,29 @@ assert actual.exceptAll(expected).count() == 0
|
|
|
32
34
|
Pin `source` to the same snapshot the writer used. Keep the previous
|
|
33
35
|
implementation only as this oracle while parity is being proven.
|
|
34
36
|
|
|
37
|
+
## Finer Checks Inside Wider Writes
|
|
38
|
+
|
|
39
|
+
A quarterly/yearly commit does not reduce reconciliation to one total. Check
|
|
40
|
+
monthly or finer subintervals, clipped to partial edges, for complete key sets,
|
|
41
|
+
duplicate multiplicity, required values, preserved columns, and
|
|
42
|
+
per-Activity-Date cutoffs. Independently read the actual Hudi publication instant and verify
|
|
43
|
+
all replaced partitions contain their complete population, including unchanged
|
|
44
|
+
entities. Check that out-of-scope partitions and previously reconciled work
|
|
45
|
+
remain unchanged. Fail closed on any mismatch.
|
|
46
|
+
|
|
47
|
+
Bind each receipt to the exact half-open scope, immutable source pins, code/
|
|
48
|
+
module identity, destination, publication instant, and bidirectional parity
|
|
49
|
+
results. Store receipts in the resumable manifest. Only reconciled scopes may
|
|
50
|
+
be subtracted from remaining work, and only when their source/code/output
|
|
51
|
+
contract matches the active campaign or explicit equivalence proves reuse.
|
|
52
|
+
Changing the plan revision does not authorize mixing incompatible results.
|
|
53
|
+
Keep old receipt identities immutable; block campaign completion and plan
|
|
54
|
+
authorized rework for affected published scopes when compatibility is unproved.
|
|
55
|
+
Commit success or a killed application alone is not completion. After an
|
|
56
|
+
interruption, inspect Spark attempts and the Hudi
|
|
57
|
+
timeline, including commits without receipts, before retrying. Follow the
|
|
58
|
+
[recovery checklist](adaptive-batching.md#7-recover-an-interruption-before-retrying).
|
|
59
|
+
|
|
35
60
|
## Evidence
|
|
36
61
|
|
|
37
62
|
Safe evidence: counts, distinct counts, null rates, min/max dates, hashes, and
|
|
@@ -11,6 +11,26 @@ ordering, time boundaries, null/tombstone behavior, arithmetic, and required
|
|
|
11
11
|
history. Performance work preserves this behavior unless the user explicitly
|
|
12
12
|
approves a change.
|
|
13
13
|
|
|
14
|
+
## Size Backfill Transformations By Expansion And Hot Keys
|
|
15
|
+
|
|
16
|
+
For every backfill/rebuild, use the required
|
|
17
|
+
[Adaptive Batching](adaptive-batching.md) plan rather than a fixed monthly loop.
|
|
18
|
+
Measure complete output rows, distinct entities, required source history,
|
|
19
|
+
temporal-join/explode expansion, maximum source/expanded rows per key, bytes,
|
|
20
|
+
and runtime/resources. A small output does not bound intermediate work or
|
|
21
|
+
whole-group memory. Derive workload-specific budgets; no universal row cap
|
|
22
|
+
proves safety. Prefer the largest measured-safe contiguous year, quarter,
|
|
23
|
+
month, or smaller interval inside semantic/source boundaries.
|
|
24
|
+
|
|
25
|
+
Keep each Activity Date's cutoff independent of batch end. Smaller batches
|
|
26
|
+
must still read required earlier history and reconstruct boundary state.
|
|
27
|
+
Compare wider candidates with the union of smaller candidates on identical
|
|
28
|
+
immutable inputs using full-row bidirectional `exceptAll`, complete identity,
|
|
29
|
+
preserved columns, and literal cutoff assertions. Include dense hot keys and
|
|
30
|
+
partial edges. If date splitting cannot bound a lifetime-history group, stop
|
|
31
|
+
for an algorithm/design decision; do not hide that risk with smaller output
|
|
32
|
+
counts, shuffle tuning, or concurrent writers.
|
|
33
|
+
|
|
14
34
|
## Choose The Shallowest Sufficient Mechanism
|
|
15
35
|
|
|
16
36
|
Prefer, in order:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: python-backend
|
|
3
3
|
description: "Python backend architecture for FastAPI, Tortoise ORM, Pydantic Settings, loguru, and uv. Also: uv.lock installs in CI/Docker via a proxy or mirror (`uv sync --frozen` bypasses it), slow uv installs on runners, relocking."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Python Backend Conventions
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: shadcn
|
|
3
3
|
description: "Add or debug shadcn/ui in a React/Next.js project: components.json, shadcn init/add, presets, registries, Tailwind styling, base/radix/aria composition, component fixes, and list-index pages — where the default is the DiceUI data table with filter/sort/pagination in the URL via nuqs, not a bare shadcn Table."
|
|
4
4
|
allowed-tools: Bash(npx shadcn@latest *), Bash(pnpm dlx shadcn@latest *), Bash(bunx --bun shadcn@latest *)
|
|
5
|
-
release-version: 0.
|
|
5
|
+
release-version: 0.42.0
|
|
6
6
|
---
|
|
7
7
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
8
8
|
# shadcn/ui
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: zod-v4
|
|
3
3
|
description: Zod v4 schema conventions and v3 migration for errors, validators, objects, enums, records, and async parsing.
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Zod v3 to v4 Migration
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cloud-build
|
|
3
3
|
description: "Build or debug Cloud Build pipelines for Cloud Run: cloudbuild.yaml, triggers, Artifact Registry, builds, migrations, deploys, secrets, VPC, notifications. Use cloud-deploy for staged promotion. NOT for GitHub Actions PR checks (github-actions)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Cloud Build Direct Deploy to Cloud Run
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cloud-debug
|
|
3
3
|
description: "Debug Cloud Build or Deploy failures: builds, deployments, health checks, and pipeline errors. Inputs: service, build ID, region. NOT for GitHub Actions runs (github-actions) or runtime errors in a running service (app-debug)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Cloud Build & Cloud Deploy Debug Skill
|
|
@@ -5,7 +5,7 @@ description: >
|
|
|
5
5
|
CI/CD pipelines with staged promotion, verification gates, or GitFlow branching.
|
|
6
6
|
Also use when debugging Cloud Deploy pipeline failures. NOT for simple single-container
|
|
7
7
|
deploys — use cloud-build instead.
|
|
8
|
-
release-version: 0.
|
|
8
|
+
release-version: 0.42.0
|
|
9
9
|
---
|
|
10
10
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
11
11
|
# Cloud Deploy + Skaffold + Kustomize for Cloud Run
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: docker
|
|
3
3
|
description: Docker/Podman container architecture and build patterns. Read when designing or reviewing containerization, Dockerfile structure, multi-stage builds, PyPI mirror support, or docker-compose setup for Python/uv projects, and when a Dockerfile's dependency install misses the layer cache on every build (build args such as a commit SHA or version declared too early) or an image build is slow in CI.
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Docker Build Patterns
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: github-actions
|
|
3
3
|
description: "Author, review, audit, profile, optimize, or debug GitHub Actions workflows (.github/workflows/*.yml): run-history audits, job and step timing, resource bottlenecks, before/after comparisons, conditional CI by changed path, the one required gate check, PR and merge-queue lanes, sharding, workers, caching, self-hosted runners, timeouts, concurrency, permissions and action pinning, post-deploy verification, npm publishing. Use for 'set up CI', 'CI is slow', 'profile CI', 'optimize our pipeline', 'audit CI for redundant or wasted jobs', 'why is this check stuck expected or never started', 'harden this workflow', or 'browser not found on the runner'. NOT for pushing, opening, or merging a PR, or writing CI conventions into CONTRIBUTING.md (github-flow), queue rules or a check unmet inside Mergify (mergify), Playwright config and specs (e2e-test), cloudbuild.yaml or Cloud Run deploys (cloud-build), or which gates a repo must prove (ensure-coverage)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# GitHub Actions
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: github-flow
|
|
3
3
|
description: "Deliver a change after the commit: push, open a PR, wait for checks, and merge to main through the repo's flow (direct push, pull request, or merge queue). Use whenever you commit or finish a change, when CONTRIBUTING.md has a Delivery section, and for asks like 'commit this', 'push it', 'open a PR', 'ship it', 'land it', 'get it merged'. Also: declare a repo's delivery flow, or write the CI conventions and Delivery section into CONTRIBUTING.md on request. NOT for writing workflow YAML (github-actions), Mergify config or a stuck queued PR (mergify), cutting a release (resolve-release), or PRs that resolve-issues or rush-issues deliver."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# GitHub Flow
|
|
@@ -5,7 +5,7 @@ description: >
|
|
|
5
5
|
project management. Use when configuring GCP resources, managing service
|
|
6
6
|
accounts, setting up IAP access, configuring VPC networks, managing secrets,
|
|
7
7
|
or debugging cloud infrastructure.
|
|
8
|
-
release-version: 0.
|
|
8
|
+
release-version: 0.42.0
|
|
9
9
|
---
|
|
10
10
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
11
11
|
# Google Cloud Platform (GCP) Skill
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mergify
|
|
3
3
|
description: "Mergify merge queue and stacked PRs (`mergify stack`): config, rules, queue status, delivery. Use whenever a merge queue or stack is involved, including plain asks ('watch #123 till it merges', 'where is #412 in the queue', 'push this stack'): `gh pr view`/`gh pr checks` cannot see a dequeue; use `mergify queue show` and the bundled watcher. Also: a hook saying 'use mergify stack push', a missing Change-Id; authoring or debugging `.mergify.yml`, queue rules, merge protections, batch size, the ruleset making merges queue-only; enqueue policy (`@mergifyio queue` vs `auto_merge_conditions`); a push dequeuing a queued PR; bypass actors; freezing a branch. Failures: a PR stuck, queued but never merging, or merged unqueued; CI green on GitHub but unmet in Mergify; a batch going red or bisecting; a queue check missing rather than failing. Outranks the vendor mergify-* skills. NOT for pushing a PR in a repo without stack hooks (github-flow), workflow YAML (github-actions), or GCP deploy pipelines (cloud-deploy)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Mergify Merge Queue
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: podman
|
|
3
3
|
description: "Debug, design, or fix Podman: rootless/rootful containers, pods, podman-compose, the socket and systemd services, Docker-compatible API (DOCKER_HOST/CONTAINER_HOST), networking, volumes, SELinux labels, Docker migration, and CI/SSH provisioning of rootless sockets (user lingering, XDG_RUNTIME_DIR). Covers FailedToOpenSocket and systemctl --user DBUS/XDG errors."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Podman Operations
|
|
@@ -6,7 +6,7 @@ description: >
|
|
|
6
6
|
Use when a user shares an article, pastes article text, sends a URL, or asks to
|
|
7
7
|
review, rate, critique, evaluate, 评价, 点评, 分析, or 看看 any article, post, or 文章.
|
|
8
8
|
Default template is 公众号-支付行业.
|
|
9
|
-
release-version: 0.
|
|
9
|
+
release-version: 0.42.0
|
|
10
10
|
---
|
|
11
11
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
12
12
|
# 文章评审引擎
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: article-to-image
|
|
3
3
|
description: "Generate article cover images: WeChat banner/square (公众号封面), Xiaohongshu (小红书封面), LinkedIn banner, general wide. Brainstorms 4 visual directions from the article, then renders each format with correct aspect ratios and title-safe zones. Use when given an article and asked for covers, banners, or 出图."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Article-to-Image
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: flowchart-svg
|
|
3
3
|
description: Create polished flowcharts directly as SVG and export PNG copies. Use when asked to draw, design, render, or deliver process diagrams, architecture diagrams, consulting workflows, decision flows, swimlanes, or other flowcharts as image files, especially when final outputs must include .svg and .png versions.
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Flowchart SVG
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: image-gen
|
|
3
3
|
description: Generate an image from a text prompt with OpenAI gpt-image-2 or Google Nano Banana (Gemini), saved to an image file. Use whenever the user asks to generate, create, make, draw, paint, render, or design an image, picture, illustration, photo, artwork, logo, icon, avatar, banner, hero image, thumbnail, poster, wallpaper, sticker, or concept art — including phrasings like "an image of X", "a picture of X", "show me what X would look like", or a request for a visual for a slide, blog post, README, or social post. Also triggers on Chinese phrasings such as 生成图片, 画一张图, 做一张海报, 设计一个 logo. NOT for charts or data visualizations (dataviz), flowcharts or architecture diagrams (flowchart-svg), or editing an existing image file.
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Image Generation
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: mermaid
|
|
3
3
|
description: Create and edit Mermaid diagrams for architecture, API flows, database schemas, workflows, and data models.
|
|
4
4
|
user-invocable: true
|
|
5
|
-
release-version: 0.
|
|
5
|
+
release-version: 0.42.0
|
|
6
6
|
---
|
|
7
7
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
8
8
|
# Mermaid Diagram Creation
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wechat-article-writer
|
|
3
3
|
description: "Write WeChat 公众号 articles in Chinese content styles — 踩坑型 (pitfall-story), 实操型 (how-to), 对比型 (comparison), 观察型 (industry insight) — in the account's house style from the nearest WRITING.md. Use for drafting from scratch, rewriting a draft, adapting source material into a publishable article, or picking the right style. NOT for business or technical documents (write-doc)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# WeChat Article Writer (公众号写作)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wechat-publisher
|
|
3
3
|
description: "Publish articles to a WeChat Official Account (公众号) via API: push Markdown to the draft box (or auto-publish with --publish), convert Markdown to WeChat HTML, upload images to the media library. Requires AppID + AppSecret + whitelisted server IP on a 认证订阅号/服务号. Consumes wechat-article-writer's Markdown."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# WeChat Publisher (公众号发布)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wechat-search
|
|
3
3
|
description: "Search WeChat 公众号 articles via Sogou Weixin, or read/summarize an article from a mp.weixin.qq.com URL (读/分析/总结) — suggest proactively when such a URL appears. Use for Chinese WeChat content, industry reports, competitor or trending topics. Requires Chrome Browser Relay. NOT general web search (web_search)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# WeChat Article Search & Reader (搜狗微信搜索)
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
type: secret
|
|
10
10
|
required: true
|
|
11
11
|
description: xAI API key (get from console.x.ai)
|
|
12
|
-
release-version: 0.
|
|
12
|
+
release-version: 0.42.0
|
|
13
13
|
---
|
|
14
14
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
15
15
|
# xAI Search (X/Twitter + Web)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: distill-writing
|
|
3
3
|
description: "Learn a house writing style from approved sample documents into the project's WRITING.md and writing/templates/, with evidence per rule, conflicts surfaced and manual edits kept. Use when given reference documents to learn from, or to set up or refresh the house style. NOT for writing a document (write-doc)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Distill a writing style
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: doc-to-md
|
|
3
3
|
description: "Convert documents (PDF, DOCX, PPTX, XLSX, images) to Markdown so agents can read them. Use as the preprocessing step whenever binary files need to enter agent context — contract review, compliance audit, document analysis, evidence review."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# doc-to-md
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: editorial-review
|
|
3
3
|
description: "Review a document or generated report for what it says (does the reader get the answer, is the argument sound, is anything unsupported, obvious or repeated), then fix the content. Use to review, tighten or clarify a doc or report, and as the review step of write-doc and the report skills. NOT for Chinese wording (polish-cn) or code review (better-review)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Editorial review
|
|
@@ -3,7 +3,7 @@ name: house-style
|
|
|
3
3
|
description: "Shared reference the writing skills read by path: WRITING.md lookup and precedence, template choice, gap markers, template shape, the bundled templates, and the default English and Chinese style guides. Never select or invoke it as a task."
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
user-invocable: false
|
|
6
|
-
release-version: 0.
|
|
6
|
+
release-version: 0.42.0
|
|
7
7
|
---
|
|
8
8
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
9
9
|
# House style
|
|
@@ -47,15 +47,26 @@ the table: "Owners and dates are to be agreed by `<who>`." Never write `[TBD: ow
|
|
|
47
47
|
|
|
48
48
|
- **Headings**: sentence case, informative ("Disputes double after the price change", not
|
|
49
49
|
"Analysis"). `#` once for the title; do not skip levels, unless WRITING.md or the template
|
|
50
|
-
records a house pattern that does (house evidence beats this default).
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
- **
|
|
54
|
-
|
|
50
|
+
records a house pattern that does (house evidence beats this default). In longer content,
|
|
51
|
+
prefer a standalone heading for each section or numbered topic, with the body below it.
|
|
52
|
+
An inline heading can suit a compact note; do not turn every paragraph into a labeled item.
|
|
53
|
+
- **Paragraphs**: use prose for explanation and connected actions. Break at a change of focus,
|
|
54
|
+
not at a fixed sentence count. A paragraph may be one sentence; do not pad it to meet a quota
|
|
55
|
+
or force an entire topic into one long paragraph. One line per paragraph in the source file;
|
|
56
|
+
no hard wraps inside a paragraph unless the project's files already wrap.
|
|
57
|
+
- **Lists**: use them when readers need to identify distinct rules, conditions, options or steps
|
|
58
|
+
separately. Numbered for sequences, bullets otherwise. Keep reasoning and connected actions
|
|
59
|
+
in prose. Introduce a list with a complete sentence and put shared context or follow-up
|
|
60
|
+
explanation outside it. A section may mix prose and a list.
|
|
61
|
+
- **Layout follows meaning**: choose paragraph and list breaks for the content, not for visual
|
|
62
|
+
symmetry. Do not add, split or merge points just to give every section the same count or
|
|
63
|
+
layout. Repeated formats are useful for genuinely comparable items and checklists. Preserve
|
|
64
|
+
the user's chosen structure during an edit unless the requested change requires otherwise.
|
|
55
65
|
- **Tables**: when three or more items share the same attributes. Every column has a header; no
|
|
56
66
|
empty cells (write `n/a` or `TBD`).
|
|
57
67
|
- **Emphasis**: bold for the few words a skimming reader must see; no bold sentences in a row, no
|
|
58
|
-
italics for emphasis, no ALL CAPS.
|
|
68
|
+
italics for emphasis, no ALL CAPS. Avoid a bold label on every paragraph or bullet when the
|
|
69
|
+
text already makes the distinction clear.
|
|
59
70
|
- **Code**: field names, endpoints, commands, file names and config keys in code font, exactly as
|
|
60
71
|
the system spells them.
|
|
61
72
|
- **Links and citations**: link the descriptive words, not "here". Cite a source after the claim it
|
|
@@ -64,3 +75,18 @@ the table: "Owners and dates are to be agreed by `<who>`." Never write `[TBD: ow
|
|
|
64
75
|
than four steps or actors in mind. Every diagram has a sentence saying what it shows.
|
|
65
76
|
- **Callouts**: a blockquote starting `**Note:**` or `**Warning:**` (`**注意:**`, `**警告:**`),
|
|
66
77
|
only for an aside that would derail the paragraph.
|
|
78
|
+
|
|
79
|
+
### Example: prose, a list, then prose
|
|
80
|
+
|
|
81
|
+
Keep the purpose and follow-up in paragraphs; list only the items readers need to distinguish:
|
|
82
|
+
|
|
83
|
+
> **Validate the alert rules**
|
|
84
|
+
>
|
|
85
|
+
> Test the following patterns before enabling automatic holds.
|
|
86
|
+
>
|
|
87
|
+
> - One payer sends repeated payments of the same amount.
|
|
88
|
+
> - Several customers pay the same beneficiary.
|
|
89
|
+
>
|
|
90
|
+
> Review false positives before deciding which alerts should block payouts.
|
|
91
|
+
|
|
92
|
+
A neighboring section may need only one paragraph. Do not give it a list to match this one.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plain-language
|
|
3
|
-
description: "Session mode: every reply and status line in plain language — lead with the point, everyday words, full sentences, no filler — in English or Chinese, until turned off. Use for /plain-language, \"plain language mode\", \"talk plainly\", \"说人话\", or when the user's instructions say to use plain-language. Turn off with \"/plain-language off\" or \"normal mode\". NOT for writing a document (write-doc) or reviewing one (editorial-review)."
|
|
4
|
-
release-version: 0.
|
|
3
|
+
description: "Session mode: every reply and status line in plain language — lead with the point, everyday words, full sentences, no filler — in English or Chinese, until turned off. Enable by default when the project has an applicable WRITING.md, even without a slash command. Use /plain-language init to persist that project default and its agent loading instructions. Use for /plain-language, \"plain language mode\", \"talk plainly\", \"说人话\", or when the user's instructions say to use plain-language. Turn off with \"/plain-language off\" or \"normal mode\". NOT for writing a document (write-doc) or reviewing one (editorial-review)."
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Plain language
|
|
@@ -10,12 +10,95 @@ Write every reply in this style for the rest of the session, including status li
|
|
|
10
10
|
summaries, until the user says `/plain-language off` or "normal mode". A switch to another
|
|
11
11
|
reply style (such as caveman) also ends it.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
## Activation and session state
|
|
14
|
+
|
|
15
|
+
At session start, look for an applicable `WRITING.md` from the current working directory:
|
|
16
|
+
|
|
17
|
+
1. Walk upward one directory at a time. Use the first `WRITING.md`; do not merge guides.
|
|
18
|
+
2. Include the nearest ancestor containing `.git` (file or directory), then stop there.
|
|
19
|
+
Without a `.git` ancestor, stop before the user's home directory or any directory above it.
|
|
20
|
+
3. Do not search unrelated subdirectories. A candidate must be a readable file. Report an
|
|
21
|
+
unreadable, invalid, or uninspectable candidate instead of treating it as absent.
|
|
22
|
+
|
|
23
|
+
Its presence enables this mode for the session; no special section or opt-in text is needed.
|
|
24
|
+
With no applicable file, keep explicit activation as before; absence alone does not enable
|
|
25
|
+
or disable the mode. These lookup rules are included here so a standalone installation works;
|
|
26
|
+
`house-style` is not required. Do not initialize over an unreadable guide.
|
|
27
|
+
|
|
28
|
+
An explicit user choice wins over automatic activation. `/plain-language off`, "normal mode",
|
|
29
|
+
or choosing another reply style disables this mode for the rest of the session, even when
|
|
30
|
+
`WRITING.md` exists. Enable it again only if the user asks. Reloading this skill or finding the
|
|
31
|
+
file again must not undo that choice. After compaction, recover the session's latest explicit
|
|
32
|
+
style choice before applying the file-based default.
|
|
33
|
+
|
|
34
|
+
Keep ordinary on/off choices in session context only; do not edit project files or settings for
|
|
35
|
+
them. Only `/plain-language init` (or an explicit request to save the project default) authorizes
|
|
36
|
+
the setup below. A new session checks for `WRITING.md` again and does not inherit the previous
|
|
37
|
+
session's off choice. Document deliverables still belong to `write-doc` or their owning writing
|
|
38
|
+
skill; this mode governs replies and status lines.
|
|
39
|
+
|
|
40
|
+
When explicitly enabled without an applicable `WRITING.md`, offer once per session:
|
|
41
|
+
"Use `/plain-language init` to make this the project default." Do not interrupt the task with
|
|
42
|
+
an approval question, repeat the offer on ordinary replies, or offer it after an off command.
|
|
43
|
+
|
|
44
|
+
- Invoked with no other request: confirm that the mode is on; include the setup offer when it
|
|
45
|
+
applies. Otherwise do not announce the mode; just answer in it.
|
|
15
46
|
- Invoked with `off`: reply in one line that the mode is off, and stop following this page.
|
|
16
47
|
- Code, commands, file paths, identifiers, error text and commit messages stay exact.
|
|
17
48
|
- Follow the section for the reply's language; a mixed reply follows both.
|
|
18
49
|
|
|
50
|
+
## Persist the project default: `/plain-language init`
|
|
51
|
+
|
|
52
|
+
The command authorizes project setup, not a global preference or a permanent on/off toggle.
|
|
53
|
+
|
|
54
|
+
1. Set the setup scope to the nearest ancestor containing `.git` (file or directory), else
|
|
55
|
+
the current working directory. Find the applicable `WRITING.md` with the lookup above.
|
|
56
|
+
A guide outside the setup scope may be read, but does not authorize writes in its directory.
|
|
57
|
+
Place agent loading instructions beside an in-scope guide, else at the setup root.
|
|
58
|
+
Resolve all planned write targets before changing any file. Report unreadable files,
|
|
59
|
+
conflicting policy, broken links, or symlinks escaping the setup scope and stop setup
|
|
60
|
+
without changing files. Never edit a global agent file.
|
|
61
|
+
|
|
62
|
+
2. Keep an existing guide unchanged. If none applies, create `WRITING.md` at the setup root.
|
|
63
|
+
Start with this minimal guide; do not invent a house style or document templates:
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
<!-- writing-md: 1 -->
|
|
67
|
+
# Writing guide
|
|
68
|
+
|
|
69
|
+
## Agent replies
|
|
70
|
+
- Default: use the `plain-language` skill for chat replies and status updates. _(user)_
|
|
71
|
+
- A user-requested style change applies only to the current session. _(user)_
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
3. At the chosen loading-instruction directory, ensure `AGENTS.md` and every existing
|
|
75
|
+
`CLAUDE.md` entrypoint can reach the instruction below. Create `AGENTS.md` if missing.
|
|
76
|
+
For a regular file or a valid in-scope symlink, inspect the resolved file and add the
|
|
77
|
+
instruction unless it already contains an equivalent loader or loads a configured
|
|
78
|
+
`AGENTS.md`. This includes symlinks to distinct instruction files, not only a shared
|
|
79
|
+
`AGENTS.md` target. If `CLAUDE.md` is missing, create a relative symlink to `AGENTS.md`.
|
|
80
|
+
Preserve unrelated text and existing valid links. Edit a shared target only once, and
|
|
81
|
+
resolve links relative to each instruction file. Do not claim setup is complete while
|
|
82
|
+
an entrypoint is unresolved.
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
## Reply style
|
|
86
|
+
|
|
87
|
+
At session start, if an applicable WRITING.md exists, load the `plain-language` skill
|
|
88
|
+
and enable it for replies and status updates. After compaction, reload the skill and
|
|
89
|
+
preserve the session's latest explicit style choice. An off command or another chosen
|
|
90
|
+
reply style lasts for this session; file detection must not turn it back on.
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
4. Successful init explicitly enables plain language for this session, even if the user
|
|
94
|
+
previously turned it off. Ordinary file detection or reloading still cannot override off.
|
|
95
|
+
Report the paths created, updated, or already configured and any inherited guide used.
|
|
96
|
+
Running init again should leave already-configured files unchanged. Do not change the
|
|
97
|
+
guide's document-writing rules or install skills as part of setup.
|
|
98
|
+
|
|
99
|
+
The agent loading instruction makes the file-based default discoverable in future sessions;
|
|
100
|
+
`WRITING.md` alone is not a runtime hook. This setup assumes `plain-language` is installed.
|
|
101
|
+
|
|
19
102
|
## Every reply
|
|
20
103
|
|
|
21
104
|
- **Lead with the point.** The answer or recommendation first, then the reasons.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: polish-cn
|
|
3
3
|
description: "Polish the Chinese wording of a finished document or report, with a script proving every number, date, identifier, link and protected term is unchanged; prefers a Chinese model and records which ran. Use for '中文润色' or as a report skill's last step. NOT for cutting or restructuring content (editorial-review) or translating (write-doc)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Polish Chinese
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: reg-parser
|
|
3
3
|
version: 1.1.0
|
|
4
4
|
description: "Parse regulatory/scheme documents into structured outputs: convert a regulation (AML, VARS, PCI-DSS, KYC, GDPR) into an audit-ready compliance checklist, or trace contract clauses to a mandate source. Suggest proactively when a regulation PDF accompanies a contract review or compliance task. NOT general summarization (doc-to-md), or writing the gap analysis or policy from the checklist (write-doc)."
|
|
5
|
-
release-version: 0.
|
|
5
|
+
release-version: 0.42.0
|
|
6
6
|
---
|
|
7
7
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
8
8
|
# reg-parser
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: terminology
|
|
3
3
|
description: "Build and keep a project's TERMINOLOGY.md: the preferred term per concept in English, 简体 and 繁體, and the terms to avoid. Use to set it up from the project's documents, when the user settles or corrects a term, or when another writing skill needs the format. NOT for writing documents (write-doc) or the code domain model (domain-modeling)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.42.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Terminology
|