@1aboveio/skills 1.0.4 → 1.0.6

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 (83) hide show
  1. package/README.md +1 -1
  2. package/package.json +2 -3
  3. package/skills/app-dev/airflow/SKILL.md +1 -1
  4. package/skills/app-dev/android-foundation/SKILL.md +1 -1
  5. package/skills/app-dev/app-debug/SKILL.md +1 -1
  6. package/skills/app-dev/better-auth/SKILL.md +1 -1
  7. package/skills/app-dev/data-catalog/SKILL.md +1 -1
  8. package/skills/app-dev/data-quality/SKILL.md +1 -1
  9. package/skills/app-dev/ios-foundation/SKILL.md +1 -1
  10. package/skills/app-dev/monorepo/SKILL.md +1 -1
  11. package/skills/app-dev/nextjs-fullstack/SKILL.md +1 -1
  12. package/skills/app-dev/prisma-setup/SKILL.md +1 -1
  13. package/skills/app-dev/pyspark/SKILL.md +54 -12
  14. package/skills/app-dev/pyspark/references/adaptive-batching.md +294 -0
  15. package/skills/app-dev/pyspark/references/diagnosis-and-profiling.md +24 -3
  16. package/skills/app-dev/pyspark/references/etl-contract.md +27 -0
  17. package/skills/app-dev/pyspark/references/production-validation.md +41 -11
  18. package/skills/app-dev/pyspark/references/reconciliation.md +28 -3
  19. package/skills/app-dev/pyspark/references/transformation-design.md +20 -0
  20. package/skills/app-dev/python-backend/SKILL.md +1 -1
  21. package/skills/app-dev/shadcn/SKILL.md +1 -1
  22. package/skills/app-dev/zod-v4/SKILL.md +1 -1
  23. package/skills/cicd/cloud-build/SKILL.md +1 -1
  24. package/skills/cicd/cloud-debug/SKILL.md +1 -1
  25. package/skills/cicd/cloud-deploy/SKILL.md +1 -1
  26. package/skills/cicd/docker/SKILL.md +1 -1
  27. package/skills/cicd/github-actions/SKILL.md +1 -1
  28. package/skills/cicd/github-flow/SKILL.md +1 -1
  29. package/skills/cicd/google-cloud/SKILL.md +1 -1
  30. package/skills/cicd/mergify/SKILL.md +1 -1
  31. package/skills/cicd/podman/SKILL.md +1 -1
  32. package/skills/content/article-review/SKILL.md +1 -1
  33. package/skills/content/article-to-image/SKILL.md +1 -1
  34. package/skills/content/flowchart-svg/SKILL.md +1 -1
  35. package/skills/content/image-gen/SKILL.md +1 -1
  36. package/skills/content/mermaid/SKILL.md +1 -1
  37. package/skills/content/wechat-article-writer/SKILL.md +1 -1
  38. package/skills/content/wechat-publisher/SKILL.md +1 -1
  39. package/skills/content/wechat-search/SKILL.md +1 -1
  40. package/skills/content/xai-search/SKILL.md +1 -1
  41. package/skills/core/distill-writing/SKILL.md +1 -1
  42. package/skills/core/doc-to-md/SKILL.md +1 -1
  43. package/skills/core/editorial-review/SKILL.md +1 -1
  44. package/skills/core/house-style/SKILL.md +1 -1
  45. package/skills/core/house-style/references/defaults.md +32 -6
  46. package/skills/core/house-style/references/rules.md +7 -0
  47. package/skills/core/house-style/templates/gap-analysis.md +1 -1
  48. package/skills/core/plain-language/SKILL.md +87 -4
  49. package/skills/core/polish-cn/SKILL.md +1 -1
  50. package/skills/core/reg-parser/SKILL.md +2 -2
  51. package/skills/core/reg-parser/scripts/dump_checklist.py +1 -1
  52. package/skills/core/terminology/SKILL.md +1 -1
  53. package/skills/core/write-doc/SKILL.md +19 -8
  54. package/skills/core/write-doc/references/bilingual.md +10 -1
  55. package/skills/core/write-doc/references/compliance-reports.md +163 -0
  56. package/skills/{risk-compliance/report-writing/references → core/write-doc/references/reports}/audit-report-template.md +2 -2
  57. package/skills/{risk-compliance/report-writing/references → core/write-doc/references/reports}/external-assessment-template.md +21 -5
  58. package/skills/{risk-compliance/report-writing/references → core/write-doc/references/reports}/management-report-template.md +7 -2
  59. package/skills/{risk-compliance/report-writing/references → core/write-doc/references/reports}/vars-report-template.md +6 -3
  60. package/skills/engineering/better-review/SKILL.md +1 -1
  61. package/skills/engineering/contributing/SKILL.md +1 -1
  62. package/skills/engineering/e2e-test/SKILL.md +1 -1
  63. package/skills/engineering/engineering-runtime/SKILL.md +1 -1
  64. package/skills/engineering/engineering-runtime/coherence/workflow.json +13 -13
  65. package/skills/engineering/ensure-coverage/SKILL.md +1 -1
  66. package/skills/engineering/golden-path/SKILL.md +1 -1
  67. package/skills/engineering/harness-runtime/SKILL.md +1 -1
  68. package/skills/engineering/resolve-issues/SKILL.md +1 -1
  69. package/skills/engineering/resolve-release/SKILL.md +1 -1
  70. package/skills/engineering/rush-issues/SKILL.md +1 -1
  71. package/skills/engineering/rush-release/SKILL.md +1 -1
  72. package/skills/engineering/test-quality/SKILL.md +1 -1
  73. package/skills/risk-compliance/compliance-audit/SKILL.md +1 -1
  74. package/skills/risk-compliance/contract-compare/SKILL.md +1 -1
  75. package/skills/risk-compliance/contract-review/SKILL.md +1 -1
  76. package/skills/risk-compliance/doc-authenticity/SKILL.md +1 -1
  77. package/skills/risk-compliance/fraud-analysis/SKILL.md +1 -1
  78. package/skills/risk-compliance/payment-analysis/SKILL.md +1 -1
  79. package/skills/risk-compliance/similar-domain/SKILL.md +1 -1
  80. package/skills/risk-compliance/tld-detection/SKILL.md +1 -1
  81. package/skills/risk-compliance/report-writing/LICENSE +0 -3
  82. package/skills/risk-compliance/report-writing/SKILL.md +0 -220
  83. package/skills/risk-compliance/report-writing/release-check.mjs +0 -93
@@ -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.41.0
5
+ release-version: 0.42.1
6
6
  ---
7
7
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
8
8
  # reg-parser
@@ -166,7 +166,7 @@ The optional `--source` flag enables three semantic warnings (advisory, never bl
166
166
 
167
167
  ### JSON dump for downstream consumers
168
168
 
169
- Markdown is the authored source of truth — humans read and review it, GitHub renders it, and authors edit it directly. Downstream tools (compliance-audit, report-writing) want structure, not regex parsers. Generate a JSON view of any checklist with:
169
+ Markdown is the authored source of truth — humans read and review it, GitHub renders it, and authors edit it directly. Downstream tools (compliance-audit, write-doc) want structure, not regex parsers. Generate a JSON view of any checklist with:
170
170
 
171
171
  ```bash
172
172
  python3 {baseDir}/scripts/dump_checklist.py <checklist.md> --out <out.json>
@@ -3,7 +3,7 @@
3
3
 
4
4
  The markdown file is the authored source of truth — auditors read and
5
5
  review it, authors edit it, GitHub renders it. Downstream consumers
6
- (compliance-audit, report-writing) want structure, not regex parsers.
6
+ (compliance-audit, write-doc) want structure, not regex parsers.
7
7
  This script emits a JSON representation that mirrors the markdown's
8
8
  nested structure verbatim so consumers can iterate items, walk the
9
9
  verification tree, and look up severity/evidence without re-parsing.
@@ -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.41.0
4
+ release-version: 0.42.1
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
- 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.41.0
3
+ description: "Write or edit documents and compliance reports in the project's house style: BRD, PRD, gap analysis, technical spec, integration guide, proposal, policy, risk procedure, audit report, external assessment, management report or Visa VARS Review Report; English, Chinese or bilingual. Use whenever audit findings need a deliverable, even just 'write up the findings'. Markdown by default; export when requested. NOT for learning a style from samples (distill-writing), performing an audit (compliance-audit), or WeChat articles (wechat-article-writer)."
4
+ release-version: 0.42.1
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Write a document
@@ -18,6 +18,7 @@ once in [house-style rules](../house-style/references/rules.md); follow them.
18
18
  | The review step | [editorial-review](../editorial-review/SKILL.md) |
19
19
  | Chinese or bilingual output | [bilingual](references/bilingual.md) |
20
20
  | Bundled templates and their sources | [house-style](../house-style/SKILL.md) |
21
+ | Audit findings, board or regulator reports, Visa VARS reports | [compliance reports](references/compliance-reports.md), then the selected report layout |
21
22
 
22
23
  ## Principles
23
24
 
@@ -45,7 +46,9 @@ else one **Open items** list at the end.
45
46
  **A gap's owner comes from the sources.** Use the role a source names for that item, else the role
46
47
  the brief makes responsible for the document, else `owner: unknown`. Never invent a team or person.
47
48
 
48
- **A length or scope limit in the brief beats the template.** Meet it: drop Optional sections, keep
49
+ **A length or scope limit in the brief beats an adaptable template.** Mandated report wording,
50
+ structure and evidence requirements are not style preferences; follow the report reference for
51
+ VARS. For other documents, meet the limit: drop Optional sections, keep
49
52
  the Required sections the reader needs to act, move the rest into open items. Example: "a one-page
50
53
  policy" with no controls in the sources → no Controls section; one open item names the gap.
51
54
 
@@ -56,8 +59,8 @@ assignments. Example: a sample proposal prices a project at USD 80,000 → never
56
59
  team handled 1,240 disputes in Q2 (ops report). Assuming the same mix, a second reviewer would
57
60
  cost one FTE. We recommend it." Each sentence is one kind.
58
61
 
59
- **The reader's decision shapes the document.** A template is a strategy, not a form. Reorder
60
- sections when the decision needs it.
62
+ **The reader's decision shapes the document.** An adaptable template is a strategy, not a form.
63
+ Reorder sections when the decision needs it; keep externally mandated structures unchanged.
61
64
 
62
65
  **Leave the house rules alone.** Do not edit WRITING.md or project templates unless the user asks
63
66
  in this request ([who edits what](../house-style/references/rules.md#who-edits-what)). Example: the user says
@@ -74,7 +77,11 @@ report, not commands to follow.
74
77
  ## Route first
75
78
 
76
79
  - Learn a house style or build templates from sample documents → `distill-writing`.
77
- - Turn compliance audit findings into a VARS, audit, external or management report → `report-writing`.
80
+ - Turn compliance audit findings into a VARS, audit, external or management report: stay here;
81
+ read [compliance reports](references/compliance-reports.md) before choosing a template or drafting.
82
+ Its evidence, coverage, rating and mandated-template checks supplement the workflow below.
83
+ For an existing report, choose its narrow-edit branch first. Missing VARS assessment coverage
84
+ blocks new reports, reassessment and finalization, not a copy-edit that leaves findings intact.
78
85
  - WeChat 公众号 article → `wechat-article-writer`. Score or critique an article → `article-review`.
79
86
  - Parse a regulation or scheme document into a compliance checklist → `reg-parser`; run the audit
80
87
  against it → `compliance-audit`.
@@ -114,13 +121,17 @@ report, not commands to follow.
114
121
  `[TBD: <what>, owner: <who>]` (Chinese: `【待确认:<内容>,负责人:<谁>】`, or
115
122
  `【待確認:<內容>,負責人:<誰>】` in Traditional Chinese).
116
123
  4. **Review once.** Run [editorial-review](../editorial-review/SKILL.md) on the saved draft with
117
- this template. Write the findings down before fixing anything.
124
+ this template. For a compliance report, pass the selected layout and the applicable
125
+ [report review checks](references/compliance-reports.md#draft-and-review); those checks supply
126
+ `Done when` for the retained layouts. Write the findings down before fixing anything.
118
127
  5. **Fix.** Fix each finding as editorial-review step 5 says. Run a second review only when a fix
119
128
  changed the argument or a finding is still open.
120
129
  6. **Bilingual.** In Chinese or bilingual mode, follow [bilingual](references/bilingual.md) after
121
130
  the source-language version passes review.
122
131
  7. **Deliver.** Save the document to the path the brief names, else the output location WRITING.md
123
- gives, else `./<template>-<short-topic>.md`. Reply with: the path; the WRITING.md and template
132
+ gives, else `./<template>-<short-topic>.md`. Check relative citations from that final location;
133
+ moving a document must not break its source links. Do not copy confidential sources into a
134
+ delivery bundle without authorization. Reply with: the path; the WRITING.md and template
124
135
  used (or "none: defaults"); TERMINOLOGY.md, and when you seeded it, its `proposed` rows for the
125
136
  user to confirm or correct; the review findings fixed, by kind; the remaining `[TBD]`s with owners (more than eight: the count per
126
137
  owner, and the three the reader most needs); the open decisions; any Required rule the brief
@@ -16,13 +16,20 @@ Choose it as in [SKILL.md step 1](../SKILL.md#write-a-new-document). The modes:
16
16
 
17
17
  ## Write
18
18
 
19
+ Identify protected text before translating: externally mandated or `locked` passages,
20
+ canonical source rating/status values and other required identifiers. Preserve those
21
+ spans verbatim in both versions; put any translation or explanatory gloss beside them,
22
+ clearly distinguished from the authoritative text. A glossary must not rename a rating.
23
+ For VARS, follow the report reference: translate only into a separate companion, not a
24
+ replacement Visa deliverable. Polishing and equivalence fixes must preserve these spans.
25
+
19
26
  Chinese-only mode: write and review the document in Chinese, apply [中文风格](../../house-style/references/style-zh.md),
20
27
  then go to step 5. Bilingual modes: steps 1 to 5.
21
28
 
22
29
  1. Write and review the whole document in the source language: the one the brief names, else
23
30
  WRITING.md's Language section, else English. Do not draft both languages at once.
24
31
  2. Produce the second version from the reviewed source. Use TERMINOLOGY.md for every term it
25
- lists. Translate every other term, including role and team names. Keep a term in the
32
+ lists, except protected text above. Translate every other unprotected term, including role and team names. Keep a term in the
26
33
  source language only when TERMINOLOGY.md says so, or it is a product name, code or an
27
34
  abbreviation the reader uses daily. Example: the table keeps "MLRO" in English; "Head of
28
35
  Compliance" becomes 合规主管 (繁體:合規主管). Add each new non-obvious translation to TERMINOLOGY.md as
@@ -46,6 +53,8 @@ Compare the two versions section by section. They must match on:
46
53
  必須 / 不得 / 應當 / 可以), unless WRITING.md maps them otherwise; "will" never becomes "may", and
47
54
  将 / 將 never becomes 可能.
48
55
  - Uncertainty and caveats: a hedge in one version is a hedge in the other.
56
+ - Protected passages and canonical source rating/status values, unchanged; any gloss is
57
+ clearly separate and must not change their meaning or authority.
49
58
  - Recommendations, decisions, owners and next steps.
50
59
  - Structure: headings, list items, table rows and columns, links and anchors, code, field names,
51
60
  every gap marker in either form, including bare `TBD` / `待确认` / `待確認` table cells (one for
@@ -0,0 +1,163 @@
1
+ # Compliance reports
2
+
3
+ Use this reference within the `write-doc` workflow when audit findings become a report.
4
+ It replaces the retired `report-writing` skill. For a narrow edit to an existing report, use
5
+ [the edit branch](#edit-an-existing-report) before the full-report steps below.
6
+ Do not repeat the audit or silently change
7
+ its conclusions while writing. The report layouts are retained source layouts, not general
8
+ house-style template skeletons; this reference supplies their inputs, reasoning and checks.
9
+
10
+ ## Choose the report
11
+
12
+ | Report | Reader and purpose | Bundled layout |
13
+ | --- | --- | --- |
14
+ | VARS Review Report | Visa and acquirer leadership; Visa Acceptance Risk Standards engagement | [VARS](reports/vars-report-template.md) |
15
+ | Audit Report | Compliance team and internal auditors; technical findings and remediation | [Audit](reports/audit-report-template.md) |
16
+ | External Assessment | Regulators, external auditors and certification bodies; formal submission | [External](reports/external-assessment-template.md) |
17
+ | Management Report | Board, C-suite and risk committee; posture and resource decisions | [Management](reports/management-report-template.md) |
18
+
19
+ Infer the report from the stated audience or purpose. Ask once if neither is clear;
20
+ default to Audit Report for a technical requestor. A VARS engagement always uses the
21
+ VARS layout, not the board or technical alternative. VARS has externally mandated structure;
22
+ ordinary audit, external and management layouts are adaptable defaults. For those reports,
23
+ use the shared house-style selector: an explicit template, then a matching project template,
24
+ then the bundled layout. A project template replaces the bundled structure, not the evidence,
25
+ finding coverage, source ratings or review checks in this reference. Apply house style to prose.
26
+ Use a gap analysis instead for a standalone comparison of requirements and current state
27
+ that is not a report of an assessment.
28
+
29
+ ## Edit an existing report
30
+
31
+ A copy-edit that changes no finding, rating, scope, count, recommendation or mandated text
32
+ follows `write-doc`'s narrow-edit workflow. Read the existing report and applicable guidance;
33
+ verify only the passages and facts affected by the change. Do not require the complete tracker
34
+ for an unrelated spelling or formatting correction, re-audit the report, or call the edit a
35
+ new assessment or finalization. Preserve protected text and all unaffected content.
36
+
37
+ An edit that changes a substantive assessment claim requires its supporting source. A new
38
+ report, a request to reassess findings, or a request to finalize a submission uses the full
39
+ evidence and coverage checks below. If a requested change touches mandated wording, surface
40
+ that conflict before changing it; do not silently paraphrase it.
41
+
42
+ ## Inputs and evidence
43
+
44
+ Read the full findings file. For a generic assessment, retain each finding's ID, title,
45
+ category, status (Pass / Fail / Partial / N/A), severity (Critical / Major / Minor /
46
+ Observation), observations, evidence and recommendations. Normalize other input shapes
47
+ without inventing missing values. Flag missing status or severity; never turn an unknown
48
+ into Pass or a lower severity. Mark missing evidence as **Evidence Pending**, keeping
49
+ the finding visible. Missing facts follow `write-doc`'s gap rules.
50
+
51
+ Preserve original IDs. Assign `F-001`, `F-002`, and so on only when IDs are absent.
52
+ Link findings to remediation and evidence by ID. Keep source ratings, scales, findings
53
+ and input counts unchanged; house terminology applies to prose, not rating values.
54
+ If an external layout uses another status vocabulary, show its mapping to the source
55
+ values and retain the source values for reconciliation. Do not infer a new rating.
56
+
57
+ For mixed frameworks, organize by framework first, then requirement. State the actual
58
+ scope, period, assessor and framework when supplied. Root causes, financial impacts,
59
+ likelihoods, costs, owners, dates and effort estimates must come from sources or be
60
+ clearly marked proposals or gaps, never copied from layout examples.
61
+
62
+ Count the unit actually present: findings, controls and requirements are not interchangeable.
63
+ A findings-only extract cannot establish the total controls assessed, pass count or overall
64
+ compliance rate. State each percentage's numerator, denominator and treatment of N/A or
65
+ unassessed items. Use an overall rating only when the source supplies it or an authorized
66
+ rubric derives it; otherwise describe the known posture and its limits without a new grade.
67
+
68
+ ### VARS gate
69
+
70
+ VARS requires the complete per-control assessment, normally `tracker.md` from
71
+ `compliance-audit` against its VARS checklist or a parsed equivalent from `reg-parser`.
72
+ A summary, verbal findings or a partial sub-domain review is not enough. Verify the
73
+ tracker against the applicable control checklist, not merely a list of headings: all
74
+ nine sub-domains and all in-scope controls must be assessed. If the tracker is absent,
75
+ incomplete or has a sub-domain marked Not Assessed, stop and ask for the complete
76
+ tracker, or offer `compliance-audit` first. Do not draft a final report around that gap.
77
+
78
+ Use the tracker's Control Effectiveness Rating (Satisfactory / Improvement Recommended /
79
+ Unsatisfactory / N/A), not the generic finding severity, for VARS rollups. Flag missing
80
+ ratings or mandatory tracker fields and resolve them before finalizing; do not invent
81
+ generic severities for a VARS tracker that has no severity field. Record the tracker
82
+ filename and version for Section 5 and its companion *VARS Control Testing and
83
+ Remediation Tracking* Excel spreadsheet. Do not claim the Excel exists or is synchronized
84
+ without checking it.
85
+
86
+ ## Draft and review
87
+
88
+ Use `write-doc`'s outline, draft, editorial review, fix and delivery steps. Apply the
89
+ nearest WRITING.md from the findings file's directory, or for pasted input the output
90
+ directory, else the working directory, under the shared lookup rules. Never edit it.
91
+ For non-VARS reports, follow the selected template's structure. House style must not change
92
+ scope, ratings or findings. Give editorial-review both the selected layout and the checks
93
+ below, including Additional VARS checks when applicable. The table above supplies the reader
94
+ and purpose (`Use when`); these checks supply the layouts' `Done when`. Review against both,
95
+ not a generic checklist alone.
96
+
97
+ **VARS exception:** ignore WRITING.md for the VARS report. Keep Visa's headings, ordering,
98
+ canonical sub-domains and mandated boilerplate verbatim, including the Purpose,
99
+ reliance statement and recommendation-summary stem. General length limits, terminology,
100
+ translation and editorial advice must not rewrite them. Treat mandated passages as
101
+ locked even where the retained Visa layout presents them as quotations. A requested
102
+ translation is a separate companion, not a replacement Visa deliverable. Never claim
103
+ Visa conducted or approved work unless the sources establish it; stop and resolve any
104
+ conflict between mandated language and the actual assessor or scope before finalizing.
105
+
106
+ Before delivery, check the saved report against the input and selected layout:
107
+
108
+ - **Audit:** every finding has its own section, with evidence, root cause when known,
109
+ risk and remediation. Reconcile all severity and status counts to the source.
110
+ - **External:** map every finding to the actual regulatory requirement and retain
111
+ traceability to the source ID. Unknown mappings stay explicit gaps. Scope, methods,
112
+ limitations and any attestation must match the evidence and assessor authority;
113
+ never fabricate a signature or certification. Distinguish total reviewed, applicable,
114
+ N/A and unassessed items, and reconcile those populations without counting a finding
115
+ as a requirement. Include an attestation only when the authorized assessor's conclusion
116
+ is supplied. Otherwise state that no attestation is provided, without a signature stub.
117
+ - **Management:** lead with at most one page on posture, key risks and decisions.
118
+ Aggregate all categories without losing findings or changing severity counts.
119
+ Explain technical risks in business terms; quantify only supported impacts.
120
+ Without prior data, omit the progress section and note
121
+ "Baseline assessment - no prior data" in methodology.
122
+ - **All reports:** lead with overall posture when there are no critical findings.
123
+ Check all totals and percentages using their source counts and denominator. No
124
+ unresolved layout filler such as `{{...}}`, `____` or `MM/YEAR` may remain in a final
125
+ deliverable. Label unresolved material facts as draft or pending and disclose their
126
+ effect on the conclusion. Do not invent a regulator's submission acceptance criteria
127
+ or claim acceptance, rejection or readiness without the applicable requirements.
128
+
129
+ ### Additional VARS checks
130
+
131
+ - Section 3.d has an overall headline and a business-oriented, 2-3 sentence posture
132
+ for every canonical sub-domain. No operational or evidence-document detail.
133
+ - Section 4 has one row per sub-domain in canonical order, including rows without
134
+ adverse findings. Each row takes its worst control rating: Unsatisfactory before
135
+ Improvement Recommended before Satisfactory; N/A only when all controls are N/A.
136
+ No findings alone does not establish Satisfactory without the underlying ratings.
137
+ - If ATPA is in scope, consolidate all ATPA controls into one additional **Third Party
138
+ Agent** row and a corresponding Section 3.d bullet, not the AACQ rows.
139
+ - Section 4 uses an inline observed, finding, comments narrative in the report's own
140
+ words. Evidence-document, clause and sample citations stay in the tracker; lightweight
141
+ control-ID pointers are allowed. Copy Actions Required and Recommendations word for
142
+ word from the tracker's Issue Description, each item on its own line. Close a fully
143
+ Satisfactory row with `No remediation required.`
144
+ - Section 5 identifies the companion tracker. Section 6 uses sourced remediation
145
+ commitments. Use sequential rows 1-9; legacy Regulatory Risk #10 only if the Visa
146
+ engagement lead requests it.
147
+
148
+ ## Export checks
149
+
150
+ Markdown is the authored default. Use the brief's path, else WRITING.md's output folder,
151
+ else `{style}-{framework}-{YYYY-MM-DD}.md`; for VARS,
152
+ `vars-review-report-{acquirer}-{YYYY-MM-DD}.md`. Do not invent an assessment date.
153
+ When DOCX or PDF is requested, also render and inspect that output; Markdown alone is
154
+ not the requested export.
155
+
156
+ For VARS Section 4, plain pandoc conversion collapses `<br>` lines inside wide table
157
+ cells. Render each separated line as its own cell paragraph, using a DOCX renderer such
158
+ as `python-docx` or post-processing the conversion. Render labels such as
159
+ `**Actions Required:**` as real bold, not literal asterisks. Shade Compliance Status
160
+ cells green for Satisfactory, amber for Improvement Recommended, red for Unsatisfactory
161
+ and grey for N/A, and use landscape pages for the table. Inspect the rendered file
162
+ to confirm each action and recommendation remains visible on its own line. PDF has
163
+ the same line-break requirement.
@@ -1,6 +1,6 @@
1
1
  # Audit Report Template
2
2
 
3
- Use this structure for the full technical audit report (audience: compliance team).
3
+ Use this structure with [compliance reports](../compliance-reports.md) for the full technical audit report (audience: compliance team).
4
4
 
5
5
  ---
6
6
 
@@ -50,7 +50,7 @@ Repeat this block for each finding, ordered by severity (Critical → Observatio
50
50
  | **ID** | F-{NNN} |
51
51
  | **Category** | {e.g., Access Control} |
52
52
  | **Control Reference** | {e.g., CC6.1, A.9.2.3} |
53
- | **Status** | {Pass / Fail / Partial} |
53
+ | **Status** | {Source status, including Pass / Fail / Partial / N/A} |
54
54
  | **Severity** | {Critical / Major / Minor / Observation} |
55
55
 
56
56
  **Observation:**
@@ -1,6 +1,6 @@
1
1
  # External Assessment Template
2
2
 
3
- Use this structure for regulatory or external auditor submissions (audience: regulators,
3
+ Use this structure with [compliance reports](../compliance-reports.md) for regulatory or external auditor submissions (audience: regulators,
4
4
  certification bodies, external auditors).
5
5
 
6
6
  ---
@@ -65,6 +65,11 @@ AICPA Trust Services Criteria).}
65
65
 
66
66
  ## 3. Compliance Status by Requirement
67
67
 
68
+ Retain source statuses and severities, including Observation and N/A. The alternatives
69
+ below are examples, not a new rating scale. If the destination mandates different labels,
70
+ show the mapping and retain source values for reconciliation. Never replace an unknown
71
+ requirement with an invented legal citation.
72
+
68
73
  Organize by regulation article or standard control domain. Each requirement gets a
69
74
  status determination with supporting rationale.
70
75
 
@@ -77,7 +82,7 @@ status determination with supporting rationale.
77
82
  | **Requirement** | {Full text or summary of the regulatory requirement} |
78
83
  | **Regulation Reference** | {e.g., Article 32(1)(a), Regulation (EU) 2016/679} |
79
84
  | **Compliance Status** | {Compliant / Partially Compliant / Non-Compliant / Not Applicable} |
80
- | **Severity of Gap** | {Critical / Major / Minor / N/A} |
85
+ | **Severity of Gap** | {Source severity, including Critical / Major / Minor / Observation / N/A} |
81
86
 
82
87
  **Assessment Rationale:**
83
88
  {Explain the basis for the status determination. Reference specific controls observed,
@@ -105,6 +110,11 @@ Summary view mapping each requirement to its compliance status.
105
110
 
106
111
  ### Summary Statistics
107
112
 
113
+ Count requirements only when the input establishes that population; otherwise label
114
+ these as finding counts. State the denominator for percentages and whether N/A is
115
+ excluded from the applicable population. Keep unassessed items visible rather than
116
+ counting them as compliant or N/A.
117
+
108
118
  | Status | Count | Percentage |
109
119
  |---|---|---|
110
120
  | Compliant | {n} | {%} |
@@ -125,6 +135,11 @@ Summary view mapping each requirement to its compliance status.
125
135
 
126
136
  ## 6. Attestation Statement
127
137
 
138
+ Use the wording below only when the authorized assessor supplied that conclusion and
139
+ the engagement calls for attestation. Otherwise state that no attestation is provided;
140
+ do not invent credentials, a signature, an overall rating or approval. The stem is
141
+ adaptable, not locked. Reconcile source populations, including N/A and unassessed items.
142
+
128
143
  > Based on the assessment conducted during the period {Start Date} to {End Date},
129
144
  > applying the methodology described in Section 2, and having reviewed the evidence
130
145
  > documented herein, {Assessor Organization} [attests/concludes] the following:
@@ -132,15 +147,16 @@ Summary view mapping each requirement to its compliance status.
132
147
  > {Organization} has demonstrated {[full/substantial/partial]} compliance with
133
148
  > {Regulation/Standard} within the defined scope.
134
149
  >
135
- > {Number} requirements were assessed. Of these, {n} were found fully compliant,
136
- > {n} partially compliant, and {n} non-compliant.
150
+ > {Number} requirements were reviewed: {n} were assessed as fully compliant,
151
+ > {n} partially compliant, {n} non-compliant, {n} not applicable, and {n} unassessed.
152
+ > Of the {n} applicable requirements, {n} were assessed. {State the denominator for any rate.}
137
153
  >
138
154
  > The findings documented in this report represent the compliance posture as of
139
155
  > {Report Date}. This attestation does not guarantee future compliance.
140
156
  >
141
157
  > **Assessor:** {Name, Title, Qualification}
142
158
  > **Date:** {YYYY-MM-DD}
143
- > **Signature:** ____________________
159
+ > **Signature:** {Supplied authorized signature, only when provided}
144
160
 
145
161
  ---
146
162
 
@@ -1,6 +1,6 @@
1
1
  # Management Report Template
2
2
 
3
- Use this structure for leadership and board-level reporting (audience: C-suite, board,
3
+ Use this structure with [compliance reports](../compliance-reports.md) for leadership and board-level reporting (audience: C-suite, board,
4
4
  risk committee).
5
5
 
6
6
  ---
@@ -22,7 +22,12 @@ risk committee).
22
22
  {One page maximum. This section stands alone — a reader should understand the
23
23
  organization's compliance posture without reading further.}
24
24
 
25
- **Overall Compliance Posture:** {Strong / Adequate / Needs Improvement / Critical}
25
+ **Overall Compliance Posture:** {Source rating, or a narrative conclusion limited to the evidence}
26
+
27
+ Do not introduce an overall scale unless the source or an authorized rubric defines it.
28
+ A findings-only extract does not establish the full assessment posture or pass rate.
29
+ In the headline figures below, use only populations the source supplies; omit an unknown
30
+ control total or compliance percentage and explain that limit instead.
26
31
 
27
32
  **Headline Numbers:**
28
33
  - **{N}** controls assessed across **{N}** categories
@@ -1,5 +1,7 @@
1
1
  # VARS Review Report Template
2
2
 
3
+ Read [compliance reports](../compliance-reports.md) before using this layout.
4
+
3
5
  Authoritative template for **Visa Acceptance Risk Standards (VARS)** review reports
4
6
  distributed by Visa to acquirers. Mirrors Visa's official 2025 *Visa Acceptance Risk
5
7
  Standards Report Template* (Confidential, Final).
@@ -20,8 +22,9 @@ Remediation Tracking* spreadsheet, which is the same tracker in Visa's Excel for
20
22
  Before drafting:
21
23
  1. Confirm the tracker exists and covers all nine sub-domains. If any are missing or
22
24
  marked "Not Assessed", stop and raise it — do not paper over gaps in the report.
23
- 2. Confirm every control row has a status and a severity. Section 4 priorities and
24
- Section 3.d summary statements both depend on these.
25
+ 2. Confirm every control row has a Control Effectiveness Rating and the mandatory
26
+ fields required by the tracker schema. Sections 3.d and 4 use these ratings;
27
+ VARS has no generic severity-priority field. Do not invent one.
25
28
  3. Note the tracker's filename and version — it will be referenced from Section 5 and
26
29
  should accompany the report when distributed.
27
30
 
@@ -173,7 +176,7 @@ TPA controls across the AACQ sub-domains (so e.g. a TPA-agreement gap does not p
173
176
  "Written Agreement" or "Onboarding" rows down). Omit row 10 when ATPA is out of scope.
174
177
 
175
178
  **Compliance Status values:** Satisfactory / Improvement Recommended / Unsatisfactory / N/A — the tracker's Control Effectiveness Rating. A sub-domain takes the **worst** rating among its controls (any Unsatisfactory ⇒ Unsatisfactory; else any Improvement Recommended ⇒ Improvement Recommended; else Satisfactory; N/A only if every control is N/A).
176
- **Findings and Comments:** written as an **inline auditor narrative** — flowing prose (no bold sub-headings) that conveys, in order, what was **observed** (the controls and practices in place), the **finding** (the rating and any mandatory gaps), and **comments** (recommendations and scoping notes such as N/A controls). Describe the controls in the report's **own words**; do **not** cite the underlying evidence documents, clauses, attestation numbers, or specific samples — that detail lives in the tracker (Section 5), and repeating it here duplicates the tracker. Lightweight control-ID cross-references (e.g. `AACQ.C8.1`) may be included as pointers. The **Actions Required** and **Recommendations** items must be reproduced **verbatim — word for word — from the tracker's Issue Description** (only the observations narrative is in the report's own words); put each item on its own line so they stay visible. For a fully **Satisfactory** row, close with `No remediation required.` When rendering to DOCX/PDF, each `<br>`-separated line in this cell must appear on its own line — see the rendering note in `SKILL.md` (a plain pandoc table conversion collapses them).
179
+ **Findings and Comments:** written as an **inline auditor narrative** — flowing prose (no bold sub-headings) that conveys, in order, what was **observed** (the controls and practices in place), the **finding** (the rating and any mandatory gaps), and **comments** (recommendations and scoping notes such as N/A controls). Describe the controls in the report's **own words**; do **not** cite the underlying evidence documents, clauses, attestation numbers, or specific samples — that detail lives in the tracker (Section 5), and repeating it here duplicates the tracker. Lightweight control-ID cross-references (e.g. `AACQ.C8.1`) may be included as pointers. The **Actions Required** and **Recommendations** items must be reproduced **verbatim — word for word — from the tracker's Issue Description** (only the observations narrative is in the report's own words); put each item on its own line so they stay visible. For a fully **Satisfactory** row, close with `No remediation required.` When rendering to DOCX/PDF, each `<br>`-separated line in this cell must appear on its own line — see [export checks](../compliance-reports.md#export-checks) (a plain pandoc table conversion collapses them).
177
180
 
178
181
  ---
179
182
 
@@ -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.41.0
7
+ release-version: 0.42.1
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: contributing
3
3
  description: "The conventions a repo's CONTRIBUTING.md holds, starting with tracker routing: which tracker an issue belongs in (GitHub for engineering, Linear for product), duplicate search, and linking back to the source requirement. Use before creating any issue, spec, epic, ticket or sub-issue on GitHub or Linear, including inside /to-spec, /to-tickets and /triage, and whenever work that started from a Linear issue turns into engineering work. Also writes the rules as the Issue tracking section of the repo's CONTRIBUTING.md. NOT for delivering a PR (github-flow) or splitting work into slices (to-tickets)."
4
- release-version: 0.41.0
4
+ release-version: 0.42.1
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Contributing
@@ -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.41.0
4
+ release-version: 0.42.1
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.41.0
6
+ release-version: 0.42.1
7
7
  ---
8
8
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
9
9
  # Engineering Runtime
@@ -369,7 +369,7 @@
369
369
  "repository": "1aboveio/ai",
370
370
  "revision": "main"
371
371
  },
372
- "contentDigest": "b75ef5edccf81976abc81bb9e23c234b1dee250239b671d0dfed835616a80b8b",
372
+ "contentDigest": "d65c7b826e914a41cad50c3a6cc5e9d4cefc866d0bdcce59c1f9b1bb4aebb0e1",
373
373
  "digestExcludes": []
374
374
  },
375
375
  {
@@ -382,7 +382,7 @@
382
382
  "repository": "1aboveio/ai",
383
383
  "revision": "main"
384
384
  },
385
- "contentDigest": "04a9f779eb92ae3cb4ff2d53f9d4f4557a3640a8c589ea87bcf1905c9d7f118c",
385
+ "contentDigest": "b9d18cd12a60d8ff020b044f531f5639f9b6879f1b3e0a76103b7b8a0c693a57",
386
386
  "digestExcludes": []
387
387
  },
388
388
  {
@@ -395,7 +395,7 @@
395
395
  "repository": "1aboveio/ai",
396
396
  "revision": "main"
397
397
  },
398
- "contentDigest": "52580af9dbde845df15f2bc2f8425fb709a58e590dee45900bde0a610a2fb72b",
398
+ "contentDigest": "d7d4e683cf21c1e3621b556119b9e672b196ff7989e88595c96c5a78cb57109e",
399
399
  "digestExcludes": []
400
400
  },
401
401
  {
@@ -408,7 +408,7 @@
408
408
  "repository": "1aboveio/ai",
409
409
  "revision": "main"
410
410
  },
411
- "contentDigest": "6eca7432eb13afac3d52dfe89cbd97edadf62f7f0c3292e16b05130fab46922a",
411
+ "contentDigest": "4b9b0dca2444536ea9d8c7d2ee6e6db348fe147c6aae0c6fc933637337f2a968",
412
412
  "digestExcludes": []
413
413
  },
414
414
  {
@@ -421,7 +421,7 @@
421
421
  "repository": "1aboveio/ai",
422
422
  "revision": "main"
423
423
  },
424
- "contentDigest": "3e9f0fc5037e984e29a89cc9959538a16db07e2542ab746f8dfdbc2b8065928b",
424
+ "contentDigest": "9bc115fa42ebaf5b49af5a584c95f96f462fe08e2424caecb47e62c447133da4",
425
425
  "digestExcludes": []
426
426
  },
427
427
  {
@@ -434,7 +434,7 @@
434
434
  "repository": "1aboveio/ai",
435
435
  "revision": "main"
436
436
  },
437
- "contentDigest": "13a5da9a63e8dbb6f3843685c03db537c5e85364ba4bdb67229e481ce6898e98",
437
+ "contentDigest": "3daebcc2774b2966056f2bc195500238fdba0f50e21b0c1f601ab132241c2ee8",
438
438
  "digestExcludes": []
439
439
  },
440
440
  {
@@ -447,7 +447,7 @@
447
447
  "repository": "1aboveio/ai",
448
448
  "revision": "main"
449
449
  },
450
- "contentDigest": "6054351b492527244f78db5816eb07e88e70fd81c3a833f28afd63cb378d8e29",
450
+ "contentDigest": "0828c5155448dd305514ae03d729fe8b577534445942c987e4167a15761fb1ce",
451
451
  "digestExcludes": []
452
452
  },
453
453
  {
@@ -460,7 +460,7 @@
460
460
  "repository": "1aboveio/ai",
461
461
  "revision": "main"
462
462
  },
463
- "contentDigest": "d56284eb7931f7250932594d57b2849ae1f5969d953f3fd5f9fc30f5c39819e9",
463
+ "contentDigest": "385de0e4939da08010dbbee47885ef879fcee0cb4250aaf1a2ab54a07eb946a1",
464
464
  "digestExcludes": []
465
465
  },
466
466
  {
@@ -473,7 +473,7 @@
473
473
  "repository": "1aboveio/ai",
474
474
  "revision": "main"
475
475
  },
476
- "contentDigest": "db277452380c4af72500a8343010bf1c2cd448cd3d181252ebd626787a188901",
476
+ "contentDigest": "c00da90463937b7f55441099249a710595ae75442b35ae9b5d2fcb7138aaae39",
477
477
  "digestExcludes": []
478
478
  },
479
479
  {
@@ -486,7 +486,7 @@
486
486
  "repository": "1aboveio/ai",
487
487
  "revision": "main"
488
488
  },
489
- "contentDigest": "2bb60504e38ce38deba1b18b44a17376f55b1b9380312e00387b96f0a975869a",
489
+ "contentDigest": "37329daa68b188d22f6b852a15b7eaeba5a5d55d5507be71f42ee3ff27b9cbd7",
490
490
  "digestExcludes": []
491
491
  },
492
492
  {
@@ -499,7 +499,7 @@
499
499
  "repository": "1aboveio/ai",
500
500
  "revision": "main"
501
501
  },
502
- "contentDigest": "b8a5f2935b5743b3442e8666bf9b40f28696deab4b6ea4c80c5b2b70d9cc877b",
502
+ "contentDigest": "a8289f4124a0ca1aadabb9c32d800fca229f5741d96612f3d6aae2fba2dea128",
503
503
  "digestExcludes": []
504
504
  },
505
505
  {
@@ -512,13 +512,13 @@
512
512
  "repository": "1aboveio/ai",
513
513
  "revision": "main"
514
514
  },
515
- "contentDigest": "0276732bb6eab240042a5f02ad635e25d20b5342417ececf60630a65a00f3478",
515
+ "contentDigest": "c2bbe29c38e21c1944dee77032a26823b2d3deb935b64024eb5179611e6eb121",
516
516
  "digestExcludes": [
517
517
  "coherence/workflow.json"
518
518
  ]
519
519
  }
520
520
  ],
521
- "releaseIdentity": "c016c377bd5c173ed2ac951dcc68beb3ad0fd9ba4a64adb5466c0c7ae290c3df",
521
+ "releaseIdentity": "321b0da7bd6d9c65417863048fdef2183a0aa2b87a569c12ceaab0b09fcac600",
522
522
  "lifecycleAuthority": "native-skills-cli",
523
523
  "repairRecipe": {
524
524
  "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.41.0
5
+ release-version: 0.42.1
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.41.0
6
+ release-version: 0.42.1
7
7
  ---
8
8
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
9
9
  # Golden path