@1aboveio/skills 1.0.20 → 1.0.22

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.
Files changed (92) hide show
  1. package/.codex-plugin/plugin.json +1 -1
  2. package/.codex-plugin/resources.json +154 -151
  3. package/package.json +4 -4
  4. package/skills/app-dev/airflow/SKILL.md +1 -1
  5. package/skills/app-dev/android-development/SKILL.md +1 -1
  6. package/skills/app-dev/app-debug/SKILL.md +1 -1
  7. package/skills/app-dev/better-auth/SKILL.md +1 -1
  8. package/skills/app-dev/data-catalog/SKILL.md +1 -1
  9. package/skills/app-dev/data-quality/SKILL.md +1 -1
  10. package/skills/app-dev/ios-foundation/SKILL.md +1 -1
  11. package/skills/app-dev/maestro/SKILL.md +8 -1
  12. package/skills/app-dev/monorepo/SKILL.md +1 -1
  13. package/skills/app-dev/nextjs-fullstack/SKILL.md +1 -1
  14. package/skills/app-dev/prisma-setup/SKILL.md +1 -1
  15. package/skills/app-dev/pyspark/SKILL.md +1 -1
  16. package/skills/app-dev/python-backend/SKILL.md +1 -1
  17. package/skills/app-dev/shadcn/SKILL.md +1 -1
  18. package/skills/app-dev/zod-v4/SKILL.md +1 -1
  19. package/skills/cicd/cloud-build/SKILL.md +1 -1
  20. package/skills/cicd/cloud-debug/SKILL.md +1 -1
  21. package/skills/cicd/cloud-deploy/SKILL.md +1 -1
  22. package/skills/cicd/docker/SKILL.md +1 -1
  23. package/skills/cicd/github-actions/SKILL.md +8 -2
  24. package/skills/cicd/github-actions/references/debugging.md +21 -0
  25. package/skills/cicd/github-actions/references/pipeline.md +26 -0
  26. package/skills/cicd/github-actions/references/post-deploy-and-publishing.md +7 -0
  27. package/skills/cicd/github-actions/scripts/watch-run.mjs +511 -0
  28. package/skills/cicd/github-flow/SKILL.md +35 -9
  29. package/skills/cicd/github-flow/scripts/watch-checks.mjs +561 -0
  30. package/skills/cicd/google-cloud/SKILL.md +1 -1
  31. package/skills/cicd/mergify/SKILL.md +2 -2
  32. package/skills/cicd/mergify/references/diagnosis.md +6 -1
  33. package/skills/cicd/mergify/references/watch-contract.md +10 -7
  34. package/skills/cicd/mergify/scripts/watch-pr-delivery-core.mjs +15 -30
  35. package/skills/cicd/podman/SKILL.md +1 -1
  36. package/skills/content/article-review/SKILL.md +1 -1
  37. package/skills/content/article-to-image/SKILL.md +1 -1
  38. package/skills/content/flowchart-svg/SKILL.md +1 -1
  39. package/skills/content/image-gen/SKILL.md +1 -1
  40. package/skills/content/mermaid/SKILL.md +1 -1
  41. package/skills/content/wechat-article-writer/SKILL.md +1 -1
  42. package/skills/content/wechat-publisher/SKILL.md +1 -1
  43. package/skills/content/wechat-search/SKILL.md +1 -1
  44. package/skills/content/xai-search/SKILL.md +1 -1
  45. package/skills/core/distill-writing/SKILL.md +1 -1
  46. package/skills/core/doc-to-md/SKILL.md +1 -1
  47. package/skills/core/editorial-review/SKILL.md +1 -1
  48. package/skills/core/house-style/SKILL.md +1 -1
  49. package/skills/core/plain-language/SKILL.md +1 -1
  50. package/skills/core/polish-cn/SKILL.md +1 -1
  51. package/skills/core/reg-parser/SKILL.md +1 -1
  52. package/skills/core/terminology/SKILL.md +1 -1
  53. package/skills/core/write-doc/SKILL.md +1 -1
  54. package/skills/core/write-report/SKILL.md +1 -1
  55. package/skills/engineering/better-review/SKILL.md +1 -1
  56. package/skills/engineering/better-review/references/passes.md +5 -0
  57. package/skills/engineering/e2e-test/SKILL.md +8 -1
  58. package/skills/engineering/engineering/SKILL.md +1 -1
  59. package/skills/engineering/engineering-runtime/SKILL.md +1 -1
  60. package/skills/engineering/engineering-runtime/coherence/workflow.json +13 -13
  61. package/skills/engineering/ensure-coverage/SKILL.md +8 -1
  62. package/skills/engineering/golden-path/SKILL.md +5 -1
  63. package/skills/engineering/harness-runtime/SKILL.md +2 -1
  64. package/skills/engineering/harness-runtime/contracts.md +2 -0
  65. package/skills/engineering/harness-runtime/references/subagent-sessions.md +75 -0
  66. package/skills/engineering/resolve-issues/SKILL.md +25 -6
  67. package/skills/engineering/resolve-issues/references/ci.md +14 -4
  68. package/skills/engineering/resolve-issues/references/delivery-progress.md +3 -1
  69. package/skills/engineering/resolve-issues/references/done.md +8 -6
  70. package/skills/engineering/resolve-issues/references/expire.md +2 -2
  71. package/skills/engineering/resolve-issues/references/exploration.md +10 -3
  72. package/skills/engineering/resolve-issues/references/implementation.md +73 -51
  73. package/skills/engineering/resolve-issues/references/preflight.md +6 -0
  74. package/skills/engineering/resolve-issues/references/review.md +18 -19
  75. package/skills/engineering/resolve-issues/references/shared-modules.md +7 -1
  76. package/skills/engineering/resolve-issues/references/task-plan.md +18 -10
  77. package/skills/engineering/resolve-issues/scripts/next-actions.mjs +42 -32
  78. package/skills/engineering/resolve-release/SKILL.md +1 -1
  79. package/skills/engineering/resolve-release/references/publish.md +12 -4
  80. package/skills/engineering/resolve-release/references/workspace-npm.md +6 -4
  81. package/skills/engineering/rush-issues/SKILL.md +1 -1
  82. package/skills/engineering/rush-release/SKILL.md +1 -1
  83. package/skills/engineering/test-quality/SKILL.md +1 -1
  84. package/skills/risk-compliance/compliance-audit/SKILL.md +1 -1
  85. package/skills/risk-compliance/contract-compare/SKILL.md +1 -1
  86. package/skills/risk-compliance/contract-review/SKILL.md +1 -1
  87. package/skills/risk-compliance/doc-authenticity/SKILL.md +1 -1
  88. package/skills/risk-compliance/fraud-detection/SKILL.md +1 -1
  89. package/skills/risk-compliance/payment-analysis/SKILL.md +1 -1
  90. package/skills/risk-compliance/portfolio-payment-analysis/SKILL.md +1 -1
  91. package/skills/risk-compliance/similar-domain/SKILL.md +1 -1
  92. package/skills/risk-compliance/tld-detection/SKILL.md +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1aboveio/skills",
3
- "version": "1.0.20",
3
+ "version": "1.0.22",
4
4
  "description": "Every 1aboveio skill package in one: install once, then choose which packages Pi loads with npx @1aboveio/skills select.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -28,8 +28,8 @@
28
28
  "nativeCodex": {
29
29
  "schemaVersion": 1,
30
30
  "metadataPath": ".codex-plugin/resources.json",
31
- "metadataDigest": "b5727bb217684e6aaec8d47959a652a8c7cda115b14286773169598a2857d6de",
32
- "releaseIdentity": "b6b2b1b7349f7aa497291f7eb63119c5c0839e26fbf79753451579d695b846d5"
31
+ "metadataDigest": "03e5e1c1f64703da55ed571aba131e0267861b3d60acce3b27b6ad0ad03a4a92",
32
+ "releaseIdentity": "7f91927caca33de3dd3073b7fdf503226be323220884dc30086650e6a6bb07e1"
33
33
  },
34
34
  "pi": {
35
35
  "skills": [
@@ -261,7 +261,7 @@
261
261
  ]
262
262
  }
263
263
  ],
264
- "digest": "760a1d385aebb37474f1ec980972c8a5760db4d096978322a608e5a7fa8cbac7"
264
+ "digest": "f05d73f9747c37b855d59bab4cf5cb4e412506ec630b5c9662064f2554a41339"
265
265
  },
266
266
  "publishConfig": {
267
267
  "registry": "https://registry.npmjs.org/",
@@ -2,7 +2,7 @@
2
2
  name: airflow
3
3
  description: Airflow DAG architecture and conventions. Use when designing, writing, reviewing, testing, or debugging Airflow DAGs and tasks, including TaskGroups, data intervals, timezone-aware date parameters, CLI validation, environment-based scheduling, and pytest integrity tests.
4
4
  user-invocable: true
5
- release-version: 0.50.0
5
+ release-version: 0.50.2
6
6
  ---
7
7
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
8
8
  # Airflow DAG Development Patterns
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: android-development
3
3
  description: "Prove and debug Expo / React Native apps on an owned Android emulator. Use for Android startup/rendering failures, Metro or ADB problems, native harness failures, APK builds, SDK/NDK/JDK workspace setup, native journey validation, and choosing Kotlin/Compose versus React Native for Android flows. Reproduce failed Android CI checkpoints off CI before fixing and redispatching. Standalone invocation offers Project or Session; init persists repo conventions. Maestro journey authoring, UI-driver migration and flow diagnosis belong to maestro. NOT for workflow YAML, CI speed or runners (github-actions), browser tests (e2e-test), iOS (ios-foundation), plain Jest tests, or signing/store release."
4
- release-version: 0.50.0
4
+ release-version: 0.50.2
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Android development
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: app-debug
3
3
  description: "Diagnose runtime failures in deployed Cloud Run services — 5xx/422 errors, tracebacks, Next.js SSR/hydration or Server Action failures, DB/Secret Manager connection errors, cold-start timeouts, container OOM. NOT for build or deploy failures (cloud-debug)."
4
- release-version: 0.50.0
4
+ release-version: 0.50.2
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # App Debug
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: better-auth
3
3
  description: "Add or debug Better Auth for Next.js App Router: login, sessions, protected routes, middleware, OAuth (including Feishu/Lark), cookies, Prisma, and Auth.js migration."
4
- release-version: 0.50.0
4
+ release-version: 0.50.2
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Better Auth for Next.js
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: data-catalog
3
3
  description: "Column definitions for warehouse tables, written inside the Spark/PySpark or SQL script that builds each table (CATALOG_TABLE / CATALOG_FIELDS, or a `-- @field` comment block), with a generated markdown catalog in docs/catalog/ and a CI check that fails a PR whose catalog is stale. Use when writing or changing a table script that adds, renames, removes, or changes the meaning of an output column or feature; when asked what a warehouse column or feature means; to set a repo up ('init the data catalog', 'generate the data dictionary', '字段字典', 'add catalog CI'); or to audit existing SQL or Spark scripts for undocumented columns. NOT for implementing or tuning the Spark job itself (pyspark), DAG wiring (airflow), or general workflow YAML (github-actions)."
4
- release-version: 0.50.0
4
+ release-version: 0.50.2
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Data catalog
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: data-quality
3
3
  description: "Check a published warehouse table's data against its data-catalog definitions with read-only SELECTs: columns never filled or stuck at one value, counts below zero, ratios outside 0–1, declared values that never appear and undeclared values that do. Then classify each finding as a wrong definition, wrong code, or wrong data. Use when asked whether a table's data is right, to profile or sanity-check a dwd/ads table, to find dead or constant columns, to check a column's values against its documented list, after a pipeline change ships, or when a data-catalog definition and the data might disagree. NOT for validating a Spark change before it ships (pyspark canary and reconciliation), writing definitions (data-catalog), or monitoring dashboards."
4
- release-version: 0.50.0
4
+ release-version: 0.50.2
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Data quality
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: ios-foundation
3
3
  description: "Set up and prove an Expo / React Native native iOS workspace from an assigned or fresh isolated workspace to a manual Login smoke on an owned iOS Simulator: isolated workspace and private caches, Xcode/runtime/CocoaPods preflight, frozen install with `pod install --deployment`, platform-scoped prebuild, an ad-hoc-signed Debug simulator build, a private simulator by exact UDID, Metro on a free port, a disposable PostgreSQL backend with owned cleanup, and the evidence record (setup proof only; feature work reports the smoke result). Use for 'set up iOS', 'build the iOS app', 'run the app on the iOS simulator', 'add iOS to the React Native app', 'prove the iOS build', or when a pod install, xcodebuild, simulator boot, Metro connection or Keychain session fails. NOT for Android (android-development), signing, TestFlight or App Store release, or general workflow YAML (github-actions)."
4
- release-version: 0.50.0
4
+ release-version: 0.50.2
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # iOS foundation
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: maestro
3
3
  description: "Design, run, debug and migrate mobile E2E journeys with Maestro: complete flows and subflows, selectors, parameters, exclusive UI-driver ownership, non-UI authentication/backend helpers and failure evidence. Use for Maestro YAML/CLI/MCP work, slow fragmented mobile journeys, UiAutomation driver collisions, or replacing a hybrid Python/uiautomator2 UI harness. Android-first; use platform-neutral flow guidance for iOS only with its verified device/runtime contract. NOT for Android provisioning/builds (android-development), iOS setup (ios-foundation), browser Playwright tests (e2e-test), or CI workflow YAML (github-actions)."
4
- release-version: 0.50.0
4
+ release-version: 0.50.2
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Maestro
@@ -26,6 +26,13 @@ the assignment and survives context reload, not as a saved policy change.
26
26
 
27
27
  ## Work loop
28
28
 
29
+ When an issue has Acceptance Criteria needing mobile UI proof, implement or reuse
30
+ flows whose assertions cover those criteria. Keep case selection runnable through
31
+ the maintained local and CI callers with isolated fixtures and failure artifacts.
32
+ Workers run focused development checks; CI qualifies automated acceptance on the
33
+ identified candidate app. Return with CI pending when appropriate; manual and
34
+ physical-device criteria remain explicit obligations at their assigned gate.
35
+
29
36
  1. **Select proof.** Name the user journey and its required observations. Map each to a
30
37
  UI assertion, non-UI helper or specifically justified native case using
31
38
  [the test split](references/journeys.md#split-by-responsibility). Reuse sufficient
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: monorepo
3
3
  description: Turborepo architecture for shared packages, pnpm workspaces, DAL boundaries, and pipelines.
4
- release-version: 0.50.0
4
+ release-version: 0.50.2
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Turborepo Monorepo Architecture
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: nextjs-fullstack
3
3
  description: "Build or debug Next.js App Router features with React 19 — pages/layouts/route handlers, Server/Client Components, Server Actions, forms, middleware, DAL, strict TypeScript, Zod — plus our conventions: nuqs URL state, SWR cache, Skeleton/Progress + Sonner feedback, drag-and-drop upload, the portal app shell, list pages as filter/sort/paginate tables. shadcn component mechanics: see the shadcn skill."
4
- release-version: 0.50.0
4
+ release-version: 0.50.2
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Next.js 16 Fullstack Development
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: prisma-setup
3
3
  description: Use when adding or debugging Prisma with PostgreSQL, Next.js, or Turborepo, including schema.prisma, prisma.config.ts, client generation, migrations, seeds, relations, adapters, and DAL/database-layer setup. Triggers on phrases like "Prisma schema", "prisma migrate", "schema.prisma", "seed the database", "PrismaClient error", "relation issue", or "database layer".
4
- release-version: 0.50.0
4
+ release-version: 0.50.2
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Prisma v7 Setup Guide
@@ -12,7 +12,7 @@ description: >
12
12
  Connect, spark-submit, Hudi commits, backfills, validate-only canaries,
13
13
  cluster reconciliation, or Spark event-log profiling — including warehouse
14
14
  job timeouts, empty Hudi writes, or EMR/Dataproc performance regressions.
15
- release-version: 0.50.0
15
+ release-version: 0.50.2
16
16
  ---
17
17
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
18
18
  # PySpark
@@ -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.50.0
4
+ release-version: 0.50.2
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.50.0
5
+ release-version: 0.50.2
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.50.0
4
+ release-version: 0.50.2
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.50.0
4
+ release-version: 0.50.2
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.50.0
4
+ release-version: 0.50.2
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.50.0
8
+ release-version: 0.50.2
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.50.0
4
+ release-version: 0.50.2
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.50.0
4
+ release-version: 0.50.2
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # GitHub Actions
@@ -43,7 +43,9 @@ replacement of an established pipeline during an audit or performance-only chang
43
43
  7. **Add post-deploy and scheduled lanes** if the repo deploys or publishes.
44
44
  → [post-deploy-and-publishing.md](references/post-deploy-and-publishing.md)
45
45
  8. **Verify**: `actionlint`; one PR per area runs only that area's jobs; timings meet the SLA.
46
- Failures → [debugging.md](references/debugging.md)
46
+ Failures → [debugging.md](references/debugging.md). Waiting on a live run, or on a publish
47
+ run → [debugging.md#watching-a-run](references/debugging.md#watching-a-run): `scripts/watch-run.mjs`
48
+ reports job/step transitions and slow steps, which `gh run watch`'s 30-second repaint hides.
47
49
 
48
50
  ## Principles
49
51
 
@@ -88,6 +90,10 @@ replacement of an established pipeline during an audit or performance-only chang
88
90
  - Fail on a missing secret.
89
91
 
90
92
  **Lanes**
93
+ - When issues include Acceptance Criteria, wire their automated tests into the
94
+ appropriate candidate lane and expose their results through the existing gate.
95
+ See [acceptance execution](references/pipeline.md#acceptance-execution); preserve
96
+ required check names and obtain authorization for changes to merge requirements.
91
97
  - Test the deployed revision after deploy, never a local build.
92
98
  - Alert on every scheduled or non-PR failure.
93
99
  - Never let an AI review be the only gate, or auto-pass it on timeout.
@@ -11,3 +11,24 @@
11
11
  - Queue/dequeue questions → `mergify` skill; `gh pr checks` can't see a dequeue.
12
12
  - Validate locally: `actionlint` for syntax and expression mistakes; `act` for simple jobs
13
13
  (not for self-hosted or service-container jobs).
14
+
15
+ ## Watching a run
16
+
17
+ `gh run watch` repaints a status block and an elapsed clock every 30 seconds, and that repaint
18
+ is not progress: a job wedged in one step reads exactly like a job moving, while the step names
19
+ are what scrolls out of view. Watch with the bounded CLI instead:
20
+
21
+ ```bash
22
+ node "$SKILL_DIR/scripts/watch-run.mjs" --run <id> [--repo owner/repo]
23
+ ```
24
+
25
+ It reads `gh run view --json status,conclusion,jobs` on an interval and writes one record only
26
+ when the run's state changes, naming the job/step transitions that caused it (`changes`). A job
27
+ or step past `--slow-step-minutes` is warned about once **while it is still running**, with its
28
+ duration and URL. The exit code is the verdict: 0 green; 4 names the failed job and its failed
29
+ steps, or `STALLED` with `reason: no-progress` naming the jobs nothing has started, or
30
+ `UNKNOWN` when the provider stays unreadable — an unreadable read is no information, never a
31
+ red run.
32
+
33
+ For a finished run's full job/step profile, that is the other tool:
34
+ `scripts/ci-run-audit.mjs --profile-run <id>`.
@@ -29,6 +29,32 @@ rc tag ───────────► Cloud Build: prod candidate at 0% tr
29
29
  → [post-deploy-and-publishing.md](post-deploy-and-publishing.md)
30
30
  - **Scheduled lanes:** alert on failure (issue or chat ping).
31
31
 
32
+ ## Acceptance execution
33
+
34
+ Execute the tests that prove the issue's Acceptance Criteria in the lane that can
35
+ qualify them: change-scoped PR checks, combined-tree queue checks, or checks against
36
+ the deployed revision. Without a queue, put pre-merge acceptance on the up-to-date PR.
37
+ Workers author tests and run focused development checks; CI supplies the qualifying
38
+ automated result. Keep human judgment and physical-device checks explicit at their
39
+ assigned gate rather than treating automation as proof of those claims.
40
+
41
+ For acceptance suites that consume a build, build once for that candidate and fan
42
+ out independent suites against the same artifact. Bind results to the candidate SHA
43
+ and artifact identity; post-deploy tests verify the serving revision. Rebuild only
44
+ when a suite requires a different build configuration. Use isolated fixtures and
45
+ slot-sized parallelism, and retain useful failure logs, traces or device artifacts.
46
+
47
+ Aggregate each suite into its assigned gate: pre-merge acceptance into the PR/queue
48
+ gate, deployed acceptance into the post-deploy or promotion gate. A later-stage suite
49
+ does not block an earlier stage unless the agreed contract requires it.
50
+ Missing results, unexpected
51
+ skips and failures cannot pass it. Select checks by their affected inputs and required
52
+ combined-tree coverage; acceptance does not imply a full matrix on every push.
53
+ If execution or enforcement is missing, implement the authorized workflow work and
54
+ surface any separate merge-rule change for approval. A green unrelated job does not
55
+ satisfy the issue. Generate a requested checklist from test results rather than having
56
+ agents reconstruct a campaign by hand.
57
+
32
58
  ## Merge queue: optional, pick one
33
59
 
34
60
  | Option | When | Wire |
@@ -31,3 +31,10 @@ npm packages: trusted publishing (OIDC, no token): `environment: npm-publish`,
31
31
  already published? then assert its provenance matches this commit), a pack-contents check,
32
32
  publish, poll the registry until visible, then create the tag and release idempotently.
33
33
  Restrict to the default branch; pin the npm version; keep `contents: write` off the install step.
34
+
35
+ **The registry is the verdict, not the run.** A green publish workflow proves the job exited 0;
36
+ the published version is what the registry reports. Wait on the artifact (`npm view
37
+ <pkg>@<version> version`), and read the run for diagnosis with `scripts/watch-run.mjs` — its
38
+ job/step transitions and slow-step warnings are the useful signal, while a repainted status
39
+ line is not. A run that fails after the version appears is a hand-back naming what already
40
+ shipped; a version that never appears is not a success however green the run was.