@olegkoval/agent-skills 1.42.2 → 1.42.3

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.
@@ -9,6 +9,27 @@ Axes to cover:
9
9
  ✅ met / ⚠️ partial / ❌ missing. Scope creep is also worth flagging.
10
10
  AC_LIST: read key "acList" from CONTEXT_FILE.
11
11
  Return the complete status summary in the structured `acCoverage` field.
12
+ Decide each AC against the code that RUNS, not against the diff. When
13
+ WORKTREE_PATH is null, mark runtime verification as unavailable: do not inspect
14
+ worktree files or infer an AC status from runtime evidence you cannot verify.
15
+ Otherwise, use the worktree to follow the AC through its runtime path into
16
+ files the diff never touched, and specifically:
17
+ (a) Find what invokes the new code and on what trigger. New code that nothing
18
+ calls satisfies nothing, however correct its body is.
19
+ (b) For an AC with a timing, cadence or SLA component, name the trigger's
20
+ measurable frequency, such as its cron expression or poll interval, and
21
+ compare that number against the AC. For a webhook, compare a documented
22
+ delivery bound against the AC; without one, mark cadence verification as
23
+ unavailable rather than treating the webhook as a fixed-frequency trigger.
24
+ A reaper on a daily cron cannot meet a two-hour SLA.
25
+ (c) For an AC about a failure mode (crash, OOM, timeout, network loss), confirm
26
+ the handling is reachable under that failure. A process terminated by an
27
+ uncatchable signal such as SIGKILL cannot reach a `finally` block, shutdown
28
+ hook, or the tail of a long-running function; SIGTERM may allow graceful
29
+ handling. Verify the actual failure signal and its handling before concluding
30
+ that cleanup is unreachable.
31
+ An AC can fail with every added line correct, because the defect is what the
32
+ diff left alone. That is a finding, not an absence of one.
12
33
  - Scalability: N+1 queries, missing pagination, unbounded in-memory
13
34
  collections, missing rate-limit handling, cron jobs without overlap guard,
14
35
  missing DB indexes for new query patterns.
@@ -37,7 +58,10 @@ Diff: read the full unified PR diff from the file DIFF_FILE (absolute path given
37
58
  Worktree: WORKTREE_PATH is given in your task message (null in scan mode, diff only).
38
59
 
39
60
  Rules:
40
- - Every finding must trace to a + line in the diff.
61
+ - Every finding must trace to a + line in the diff, with one exception: an unmet
62
+ AC whose defect lives in code the diff did not touch. Anchor that one to the
63
+ unchanged file:line that had to change, and say in the description why the
64
+ unchanged line is the defect.
41
65
  - Report file:line: description. No positive observations.
42
66
  - `badCode` is REQUIRED: the verbatim offending line(s) copied from the diff:
43
67
  never paraphrased, never reconstructed from memory.
@@ -49,6 +73,7 @@ Rules:
49
73
  on a `critical`/`important` finding: a finding you cannot quote and cannot
50
74
  fix is a finding you have not proven, so drop it instead.
51
75
  - Exception for a missing/partial AC: the defect is what is absent, so quote
52
- the closest incomplete added line(s) in `badCode` (the handler that stops
53
- short, the branch never written) and put what must be added in `fix`. Do not
54
- drop an unmet AC for lack of a quotable line.
76
+ the closest incomplete line(s) in `badCode` (the handler that stops short, the
77
+ branch never written, the caller on the wrong trigger) and put what must be
78
+ added in `fix`. That line may be an unchanged one. Do not drop an unmet AC for
79
+ lack of a quotable added line.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@olegkoval/agent-skills",
3
- "version": "1.42.2",
3
+ "version": "1.42.3",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-apple-kit",
3
3
  "description": "Build and ship Apple platform apps: macOS menubar apps, App Store submissions.",
4
- "version": "1.42.2",
4
+ "version": "1.42.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-creative",
3
3
  "description": "Creative and personal projects: photo galleries, music players, listings, wiki editing.",
4
- "version": "1.42.2",
4
+ "version": "1.42.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-garmin-kit",
3
3
  "description": "Build, test and publish Garmin Connect IQ watch faces.",
4
- "version": "1.42.2",
4
+ "version": "1.42.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-git-tools",
3
3
  "description": "Everyday git and GitHub CLI operations: conventional commits, branch hygiene.",
4
- "version": "1.42.2",
4
+ "version": "1.42.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-github-pr",
3
3
  "description": "Drive GitHub pull requests to merge-ready: review-bot loops, CI fixes, descriptions, dependency triage.",
4
- "version": "1.42.2",
4
+ "version": "1.42.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -9,6 +9,27 @@ Axes to cover:
9
9
  ✅ met / ⚠️ partial / ❌ missing. Scope creep is also worth flagging.
10
10
  AC_LIST: read key "acList" from CONTEXT_FILE.
11
11
  Return the complete status summary in the structured `acCoverage` field.
12
+ Decide each AC against the code that RUNS, not against the diff. When
13
+ WORKTREE_PATH is null, mark runtime verification as unavailable: do not inspect
14
+ worktree files or infer an AC status from runtime evidence you cannot verify.
15
+ Otherwise, use the worktree to follow the AC through its runtime path into
16
+ files the diff never touched, and specifically:
17
+ (a) Find what invokes the new code and on what trigger. New code that nothing
18
+ calls satisfies nothing, however correct its body is.
19
+ (b) For an AC with a timing, cadence or SLA component, name the trigger's
20
+ measurable frequency, such as its cron expression or poll interval, and
21
+ compare that number against the AC. For a webhook, compare a documented
22
+ delivery bound against the AC; without one, mark cadence verification as
23
+ unavailable rather than treating the webhook as a fixed-frequency trigger.
24
+ A reaper on a daily cron cannot meet a two-hour SLA.
25
+ (c) For an AC about a failure mode (crash, OOM, timeout, network loss), confirm
26
+ the handling is reachable under that failure. A process terminated by an
27
+ uncatchable signal such as SIGKILL cannot reach a `finally` block, shutdown
28
+ hook, or the tail of a long-running function; SIGTERM may allow graceful
29
+ handling. Verify the actual failure signal and its handling before concluding
30
+ that cleanup is unreachable.
31
+ An AC can fail with every added line correct, because the defect is what the
32
+ diff left alone. That is a finding, not an absence of one.
12
33
  - Scalability: N+1 queries, missing pagination, unbounded in-memory
13
34
  collections, missing rate-limit handling, cron jobs without overlap guard,
14
35
  missing DB indexes for new query patterns.
@@ -37,7 +58,10 @@ Diff: read the full unified PR diff from the file DIFF_FILE (absolute path given
37
58
  Worktree: WORKTREE_PATH is given in your task message (null in scan mode, diff only).
38
59
 
39
60
  Rules:
40
- - Every finding must trace to a + line in the diff.
61
+ - Every finding must trace to a + line in the diff, with one exception: an unmet
62
+ AC whose defect lives in code the diff did not touch. Anchor that one to the
63
+ unchanged file:line that had to change, and say in the description why the
64
+ unchanged line is the defect.
41
65
  - Report file:line: description. No positive observations.
42
66
  - `badCode` is REQUIRED: the verbatim offending line(s) copied from the diff:
43
67
  never paraphrased, never reconstructed from memory.
@@ -49,6 +73,7 @@ Rules:
49
73
  on a `critical`/`important` finding: a finding you cannot quote and cannot
50
74
  fix is a finding you have not proven, so drop it instead.
51
75
  - Exception for a missing/partial AC: the defect is what is absent, so quote
52
- the closest incomplete added line(s) in `badCode` (the handler that stops
53
- short, the branch never written) and put what must be added in `fix`. Do not
54
- drop an unmet AC for lack of a quotable line.
76
+ the closest incomplete line(s) in `badCode` (the handler that stops short, the
77
+ branch never written, the caller on the wrong trigger) and put what must be
78
+ added in `fix`. That line may be an unchanged one. Do not drop an unmet AC for
79
+ lack of a quotable added line.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-obsidian",
3
3
  "description": "Keep an Obsidian vault in sync with work: PR sync, task rollover, morning routine.",
4
- "version": "1.42.2",
4
+ "version": "1.42.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-product",
3
3
  "description": "Take a product idea to a shippable build: MVP passes, full-stack scaffolds, launch plans.",
4
- "version": "1.42.2",
4
+ "version": "1.42.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-reflection",
3
3
  "description": "Look back and improve: self-critique, retrospectives, performance review, rapid learning.",
4
- "version": "1.42.2",
4
+ "version": "1.42.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-release",
3
3
  "description": "Ship a release: semantic-release setup, changelogs, store listing copy, release-day routine.",
4
- "version": "1.42.2",
4
+ "version": "1.42.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-skill-meta",
3
3
  "description": "Author and maintain agent skills and the AI toolchain itself.",
4
- "version": "1.42.2",
4
+ "version": "1.42.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-web-ops",
3
3
  "description": "Operate a website: WAF rules, search console audits, analytics bootstrap, docs indexes.",
4
- "version": "1.42.2",
4
+ "version": "1.42.3",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },