@laitszkin/apollo-toolkit 2.0.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 +62 -0
- package/CHANGELOG.md +100 -0
- package/LICENSE +21 -0
- package/README.md +144 -0
- package/align-project-documents/SKILL.md +94 -0
- package/align-project-documents/agents/openai.yaml +4 -0
- package/analyse-app-logs/LICENSE +21 -0
- package/analyse-app-logs/README.md +126 -0
- package/analyse-app-logs/SKILL.md +121 -0
- package/analyse-app-logs/agents/openai.yaml +4 -0
- package/analyse-app-logs/references/investigation-checklist.md +58 -0
- package/analyse-app-logs/references/log-signal-patterns.md +52 -0
- package/answering-questions-with-research/SKILL.md +46 -0
- package/answering-questions-with-research/agents/openai.yaml +4 -0
- package/bin/apollo-toolkit.js +7 -0
- package/commit-and-push/LICENSE +21 -0
- package/commit-and-push/README.md +26 -0
- package/commit-and-push/SKILL.md +70 -0
- package/commit-and-push/agents/openai.yaml +4 -0
- package/commit-and-push/references/branch-naming.md +15 -0
- package/commit-and-push/references/commit-messages.md +19 -0
- package/deep-research-topics/LICENSE +21 -0
- package/deep-research-topics/README.md +43 -0
- package/deep-research-topics/SKILL.md +84 -0
- package/deep-research-topics/agents/openai.yaml +4 -0
- package/develop-new-features/LICENSE +21 -0
- package/develop-new-features/README.md +52 -0
- package/develop-new-features/SKILL.md +105 -0
- package/develop-new-features/agents/openai.yaml +4 -0
- package/develop-new-features/references/testing-e2e.md +35 -0
- package/develop-new-features/references/testing-integration.md +42 -0
- package/develop-new-features/references/testing-property-based.md +44 -0
- package/develop-new-features/references/testing-unit.md +37 -0
- package/discover-edge-cases/CHANGELOG.md +19 -0
- package/discover-edge-cases/LICENSE +21 -0
- package/discover-edge-cases/README.md +87 -0
- package/discover-edge-cases/SKILL.md +124 -0
- package/discover-edge-cases/agents/openai.yaml +4 -0
- package/discover-edge-cases/references/architecture-edge-cases.md +41 -0
- package/discover-edge-cases/references/code-edge-cases.md +46 -0
- package/docs-to-voice/.env.example +106 -0
- package/docs-to-voice/CHANGELOG.md +71 -0
- package/docs-to-voice/LICENSE +21 -0
- package/docs-to-voice/README.md +118 -0
- package/docs-to-voice/SKILL.md +107 -0
- package/docs-to-voice/agents/openai.yaml +4 -0
- package/docs-to-voice/scripts/docs_to_voice.py +1385 -0
- package/docs-to-voice/scripts/docs_to_voice.sh +11 -0
- package/docs-to-voice/tests/test_docs_to_voice_api_max_chars.py +210 -0
- package/docs-to-voice/tests/test_docs_to_voice_sentence_timeline.py +115 -0
- package/docs-to-voice/tests/test_docs_to_voice_settings.py +43 -0
- package/docs-to-voice/tests/test_docs_to_voice_speech_rate.py +57 -0
- package/enhance-existing-features/CHANGELOG.md +35 -0
- package/enhance-existing-features/LICENSE +21 -0
- package/enhance-existing-features/README.md +54 -0
- package/enhance-existing-features/SKILL.md +120 -0
- package/enhance-existing-features/agents/openai.yaml +4 -0
- package/enhance-existing-features/references/e2e-tests.md +25 -0
- package/enhance-existing-features/references/integration-tests.md +30 -0
- package/enhance-existing-features/references/property-based-tests.md +33 -0
- package/enhance-existing-features/references/unit-tests.md +29 -0
- package/feature-propose/LICENSE +21 -0
- package/feature-propose/README.md +23 -0
- package/feature-propose/SKILL.md +107 -0
- package/feature-propose/agents/openai.yaml +4 -0
- package/feature-propose/references/enhancement-features.md +25 -0
- package/feature-propose/references/important-features.md +25 -0
- package/feature-propose/references/mvp-features.md +25 -0
- package/feature-propose/references/performance-features.md +25 -0
- package/financial-research/SKILL.md +208 -0
- package/financial-research/agents/openai.yaml +4 -0
- package/financial-research/assets/weekly_market_report_template.md +45 -0
- package/fix-github-issues/SKILL.md +98 -0
- package/fix-github-issues/agents/openai.yaml +4 -0
- package/fix-github-issues/scripts/list_issues.py +148 -0
- package/fix-github-issues/tests/test_list_issues.py +127 -0
- package/generate-spec/LICENSE +21 -0
- package/generate-spec/README.md +61 -0
- package/generate-spec/SKILL.md +96 -0
- package/generate-spec/agents/openai.yaml +4 -0
- package/generate-spec/references/templates/checklist.md +78 -0
- package/generate-spec/references/templates/spec.md +55 -0
- package/generate-spec/references/templates/tasks.md +35 -0
- package/generate-spec/scripts/create-specs +123 -0
- package/harden-app-security/CHANGELOG.md +27 -0
- package/harden-app-security/LICENSE +21 -0
- package/harden-app-security/README.md +46 -0
- package/harden-app-security/SKILL.md +127 -0
- package/harden-app-security/agents/openai.yaml +4 -0
- package/harden-app-security/references/agent-attack-catalog.md +117 -0
- package/harden-app-security/references/common-software-attack-catalog.md +168 -0
- package/harden-app-security/references/red-team-extreme-scenarios.md +81 -0
- package/harden-app-security/references/risk-checklist.md +78 -0
- package/harden-app-security/references/security-test-patterns-agent.md +101 -0
- package/harden-app-security/references/security-test-patterns-finance.md +88 -0
- package/harden-app-security/references/test-snippets.md +73 -0
- package/improve-observability/SKILL.md +114 -0
- package/improve-observability/agents/openai.yaml +4 -0
- package/learn-skill-from-conversations/CHANGELOG.md +15 -0
- package/learn-skill-from-conversations/LICENSE +22 -0
- package/learn-skill-from-conversations/README.md +47 -0
- package/learn-skill-from-conversations/SKILL.md +85 -0
- package/learn-skill-from-conversations/agents/openai.yaml +4 -0
- package/learn-skill-from-conversations/scripts/extract_recent_conversations.py +369 -0
- package/learn-skill-from-conversations/tests/test_extract_recent_conversations.py +176 -0
- package/learning-error-book/SKILL.md +112 -0
- package/learning-error-book/agents/openai.yaml +4 -0
- package/learning-error-book/assets/error_book_template.md +66 -0
- package/learning-error-book/scripts/render_markdown_to_pdf.py +367 -0
- package/lib/cli.js +338 -0
- package/lib/installer.js +225 -0
- package/maintain-project-constraints/SKILL.md +109 -0
- package/maintain-project-constraints/agents/openai.yaml +4 -0
- package/maintain-skill-catalog/README.md +18 -0
- package/maintain-skill-catalog/SKILL.md +66 -0
- package/maintain-skill-catalog/agents/openai.yaml +4 -0
- package/novel-to-short-video/CHANGELOG.md +53 -0
- package/novel-to-short-video/LICENSE +21 -0
- package/novel-to-short-video/README.md +63 -0
- package/novel-to-short-video/SKILL.md +233 -0
- package/novel-to-short-video/agents/openai.yaml +4 -0
- package/novel-to-short-video/references/plan-template.md +71 -0
- package/novel-to-short-video/references/roles-json.md +41 -0
- package/open-github-issue/LICENSE +21 -0
- package/open-github-issue/README.md +97 -0
- package/open-github-issue/SKILL.md +119 -0
- package/open-github-issue/agents/openai.yaml +4 -0
- package/open-github-issue/scripts/open_github_issue.py +380 -0
- package/open-github-issue/tests/test_open_github_issue.py +159 -0
- package/open-source-pr-workflow/CHANGELOG.md +32 -0
- package/open-source-pr-workflow/LICENSE +21 -0
- package/open-source-pr-workflow/README.md +23 -0
- package/open-source-pr-workflow/SKILL.md +123 -0
- package/open-source-pr-workflow/agents/openai.yaml +4 -0
- package/openai-text-to-image-storyboard/.env.example +10 -0
- package/openai-text-to-image-storyboard/CHANGELOG.md +49 -0
- package/openai-text-to-image-storyboard/LICENSE +21 -0
- package/openai-text-to-image-storyboard/README.md +99 -0
- package/openai-text-to-image-storyboard/SKILL.md +107 -0
- package/openai-text-to-image-storyboard/agents/openai.yaml +4 -0
- package/openai-text-to-image-storyboard/scripts/generate_storyboard_images.py +763 -0
- package/package.json +36 -0
- package/record-spending/SKILL.md +113 -0
- package/record-spending/agents/openai.yaml +4 -0
- package/record-spending/references/account-format.md +33 -0
- package/record-spending/references/workbook-layout.md +84 -0
- package/resolve-review-comments/SKILL.md +122 -0
- package/resolve-review-comments/agents/openai.yaml +4 -0
- package/resolve-review-comments/references/adoption-criteria.md +23 -0
- package/resolve-review-comments/scripts/review_threads.py +425 -0
- package/resolve-review-comments/tests/test_review_threads.py +74 -0
- package/review-change-set/LICENSE +21 -0
- package/review-change-set/README.md +55 -0
- package/review-change-set/SKILL.md +103 -0
- package/review-change-set/agents/openai.yaml +4 -0
- package/review-codebases/LICENSE +21 -0
- package/review-codebases/README.md +67 -0
- package/review-codebases/SKILL.md +109 -0
- package/review-codebases/agents/openai.yaml +4 -0
- package/scripts/install_skills.ps1 +283 -0
- package/scripts/install_skills.sh +262 -0
- package/scripts/validate_openai_agent_config.py +194 -0
- package/scripts/validate_skill_frontmatter.py +110 -0
- package/specs-to-project-docs/LICENSE +21 -0
- package/specs-to-project-docs/README.md +57 -0
- package/specs-to-project-docs/SKILL.md +111 -0
- package/specs-to-project-docs/agents/openai.yaml +4 -0
- package/specs-to-project-docs/references/templates/architecture.md +29 -0
- package/specs-to-project-docs/references/templates/configuration.md +29 -0
- package/specs-to-project-docs/references/templates/developer-guide.md +33 -0
- package/specs-to-project-docs/references/templates/docs-index.md +39 -0
- package/specs-to-project-docs/references/templates/features.md +25 -0
- package/specs-to-project-docs/references/templates/getting-started.md +38 -0
- package/specs-to-project-docs/references/templates/readme.md +49 -0
- package/systematic-debug/LICENSE +21 -0
- package/systematic-debug/README.md +81 -0
- package/systematic-debug/SKILL.md +59 -0
- package/systematic-debug/agents/openai.yaml +4 -0
- package/text-to-short-video/.env.example +36 -0
- package/text-to-short-video/LICENSE +21 -0
- package/text-to-short-video/README.md +82 -0
- package/text-to-short-video/SKILL.md +221 -0
- package/text-to-short-video/agents/openai.yaml +4 -0
- package/text-to-short-video/scripts/enforce_video_aspect_ratio.py +350 -0
- package/version-release/CHANGELOG.md +53 -0
- package/version-release/LICENSE +21 -0
- package/version-release/README.md +28 -0
- package/version-release/SKILL.md +94 -0
- package/version-release/agents/openai.yaml +4 -0
- package/version-release/references/branch-naming.md +15 -0
- package/version-release/references/changelog-writing.md +8 -0
- package/version-release/references/commit-messages.md +19 -0
- package/version-release/references/readme-writing.md +12 -0
- package/version-release/references/semantic-versioning.md +12 -0
- package/video-production/CHANGELOG.md +104 -0
- package/video-production/LICENSE +18 -0
- package/video-production/README.md +68 -0
- package/video-production/SKILL.md +213 -0
- package/video-production/agents/openai.yaml +4 -0
- package/video-production/references/plan-template.md +54 -0
- package/video-production/references/roles-json.md +41 -0
- package/weekly-financial-event-report/SKILL.md +195 -0
- package/weekly-financial-event-report/agents/openai.yaml +4 -0
- package/weekly-financial-event-report/assets/financial_event_report_template.md +53 -0
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@laitszkin/apollo-toolkit",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Apollo Toolkit npm installer for managed skill linking across Codex, OpenClaw, and Trae.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "LaiTszKin",
|
|
7
|
+
"homepage": "https://github.com/LaiTszKin/apollo-toolkit#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/LaiTszKin/apollo-toolkit.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/LaiTszKin/apollo-toolkit/issues"
|
|
14
|
+
},
|
|
15
|
+
"type": "commonjs",
|
|
16
|
+
"bin": {
|
|
17
|
+
"apollo-toolkit": "bin/apollo-toolkit.js"
|
|
18
|
+
},
|
|
19
|
+
"scripts": {
|
|
20
|
+
"test": "node --test"
|
|
21
|
+
},
|
|
22
|
+
"engines": {
|
|
23
|
+
"node": ">=18.18"
|
|
24
|
+
},
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public",
|
|
27
|
+
"registry": "https://registry.npmjs.org"
|
|
28
|
+
},
|
|
29
|
+
"keywords": [
|
|
30
|
+
"apollo-toolkit",
|
|
31
|
+
"codex",
|
|
32
|
+
"skills",
|
|
33
|
+
"openclaw",
|
|
34
|
+
"trae"
|
|
35
|
+
]
|
|
36
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: record-spending
|
|
3
|
+
description: Maintain monthly multi-account bookkeeping ledgers in Excel. Use when the user asks to record income, expenses, transfers, deposits, withdrawals, balance changes, account additions, account renames, or monthly asset/liability reviews. Always read ACCOUNT.md first, use the spreadsheet skill to keep one worksheet per account plus a monthly summary sheet, and keep ACCOUNT.md and CHART.md synchronized.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Record Spending
|
|
7
|
+
|
|
8
|
+
## Dependencies
|
|
9
|
+
|
|
10
|
+
- Required: `spreadsheet` for every workbook creation, edit, recalculation, formatting change, and chart update.
|
|
11
|
+
- Conditional: none.
|
|
12
|
+
- Optional: none.
|
|
13
|
+
- Fallback: No alternate workbook-editing path is defined; stay within the `spreadsheet` workflow for ledger changes.
|
|
14
|
+
|
|
15
|
+
## Standards
|
|
16
|
+
|
|
17
|
+
- Evidence: Treat `ACCOUNT.md` as the source of truth for account identity and `CHART.md` as the source of truth for recurring chart rules.
|
|
18
|
+
- Execution: Resolve ledger scope, handle account maintenance first, then update the monthly workbook and summary sheet through `spreadsheet`.
|
|
19
|
+
- Quality: Preserve existing naming, formulas, and reconciliation behavior, and record new chart rules or account metadata changes immediately.
|
|
20
|
+
- Output: Report the updated workbook path, changed worksheets, account-registry changes, and chart-rule changes.
|
|
21
|
+
|
|
22
|
+
## Overview
|
|
23
|
+
|
|
24
|
+
Track user-named accounts through monthly Excel workbooks and keep the account registry plus chart rules consistent over time. Treat `ACCOUNT.md` as the source of truth for account identity and `CHART.md` as the source of truth for recurring chart and quantified-analysis rules.
|
|
25
|
+
|
|
26
|
+
## References
|
|
27
|
+
|
|
28
|
+
Load these only when needed:
|
|
29
|
+
|
|
30
|
+
- `references/account-format.md`
|
|
31
|
+
- `references/workbook-layout.md`
|
|
32
|
+
|
|
33
|
+
## Workflow
|
|
34
|
+
|
|
35
|
+
### 1) Resolve the bookkeeping scope
|
|
36
|
+
|
|
37
|
+
- Work inside the user-specified ledger directory. If none is given, use the current working directory.
|
|
38
|
+
- Determine the target month from the user's date. If no date is given, default to the current local month.
|
|
39
|
+
- Keep one workbook per month, named `YYYY-MM.xlsx` unless the user already has a different convention. Preserve existing naming conventions.
|
|
40
|
+
- Expect these companion files beside the monthly workbooks:
|
|
41
|
+
- `ACCOUNT.md`
|
|
42
|
+
- `CHART.md`
|
|
43
|
+
|
|
44
|
+
### 2) Read `ACCOUNT.md` before doing anything else
|
|
45
|
+
|
|
46
|
+
- Always open `ACCOUNT.md` first.
|
|
47
|
+
- Match the user's wording against recorded account names, aliases, and notes.
|
|
48
|
+
- If `ACCOUNT.md` is missing, create it with the structure in `references/account-format.md` before editing any workbook.
|
|
49
|
+
- If the request could refer to multiple accounts and the correct one is not provable from context, ask one targeted clarification question instead of guessing.
|
|
50
|
+
|
|
51
|
+
### 3) Handle account maintenance first
|
|
52
|
+
|
|
53
|
+
- When the user adds an account, append it to `ACCOUNT.md` before writing ledger rows.
|
|
54
|
+
- When the user renames an account, update the same account entry in `ACCOUNT.md` and rename the related worksheet in every affected monthly workbook.
|
|
55
|
+
- Preserve historical rows and formulas when renaming; update references instead of recreating data.
|
|
56
|
+
- After every task, re-check whether a new account, alias, or status change was introduced and sync `ACCOUNT.md`.
|
|
57
|
+
|
|
58
|
+
### 4) Maintain one worksheet per account in the monthly workbook
|
|
59
|
+
|
|
60
|
+
- Create or update the target monthly workbook through the `spreadsheet` skill.
|
|
61
|
+
- Ensure every tracked account has its own worksheet for that month.
|
|
62
|
+
- Record every balance-changing event on the matching worksheet.
|
|
63
|
+
- Use a consistent transaction table with at least these columns:
|
|
64
|
+
- `Date`
|
|
65
|
+
- `Description`
|
|
66
|
+
- `Category`
|
|
67
|
+
- `Direction`
|
|
68
|
+
- `Amount`
|
|
69
|
+
- `Counterparty Account`
|
|
70
|
+
- `Running Balance`
|
|
71
|
+
- `Notes`
|
|
72
|
+
- For transfers between two known accounts, write offsetting rows to both worksheets and keep them reconcilable.
|
|
73
|
+
- Keep totals, balances, and summary values in Excel formulas instead of hardcoded derived numbers.
|
|
74
|
+
|
|
75
|
+
### 5) Maintain a monthly summary worksheet
|
|
76
|
+
|
|
77
|
+
- Every monthly workbook must include one summary worksheet. Reuse the existing summary-sheet name if present; otherwise use `Monthly Summary`.
|
|
78
|
+
- The summary worksheet must include:
|
|
79
|
+
- each account's month-end balance
|
|
80
|
+
- asset allocation by account
|
|
81
|
+
- total assets
|
|
82
|
+
- total liabilities
|
|
83
|
+
- net assets
|
|
84
|
+
- month-to-date balance change by account
|
|
85
|
+
- asset/liability ratios and other quantified metrics defined in `CHART.md`
|
|
86
|
+
- Build the summary with worksheet formulas and cross-sheet references so the workbook stays updateable.
|
|
87
|
+
- If the available data cannot support a requested metric, mark it as unavailable instead of inventing numbers.
|
|
88
|
+
|
|
89
|
+
### 6) Keep chart rules stable and documented
|
|
90
|
+
|
|
91
|
+
- Before changing chart behavior, read `CHART.md` if it exists. If it does not exist, create it from the template guidance in `references/workbook-layout.md`.
|
|
92
|
+
- Use the same chart rules every month unless the user explicitly asks to change them.
|
|
93
|
+
- Default monthly charts must include:
|
|
94
|
+
- an account asset-allocation chart
|
|
95
|
+
- an assets-vs-liabilities chart
|
|
96
|
+
- a monthly balance-change trend chart
|
|
97
|
+
- When the user asks for more chart types or more quantified analysis, add them to the workbook and record the new rule in `CHART.md` so later months follow the same standard.
|
|
98
|
+
|
|
99
|
+
### 7) Validate before finishing
|
|
100
|
+
|
|
101
|
+
- Confirm the correct month workbook was updated.
|
|
102
|
+
- Confirm the correct account worksheet was updated, created, or renamed.
|
|
103
|
+
- Confirm `ACCOUNT.md` reflects all account additions, renames, aliases, and status changes.
|
|
104
|
+
- Confirm `CHART.md` reflects any new chart or quantified-analysis rule.
|
|
105
|
+
- Recalculate workbook formulas and check for Excel errors through the `spreadsheet` workflow.
|
|
106
|
+
- Report the workbook path, changed worksheets, account-registry updates, and chart-rule updates.
|
|
107
|
+
|
|
108
|
+
## Guardrails
|
|
109
|
+
|
|
110
|
+
- Prefer the smallest correct edit; do not redesign an existing ledger if it already satisfies the rules.
|
|
111
|
+
- Preserve user-defined account names, workbook names, and worksheet names whenever possible.
|
|
112
|
+
- Do not create duplicate accounts when an existing alias already matches.
|
|
113
|
+
- If a safe answer depends on a missing amount, date, or account target, ask only for that blocking fact.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Record Spending"
|
|
3
|
+
short_description: "Maintain monthly multi-account bookkeeping ledgers in Excel"
|
|
4
|
+
default_prompt: "Use $record-spending to read ACCOUNT.md first, update the correct month ledger with one worksheet per account plus a monthly summary, keep ACCOUNT.md and CHART.md synchronized, and perform workbook edits through $spreadsheet."
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# ACCOUNT.md format
|
|
2
|
+
|
|
3
|
+
Use `ACCOUNT.md` as the canonical account registry.
|
|
4
|
+
|
|
5
|
+
## Required structure
|
|
6
|
+
|
|
7
|
+
Start with a short heading and a Markdown table:
|
|
8
|
+
|
|
9
|
+
```md
|
|
10
|
+
# Accounts
|
|
11
|
+
|
|
12
|
+
| ID | Name | Class | Currency | Status | Aliases | Notes |
|
|
13
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
14
|
+
| cash-wallet | Wallet | asset | HKD | active | cash, pocket money | Daily cash spending |
|
|
15
|
+
| hsbc-card | HSBC Card | liability | HKD | active | card, visa | Main credit card |
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Field rules
|
|
19
|
+
|
|
20
|
+
- `ID`: stable machine-friendly identifier; keep it unchanged when the display name changes.
|
|
21
|
+
- `Name`: the user-facing account name.
|
|
22
|
+
- `Class`: use at least `asset` or `liability`.
|
|
23
|
+
- `Currency`: keep the currency explicit even if all accounts share one currency.
|
|
24
|
+
- `Status`: use values such as `active`, `closed`, or `archived`.
|
|
25
|
+
- `Aliases`: comma-separated names the user may naturally use in requests.
|
|
26
|
+
- `Notes`: optional disambiguation such as bank, owner, or usage.
|
|
27
|
+
|
|
28
|
+
## Maintenance rules
|
|
29
|
+
|
|
30
|
+
- Add new rows when the user creates a new account.
|
|
31
|
+
- Update `Name` and `Aliases` when the user renames an account.
|
|
32
|
+
- Do not create a second row for a rename; keep the same `ID`.
|
|
33
|
+
- If an account is no longer used, change `Status` instead of deleting historical identity.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Monthly workbook and CHART.md rules
|
|
2
|
+
|
|
3
|
+
Use one workbook per month and keep the layout stable across months.
|
|
4
|
+
|
|
5
|
+
## Monthly workbook
|
|
6
|
+
|
|
7
|
+
- Default filename: `YYYY-MM.xlsx`
|
|
8
|
+
- Required worksheets:
|
|
9
|
+
- one worksheet per account
|
|
10
|
+
- one summary worksheet, preferably `Monthly Summary`
|
|
11
|
+
|
|
12
|
+
## Account worksheet layout
|
|
13
|
+
|
|
14
|
+
Use a single transaction table with these minimum columns:
|
|
15
|
+
|
|
16
|
+
| Date | Description | Category | Direction | Amount | Counterparty Account | Running Balance | Notes |
|
|
17
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
18
|
+
|
|
19
|
+
Recommended rules:
|
|
20
|
+
|
|
21
|
+
- `Direction` should make inflow/outflow explicit.
|
|
22
|
+
- `Running Balance` should be formula-driven whenever prior rows exist.
|
|
23
|
+
- For transfers, use the same date, description, and amount on both related account sheets.
|
|
24
|
+
|
|
25
|
+
## Summary worksheet requirements
|
|
26
|
+
|
|
27
|
+
The summary worksheet should expose these metrics for the target month:
|
|
28
|
+
|
|
29
|
+
- month-end balance for every account
|
|
30
|
+
- total assets
|
|
31
|
+
- total liabilities
|
|
32
|
+
- net assets
|
|
33
|
+
- account-level allocation percentages
|
|
34
|
+
- month-to-date balance change by account
|
|
35
|
+
- quantified ratios defined in `CHART.md`
|
|
36
|
+
|
|
37
|
+
## Default charts
|
|
38
|
+
|
|
39
|
+
Unless `CHART.md` says otherwise, create and maintain these charts every month:
|
|
40
|
+
|
|
41
|
+
1. Asset allocation by account
|
|
42
|
+
- Type: pie or doughnut chart
|
|
43
|
+
- Basis: month-end balances for `asset` accounts
|
|
44
|
+
2. Assets vs liabilities
|
|
45
|
+
- Type: clustered column or stacked column chart
|
|
46
|
+
- Basis: total assets, total liabilities, net assets
|
|
47
|
+
3. Monthly balance trend
|
|
48
|
+
- Type: line chart
|
|
49
|
+
- Basis: chronological balance movement for the month
|
|
50
|
+
|
|
51
|
+
## CHART.md template
|
|
52
|
+
|
|
53
|
+
Create `CHART.md` when it is missing. Use a structure like this:
|
|
54
|
+
|
|
55
|
+
```md
|
|
56
|
+
# Chart Rules
|
|
57
|
+
|
|
58
|
+
## Default charts
|
|
59
|
+
|
|
60
|
+
1. Asset allocation by account
|
|
61
|
+
- Type: doughnut
|
|
62
|
+
- Source: month-end balances of asset accounts
|
|
63
|
+
2. Assets vs liabilities
|
|
64
|
+
- Type: clustered column
|
|
65
|
+
- Source: total assets, total liabilities, net assets
|
|
66
|
+
3. Monthly balance trend
|
|
67
|
+
- Type: line
|
|
68
|
+
- Source: daily or transaction-order running balances
|
|
69
|
+
|
|
70
|
+
## Quantified analysis
|
|
71
|
+
|
|
72
|
+
- Total assets
|
|
73
|
+
- Total liabilities
|
|
74
|
+
- Net assets
|
|
75
|
+
- Debt-to-asset ratio
|
|
76
|
+
- Largest-account concentration
|
|
77
|
+
- Month-to-date change by account
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Extending chart rules
|
|
81
|
+
|
|
82
|
+
- When the user requests a new chart, add the same rule to `CHART.md`.
|
|
83
|
+
- When the user requests new quantified analysis, record the metric name and source logic in `CHART.md`.
|
|
84
|
+
- Keep future months aligned with the latest `CHART.md` rules unless the user explicitly overrides them.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: resolve-review-comments
|
|
3
|
+
description: Read GitHub pull request review comments, analyze each thread, decide whether to adopt feedback, implement adopted changes, push updates to the same PR branch, and resolve addressed review threads. Use when users ask to process PR review feedback by PR number or current branch context.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Resolve Review Comments
|
|
7
|
+
|
|
8
|
+
## Dependencies
|
|
9
|
+
|
|
10
|
+
- Required: none.
|
|
11
|
+
- Conditional: none.
|
|
12
|
+
- Optional: none.
|
|
13
|
+
- Fallback: not applicable.
|
|
14
|
+
|
|
15
|
+
## Standards
|
|
16
|
+
|
|
17
|
+
- Evidence: Read unresolved review threads first and decide adopt versus reject from the actual review content and code context.
|
|
18
|
+
- Execution: Implement only adopted feedback, validate it, push to the same PR branch, and resolve only the threads that were truly addressed.
|
|
19
|
+
- Quality: Keep changes minimal, leave rejected or unclear threads unresolved, and reply with concise technical reasons when feedback is not adopted.
|
|
20
|
+
- Output: Complete the PR feedback loop with updated code, pushed commits, and correctly resolved review threads.
|
|
21
|
+
|
|
22
|
+
## Overview
|
|
23
|
+
|
|
24
|
+
Use this skill to run an end-to-end GitHub PR review loop: collect review threads, decide adopt/reject per comment, apply accepted feedback, push commits to the same PR branch, and resolve only addressed threads.
|
|
25
|
+
|
|
26
|
+
## Prerequisites
|
|
27
|
+
|
|
28
|
+
- Ensure `gh` is installed and authenticated (`gh auth status`).
|
|
29
|
+
- Ensure the current directory is a git repository with the target PR branch checked out.
|
|
30
|
+
- Ensure the branch can be pushed to the PR source remote.
|
|
31
|
+
|
|
32
|
+
## Workflow
|
|
33
|
+
|
|
34
|
+
1. Identify target PR.
|
|
35
|
+
2. Read unresolved review threads.
|
|
36
|
+
3. Decide adopt or reject thread-by-thread.
|
|
37
|
+
4. Implement only adopted feedback.
|
|
38
|
+
5. Run relevant tests and checks.
|
|
39
|
+
6. Commit and push to the same PR branch.
|
|
40
|
+
7. Resolve only threads that were truly addressed.
|
|
41
|
+
8. Reply on unresolved/rejected threads with reason.
|
|
42
|
+
|
|
43
|
+
## 1) Identify target PR
|
|
44
|
+
|
|
45
|
+
- If user provides PR number, use it directly.
|
|
46
|
+
- If user does not provide PR number, infer from current branch context.
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
python3 scripts/review_threads.py list --repo <owner>/<repo> --pr <number>
|
|
50
|
+
python3 scripts/review_threads.py list
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 2) Read unresolved review threads
|
|
54
|
+
|
|
55
|
+
Use table view for quick scan, then JSON when you need full details.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
python3 scripts/review_threads.py list --pr <number> --state unresolved --output table
|
|
59
|
+
python3 scripts/review_threads.py list --pr <number> --state unresolved --output json > /tmp/pr_threads.json
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The JSON output contains `thread_id`, `path`, `line`, and comment bodies for decision and resolution.
|
|
63
|
+
|
|
64
|
+
## 3) Decide adopt vs reject
|
|
65
|
+
|
|
66
|
+
Use the decision rubric in `references/adoption-criteria.md`.
|
|
67
|
+
|
|
68
|
+
- Adopt when correctness, security, reliability, or maintainability clearly improves.
|
|
69
|
+
- Reject when suggestion is incorrect, out of scope, duplicate, or conflicts with requirements.
|
|
70
|
+
- If uncertain, keep thread unresolved and ask for clarification instead of guessing.
|
|
71
|
+
|
|
72
|
+
Track adopted thread IDs in a JSON file:
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"adopted_thread_ids": ["THREAD_ID_1", "THREAD_ID_2"]
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## 4) Implement adopted feedback
|
|
81
|
+
|
|
82
|
+
- Edit only necessary files.
|
|
83
|
+
- Keep changes minimal and scoped to adopted comments.
|
|
84
|
+
- Reuse existing patterns; avoid unrelated refactors.
|
|
85
|
+
|
|
86
|
+
## 5) Validate before push
|
|
87
|
+
|
|
88
|
+
- Run focused tests/lint/build that cover touched behavior.
|
|
89
|
+
- If checks fail, fix before pushing.
|
|
90
|
+
|
|
91
|
+
## 6) Commit and push to same PR
|
|
92
|
+
|
|
93
|
+
- Create a clear commit describing why feedback was adopted.
|
|
94
|
+
- Push to the PR branch (same branch backing the open PR).
|
|
95
|
+
|
|
96
|
+
## 7) Resolve addressed threads
|
|
97
|
+
|
|
98
|
+
Resolve only threads you actually addressed in code.
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
python3 scripts/review_threads.py resolve --pr <number> --thread-id-file adopted_threads.json
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Optional preview without mutating GitHub state:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
python3 scripts/review_threads.py resolve --pr <number> --thread-id-file adopted_threads.json --dry-run
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## 8) Handle non-adopted comments
|
|
111
|
+
|
|
112
|
+
- Keep thread unresolved.
|
|
113
|
+
- Reply with a concise technical reason and, if needed, a proposed follow-up.
|
|
114
|
+
- Never resolve rejected or unhandled feedback threads.
|
|
115
|
+
|
|
116
|
+
## Scripts
|
|
117
|
+
|
|
118
|
+
### `scripts/review_threads.py`
|
|
119
|
+
|
|
120
|
+
- `list`: fetch PR review threads via GitHub GraphQL (`gh api graphql`), supports repo/PR inference.
|
|
121
|
+
- `resolve`: resolve selected review threads by thread IDs.
|
|
122
|
+
- Supports thread IDs from flags, JSON files, or `--all-unresolved`.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Adoption Criteria
|
|
2
|
+
|
|
3
|
+
Use this checklist before adopting a review comment.
|
|
4
|
+
|
|
5
|
+
## Adopt
|
|
6
|
+
|
|
7
|
+
- Fixes a correctness bug or prevents regression.
|
|
8
|
+
- Closes a security, privacy, or data-integrity risk.
|
|
9
|
+
- Improves reliability, error handling, or test coverage.
|
|
10
|
+
- Clarifies intent with low-cost maintainability improvement.
|
|
11
|
+
|
|
12
|
+
## Usually reject
|
|
13
|
+
|
|
14
|
+
- Outside the agreed PR scope.
|
|
15
|
+
- Contradicts product requirements or architecture decisions.
|
|
16
|
+
- Duplicates a handled comment or stale context.
|
|
17
|
+
- Requires large refactor not justified by current PR goal.
|
|
18
|
+
|
|
19
|
+
## Borderline comments
|
|
20
|
+
|
|
21
|
+
- Prefer smallest safe change.
|
|
22
|
+
- Ask reviewer for clarification when acceptance criteria are unclear.
|
|
23
|
+
- Keep unresolved until change is implemented and verified.
|