@1aboveio/skills 1.0.1 → 1.0.2
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/README.md +24 -7
- package/bin/select-core.mjs +182 -50
- package/extensions/hide-copies.ts +21 -0
- package/package.json +115 -3
- 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 +2 -1
- package/skills/app-dev/data-catalog/references/data-catalog-conventions.md +2 -1
- package/skills/app-dev/data-catalog/references/field-definitions.md +2 -1
- package/skills/app-dev/data-catalog/references/format.md +6 -2
- package/skills/app-dev/data-catalog/scripts/data_catalog.py +15 -3
- package/skills/app-dev/data-catalog/scripts/test_data_catalog.py +15 -0
- package/skills/app-dev/data-quality/LICENSE +3 -0
- package/skills/app-dev/data-quality/SKILL.md +96 -0
- package/skills/app-dev/data-quality/agents/openai.yaml +3 -0
- package/skills/app-dev/data-quality/references/checks.md +56 -0
- package/skills/app-dev/data-quality/release-check.mjs +93 -0
- package/skills/app-dev/data-quality/scripts/data-quality.test.mjs +12 -0
- package/skills/app-dev/data-quality/scripts/data_quality.py +405 -0
- package/skills/app-dev/data-quality/scripts/test_data_quality.py +277 -0
- 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 +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/LICENSE +3 -0
- package/skills/core/plain-language/SKILL.md +57 -0
- package/skills/core/plain-language/release-check.mjs +93 -0
- 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/e2e-test/SKILL.md +1 -1
- package/skills/engineering/engineering-runtime/SKILL.md +1 -1
- package/skills/engineering/engineering-runtime/coherence/workflow.json +12 -12
- 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
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
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.39.0
|
|
5
|
+
---
|
|
6
|
+
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
|
+
# Plain language
|
|
8
|
+
|
|
9
|
+
Write every reply in this style for the rest of the session, including status lines and
|
|
10
|
+
summaries, until the user says `/plain-language off` or "normal mode". A switch to another
|
|
11
|
+
reply style (such as caveman) also ends it.
|
|
12
|
+
|
|
13
|
+
- Invoked with no other request: reply in one line that the mode is on. Otherwise do not
|
|
14
|
+
mention the mode; just answer in it.
|
|
15
|
+
- Invoked with `off`: reply in one line that the mode is off, and stop following this page.
|
|
16
|
+
- Code, commands, file paths, identifiers, error text and commit messages stay exact.
|
|
17
|
+
- Follow the section for the reply's language; a mixed reply follows both.
|
|
18
|
+
|
|
19
|
+
## Every reply
|
|
20
|
+
|
|
21
|
+
- **Lead with the point.** The answer or recommendation first, then the reasons.
|
|
22
|
+
- **Cut every word that does no work.** No greeting, no restating the question, no recap
|
|
23
|
+
of what you just said.
|
|
24
|
+
- **Fit the length to the question.** A short question gets a short answer; add detail
|
|
25
|
+
only when the reader needs it to act.
|
|
26
|
+
- **Use the short everyday word.** Explain a needed technical term in a few words the first
|
|
27
|
+
time. Never leverage, robust, seamless, holistic, streamline, delve.
|
|
28
|
+
- **Name who does what.** "The script deletes the branch", not "the branch is deleted".
|
|
29
|
+
- **State findings plainly; hedge only real uncertainty, and say what it depends on.**
|
|
30
|
+
- **Write full sentences, not telegraphic notes.** Keep if, when, because and but.
|
|
31
|
+
Example: "It is 0 if there were no collections," not "0 when none."
|
|
32
|
+
- **Give every range its endpoints and say which are included.**
|
|
33
|
+
- **When "and" and "or" meet in one condition, group them.** Give each condition its subject.
|
|
34
|
+
- **Make every "it", "this" and "they" point to one obvious noun.**
|
|
35
|
+
- **Never add a number, date, condition or cause you do not have,** and never turn "may"
|
|
36
|
+
into "will".
|
|
37
|
+
- One thought per sentence; most sentences under 25 words.
|
|
38
|
+
- Between tool calls, write one plain sentence on what you are doing and why, or nothing.
|
|
39
|
+
|
|
40
|
+
## 中文回复
|
|
41
|
+
|
|
42
|
+
- 先给结论,再给理由;不写问候式开场、宣传口号和空泛形容。
|
|
43
|
+
- 写完整的句子,不写电报体。示例:`若窗口内无收款,则为 0`,而不是 `无收款为 0`。
|
|
44
|
+
- 区间和阈值写明端点,并写明端点是否包含。
|
|
45
|
+
- 并列的条件逐个写全对象。示例:`客户已认证,且客户是个人或商户`,而不是 `客户是个人或商户且已认证`。
|
|
46
|
+
- 指代可能不清时,用具体名称替代「该」「其」「此」「上述」「相关」。
|
|
47
|
+
- 不用掩盖具体动作的词,改写为实际含义:赋能 → 提供;抓手 → 关键措施;对齐 → 统一、确认一致;拉通 / 打通 → 连接。
|
|
48
|
+
- 不用装饰性连接词:值得注意的是、不难看出、综上所述。
|
|
49
|
+
- 中文与英文、数字之间加一个半角空格。
|
|
50
|
+
|
|
51
|
+
## When a rule makes a reply worse
|
|
52
|
+
|
|
53
|
+
Fix the sentence another way. Never shorten a warning, an irreversible step or an ordered
|
|
54
|
+
procedure to save words.
|
|
55
|
+
|
|
56
|
+
Full guides: [style-en](../house-style/references/style-en.md),
|
|
57
|
+
[style-zh](../house-style/references/style-zh.md) (from `house-style`, when installed).
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { spawnSync } from 'node:child_process';
|
|
3
|
+
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
4
|
+
import { homedir } from 'node:os';
|
|
5
|
+
import { dirname, join } from 'node:path';
|
|
6
|
+
import { fileURLToPath } from 'node:url';
|
|
7
|
+
|
|
8
|
+
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
9
|
+
const WEEK_MS = 7 * DAY_MS;
|
|
10
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
11
|
+
|
|
12
|
+
function readJson(path, fallback = {}) {
|
|
13
|
+
try { return JSON.parse(readFileSync(path, 'utf8')); } catch { return fallback; }
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function frontmatterValue(text, key) {
|
|
17
|
+
const frontmatter = /^---\n([\s\S]*?)\n---/.exec(text)?.[1] ?? '';
|
|
18
|
+
const match = new RegExp('^' + key + ':\\s*([^\\n]+)$', 'm').exec(frontmatter);
|
|
19
|
+
return match?.[1].trim().replace(/^['"]|['"]$/g, '') ?? null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function repositoryOf(source) {
|
|
23
|
+
const value = String(source ?? '').trim();
|
|
24
|
+
const match = /^(?:git@github\.com:|https:\/\/github\.com\/)?([A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+?)(?:\.git)?$/.exec(value);
|
|
25
|
+
return match?.[1] ?? null;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function stableVersion(value) {
|
|
29
|
+
const match = /^v?(\d+)\.(\d+)\.(\d+)$/.exec(String(value ?? '').trim());
|
|
30
|
+
return match ? match.slice(1).map(Number) : null;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function newer(left, right) {
|
|
34
|
+
for (let index = 0; index < 3; index += 1) {
|
|
35
|
+
if (left[index] !== right[index]) return left[index] > right[index];
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function writeCache(path, value) {
|
|
41
|
+
try {
|
|
42
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
43
|
+
writeFileSync(path, JSON.stringify(value));
|
|
44
|
+
} catch { /* A read-only cache must not block skill use. */ }
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function main(now = Date.now()) {
|
|
48
|
+
if (process.env.ONEABOVEIO_NO_UPDATE_CHECK) return;
|
|
49
|
+
const skill = readFileSync(join(here, 'SKILL.md'), 'utf8');
|
|
50
|
+
const name = frontmatterValue(skill, 'name');
|
|
51
|
+
const localVersion = stableVersion(frontmatterValue(skill, 'release-version'));
|
|
52
|
+
if (!name || !localVersion) return;
|
|
53
|
+
|
|
54
|
+
const lock = readJson(join(process.env.HOME || homedir(), '.agents', '.skill-lock.json'));
|
|
55
|
+
const entry = lock.skills?.[name];
|
|
56
|
+
const repository = repositoryOf(entry?.sourceUrl || entry?.source);
|
|
57
|
+
if (!repository) return;
|
|
58
|
+
|
|
59
|
+
const cacheRoot = process.env.XDG_CACHE_HOME || join(process.env.HOME || homedir(), '.cache');
|
|
60
|
+
const cachePath = join(cacheRoot, '1aboveio-skills', 'release-check.json');
|
|
61
|
+
const all = readJson(cachePath);
|
|
62
|
+
const cache = all[repository] && typeof all[repository] === 'object' ? all[repository] : {};
|
|
63
|
+
|
|
64
|
+
if (!cache.lastCheck || now - cache.lastCheck >= DAY_MS) {
|
|
65
|
+
const result = spawnSync('gh', ['api', 'repos/' + repository + '/releases/latest', '--jq', '.tag_name'], {
|
|
66
|
+
encoding: 'utf8',
|
|
67
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
68
|
+
timeout: 1500,
|
|
69
|
+
});
|
|
70
|
+
cache.lastCheck = now;
|
|
71
|
+
if (result.status === 0 && stableVersion(result.stdout)) cache.latestTag = result.stdout.trim();
|
|
72
|
+
else delete cache.latestTag;
|
|
73
|
+
all[repository] = cache;
|
|
74
|
+
writeCache(cachePath, all);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const latestVersion = stableVersion(cache.latestTag);
|
|
78
|
+
if (!latestVersion || !newer(latestVersion, localVersion)) return;
|
|
79
|
+
if (cache.notifiedTag === cache.latestTag && cache.notifiedAt && now - cache.notifiedAt < WEEK_MS) return;
|
|
80
|
+
|
|
81
|
+
cache.notifiedTag = cache.latestTag;
|
|
82
|
+
cache.notifiedAt = now;
|
|
83
|
+
all[repository] = cache;
|
|
84
|
+
writeCache(cachePath, all);
|
|
85
|
+
const command = `npx skills@1.5.23 add '${repository}#${cache.latestTag}' --global --agent universal claude-code --skill ${name} --yes`;
|
|
86
|
+
process.stdout.write(
|
|
87
|
+
`UPDATE_AVAILABLE: A newer 1AboveIO skills release (${cache.latestTag}) is available; this skill is `
|
|
88
|
+
+ `v${localVersion.join('.')}. Ask once whether to refresh ${name}. On approval run \`${command}\`. `
|
|
89
|
+
+ 'The refreshed instructions apply next session. Either way, continue the current task and do not ask again this session.\n',
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
try { main(); } catch { /* Update checks are advisory and always fail silent. */ }
|
|
@@ -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.39.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.39.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.39.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 a Markdown document in the project's house style, using the nearest WRITING.md and a document template (BRD, PRD, gap analysis, technical spec, integration guide, commercial proposal, compliance policy, risk operations procedure, or the project's own); English, Chinese or bilingual. NOT for learning a style from samples (distill-writing), audit reports from findings (report-writing), or WeChat articles (wechat-article-writer)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.39.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Write a document
|
|
@@ -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.39.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 standard: the 3-tier suite (render-health / functional / journey), generated route manifest, and presentation sweep. 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.39.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# E2E Testing Standard
|
|
@@ -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.39.0
|
|
7
7
|
---
|
|
8
8
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
9
9
|
# Engineering Runtime
|
|
@@ -368,7 +368,7 @@
|
|
|
368
368
|
"repository": "1aboveio/ai",
|
|
369
369
|
"revision": "main"
|
|
370
370
|
},
|
|
371
|
-
"contentDigest": "
|
|
371
|
+
"contentDigest": "2ab5f74d40dd23a789d969bb3a496093bb0c59e0779f93ab56520594f52263e8",
|
|
372
372
|
"digestExcludes": []
|
|
373
373
|
},
|
|
374
374
|
{
|
|
@@ -381,7 +381,7 @@
|
|
|
381
381
|
"repository": "1aboveio/ai",
|
|
382
382
|
"revision": "main"
|
|
383
383
|
},
|
|
384
|
-
"contentDigest": "
|
|
384
|
+
"contentDigest": "c2dd5e6cbcb4fe7431ff9c76f64e3161a0542adadd3e1583b40ea9311e0325f2",
|
|
385
385
|
"digestExcludes": []
|
|
386
386
|
},
|
|
387
387
|
{
|
|
@@ -394,7 +394,7 @@
|
|
|
394
394
|
"repository": "1aboveio/ai",
|
|
395
395
|
"revision": "main"
|
|
396
396
|
},
|
|
397
|
-
"contentDigest": "
|
|
397
|
+
"contentDigest": "3f03df4e4e13a0e7612a6e61f879d03f954262b71b38f4db0a74990c9d0207ef",
|
|
398
398
|
"digestExcludes": []
|
|
399
399
|
},
|
|
400
400
|
{
|
|
@@ -407,7 +407,7 @@
|
|
|
407
407
|
"repository": "1aboveio/ai",
|
|
408
408
|
"revision": "main"
|
|
409
409
|
},
|
|
410
|
-
"contentDigest": "
|
|
410
|
+
"contentDigest": "1ac457031b530489676ef9cff0e2673bf128208ea71003c48538bdd3b8a6b52c",
|
|
411
411
|
"digestExcludes": []
|
|
412
412
|
},
|
|
413
413
|
{
|
|
@@ -420,7 +420,7 @@
|
|
|
420
420
|
"repository": "1aboveio/ai",
|
|
421
421
|
"revision": "main"
|
|
422
422
|
},
|
|
423
|
-
"contentDigest": "
|
|
423
|
+
"contentDigest": "edecc0808b1a4e9942f7f9351a258cb55396119038133d93473f12e17c5f674d",
|
|
424
424
|
"digestExcludes": []
|
|
425
425
|
},
|
|
426
426
|
{
|
|
@@ -433,7 +433,7 @@
|
|
|
433
433
|
"repository": "1aboveio/ai",
|
|
434
434
|
"revision": "main"
|
|
435
435
|
},
|
|
436
|
-
"contentDigest": "
|
|
436
|
+
"contentDigest": "1bab372a4b5d1a94582aad5621244a88d440f883454dab36a78ba761dcc542f3",
|
|
437
437
|
"digestExcludes": []
|
|
438
438
|
},
|
|
439
439
|
{
|
|
@@ -446,7 +446,7 @@
|
|
|
446
446
|
"repository": "1aboveio/ai",
|
|
447
447
|
"revision": "main"
|
|
448
448
|
},
|
|
449
|
-
"contentDigest": "
|
|
449
|
+
"contentDigest": "f3fdfb8a0fc271c89af97dc5ae181ffecb7ea14435f11defdcfe955cd18d3ba7",
|
|
450
450
|
"digestExcludes": []
|
|
451
451
|
},
|
|
452
452
|
{
|
|
@@ -459,7 +459,7 @@
|
|
|
459
459
|
"repository": "1aboveio/ai",
|
|
460
460
|
"revision": "main"
|
|
461
461
|
},
|
|
462
|
-
"contentDigest": "
|
|
462
|
+
"contentDigest": "1b2f489154398520dc81e3b900f7b602e29e3269dba41a458e61e83909d116c7",
|
|
463
463
|
"digestExcludes": []
|
|
464
464
|
},
|
|
465
465
|
{
|
|
@@ -472,7 +472,7 @@
|
|
|
472
472
|
"repository": "1aboveio/ai",
|
|
473
473
|
"revision": "main"
|
|
474
474
|
},
|
|
475
|
-
"contentDigest": "
|
|
475
|
+
"contentDigest": "dc14758f5fcaad60dd9f51a7f28b43954d53d687d816034ca2cda39518b7323a",
|
|
476
476
|
"digestExcludes": []
|
|
477
477
|
},
|
|
478
478
|
{
|
|
@@ -485,7 +485,7 @@
|
|
|
485
485
|
"repository": "1aboveio/ai",
|
|
486
486
|
"revision": "main"
|
|
487
487
|
},
|
|
488
|
-
"contentDigest": "
|
|
488
|
+
"contentDigest": "78254999055badb626b2423046bc66704b8ebe324da83e9166242581b8d658f6",
|
|
489
489
|
"digestExcludes": []
|
|
490
490
|
},
|
|
491
491
|
{
|
|
@@ -498,13 +498,13 @@
|
|
|
498
498
|
"repository": "1aboveio/ai",
|
|
499
499
|
"revision": "main"
|
|
500
500
|
},
|
|
501
|
-
"contentDigest": "
|
|
501
|
+
"contentDigest": "b803a7a37fb23fa514dc5abee57244950248dc3a36d90480c785cca49a49332e",
|
|
502
502
|
"digestExcludes": [
|
|
503
503
|
"coherence/workflow.json"
|
|
504
504
|
]
|
|
505
505
|
}
|
|
506
506
|
],
|
|
507
|
-
"releaseIdentity": "
|
|
507
|
+
"releaseIdentity": "d47473fb493e8ce0e8c44999c8f9dd9bad253087592ce0724d1391169bee2469",
|
|
508
508
|
"lifecycleAuthority": "native-skills-cli",
|
|
509
509
|
"repairRecipe": {
|
|
510
510
|
"id": "engineering-workflow-dependency-first",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: ensure-coverage
|
|
3
3
|
description: "Define or audit behavior-first test criteria — ACs, required test levels, mock/integration/E2E policy — across three axes: breadth (Coverage Ledger), depth (over-mocking), presentation (perceivability of browser surfaces). NOT judging whether a single test is any good (test-quality), authoring browser tests (e2e-test), reviewing a PR (better-review), or delivering issues (resolve-issues)."
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
-
release-version: 0.
|
|
5
|
+
release-version: 0.39.0
|
|
6
6
|
---
|
|
7
7
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
8
8
|
# Ensure Coverage
|
|
@@ -3,7 +3,7 @@ name: golden-path
|
|
|
3
3
|
description: "Golden-path E2E: the short list of user journeys whose failure blocks a release, kept in a repo as one contract (golden-paths.json) with a generated GOLDEN_PATHS.md and a generated GitHub Actions workflow, and run against a local build or a deployed URL for an ALIVE/DEAD verdict. Use to set golden paths up in a repo ('init golden paths', 'add golden-path CI'), to migrate an older smoke.manifest.json or a hand-built smoke setup ('audit', 'migrate smoke'), to add, change, or remove a golden path, to ask 'is the build alive?' or run them before a PR or release, or when a change touches a flow listed in GOLDEN_PATHS.md. NOT for writing the Playwright specs themselves (e2e-test), deciding what a change must prove (ensure-coverage), or general workflow YAML (github-actions)."
|
|
4
4
|
dependencies:
|
|
5
5
|
- e2e-test
|
|
6
|
-
release-version: 0.
|
|
6
|
+
release-version: 0.39.0
|
|
7
7
|
---
|
|
8
8
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
9
9
|
# Golden path
|
|
@@ -3,7 +3,7 @@ name: harness-runtime
|
|
|
3
3
|
description: Internal import-only library shared by first-party engineering packages. Not a workflow skill; never select or invoke it as a user capability.
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
user-invocable: false
|
|
6
|
-
release-version: 0.
|
|
6
|
+
release-version: 0.39.0
|
|
7
7
|
---
|
|
8
8
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
9
9
|
# Harness Runtime
|
|
@@ -4,7 +4,7 @@ description: "Slash/explicit-only (/resolve-release). Full GitHub Flow release f
|
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
metadata:
|
|
6
6
|
workflow-role: coordinator
|
|
7
|
-
release-version: 0.
|
|
7
|
+
release-version: 0.39.0
|
|
8
8
|
---
|
|
9
9
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
10
10
|
# Resolve release
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: test-quality
|
|
3
3
|
description: "Seven principles for tests that catch real bugs, and an audit that reports weak, redundant, and not-coverage tests without fixing them. Use when writing, changing, or reviewing tests, or when asked whether tests are useful, redundant, over-mocked, flaky, only assert static text, or test config files, or asked to make a slow test suite faster without losing coverage, or when the user asks to write the testing conventions into a repo's CONTRIBUTING.md. NOT defining what a spec must prove (ensure-coverage) or authoring browser tests (e2e-test)."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.39.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Test Quality
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: compliance-audit
|
|
3
3
|
version: 2.9.0
|
|
4
4
|
description: "Audit operations against financial-compliance checklists (AML/KYC, VARS, PCI-DSS, TPA oversight, onboarding, transaction monitoring). Produces tracker.md (with a tracker.xlsx export) and phase-trail.md with layered validation; cites evidence by original filename. Input: reg-parser or the built-in VARS checklist."
|
|
5
|
-
release-version: 0.
|
|
5
|
+
release-version: 0.39.0
|
|
6
6
|
---
|
|
7
7
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
8
8
|
# Compliance Audit
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: contract-compare
|
|
3
3
|
description: "Compare two or more contracts side-by-side for structured diff, gap analysis, and benchmarking. Use when: comparing contracts or agreements, contract diff, compare terms, vendor-vs-vendor, compare our template vs theirs, compliance gap between contracts. NOT for single-contract risk review — use contract-review for that."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.39.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Contract Compare
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: contract-review
|
|
3
3
|
description: "Review contracts for legal, commercial, and compliance risks via convert → chunk review → merge → validate (+ optional mandate preprocessing). Use for reviewing, auditing, or checking any contract, agreement, NDA, MSA, or SLA; input a file path (PDF/DOCX/TXT) or pasted text."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.39.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Contract Review
|
|
@@ -3,7 +3,7 @@ name: doc-authenticity
|
|
|
3
3
|
version: 0.4.1
|
|
4
4
|
description: "Screen PDF documents and raster images for fabrication, tampering, Photoshop or other image-editor use, and content validity. Detects file type, runs format-specific authenticity forensics, classifies bank statements, conversation logs, invoices, agreements, and other documents, then applies type-specific validity checks. Produces separate authenticity (NO_EVIDENCE_OF_MODIFICATION / SUSPICIOUS / LIKELY_MODIFIED / INCONCLUSIVE) and validity (VALID / INVALID / INCONCLUSIVE) verdicts. Use whenever a user asks whether a document, screenshot, scan, statement, invoice, contract, chat log, receipt, or payment evidence is genuine, original, edited, Photoshopped, manipulated, fake, or valid."
|
|
5
5
|
disable-model-invocation: true
|
|
6
|
-
release-version: 0.
|
|
6
|
+
release-version: 0.39.0
|
|
7
7
|
---
|
|
8
8
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
9
9
|
# Document and Image Authenticity
|
|
@@ -10,7 +10,7 @@ description: >
|
|
|
10
10
|
impact, and a business report. Use for fraud, scam, mule, account-takeover,
|
|
11
11
|
chargeback, dispute, transfer, collection, or payout risk analysis even when the
|
|
12
12
|
user does not name this skill.
|
|
13
|
-
release-version: 0.
|
|
13
|
+
release-version: 0.39.0
|
|
14
14
|
---
|
|
15
15
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
16
16
|
# Fraud Analysis
|
|
@@ -14,7 +14,7 @@ description: >
|
|
|
14
14
|
transactions" — even if they do not say payment-analysis. Do NOT use for
|
|
15
15
|
supervised fraud-rule mining (fraud-analysis) or TLD / MCC-miscoding
|
|
16
16
|
clusters (tld-detection).
|
|
17
|
-
release-version: 0.
|
|
17
|
+
release-version: 0.39.0
|
|
18
18
|
---
|
|
19
19
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
20
20
|
# Payment Analysis
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: report-writing
|
|
3
3
|
description: "Convert compliance audit findings into audience-formatted reports. Four styles: VARS Review Report (Visa's official 2025 template, required verbatim for VARS engagements), Audit Report (compliance team), External Assessment (regulators/external auditors), Management Report (board/C-suite). Use whenever audit output needs to become a deliverable, even just 'write up the findings'."
|
|
4
|
-
release-version: 0.
|
|
4
|
+
release-version: 0.39.0
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Report Writing
|
|
@@ -8,7 +8,7 @@ description: >
|
|
|
8
8
|
links, an entity chain, and a watchlist for the operator's next domains.
|
|
9
9
|
Not transaction data (tld-detection) or fraud rules (fraud-analysis).
|
|
10
10
|
disable-model-invocation: true
|
|
11
|
-
release-version: 0.
|
|
11
|
+
release-version: 0.39.0
|
|
12
12
|
---
|
|
13
13
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
14
14
|
# Similar Domain
|
|
@@ -11,7 +11,7 @@ description: >
|
|
|
11
11
|
with a ≤3-sentence summary.
|
|
12
12
|
Not payment-analysis, fraud-analysis, or website research (similar-domain).
|
|
13
13
|
disable-model-invocation: true
|
|
14
|
-
release-version: 0.
|
|
14
|
+
release-version: 0.39.0
|
|
15
15
|
---
|
|
16
16
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
17
17
|
# TLD Detection
|