@laitszkin/apollo-toolkit 2.0.0 → 2.1.0

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/AGENTS.md CHANGED
@@ -40,6 +40,7 @@ This repository enables users to install and run a curated set of reusable agent
40
40
  - Users can review the current git change set from an unbiased reviewer perspective to find abstraction opportunities and simplification candidates.
41
41
  - Users can process GitHub pull request review comments and resolve addressed threads.
42
42
  - Users can perform repository-wide code reviews and publish confirmed findings as GitHub issues.
43
+ - Users can schedule a bounded project runtime window, stop it automatically, and analyze module health from captured logs.
43
44
  - Users can add focused observability to opaque workflows through targeted logs, metrics, traces, and tests.
44
45
  - Users can debug software systematically by reproducing causes, validating fixes, and testing outcomes.
45
46
  - Users can generate 30-60 second short videos directly from text prompts.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,25 @@ All notable changes to this repository are documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [v2.1.0] - 2026-03-18
8
+
9
+ ### Added
10
+ - Add `scheduled-runtime-health-check` for bounded project runtime scheduling, automatic shutdown, and delegated log-based module health analysis.
11
+
12
+ ### Changed
13
+ - Align `commit-and-push` and `version-release` workflow guidance, prompts, and supporting docs with the current review and documentation-sync requirements.
14
+ - Tighten release and commit planning-artifact detection to exclude template/reference specs, and require `scheduled-runtime-health-check` to fail closed when future scheduling is unavailable.
15
+
16
+ ## [v2.0.2] - 2026-03-17
17
+
18
+ ### Changed
19
+ - Update the npm Trusted Publishing workflow to use newer GitHub Actions and Node 24, and simplify publish invocation to `npm publish --access public`.
20
+
21
+ ## [v2.0.1] - 2026-03-17
22
+
23
+ ### Fixed
24
+ - Align `specs-to-project-docs`, `commit-and-push`, and `version-release` references with the current `docs/*` documentation layout.
25
+
7
26
  ## [v2.0.0] - 2026-03-17
8
27
 
9
28
  ### Added
package/README.md CHANGED
@@ -31,6 +31,7 @@ A curated skill catalog for Codex, OpenClaw, and Trae with a managed installer t
31
31
  - resolve-review-comments
32
32
  - review-change-set
33
33
  - review-codebases
34
+ - scheduled-runtime-health-check
34
35
  - specs-to-project-docs
35
36
  - systematic-debug
36
37
  - text-to-short-video
@@ -7,9 +7,9 @@ A Codex skill for commit-and-push workflows without release/version operations.
7
7
  `commit-and-push` helps agents safely submit local changes by:
8
8
 
9
9
  1. Inspecting git status and staged state.
10
- 2. Running `specs-to-project-docs` when the current change set contains new completed spec files.
10
+ 2. Running `specs-to-project-docs` when the repository contains spec files or existing project docs need normalization.
11
11
  3. Running `align-project-documents` and `maintain-project-constraints` before commit.
12
- 4. Running additional dependency skills for code-affecting diffs.
12
+ 4. Running additional dependency skills for code-affecting diffs through isolated parallel review subagents when available.
13
13
  5. Committing with a concise Conventional Commit message.
14
14
  6. Pushing to the current branch.
15
15
 
@@ -21,6 +21,6 @@ Use this skill when the user asks to commit/push/submit changes and does **not**
21
21
  - tagging
22
22
  - release changelog workflows
23
23
 
24
- If the current diff includes new completed specs, convert them into categorized project docs first and let `specs-to-project-docs` remove or archive the superseded spec files.
24
+ If the repository contains spec files, or if existing project docs still use a non-standard layout, normalize them into the categorized `specs-to-project-docs` structure first and let that skill remove or archive superseded spec files when appropriate.
25
25
 
26
26
  For release workflows, use `version-release`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: commit-and-push
3
- description: "Guide the agent to submit local changes with commit and push only (no versioning). Use when users ask to commit, submit, or push changes without requesting tag/version/release operations. If the current change set includes new completed spec files, run `specs-to-project-docs` before the final commit so project docs are standardized into categorized files and the old specs are removed or archived."
3
+ description: "Guide the agent to submit local changes with commit and push only (no versioning). Use when users ask to commit, submit, or push changes without requesting tag/version/release operations. If the repository contains active planning artifacts or existing project docs do not match the `specs-to-project-docs` structure, run `specs-to-project-docs` before the final commit so project docs are standardized into categorized files and the old specs are removed or archived when appropriate."
4
4
  ---
5
5
 
6
6
  # Commit and Push
@@ -8,15 +8,15 @@ description: "Guide the agent to submit local changes with commit and push only
8
8
  ## Dependencies
9
9
 
10
10
  - Required: `align-project-documents` and `maintain-project-constraints` before the final commit.
11
- - Conditional: `review-change-set`, `discover-edge-cases`, and `harden-app-security` for code-affecting changes; `specs-to-project-docs` when the current change set includes new completed spec files.
11
+ - Conditional: `review-change-set`, `discover-edge-cases`, and `harden-app-security` for code-affecting changes; `specs-to-project-docs` when the repository contains active planning artifacts or existing project docs need normalization into the standard categorized structure.
12
12
  - Optional: none.
13
13
  - Fallback: If any required dependency is unavailable, or if `specs-to-project-docs` is required for spec conversion but unavailable, stop and report the missing dependency.
14
14
 
15
15
  ## Standards
16
16
 
17
17
  - Evidence: Inspect git state and classify the change set before deciding which quality gates apply.
18
- - Execution: Run the dependency skills in order, standardize project docs into categorized outputs when new specs are present, preserve staging intent, then commit and push without release steps.
19
- - Quality: Re-run relevant validation for runtime changes and keep project docs plus agent constraints synchronized before committing.
18
+ - Execution: Run code-review dependency skills as independent parallel subagents when applicable, keep their contexts isolated to reduce review bias, standardize project docs into categorized outputs whenever specs or doc-structure mismatches are present, preserve staging intent, then commit and push without release steps.
19
+ - Quality: Re-run relevant validation for runtime changes and keep project docs plus agent constraints synchronized before committing; treat `specs-to-project-docs` outputs as the canonical project-doc structure when normalization is required.
20
20
  - Output: Produce a concise Conventional Commit and push it to the current branch only.
21
21
 
22
22
  ## Overview
@@ -35,18 +35,19 @@ Load only when needed:
35
35
  1. Inspect current state
36
36
  - Run `git status -sb`, `git diff --stat`, and `git diff --cached --stat`.
37
37
  - Check staged files with `git diff --cached --name-only`.
38
+ - Inventory repository planning artifacts and project docs, not only staged files, to detect repo specs and non-standard documentation layouts.
38
39
  2. Classify changes
39
40
  - `code-affecting`: runtime code, tests, build scripts, CI logic, or behavior-changing config.
40
41
  - `docs-only`: content updates only (for example README, docs, comments).
41
- - `new-specs-present`: the current change set adds or updates completed planning files such as `spec.md`, `tasks.md`, `checklist.md`, or their containing plan directories.
42
+ - `repo-specs-present`: the repository contains active project planning artifacts such as `spec.md`, `tasks.md`, `checklist.md`, or plan directories that represent unfinished or recently completed work; exclude reference examples, templates, and archived samples that are not live project plans.
43
+ - `project-doc-structure-mismatch`: existing `README.md` and project docs do not match the categorized structure required by `specs-to-project-docs`.
42
44
  3. Run code-affecting dependency skills (when applicable)
43
- - Execute `review-change-set` first to challenge architecture and simplification assumptions.
44
- - Execute `discover-edge-cases` next to surface unresolved edge-case risks.
45
- - Resolve any confirmed findings.
46
- - Ensure `harden-app-security` has been executed for the same code-affecting scope as an adversarial quality gate.
45
+ - Launch `review-change-set`, `discover-edge-cases`, and `harden-app-security` as parallel review subagents for the same code-affecting scope when delegation is available.
46
+ - Keep each review subagent in an isolated context window; do not reuse the implementation thread as the reviewer context.
47
+ - Treat every reviewer as independent and unbiased, then consolidate and resolve all confirmed findings before continuing.
47
48
  - Re-run relevant tests when runtime logic changes.
48
- 4. Standardize project docs when new specs are present
49
- - Execute `specs-to-project-docs` when `new-specs-present` is true and the related implementation scope is already complete enough for documentation consolidation.
49
+ 4. Standardize project docs when specs or doc normalization is needed
50
+ - Execute `specs-to-project-docs` when `repo-specs-present` or `project-doc-structure-mismatch` is true and the related implementation scope is already complete enough for documentation consolidation.
50
51
  - Let `specs-to-project-docs` convert the relevant specs into categorized project docs such as `docs/README.md`, `docs/getting-started.md`, `docs/configuration.md`, `docs/architecture.md`, `docs/features.md`, and `docs/developer-guide.md`.
51
52
  - Let the skill normalize any existing project docs to the same structure and remove or archive superseded source spec files.
52
53
  - If the specs still represent active unfinished work, do not convert them yet; report that the spec files remain active and should not be deleted.
@@ -54,7 +55,7 @@ Load only when needed:
54
55
  - Execute `align-project-documents` after spec conversion and code/doc scans are complete.
55
56
  - Execute `maintain-project-constraints` immediately before the commit.
56
57
  6. Keep docs synchronized when needed
57
- - Apply the output from `specs-to-project-docs` when new specs were converted into categorized project docs.
58
+ - Apply the output from `specs-to-project-docs` when repository specs were converted or existing project docs were normalized into categorized project docs.
58
59
  - Apply the output from `align-project-documents` when behavior or usage changed.
59
60
  - Apply the output from `maintain-project-constraints` when agent workflow/rules changed.
60
61
  7. Commit
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Commit and Push"
3
3
  short_description: "Submit local changes with commit and push only"
4
- default_prompt: "Use $commit-and-push to inspect the current git state, classify the diff, run required dependency skills ($align-project-documents and $maintain-project-constraints, plus $review-change-set, $discover-edge-cases, and $harden-app-security as quality gates for code-affecting changes), run $specs-to-project-docs when the current change set includes new completed spec files so project docs are standardized into categorized files and old specs are removed or archived, then create a concise Conventional Commit and push to the current branch without any versioning or release steps."
4
+ default_prompt: "Use $commit-and-push to inspect the current git state, classify the diff, run required dependency skills ($align-project-documents and $maintain-project-constraints, plus $review-change-set, $discover-edge-cases, and $harden-app-security as isolated parallel review subagents for code-affecting changes when available), run $specs-to-project-docs when the repository contains spec files or existing project docs need normalization so project docs are standardized into categorized files and old specs are removed or archived when appropriate, then create a concise Conventional Commit and push to the current branch without any versioning or release steps."
@@ -1,27 +1,27 @@
1
1
  ---
2
2
  name: fix-github-issues
3
- description: Resolve issues from remote GitHub repositories via GitHub CLI (`gh`), implement and validate fixes locally, then open a pull request through `open-source-pr-workflow` (or `open-pr-workflow` in environments that use that alias). Use when users ask to list remote issues, pick one or more issues to fix, and submit a PR linked to those issues.
3
+ description: Resolve issues from remote GitHub repositories via GitHub CLI (`gh`), implement and validate fixes locally, then either open a pull request through `open-source-pr-workflow` (or `open-pr-workflow` in environments that use that alias) or hand off to `commit-and-push` when the user explicitly wants a direct push. Use when users ask to list remote issues, pick one or more issues to fix, and deliver the result through a linked PR or an explicit direct-push workflow.
4
4
  ---
5
5
 
6
6
  # Fix GitHub Issues
7
7
 
8
8
  ## Dependencies
9
9
 
10
- - Required: `systematic-debug` for diagnosis and validated fixes, plus `open-source-pr-workflow` (or `open-pr-workflow`) for PR submission.
11
- - Conditional: none.
10
+ - Required: `systematic-debug` for diagnosis and validated fixes.
11
+ - Conditional: `open-source-pr-workflow` (or `open-pr-workflow`) when the user wants a PR; `commit-and-push` when the user explicitly wants a direct commit/push flow.
12
12
  - Optional: none.
13
- - Fallback: If a required workflow dependency is unavailable, stop and report the blocked handoff instead of improvising a different flow.
13
+ - Fallback: If the required handoff for the user's requested delivery mode is unavailable, stop and report the blocked dependency instead of improvising another release path.
14
14
 
15
15
  ## Standards
16
16
 
17
17
  - Evidence: Verify repository context, fetch remote issue details, and derive expected behavior from issue text before coding.
18
- - Execution: Select the issue, open an isolated worktree by default, fix it through `systematic-debug`, validate locally, then hand off to the PR workflow.
19
- - Quality: Keep scope limited to the selected issue, capture exact validation commands, and preserve issue linkage in the final PR.
20
- - Output: Open the PR against the correct repository and clean up the temporary worktree when the work is complete.
18
+ - Execution: Select the issue, open an isolated worktree by default, fix it through `systematic-debug`, validate locally, then hand off to the delivery workflow that matches the user's request.
19
+ - Quality: Keep scope limited to the selected issue, capture exact validation commands, and preserve issue linkage in the final PR or commit message.
20
+ - Output: Finish with either a linked PR or a direct pushed commit, then clean up the temporary worktree when the work is complete.
21
21
 
22
22
  ## Overview
23
23
 
24
- Use this skill to run an end-to-end issue-fixing loop with `gh`: discover open issues, select a target, implement and test the fix, and delegate PR creation to `open-source-pr-workflow` (or `open-pr-workflow` alias).
24
+ Use this skill to run an end-to-end issue-fixing loop with `gh`: discover open issues, select a target, implement and test the fix, then hand off either to `open-source-pr-workflow` for PR submission or to `commit-and-push` when the user explicitly wants a direct push.
25
25
 
26
26
  ## Prerequisites
27
27
 
@@ -77,16 +77,21 @@ python3 scripts/list_issues.py --limit 50 --state open
77
77
 
78
78
  ### 7) Open PR via dependency skill
79
79
 
80
- - After code is ready, invoke `open-source-pr-workflow` (or `open-pr-workflow` if that alias exists in the environment).
81
- - Provide required PR context:
80
+ - If the user explicitly asks to commit and push directly, invoke `commit-and-push` instead of opening a PR.
81
+ - In direct-push mode:
82
+ - keep the issue number in the commit message or final summary when appropriate
83
+ - state the exact target branch the user requested
84
+ - push only after validation is complete
85
+ - Otherwise invoke `open-source-pr-workflow` (or `open-pr-workflow` if that alias exists in the environment).
86
+ - In PR mode, provide:
82
87
  - issue number or link
83
88
  - motivation and engineering decisions
84
89
  - executed test commands and results
85
- - Include issue-closing reference (for example, `Closes #<issue-number>`).
90
+ - Include issue-closing reference (for example, `Closes #<issue-number>`) whenever a PR is opened.
86
91
 
87
92
  ### 8) Clean up the temporary worktree after PR creation
88
93
 
89
- - Once the PR is opened and no more work is needed in that isolated tree, remove the worktree you created for the fix.
94
+ - Once the PR is opened or the direct push is complete and no more work is needed in that isolated tree, remove the worktree you created for the fix.
90
95
  - Also clean up the matching local branch reference if it is no longer needed locally.
91
96
 
92
97
  ## Included Script
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Fix GitHub Issues"
3
- short_description: "Resolve remote GitHub issues and open linked PRs"
4
- default_prompt: "Use $fix-github-issues to verify the target GitHub repository with gh, list and inspect remote issues, create an isolated worktree and compliant branch after issue selection, use $systematic-debug to reproduce and fix the issue with tests, validate the result, open a linked PR through $open-source-pr-workflow, then delete the temporary worktree when PR setup is complete."
3
+ short_description: "Resolve remote GitHub issues, then open a PR or push directly"
4
+ default_prompt: "Use $fix-github-issues to verify the target GitHub repository with gh, list and inspect remote issues, create an isolated worktree and compliant branch after issue selection, use $systematic-debug to reproduce and fix the issue with tests, validate the result, then either hand off to $open-source-pr-workflow for a linked PR or to $commit-and-push when the user explicitly wants a direct push, and finally delete the temporary worktree."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laitszkin/apollo-toolkit",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Apollo Toolkit npm installer for managed skill linking across Codex, OpenClaw, and Trae.",
5
5
  "license": "MIT",
6
6
  "author": "LaiTszKin",
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 LaiTszKin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,96 @@
1
+ # Scheduled Runtime Health Check
2
+
3
+ An agent skill for scheduled, bounded project runs with post-run health analysis.
4
+
5
+ This skill helps agents start a project at a chosen time, keep it alive for a fixed observation window, stop it automatically, collect the relevant logs, and summarize module health with evidence-backed findings from `analyse-app-logs`.
6
+
7
+ ## What this skill provides
8
+
9
+ - A workflow for one-off or recurring runtime health checks.
10
+ - Clear separation between scheduling, runtime observation, shutdown, and diagnosis.
11
+ - A bounded log window so startup, steady-state, and shutdown evidence stay correlated.
12
+ - Module-level health classification: `healthy`, `degraded`, `failed`, or `unknown`.
13
+ - Escalation to `improve-observability` when existing telemetry is insufficient.
14
+
15
+ ## Repository structure
16
+
17
+ - `SKILL.md`: Main skill definition, workflow, and output format.
18
+ - `agents/openai.yaml`: Agent interface metadata and default prompt.
19
+ - Dependency skill: `analyse-app-logs` for evidence-backed post-run diagnosis.
20
+
21
+ ## Installation
22
+
23
+ 1. Clone this repository.
24
+ 2. Copy this folder to your Codex skills directory:
25
+
26
+ ```bash
27
+ mkdir -p "$CODEX_HOME/skills"
28
+ cp -R scheduled-runtime-health-check "$CODEX_HOME/skills/scheduled-runtime-health-check"
29
+ ```
30
+
31
+ ## Usage
32
+
33
+ Invoke the skill in your prompt:
34
+
35
+ ```text
36
+ Use $scheduled-runtime-health-check to start this project at 22:00, keep it running for 6 hours, stop it automatically, and analyze whether the API, worker, and scheduler modules stayed healthy.
37
+ ```
38
+
39
+ Best results come from including:
40
+
41
+ - workspace path
42
+ - start command
43
+ - stop command or acceptable shutdown method
44
+ - schedule and timezone
45
+ - duration
46
+ - readiness signal
47
+ - relevant log files
48
+ - modules or subsystems to assess
49
+
50
+ If no trustworthy start command is documented, the agent should derive it from the repository or ask only for that missing command.
51
+ If the user requests a future start time and no reliable scheduler is available, the agent should report that limitation instead of starting the run early.
52
+
53
+ ## Example
54
+
55
+ ### Input prompt
56
+
57
+ ```text
58
+ Use $scheduled-runtime-health-check for this repository.
59
+
60
+ Workspace: /workspace/my-app
61
+ Start command: docker compose up app worker
62
+ Stop command: docker compose down
63
+ Schedule: 2026-03-18 22:00 Asia/Hong_Kong
64
+ Duration: 6 hours
65
+ Readiness signal: GET http://127.0.0.1:3000/health returns 200
66
+ Logs: docker compose logs, logs/app.log, logs/worker.log
67
+ Modules to assess: api, worker, scheduler
68
+ ```
69
+
70
+ ### Expected response shape
71
+
72
+ ```text
73
+ 1) Run summary
74
+ - Started at 2026-03-18 22:00 HKT and stopped at 2026-03-19 04:00 HKT after a 6-hour bounded run.
75
+
76
+ 2) Module health
77
+ - api: healthy, served readiness checks and no error bursts were observed.
78
+ - worker: degraded, repeated timeout warnings increased after 01:20 HKT.
79
+ - scheduler: unknown, no positive execution signal was emitted during the window.
80
+
81
+ 3) Confirmed issues
82
+ - Reuse evidence-backed findings from $analyse-app-logs.
83
+
84
+ 4) Potential issues and validation needed
85
+ - Scheduler may not be firing jobs; add a per-job execution log or metric to confirm.
86
+
87
+ 5) Observability gaps
88
+ - Missing correlation IDs between api requests and worker jobs.
89
+
90
+ 6) Automation or scheduler status
91
+ - One bounded scheduled run completed and no further cleanup is required.
92
+ ```
93
+
94
+ ## License
95
+
96
+ MIT. See `LICENSE`.
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: scheduled-runtime-health-check
3
+ description: Coordinate a scheduled, bounded project run that starts automatically, stays up for a fixed observation window, stops cleanly, and delegates log-based health analysis to analyse-app-logs. Use when users want timed project startups, post-run health checks across modules, and a report of confirmed issues and potential risks.
4
+ ---
5
+
6
+ # Scheduled Runtime Health Check
7
+
8
+ ## Dependencies
9
+
10
+ - Required: `analyse-app-logs` for bounded post-run log analysis.
11
+ - Conditional: `improve-observability` when current logs cannot prove module health or root cause.
12
+ - Optional: `open-github-issue` indirectly through `analyse-app-logs` when confirmed issues should be published.
13
+ - Fallback: If no scheduler or automation capability is available for the requested future start time, stop and report that scheduling could not be created; only run immediately when the user explicitly allows an immediate bounded observation instead of a timed start.
14
+
15
+ ## Standards
16
+
17
+ - Evidence: Anchor every conclusion to the scheduled window, startup/shutdown timestamps, captured logs, and concrete module signals.
18
+ - Execution: Collect the run contract, choose a scheduling mechanism, capture logs, run for a bounded window, stop cleanly, then delegate the review to `analyse-app-logs`.
19
+ - Quality: Keep scheduling and shutdown deterministic, separate confirmed findings from hypotheses, and mark each module healthy/degraded/failed/unknown with reasons.
20
+ - Output: Return the run configuration, module health by area, confirmed issues, potential issues, observability gaps, and automation or scheduler status.
21
+
22
+ ## Overview
23
+
24
+ Use this skill when the user wants an agent to:
25
+
26
+ - start a project at a specific time
27
+ - keep it running for a fixed window such as 6 hours
28
+ - stop it automatically at the end of that window
29
+ - collect logs from startup through shutdown
30
+ - assess whether key modules behaved normally
31
+ - identify confirmed problems and potential risks from the observed run
32
+
33
+ This skill is an orchestration layer. It owns the schedule, bounded runtime, log capture, and module-level health summary. It delegates deep log diagnosis to `analyse-app-logs`.
34
+
35
+ ## Core principles
36
+
37
+ - Prefer one bounded observation window over open-ended monitoring.
38
+ - Treat startup, steady-state, and shutdown as part of the same investigation.
39
+ - Do not call a module healthy unless there is at least one positive signal for it.
40
+ - Separate scheduler failures, boot failures, runtime failures, and shutdown failures.
41
+ - If logs cannot support a health judgment, mark the module as `unknown` instead of guessing.
42
+
43
+ ## Required workflow
44
+
45
+ 1. Define the run contract
46
+ - Confirm or derive the workspace, start command, stop method, schedule, duration, readiness signal, log locations, and modules to assess.
47
+ - Derive commands from trustworthy sources first: `package.json`, `Makefile`, `docker-compose.yml`, `Procfile`, scripts, or project docs.
48
+ - If no trustworthy start command or stop method can be found, stop and ask only for the missing command rather than guessing.
49
+ 2. Choose the scheduling mechanism
50
+ - Prefer the host's native automation or scheduled-task system when available.
51
+ - Prefer a single scheduled execution that performs start -> observe -> stop -> analyze so the log window is exact.
52
+ - If the platform cannot hold a long-running scheduled task, use paired start/stop jobs and record both task identifiers.
53
+ - If the user requested a future start time and no reliable scheduler is available, fail closed and report the scheduling limitation instead of starting early.
54
+ 3. Prepare bounded log capture
55
+ - Create a dedicated run folder for the window and record absolute start time, intended end time, timezone, cwd, command, and PID or job identifier.
56
+ - Capture stdout and stderr for the started process, plus any existing app log files that matter for diagnosis.
57
+ - Keep startup, runtime, and shutdown evidence in the same run record.
58
+ 4. Start and verify readiness
59
+ - Launch the project at the scheduled time.
60
+ - Wait for a concrete readiness signal such as a health endpoint, listening-port log, worker boot line, or queue-consumer ready message.
61
+ - If readiness never arrives, stop the run, preserve logs, and analyze the failed startup window.
62
+ 5. Observe during the bounded window
63
+ - Track crashes, restarts, retry storms, timeout bursts, stuck jobs, resource pressure, and repeated warnings.
64
+ - For each requested module or subsystem, gather at least one positive signal and any degradation signal in the same window.
65
+ - If the user did not list modules explicitly, infer the major runtime modules from the repository structure and runtime processes.
66
+ 6. Stop cleanly at the end of the window
67
+ - Use the project's normal shutdown path first.
68
+ - If graceful stop fails, escalate deterministically and record the exact stop sequence and timestamps.
69
+ - Treat abnormal shutdown behavior as a health signal, not just an operational detail.
70
+ 7. Delegate bounded log analysis
71
+ - Invoke `analyse-app-logs` on only the captured runtime window.
72
+ - Pass the service or module names, environment, timezone, run folder, relevant log files, and the exact start/end boundaries.
73
+ - Reuse its confirmed issues, hypotheses, and monitoring improvements instead of rewriting a separate incident workflow.
74
+ 8. Produce the runtime health report
75
+ - Summarize the schedule that was executed, whether readiness succeeded, how long the project stayed healthy, and how shutdown behaved.
76
+ - Classify each module as `healthy`, `degraded`, `failed`, or `unknown` with concrete evidence.
77
+ - Separate already observed issues from potential risks that need more telemetry or a longer run to confirm.
78
+
79
+ ## Scheduling rules
80
+
81
+ - Use the user's locale timezone when configuring scheduled tasks.
82
+ - Name scheduled jobs clearly so the user can recognize start, stop, and analysis ownership.
83
+ - Prefer recurring schedules only when the user explicitly wants repeated health checks; otherwise create a one-off bounded run.
84
+ - If the host provides agent automations, use them before inventing project-local scheduling files.
85
+ - If native automation is unavailable, prefer the smallest reliable OS-level scheduling method already present on the machine.
86
+ - If the request depends on a future start time and no reliable scheduling method exists, do not silently convert the request into an immediate run.
87
+
88
+ ## Health classification rubric
89
+
90
+ - `healthy`: positive startup signal, expected runtime behavior, and no material degradation in the chosen window.
91
+ - `degraded`: module stays up but shows retries, warnings, latency spikes, partial failures, or other recurring stress signals.
92
+ - `failed`: boot failure, repeated crash, readiness failure, fatal error loop, or inability to perform its core responsibility.
93
+ - `unknown`: logs or probes do not provide enough evidence to justify a health call.
94
+
95
+ Absence of errors alone is not enough for `healthy`.
96
+
97
+ ## Output format
98
+
99
+ Use this structure in responses:
100
+
101
+ 1. Run summary
102
+ - Workspace, schedule, actual start/end timestamps, duration, readiness result, shutdown result, and log locations.
103
+ 2. Module health
104
+ - One entry per module with status (`healthy` / `degraded` / `failed` / `unknown`) and evidence.
105
+ 3. Confirmed issues
106
+ - Reuse evidence-backed findings from `analyse-app-logs`.
107
+ 4. Potential issues and validation needed
108
+ - Risks that appeared in the run but need more evidence.
109
+ 5. Observability gaps
110
+ - Missing logs, metrics, probes, or correlation IDs that blocked diagnosis.
111
+ 6. Automation or scheduler status
112
+ - Created task identifiers, execution status, and whether future cleanup is needed.
113
+
114
+ ## Guardrails
115
+
116
+ - Do not let the project continue running past the agreed window unless the user explicitly asks.
117
+ - Do not claim steady-state health from startup-only evidence.
118
+ - Keep the run folder and scheduler metadata so the investigation can be reproduced.
119
+ - If current logs are too weak to judge module health, recommend `improve-observability` instead of stretching the evidence.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Scheduled Runtime Health Check"
3
+ short_description: "Schedule a bounded project run, then assess module health from captured logs."
4
+ default_prompt: "Use $scheduled-runtime-health-check to schedule a bounded project run, capture logs from startup through shutdown, classify module health across the requested subsystems, and delegate evidence-based post-run diagnosis to $analyse-app-logs."
@@ -7,8 +7,8 @@ A Codex skill for explicit release workflows: code/documentation alignment, vers
7
7
  `version-release` helps agents perform release work in a repeatable flow:
8
8
 
9
9
  1. Inspect the release scope from git history.
10
- 2. Run quality gates for code-affecting changes.
11
- 3. Run `specs-to-project-docs` when the release scope contains new completed spec files.
10
+ 2. Run quality gates for code-affecting changes through isolated parallel review subagents when available.
11
+ 3. Run `specs-to-project-docs` when the repository contains spec files or existing project docs need normalization.
12
12
  4. Align project code and categorized project docs.
13
13
  5. Resolve version and tag details.
14
14
  6. Update version files and changelog.
@@ -23,6 +23,6 @@ Use this skill only when the user explicitly asks for:
23
23
  - version bumping
24
24
  - tag creation/publishing
25
25
 
26
- If the release includes new completed specs, convert them into categorized project docs first and let `specs-to-project-docs` remove or archive the superseded spec files.
26
+ If the repository contains spec files, or if existing project docs still use a mixed or non-standard layout, normalize them into the categorized `specs-to-project-docs` structure first and let that skill remove or archive superseded spec files when appropriate.
27
27
 
28
28
  If the user only wants commit + push, use `commit-and-push`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: version-release
3
- description: "Guide the agent to prepare and publish a versioned release (version bump, changelog, tag, and push). Use only when users explicitly request version/tag/release work. If the release scope includes new completed spec files, run `specs-to-project-docs` before finalizing the release so project docs are standardized into categorized files and the old specs are removed or archived."
3
+ description: "Guide the agent to prepare and publish a versioned release (version bump, changelog, tag, and push). Use only when users explicitly request version/tag/release work. If the repository contains active planning artifacts or existing project docs do not match the `specs-to-project-docs` structure, run `specs-to-project-docs` before finalizing the release so project docs are standardized into categorized files and the old specs are removed or archived when appropriate."
4
4
  ---
5
5
 
6
6
  # Version Release
@@ -8,15 +8,15 @@ description: "Guide the agent to prepare and publish a versioned release (versio
8
8
  ## Dependencies
9
9
 
10
10
  - Required: none.
11
- - Conditional: `review-change-set`, `discover-edge-cases`, and `harden-app-security` for code-affecting releases before metadata edits and the final commit; `specs-to-project-docs` when the release scope includes new completed spec files.
11
+ - Conditional: `review-change-set`, `discover-edge-cases`, and `harden-app-security` for code-affecting releases before metadata edits and the final commit; `specs-to-project-docs` when the repository contains active planning artifacts or existing project docs need normalization into the standard categorized structure.
12
12
  - Optional: none.
13
13
  - Fallback: If a required release dependency is unavailable for a code-affecting scope, or if `specs-to-project-docs` is required for spec conversion but unavailable, stop and report the missing dependency.
14
14
 
15
15
  ## Standards
16
16
 
17
17
  - Evidence: Inspect the active change set and the release range before touching version files, tags, or changelog entries.
18
- - Execution: Use this workflow only for explicit release intent, run the required quality gates, standardize project docs into categorized files when new specs are present, then update versions, docs, commit, tag, and push.
19
- - Quality: Never guess versions, align user-facing docs with actual code, and convert completed planning docs into standardized categorized project docs before the release is published.
18
+ - Execution: Use this workflow only for explicit release intent, run the required quality gates through independent parallel review subagents when applicable, standardize project docs into categorized files whenever specs or doc-structure mismatches are present, then update versions, docs, commit, tag, and push.
19
+ - Quality: Never guess versions, align user-facing docs with actual code, convert completed planning docs into standardized categorized project docs before the release is published, and treat the `specs-to-project-docs` structure as the release-ready documentation format.
20
20
  - Output: Produce a versioned release commit and tag with synchronized changelog and relevant repository documentation.
21
21
 
22
22
  ## Overview
@@ -44,22 +44,25 @@ Load only when needed:
44
44
  1. Inspect current changes
45
45
  - Run `git status -sb`, `git diff --stat`, and `git diff --cached --stat`.
46
46
  - Check staged files with `git diff --cached --name-only`.
47
+ - Inventory repository planning artifacts and project docs, not only staged files, to detect repo specs and non-standard documentation layouts.
47
48
  2. Confirm release intent
48
49
  - Use this skill only when the user explicitly requests version/tag/release work.
49
50
  - If no release intent is present, use `commit-and-push` instead.
50
51
  3. Classify changes and run dependencies when required
51
52
  - `code-affecting`: runtime code, tests, build scripts, CI logic, or behavior-changing config.
52
53
  - `docs-only`: documentation/content updates only.
53
- - `new-specs-present`: the current change set or release range adds or updates completed planning files such as `spec.md`, `tasks.md`, `checklist.md`, or their containing plan directories.
54
- - For code-affecting changes, run `review-change-set` to challenge architecture and simplification assumptions in the active change set.
55
- - For code-affecting changes, run `discover-edge-cases` and resolve any confirmed findings.
56
- - For code-affecting changes, ensure `harden-app-security` has been executed for the same scope as an adversarial quality gate.
54
+ - `repo-specs-present`: the repository contains active project planning artifacts such as `spec.md`, `tasks.md`, `checklist.md`, or plan directories that represent unfinished or recently completed work; exclude reference examples, templates, and archived samples that are not live project plans.
55
+ - `project-doc-structure-mismatch`: existing `README.md` and project docs do not match the categorized structure required by `specs-to-project-docs`.
56
+ - For code-affecting changes, launch `review-change-set`, `discover-edge-cases`, and `harden-app-security` as parallel review subagents for the same release scope when delegation is available.
57
+ - Keep each review subagent in an isolated context window; do not reuse the implementation thread as the reviewer context.
58
+ - Treat every reviewer as independent and unbiased, then consolidate all confirmed findings before continuing.
59
+ - Resolve all confirmed findings before changing version files, tags, or release metadata.
57
60
  4. Identify release range
58
61
  - Find latest version tag with `git describe --tags --abbrev=0` (fallback to `git tag --list`).
59
62
  - If no tags exist, use initial commit from `git rev-list --max-parents=0 HEAD`.
60
63
  - Review `git log --oneline <range>` and `git diff --stat <range>`.
61
- 5. Standardize project docs when new specs are in scope
62
- - Execute `specs-to-project-docs` when `new-specs-present` is true and the related implementation scope is complete enough for documentation consolidation.
64
+ 5. Standardize project docs when specs or doc normalization is needed
65
+ - Execute `specs-to-project-docs` when `repo-specs-present` or `project-doc-structure-mismatch` is true and the related implementation scope is complete enough for documentation consolidation.
63
66
  - Let `specs-to-project-docs` convert the relevant specs into categorized project docs such as `docs/README.md`, `docs/getting-started.md`, `docs/configuration.md`, `docs/architecture.md`, `docs/features.md`, and `docs/developer-guide.md`.
64
67
  - Let the skill normalize any existing project docs to the same structure and remove or archive superseded source spec files.
65
68
  - If the specs still represent active unfinished work, do not convert them yet; report that the spec files remain active and should not be deleted.
@@ -67,6 +70,7 @@ Load only when needed:
67
70
  - Compare release range changes with user-facing docs and operational docs to ensure they match actual code behavior.
68
71
  - Required alignment targets include project docs such as `README.md`, usage/setup docs, API docs, deployment/runbook docs, and release notes sources when present.
69
72
  - After `specs-to-project-docs` runs, treat the categorized outputs as the canonical project-doc structure.
73
+ - If existing project docs are present but still use a mixed or non-standard layout, normalize them into the same categorized structure before version bumping or tagging.
70
74
  - If mismatches are found, update the relevant project docs before version bumping/tagging.
71
75
  7. Decide version and tag format
72
76
  - Read existing version files (for example `project.toml`, `package.json`, or repo-specific version files).
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Version Release"
3
3
  short_description: "Prepare a versioned release with bump, changelog, tag, and push"
4
- default_prompt: "Use $version-release only for explicit release/version/tag requests: inspect the release scope, and for code-affecting changes run $review-change-set, $discover-edge-cases, and $harden-app-security as quality gates, run $specs-to-project-docs when the release scope includes new completed spec files so project docs are standardized into categorized files and old specs are removed or archived, align user-facing docs with real behavior, update version files and CHANGELOG, create the release commit and tag, and push both commits and tags."
4
+ default_prompt: "Use $version-release only for explicit release/version/tag requests: inspect the release scope, and for code-affecting changes run $review-change-set, $discover-edge-cases, and $harden-app-security as isolated parallel review subagents when available, run $specs-to-project-docs when the repository contains spec files or existing project docs need normalization so project docs are standardized into categorized files and old specs are removed or archived when appropriate, align user-facing docs with real behavior, update version files and CHANGELOG, create the release commit and tag, and push both commits and tags."
@@ -15,8 +15,8 @@ description: Read a user-specified PDF that marks the week's key financial event
15
15
  ## Standards
16
16
 
17
17
  - Evidence: Research only events explicitly marked in the source PDF plus clearly material breaking developments, and verify claims with current authoritative sources.
18
- - Execution: Read the PDF first, lock the research window, research each marked event, then hand the final briefing to `pdf` for rendering and QA.
19
- - Quality: Keep the report concise, Chinese-compatible, and explicit about source-versus-breaking events, conflicts, uncertainty, and PDF font safety.
18
+ - Execution: Read the PDF first, lock the research window, research each marked event, then hand the final briefing to `pdf` for rendering and QA with deterministic table-safe layout rules when needed.
19
+ - Quality: Keep the report concise, Chinese-compatible, explicit about source-versus-breaking events, conflicts, uncertainty, PDF font safety, and long-text table legibility.
20
20
  - Output: Save only the final standardized PDF under the month folder using the financial-event-report naming scheme.
21
21
 
22
22
  ## Overview
@@ -135,10 +135,16 @@ Do not guess any input that materially changes the research window or report sco
135
135
  - Do not assume `PingFang` is available on every macOS host.
136
136
  - If the active `pdf` workflow already has a verified Chinese-safe default on the current machine, reuse that verified default instead of overriding it.
137
137
  - Avoid emoji and uncommon glyphs that often break during rendering.
138
+ - When the report includes tables, timelines, or matrix-style summaries with long phrases:
139
+ - require wrapped paragraph cells rather than single-line text rendering
140
+ - require width-constrained columns and row heights that expand with content
141
+ - require padding and font sizes that keep dense Chinese text readable
142
+ - prefer a deterministic renderer script when the default markdown-to-PDF path cannot guarantee those layout rules
138
143
 
139
144
  ### 7) Delegate rendering and PDF QA to the `pdf` skill
140
145
 
141
146
  - Hand the completed report content and font requirements to the `pdf` skill for rendering.
147
+ - If custom table or timeline layout is needed, require the `pdf` skill to keep that renderer as a reusable local script instead of relying on one-off inline code.
142
148
  - Require the `pdf` skill to open the rendered PDF locally before finishing.
143
149
  - Require the `pdf` skill to capture temporary screenshots from the rendered PDF before considering the report complete.
144
150
  - Require the `pdf` skill to inspect at least:
@@ -151,6 +157,8 @@ Do not guess any input that materially changes the research window or report sco
151
157
  - headings and body text are visually balanced
152
158
  - line wrapping is readable
153
159
  - tables remain legible
160
+ - long table cells do not overlap adjacent text
161
+ - row heights and timeline blocks expand enough to fit wrapped content
154
162
  - Treat those screenshots as temporary QA artifacts only.
155
163
  - If the output fails visual QA, revise the content or PDF requirements and call the `pdf` skill again.
156
164
  - After the final PDF passes QA, require the `pdf` skill to delete all temporary screenshots before finishing.