@1aboveio/skills 1.0.13 → 1.0.14
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/.codex-plugin/plugin.json +1 -1
- package/.codex-plugin/resources.json +145 -142
- package/README.md +1 -1
- package/package.json +5 -5
- package/skills/app-dev/airflow/SKILL.md +1 -1
- package/skills/app-dev/android-development/SKILL.md +126 -0
- package/skills/app-dev/android-development/references/android-conventions.md +117 -0
- package/skills/app-dev/{android-foundation → android-development}/references/ci.md +10 -6
- package/skills/app-dev/{android-foundation → android-development}/references/diagnosis.md +39 -15
- package/skills/app-dev/android-development/references/feature-work.md +171 -0
- package/skills/app-dev/android-development/references/framework-choice.md +88 -0
- package/skills/app-dev/{android-foundation → android-development}/references/gotchas.md +43 -6
- package/skills/app-dev/android-development/references/init.md +104 -0
- package/skills/app-dev/android-development/references/setup.md +389 -0
- package/skills/app-dev/android-development/references/workspace.md +156 -0
- package/skills/app-dev/android-development/scripts/init.mjs +380 -0
- 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 +2 -2
- 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 +1 -1
- 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/plain-language/SKILL.md +1 -1
- 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/core/write-report/SKILL.md +1 -1
- package/skills/engineering/better-review/SKILL.md +1 -1
- package/skills/engineering/e2e-test/SKILL.md +1 -1
- package/skills/engineering/engineering/SKILL.md +9 -3
- package/skills/engineering/engineering/references/init-scope.md +7 -3
- package/skills/engineering/engineering/references/scope-management.md +9 -0
- package/skills/engineering/engineering/scripts/init.mjs +40 -17
- 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-issues/references/exploration.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-detection/SKILL.md +1 -1
- package/skills/risk-compliance/payment-analysis/SKILL.md +1 -1
- package/skills/risk-compliance/portfolio-payment-analysis/SKILL.md +1 -1
- package/skills/risk-compliance/similar-domain/SKILL.md +1 -1
- package/skills/risk-compliance/tld-detection/SKILL.md +1 -1
- package/skills/app-dev/android-foundation/SKILL.md +0 -248
- package/skills/app-dev/android-foundation/references/delivery-focus.md +0 -31
- package/skills/app-dev/android-foundation/references/feature-work.md +0 -50
- package/skills/app-dev/android-foundation/references/setup.md +0 -188
- package/skills/app-dev/android-foundation/references/workspace.md +0 -81
- /package/skills/app-dev/{android-foundation → android-development}/LICENSE +0 -0
- /package/skills/app-dev/{android-foundation → android-development}/assets/android-ci-job.yml +0 -0
- /package/skills/app-dev/{android-foundation → android-development}/release-check.mjs +0 -0
- /package/skills/app-dev/{android-foundation → android-development}/scripts/device-run.sh +0 -0
- /package/skills/app-dev/{android-foundation → android-development}/scripts/workspace-runtime/bin/workspaces.mjs +0 -0
- /package/skills/app-dev/{android-foundation → android-development}/scripts/workspace-runtime/native-workspace.mjs +0 -0
- /package/skills/app-dev/{android-foundation → android-development}/scripts/workspace-runtime/workspace-lifecycle.mjs +0 -0
|
@@ -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.46.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.46.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.46.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.46.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.46.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.46.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.46.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.46.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.46.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.46.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.46.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.46.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.46.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.46.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.46.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.46.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.46.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: API key for direct xAI or the explicitly configured Responses gateway
|
|
12
|
-
release-version: 0.
|
|
12
|
+
release-version: 0.46.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, or save an explicitly stated project document preference, into WRITING.md and writing/templates/. Use for sample-based style learning, house-style setup or refresh, and requests such as 'remember this for future PRDs' or 'make this our report default', including handoffs from write-doc, write-report or plain-language. Preserve manual edits and separate document types. NOT for drafting a document (write-doc) or analytical report (write-report) or saving chat-only preferences (plain-language)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.46.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.46.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, write-report and domain report skills. NOT for Chinese wording (polish-cn) or code review (better-review)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.46.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.46.0
|
|
7
7
|
---
|
|
8
8
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
9
9
|
# House style
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plain-language
|
|
3
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 for /plain-language, 'talk plainly', '说人话', and explicit requests to remember project reply preferences; /plain-language init persists the default and loading instructions. Save reply rules only under Agent replies; route document preferences to distill-writing. Ordinary mode toggles remain session-only. Turn off with '/plain-language off' or 'normal mode'. NOT for writing a document (write-doc) or analytical report (write-report) or reviewing one (editorial-review)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.46.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Plain language
|
|
@@ -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 or write-report)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.46.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), writing a gap-analysis report (write-report), or writing a policy from the checklist (write-doc)."
|
|
5
|
-
release-version: 0.
|
|
5
|
+
release-version: 0.46.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 analytical reports (write-report) or the code domain model (domain-modeling)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.46.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Terminology
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: write-doc
|
|
3
3
|
description: "Write or edit documents that define or propose something: BRD, PRD, technical spec, integration guide, proposal, policy or risk procedure; English, Chinese or bilingual. Use automatically for drafting or revising these documents. Markdown by default; export when requested. NOT for analytical reports or writing up findings (write-report), ordinary chat replies (plain-language), learning style or saving preferences alone (distill-writing), performing an audit (compliance-audit), or WeChat articles (wechat-article-writer)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.46.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Write a document
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: write-report
|
|
3
3
|
description: "Write or edit analytical reports from data, research, analysis or findings: payment, fraud, operational, performance, research, gap-analysis, audit, external assessment, management and Visa VARS reports. Use whenever asked to report results, write up findings, or turn analysis into a report, even without naming this skill. English, Chinese or bilingual; Markdown by default, export when requested. NOT for defining requirements, policies or proposals (write-doc), performing the underlying domain analysis or audit, chat-only answers (plain-language), or learning house style (distill-writing)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.46.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Write an analytical report
|
|
@@ -4,7 +4,7 @@ description: "Slash/explicit-only (/better-review). Single-agent adversarial rev
|
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
dependencies:
|
|
6
6
|
- engineering-runtime
|
|
7
|
-
release-version: 0.
|
|
7
|
+
release-version: 0.46.0
|
|
8
8
|
---
|
|
9
9
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
10
10
|
# Better Review
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: e2e-test
|
|
3
3
|
description: "Playwright end-to-end guidance for affected browser journeys, render health and presentation checks, with route manifests and sweeps for broader audits. Use when browser routes or user flows ship or change, or a Playwright test flakes. NOT for non-browser tests, defining what to test (ensure-coverage), the curated ALIVE/DEAD golden-path gate (golden-path), or CI workflow YAML (github-actions)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.46.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# E2E Testing Standard
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: engineering
|
|
3
3
|
description: "Engineering conventions: feature-delivery priorities, focused verification and review, operational boundaries, and tracker routing. Standalone /engineering offers Global, Project, or Session setup and targeted resets for configured scopes; /engineering init keeps explicit project setup. Use when setting up AGENTS.md or CONTRIBUTING.md, saving or resetting engineering defaults, or before creating an engineering issue, spec, epic, ticket, or sub-issue on GitHub or Linear. Reads existing policy without writing during ordinary work. NOT the issue-to-PR workflow (resolve-issues), release execution (resolve-release), Git delivery (github-flow), or CI setup (github-actions)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.46.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Engineering
|
|
@@ -140,8 +140,8 @@ resolve the destination before any issue creation. Never infer a Linear project.
|
|
|
140
140
|
|
|
141
141
|
| File or section | Init owns |
|
|
142
142
|
| --- | --- |
|
|
143
|
-
| `AGENTS.md` | Missing
|
|
144
|
-
| `CONTRIBUTING.md` | Missing `Engineering conventions`, `Testing conventions`, and `Issue tracking` sections |
|
|
143
|
+
| `AGENTS.md` | Missing pointer to `CONTRIBUTING.md`; no policy sections |
|
|
144
|
+
| `CONTRIBUTING.md` | Missing `Feature delivery`, `Engineering conventions`, `Testing conventions`, and `Issue tracking` sections |
|
|
145
145
|
|
|
146
146
|
The templates are [feature delivery](references/feature-delivery.md),
|
|
147
147
|
[engineering conventions](references/engineering-conventions.md),
|
|
@@ -152,6 +152,12 @@ without invoking its writer. `test-quality` owns the testing rules and deliberat
|
|
|
152
152
|
updates; init only adds a missing section. The [skill review](references/init-scope.md)
|
|
153
153
|
explains what is included and what remains opt-in.
|
|
154
154
|
|
|
155
|
+
Project policy lives in `CONTRIBUTING.md`; `AGENTS.md` carries only the loader. A
|
|
156
|
+
`Feature delivery` section already in `AGENTS.md`, including one an earlier init wrote,
|
|
157
|
+
stays where it is: init neither migrates nor deletes it, and it does not add a competing
|
|
158
|
+
copy to `CONTRIBUTING.md`. Existing `CONTRIBUTING.md` policy wins the same way.
|
|
159
|
+
Initialization moves no existing rules between files and refreshes neither.
|
|
160
|
+
|
|
155
161
|
Existing sections, including legacy `conventions:tracker` blocks written by
|
|
156
162
|
`contributing`, are preserved byte-for-byte. Repeated init is not a refresh and
|
|
157
163
|
leaves manual edits unchanged. No force/update mode is implied. If policy needs to
|
|
@@ -15,7 +15,7 @@ not initialization sources; pinned external skills keep their upstream ownership
|
|
|
15
15
|
|
|
16
16
|
| Skill | Include in guidance | Keep as a separate action |
|
|
17
17
|
| --- | --- | --- |
|
|
18
|
-
| engineering (formerly contributing) | Feature priorities, guidance lookup
|
|
18
|
+
| engineering (formerly contributing) | Feature priorities, guidance lookup and tracker routing, written as `CONTRIBUTING.md` sections; `AGENTS.md` gets only the loading pointer | Tracker refresh or project-policy changes |
|
|
19
19
|
| resolve-issues | Agreed outcome, bounded supporting work, explicit stopping point | Issue planning, workers, PRs, scheduling |
|
|
20
20
|
| rush-issues | Same delivery principles as resolve-issues | Shortcut workflow invocation |
|
|
21
21
|
| ensure-coverage | Smallest sufficient proof, stable acceptance, required checks preserved | Ledger adoption, broad audits, new gates |
|
|
@@ -37,8 +37,12 @@ not call other skills' convention writers: they own their sections and may need
|
|
|
37
37
|
additional decisions. Init reads `test-quality`'s canonical template directly;
|
|
38
38
|
the testing owner and `conventions:testing` section identity remain unchanged.
|
|
39
39
|
Existing project sections, including old testing and tracker blocks, stay unchanged.
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
Project policy is persisted in `CONTRIBUTING.md`, so `AGENTS.md` keeps only the short
|
|
41
|
+
loader. A `Feature delivery` section written into `AGENTS.md` by an earlier release
|
|
42
|
+
stays there: init does not migrate or delete it, and it does not add a competing copy
|
|
43
|
+
to `CONTRIBUTING.md`. Delivery, CI, and Data Catalog conventions require separate
|
|
44
|
+
explicit setup with their owning skills. Setup may point to these capabilities without
|
|
45
|
+
requiring them.
|
|
42
46
|
|
|
43
47
|
Stack-specific tools, commands, cloud projects, release branches, required gates,
|
|
44
48
|
and golden paths are project facts, not defaults to manufacture. Read established
|
|
@@ -43,6 +43,10 @@ new global defaults or new loading pointer in unique `engineering:<id>:start/end
|
|
|
43
43
|
comments before recording their hashes. Do not rewrap existing text or claim it as
|
|
44
44
|
owned. Keep existing valid records and add only new entries; deduplicate entries.
|
|
45
45
|
|
|
46
|
+
Project policy sections, including `Feature delivery` (`conventions:feature-delivery`),
|
|
47
|
+
live in `CONTRIBUTING.md`; `AGENTS.md` holds only the loading pointer. Record a new
|
|
48
|
+
pointer as an `engineering:<id>` loading addition, never as a policy section.
|
|
49
|
+
|
|
46
50
|
Set `createdFile` only when this save created that file. Preserve unrelated bytes
|
|
47
51
|
and existing links. Do not create a sidecar, global settings entry, or project file
|
|
48
52
|
for a session choice. A repeated save with no additions leaves files unchanged.
|
|
@@ -73,6 +77,11 @@ scope's saved defaults, not a reinstall, refresh, or reset of every scope.
|
|
|
73
77
|
5. Remove owned loading pointers only if they are unchanged and no longer needed
|
|
74
78
|
by retained guidance. Keep a pointer that still loads user policy. Remove an
|
|
75
79
|
empty ownership record and any empty wrapper heading added by this save.
|
|
80
|
+
For a legacy `Feature delivery` section in `AGENTS.md`, honor a valid existing
|
|
81
|
+
ownership record and unchanged hash under step 3, even if an earlier initializer
|
|
82
|
+
recorded it. Preserve and report unrecorded or edited policy under step 4; do not
|
|
83
|
+
infer ownership from its location or migrate it during reset. Keep the pointer
|
|
84
|
+
while retained `CONTRIBUTING.md` policy still needs it.
|
|
76
85
|
Delete a file only if `createdFile` proves this skill created it and nothing
|
|
77
86
|
except the original generated title and whitespace remains. Preserve pre-existing
|
|
78
87
|
files, symlinks, hand edits, and unrelated sections; never delete an instruction
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import fs from 'node:fs'
|
|
3
3
|
import path from 'node:path'
|
|
4
4
|
import { spawnSync } from 'node:child_process'
|
|
5
|
-
import { fileURLToPath } from 'node:url'
|
|
5
|
+
import { fileURLToPath, pathToFileURL } from 'node:url'
|
|
6
6
|
|
|
7
7
|
const reference = name => fs.readFileSync(fileURLToPath(new URL(`../references/${name}.md`, import.meta.url)), 'utf8').trim()
|
|
8
8
|
const usage = 'node init.mjs [--repo-root <dir>] [--github-repo <owner/name>] [--linear-project <name>]... [--write]'
|
|
@@ -54,7 +54,7 @@ function append(current, body) {
|
|
|
54
54
|
return `${current}${separator}${body.trim()}\n`
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
function
|
|
57
|
+
function sectionState(current, title, id) {
|
|
58
58
|
const start = `<!-- conventions:${id}:start -->`
|
|
59
59
|
const end = `<!-- conventions:${id}:end -->`
|
|
60
60
|
const starts = current.split(start).length - 1
|
|
@@ -62,8 +62,12 @@ function preserveOrAdd(current, title, id, body) {
|
|
|
62
62
|
if (starts !== ends || starts > 1 || (starts && current.indexOf(start) > current.indexOf(end))) {
|
|
63
63
|
throw new Error(`malformed ${title} section markers; preserve and repair existing guidance first`)
|
|
64
64
|
}
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
return Boolean(starts) || current.split(/\r?\n/).some(line => line.trim() === `## ${title}`)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function addSection(current, title, id, body) {
|
|
69
|
+
if (sectionState(current, title, id)) return current
|
|
70
|
+
return append(current, `<!-- conventions:${id}:start -->\n${body.trim()}\n<!-- conventions:${id}:end -->`)
|
|
67
71
|
}
|
|
68
72
|
|
|
69
73
|
function linkFrom(from, to) {
|
|
@@ -73,11 +77,14 @@ function linkFrom(from, to) {
|
|
|
73
77
|
function hasLoader(current, from, to) {
|
|
74
78
|
const links = /\[[^\]\r\n]*\]\(\s*(?:<([^>]+)>|([^\s)]+))(?:\s+["'][^"'\r\n]*["'])?\s*\)/g
|
|
75
79
|
for (const match of current.matchAll(links)) {
|
|
76
|
-
const href =
|
|
80
|
+
const href = match[1] ?? match[2]
|
|
77
81
|
if (!href || /^[a-z][a-z\d+.-]*:|^\/\//i.test(href)) continue
|
|
78
82
|
let target
|
|
79
83
|
try {
|
|
80
|
-
|
|
84
|
+
const link = new URL(href, pathToFileURL(from.target))
|
|
85
|
+
if (link.hash) continue
|
|
86
|
+
link.search = ''
|
|
87
|
+
target = fileURLToPath(link)
|
|
81
88
|
} catch {
|
|
82
89
|
continue
|
|
83
90
|
}
|
|
@@ -114,23 +121,38 @@ function planInitialization(root, options) {
|
|
|
114
121
|
throw new Error('agent instructions and CONTRIBUTING.md must use distinct files')
|
|
115
122
|
}
|
|
116
123
|
|
|
117
|
-
|
|
118
|
-
|
|
124
|
+
// AGENTS.md loads the policy; it does not carry it. Init adds only the pointer.
|
|
125
|
+
const agentBase = agents.current ?? '# Agent instructions\n'
|
|
126
|
+
// An earlier release put Feature delivery in AGENTS.md. That policy stays where it is:
|
|
127
|
+
// init neither migrates it nor adds a competing copy to CONTRIBUTING.md.
|
|
128
|
+
const featureDeliveryInAgents = sectionState(agentBase, 'Feature delivery', 'feature-delivery')
|
|
129
|
+
let agentText = agentBase
|
|
119
130
|
if (!hasLoader(agentText, agents, contributing)) {
|
|
120
131
|
agentText = append(agentText, `## Contributing\n\nFollow [CONTRIBUTING.md](${linkFrom(agents, contributing)}) for this project's engineering conventions and existing delivery requirements.`)
|
|
121
132
|
}
|
|
122
133
|
|
|
123
|
-
let contributingText =
|
|
134
|
+
let contributingText = contributing.current ?? '# Contributing\n'
|
|
135
|
+
const featureDeliveryInContributing = sectionState(contributingText, 'Feature delivery', 'feature-delivery')
|
|
136
|
+
if (!featureDeliveryInAgents && !featureDeliveryInContributing) {
|
|
137
|
+
contributingText = addSection(contributingText, 'Feature delivery', 'feature-delivery',
|
|
138
|
+
reference('feature-delivery'))
|
|
139
|
+
}
|
|
140
|
+
contributingText = addSection(contributingText, 'Engineering conventions',
|
|
124
141
|
'engineering', reference('engineering-conventions'))
|
|
125
142
|
const testing = fs.readFileSync(new URL('../../test-quality/references/testing-conventions.md', import.meta.url), 'utf8').trim()
|
|
126
|
-
contributingText =
|
|
127
|
-
contributingText =
|
|
143
|
+
contributingText = addSection(contributingText, 'Testing conventions', 'testing', testing)
|
|
144
|
+
contributingText = addSection(contributingText, 'Issue tracking', 'tracker',
|
|
128
145
|
trackerBody(options.githubRepo ?? githubRepo(root), options.linearProjects))
|
|
129
146
|
|
|
130
|
-
return
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
147
|
+
return {
|
|
148
|
+
entries: [
|
|
149
|
+
{ ...agents, next: agentText },
|
|
150
|
+
{ ...contributing, next: contributingText },
|
|
151
|
+
],
|
|
152
|
+
notes: featureDeliveryInAgents
|
|
153
|
+
? ['Feature delivery stays in AGENTS.md; no competing section added to CONTRIBUTING.md']
|
|
154
|
+
: [],
|
|
155
|
+
}
|
|
134
156
|
}
|
|
135
157
|
|
|
136
158
|
function main(argv) {
|
|
@@ -142,13 +164,14 @@ function main(argv) {
|
|
|
142
164
|
const selected = options.repoRoot ?? gitOutput(process.cwd(), ['rev-parse', '--show-toplevel']) ?? process.cwd()
|
|
143
165
|
const root = fs.realpathSync(selected)
|
|
144
166
|
if (!fs.statSync(root).isDirectory()) throw new Error('project root is not a directory')
|
|
145
|
-
const
|
|
167
|
+
const { entries, notes } = planInitialization(root, options)
|
|
146
168
|
console.log(`engineering init: ${options.write ? 'write' : 'preview only'} (${root})`)
|
|
147
|
-
for (const entry of
|
|
169
|
+
for (const entry of entries) {
|
|
148
170
|
const action = entry.current === entry.next ? 'unchanged' : entry.current === null ? 'create' : 'update'
|
|
149
171
|
if (options.write && action !== 'unchanged') fs.writeFileSync(entry.target, entry.next)
|
|
150
172
|
console.log(` ${entry.name}: ${!options.write && action !== 'unchanged' ? 'would ' : ''}${action}`)
|
|
151
173
|
}
|
|
174
|
+
for (const note of notes) console.log(` note: ${note}`)
|
|
152
175
|
console.log('Existing sections are preserved; initialization does not refresh project policy or authorize delivery actions.')
|
|
153
176
|
}
|
|
154
177
|
|
|
@@ -3,7 +3,7 @@ name: engineering-runtime
|
|
|
3
3
|
description: Internal support package for shared Engineering Workflow executable behavior. Never select or invoke this package as a user capability.
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
user-invocable: false
|
|
6
|
-
release-version: 0.
|
|
6
|
+
release-version: 0.46.0
|
|
7
7
|
---
|
|
8
8
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
9
9
|
# Engineering Runtime
|