@laitszkin/apollo-toolkit 3.11.8 → 3.12.1
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 +6 -6
- package/CHANGELOG.md +20 -2
- package/README.md +9 -10
- package/align-project-documents/SKILL.md +20 -69
- package/align-project-documents/references/templates/standardized-docs-template.md +1 -1
- package/analyse-app-logs/scripts/__pycache__/filter_logs_by_time.cpython-312.pyc +0 -0
- package/analyse-app-logs/scripts/__pycache__/log_cli_utils.cpython-312.pyc +0 -0
- package/analyse-app-logs/scripts/__pycache__/search_logs.cpython-312.pyc +0 -0
- package/archive-specs/SKILL.md +18 -70
- package/commit-and-push/SKILL.md +22 -52
- package/develop-new-features/SKILL.md +15 -60
- package/docs-to-voice/scripts/__pycache__/docs_to_voice.cpython-312.pyc +0 -0
- package/enhance-existing-features/SKILL.md +24 -61
- package/generate-spec/SKILL.md +15 -18
- package/generate-spec/references/templates/coordination.md +0 -1
- package/generate-spec/scripts/__pycache__/create-specscpython-312.pyc +0 -0
- package/implement-specs/SKILL.md +27 -62
- package/implement-specs-with-subagents/SKILL.md +28 -71
- package/implement-specs-with-worktree/SKILL.md +38 -62
- package/init-project-html/SKILL.md +26 -116
- package/iterative-code-performance/SKILL.md +1 -1
- package/iterative-code-quality/SKILL.md +1 -1
- package/katex/scripts/__pycache__/render_katex.cpython-312.pyc +0 -0
- package/maintain-project-constraints/SKILL.md +21 -79
- package/maintain-project-constraints/references/constraint-file-reference.md +58 -0
- package/merge-changes-from-local-branches/SKILL.md +26 -100
- package/open-github-issue/scripts/__pycache__/open_github_issue.cpython-312.pyc +0 -0
- package/open-source-pr-workflow/SKILL.md +4 -7
- package/optimise-skill/SKILL.md +9 -9
- package/optimise-skill/references/definition.md +6 -5
- package/optimise-skill/references/example_skill.md +9 -9
- package/package.json +1 -1
- package/read-github-issue/scripts/__pycache__/find_issues.cpython-312.pyc +0 -0
- package/read-github-issue/scripts/__pycache__/read_issue.cpython-312.pyc +0 -0
- package/resolve-review-comments/scripts/__pycache__/review_threads.cpython-312.pyc +0 -0
- package/review-spec-related-changes/SKILL.md +24 -67
- package/ship-github-issue-fix/SKILL.md +2 -2
- package/solve-issues-found-during-review/SKILL.md +11 -74
- package/spec-to-project-html/SKILL.md +26 -75
- package/submission-readiness-check/SKILL.md +26 -62
- package/systematic-debug/SKILL.md +48 -64
- package/test-case-strategy/SKILL.md +38 -85
- package/text-to-short-video/scripts/__pycache__/enforce_video_aspect_ratio.cpython-312.pyc +0 -0
- package/update-project-html/SKILL.md +25 -94
- package/version-release/SKILL.md +39 -74
- package/archive-specs/references/templates/architecture.md +0 -21
- package/archive-specs/references/templates/docs-index.md +0 -39
- package/archive-specs/references/templates/features.md +0 -25
- package/archive-specs/references/templates/principles.md +0 -28
- package/discover-edge-cases/CHANGELOG.md +0 -19
- package/discover-edge-cases/LICENSE +0 -21
- package/discover-edge-cases/README.md +0 -87
- package/discover-edge-cases/SKILL.md +0 -91
- package/discover-edge-cases/agents/openai.yaml +0 -4
- package/discover-edge-cases/references/architecture-edge-cases.md +0 -41
- package/discover-edge-cases/references/code-edge-cases.md +0 -46
- package/discover-security-issues/CHANGELOG.md +0 -32
- package/discover-security-issues/LICENSE +0 -21
- package/discover-security-issues/README.md +0 -35
- package/discover-security-issues/SKILL.md +0 -88
- package/discover-security-issues/agents/openai.yaml +0 -4
- package/discover-security-issues/references/agent-attack-catalog.md +0 -117
- package/discover-security-issues/references/common-software-attack-catalog.md +0 -168
- package/discover-security-issues/references/red-team-extreme-scenarios.md +0 -81
- package/discover-security-issues/references/risk-checklist.md +0 -78
- package/discover-security-issues/references/security-test-patterns-agent.md +0 -101
- package/discover-security-issues/references/security-test-patterns-finance.md +0 -88
- package/discover-security-issues/references/test-snippets.md +0 -73
- package/recover-missing-plan/SKILL.md +0 -85
- package/recover-missing-plan/agents/openai.yaml +0 -4
- package/review-change-set/LICENSE +0 -21
- package/review-change-set/README.md +0 -55
- package/review-change-set/SKILL.md +0 -96
- package/review-change-set/agents/openai.yaml +0 -4
- package/review-codebases/LICENSE +0 -21
- package/review-codebases/README.md +0 -69
- package/review-codebases/SKILL.md +0 -103
- package/review-codebases/agents/openai.yaml +0 -4
- package/scheduled-runtime-health-check/LICENSE +0 -21
- package/scheduled-runtime-health-check/README.md +0 -107
- package/scheduled-runtime-health-check/SKILL.md +0 -135
- package/scheduled-runtime-health-check/agents/openai.yaml +0 -4
- package/scheduled-runtime-health-check/references/output-format.md +0 -20
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# [Project Name] Documentation Index
|
|
2
|
-
|
|
3
|
-
## Features (`docs/features/`)
|
|
4
|
-
|
|
5
|
-
User-facing capabilities described with BDD scenarios (Given/When/Then). Each file covers one functional category.
|
|
6
|
-
|
|
7
|
-
| File | Category | Description |
|
|
8
|
-
| --- | --- | --- |
|
|
9
|
-
| `docs/features/[category].md` | [category name] | [One-line description] |
|
|
10
|
-
|
|
11
|
-
## Architecture (`docs/architecture/`)
|
|
12
|
-
|
|
13
|
-
Macro-level design principles organized by module or layer. Each principle is abstract enough to survive minor code changes.
|
|
14
|
-
|
|
15
|
-
| File | Module | Description |
|
|
16
|
-
| --- | --- | --- |
|
|
17
|
-
| `docs/architecture/[module].md` | [module name] | [One-line description] |
|
|
18
|
-
|
|
19
|
-
## Principles (`docs/principles/`)
|
|
20
|
-
|
|
21
|
-
Code style, naming conventions, and development constraints extracted from the codebase.
|
|
22
|
-
|
|
23
|
-
| File | Topic | Description |
|
|
24
|
-
| --- | --- | --- |
|
|
25
|
-
| `docs/principles/[topic].md` | [topic name] | [One-line description] |
|
|
26
|
-
|
|
27
|
-
## Root Documents
|
|
28
|
-
|
|
29
|
-
- `README.md` — project overview and quick start
|
|
30
|
-
- `CONTRIBUTING.md` — contribution workflow (if applicable)
|
|
31
|
-
- `SECURITY.md` — vulnerability reporting (if applicable)
|
|
32
|
-
- `CHANGELOG.md` — release history (if applicable)
|
|
33
|
-
|
|
34
|
-
## Reference List
|
|
35
|
-
|
|
36
|
-
- Source specs reviewed: [list of spec directories/files]
|
|
37
|
-
- Existing docs updated: [paths]
|
|
38
|
-
- Important code/config references: [paths]
|
|
39
|
-
- Remaining unknowns: [list or `None`]
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# <功能類別名稱>
|
|
2
|
-
|
|
3
|
-
[One-sentence summary of this functional category from a user perspective.]
|
|
4
|
-
|
|
5
|
-
## <功能名稱>
|
|
6
|
-
|
|
7
|
-
- **Given** <前置條件>
|
|
8
|
-
- **When** <使用者操作>
|
|
9
|
-
- **Then** <預期結果>
|
|
10
|
-
|
|
11
|
-
## <功能名稱>
|
|
12
|
-
|
|
13
|
-
- **Given** <前置條件>
|
|
14
|
-
- **When** <使用者操作>
|
|
15
|
-
- **Then** <預期結果>
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Writing Rules
|
|
20
|
-
|
|
21
|
-
- Describe behavior from a user's perspective; never mention file paths, function names, or database tables.
|
|
22
|
-
- Use BDD phrasing: **Given** (precondition) → **When** (action) → **Then** (outcome).
|
|
23
|
-
- Each file covers exactly one functional category (e.g., authentication, data export, notifications).
|
|
24
|
-
- Group related features under descriptive subheadings.
|
|
25
|
-
- Title the file with a term users would recognize, not a module name.
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# <慣例類別>
|
|
2
|
-
|
|
3
|
-
[One-sentence summary of what this convention area covers.]
|
|
4
|
-
|
|
5
|
-
## <慣例名稱>
|
|
6
|
-
|
|
7
|
-
<慣例描述>
|
|
8
|
-
|
|
9
|
-
**理由**: <為什麼採用此慣例>
|
|
10
|
-
|
|
11
|
-
**範例**: <從代碼庫提取的具體範例>
|
|
12
|
-
|
|
13
|
-
## <慣例名稱>
|
|
14
|
-
|
|
15
|
-
<慣例描述>
|
|
16
|
-
|
|
17
|
-
**理由**: <為什麼採用此慣例>
|
|
18
|
-
|
|
19
|
-
**範例**: <從代碼庫提取的具體範例>
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Writing Rules
|
|
24
|
-
|
|
25
|
-
- Each file covers one convention area (e.g., naming, coding style, dependency management, error handling, testing).
|
|
26
|
-
- State the convention clearly.
|
|
27
|
-
- Provide rationale traceable to the codebase.
|
|
28
|
-
- Include a brief example from the codebase, not an invented one.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
## [v0.2.1] - 2026-02-17
|
|
6
|
-
|
|
7
|
-
### Changed
|
|
8
|
-
- Remove `submit-changes` skill dependency from no-diff release flow while keeping the PR workflow.
|
|
9
|
-
- Update skill and README guidance to use direct git commit/push before opening a PR.
|
|
10
|
-
|
|
11
|
-
## [v0.2.0] - 2026-02-17
|
|
12
|
-
|
|
13
|
-
### Added
|
|
14
|
-
- Add no-diff workflow guidance to scan the whole codebase for actionable edge cases.
|
|
15
|
-
- Add release-flow guidance for no-diff fixes: create worktree, use `submit-changes`, and open a PR.
|
|
16
|
-
|
|
17
|
-
### Changed
|
|
18
|
-
- Clarify scope selection logic: `git diff` path uses changed files only; no-diff path uses full-codebase scan.
|
|
19
|
-
- Expand README examples to include a no-diff prompt and expected execution path.
|
|
@@ -1,21 +0,0 @@
|
|
|
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.
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# discover-edge-cases
|
|
2
|
-
|
|
3
|
-
`discover-edge-cases` is a Codex skill for discovering reproducible edge-case risks and coverage gaps.
|
|
4
|
-
|
|
5
|
-
## Brief introduction
|
|
6
|
-
|
|
7
|
-
This skill is discovery-oriented. It scans the current diff by default, or the full codebase
|
|
8
|
-
when there is no diff, then validates the highest-risk edge cases with concrete evidence.
|
|
9
|
-
It does not write tests, patch code, or open PRs.
|
|
10
|
-
|
|
11
|
-
It follows a strict workflow:
|
|
12
|
-
1. Detect whether `git diff` exists.
|
|
13
|
-
2. Inspect only changed files plus minimal dependencies, or perform a full-project scan when no diff exists.
|
|
14
|
-
3. Run `discover-security-issues` as an adversarial dependency for code-affecting scope.
|
|
15
|
-
4. Probe the highest-risk edge cases and gather concrete evidence.
|
|
16
|
-
5. Reproduce confirmed issues at least twice and check nearby variants.
|
|
17
|
-
6. Prioritize confirmed findings and report hardening guidance only.
|
|
18
|
-
|
|
19
|
-
## When to use
|
|
20
|
-
|
|
21
|
-
Use this skill when a task asks you to:
|
|
22
|
-
- find edge-case risks in a diff or codebase,
|
|
23
|
-
- validate unusual inputs and error paths,
|
|
24
|
-
- assess hardening gaps around null/empty/boundary handling,
|
|
25
|
-
- review retries, timeouts, degradation paths, or stateful failure modes.
|
|
26
|
-
|
|
27
|
-
## Core principles
|
|
28
|
-
|
|
29
|
-
- Scope is `git diff` plus the minimal dependency chain by default.
|
|
30
|
-
- If `git diff` is empty, run a full-codebase scan focused on high-risk modules.
|
|
31
|
-
- Treat prior authorship as irrelevant; even code written earlier in the same conversation must be challenged like third-party code.
|
|
32
|
-
- Decisions must be evidence-based; speculative ideas stay marked as hypotheses.
|
|
33
|
-
- Keep only reproducible findings with exact evidence.
|
|
34
|
-
- Run `discover-security-issues` as a required adversarial cross-check for code-affecting scope.
|
|
35
|
-
- Report recommended fixes and test ideas, but do not implement them in this skill.
|
|
36
|
-
|
|
37
|
-
## External API requirements
|
|
38
|
-
|
|
39
|
-
When the selected scope involves external API calls, this skill requires checks for:
|
|
40
|
-
- health/availability handling,
|
|
41
|
-
- graceful handling of `429` and `500` responses,
|
|
42
|
-
- actionable error logging (status code, request id, retry count, latency).
|
|
43
|
-
|
|
44
|
-
## Example
|
|
45
|
-
|
|
46
|
-
Prompt example:
|
|
47
|
-
|
|
48
|
-
```text
|
|
49
|
-
Please review this PR diff and find the 3 highest-risk edge cases.
|
|
50
|
-
Validate null input, boundary timestamp, and API 429 retry behavior.
|
|
51
|
-
Only report confirmed findings with reproduction evidence and suggested test coverage.
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Expected behavior:
|
|
55
|
-
- only changed files and minimal dependency chain are investigated,
|
|
56
|
-
- each finding includes reproducible evidence,
|
|
57
|
-
- speculative ideas are separated from confirmed issues,
|
|
58
|
-
- the output stays discovery-only with no code edits.
|
|
59
|
-
|
|
60
|
-
No-diff prompt example:
|
|
61
|
-
|
|
62
|
-
```text
|
|
63
|
-
There is no git diff in this repo. Scan the whole codebase for high-risk edge cases.
|
|
64
|
-
If you find any actionable issues, reproduce them with evidence and report the highest-priority findings only.
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## References
|
|
68
|
-
|
|
69
|
-
- [`SKILL.md`](./SKILL.md) - full workflow and execution rules.
|
|
70
|
-
- [`references/architecture-edge-cases.md`](./references/architecture-edge-cases.md) - cross-module/system-level edge-case checklist.
|
|
71
|
-
- [`references/code-edge-cases.md`](./references/code-edge-cases.md) - code-level input, boundary, and error-path checklist.
|
|
72
|
-
|
|
73
|
-
## Repository structure
|
|
74
|
-
|
|
75
|
-
```text
|
|
76
|
-
.
|
|
77
|
-
├── LICENSE
|
|
78
|
-
├── SKILL.md
|
|
79
|
-
├── README.md
|
|
80
|
-
└── references
|
|
81
|
-
├── architecture-edge-cases.md
|
|
82
|
-
└── code-edge-cases.md
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## License
|
|
86
|
-
|
|
87
|
-
MIT
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: discover-edge-cases
|
|
3
|
-
description: >-
|
|
4
|
-
Diff-first (or full-repo) discovery of **reproducible** edge-case risks: boundaries, null/empty, failure paths, concurrency, observability; evidence via code/tests/runtime—**no edits, no new tests, no PRs**. For code-affecting scope, cross-check with **`discover-security-issues`** before final report.
|
|
5
|
-
Use for edge-case review, hardening gaps, unusual inputs/error paths, pre-merge risk pass **STOP** implementation or “just fix it here”… BAD unproven alarm list… GOOD path:line + double repro…
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Discover Edge Cases
|
|
9
|
-
|
|
10
|
-
## Dependencies
|
|
11
|
-
|
|
12
|
-
- Required: none.
|
|
13
|
-
- Conditional: **`discover-security-issues`** on **code-affecting** scope before finalizing the report (adversarial security pass).
|
|
14
|
-
- Optional: none.
|
|
15
|
-
- Fallback: If that security cross-check is **required** but unavailable, **MUST** stop and report the missing dependency.
|
|
16
|
-
|
|
17
|
-
## Non-negotiables
|
|
18
|
-
|
|
19
|
-
- **Discovery-only**: **MUST NOT** edit code, add/modify tests, or open PRs.
|
|
20
|
-
- **MUST** keep only **reproducible** findings; label guesses as **hypotheses**.
|
|
21
|
-
- **MUST** reproduce each **confirmed** issue **at least twice** (same trigger); vary neighbors (empty vs null, malformed vs wrong-type).
|
|
22
|
-
- **MUST** discard authorship bias—including code from earlier in the conversation.
|
|
23
|
-
- If remediation is requested: finish this pass first; hand off **confirmed** items to an implementation workflow.
|
|
24
|
-
|
|
25
|
-
## Standards (summary)
|
|
26
|
-
|
|
27
|
-
- **Evidence**: `path:line`, commands/inputs, test output, or runtime symptoms—no intent-only claims.
|
|
28
|
-
- **Execution**: Scope → baseline read → focused probes (2–5 high-impact) → validate → prioritize → report.
|
|
29
|
-
- **Quality**: Prefer fewer strong findings; flag data integrity, silent failure, retry storms, cross-module propagation.
|
|
30
|
-
- **Output**: Prioritized findings, reproduction, risk, hardening **advice**, residual risk/hypotheses.
|
|
31
|
-
|
|
32
|
-
## Workflow
|
|
33
|
-
|
|
34
|
-
**Chain-of-thought:** Answer **`Pause →`** each step; if scope is wrong, fix before probing.
|
|
35
|
-
|
|
36
|
-
### 1) Determine scan scope
|
|
37
|
-
|
|
38
|
-
- `git diff --name-only` first.
|
|
39
|
-
- **With diff**: changed files + minimum dependency chain to validate suspected edges.
|
|
40
|
-
- **No diff**: whole project, prioritizing domain logic, external boundaries, stateful/concurrent modules.
|
|
41
|
-
- If nothing actionable after honest pass: report `No actionable edge-case finding identified` and stop.
|
|
42
|
-
- **Pause →** Can I name the **smallest file set** I must read—not the whole monorepo by default?
|
|
43
|
-
|
|
44
|
-
### 2) Build factual baseline
|
|
45
|
-
|
|
46
|
-
- Read end-to-end before judging; derive behavior from code, tests, runtime only.
|
|
47
|
-
- Clarify contracts: types, ranges, null, ordering, retries, state transitions.
|
|
48
|
-
- **Pause →** What did I **execute** (test/command) vs only read?
|
|
49
|
-
|
|
50
|
-
### 3) Focused probes (prioritize 2–5)
|
|
51
|
-
|
|
52
|
-
Target high-risk patterns tied to scope:
|
|
53
|
-
|
|
54
|
-
- Empty/null/malformed/unexpected types; boundaries (0, 1, min/max, overflow); duplicates/order.
|
|
55
|
-
- Dependency failure: timeout, partial data, retry loops; invalid formats.
|
|
56
|
-
- Concurrency/reentrancy; architecture edges: backpressure, exhaustion, partial commit/rollback.
|
|
57
|
-
- **HTTP/API** (if in scope): 429/500 behavior; logging with status/id/retry/latency (no silent fails).
|
|
58
|
-
|
|
59
|
-
Load as needed: `references/architecture-edge-cases.md`, `references/code-edge-cases.md`.
|
|
60
|
-
- **Pause →** Would **discover-security-issues** flag this sink if it is auth/input injection—did I schedule that pass for code changes?
|
|
61
|
-
|
|
62
|
-
### 4) Confirm reproducibility
|
|
63
|
-
|
|
64
|
-
- Two passes per confirmed issue; note variants tried; keep unconfirmed as hypotheses.
|
|
65
|
-
|
|
66
|
-
### 5) Prioritize
|
|
67
|
-
|
|
68
|
-
- User impact, frequency/exploitability, blast radius; call out integrity, state corruption, silent failure.
|
|
69
|
-
|
|
70
|
-
### 6) Security cross-check (code-affecting)
|
|
71
|
-
|
|
72
|
-
- Run **`discover-security-issues`** on the **same** scope; integrate **confirmed** security items (do not duplicate as edge trivia unless distinct).
|
|
73
|
-
|
|
74
|
-
### 7) Report only
|
|
75
|
-
|
|
76
|
-
Deliver: (1) Findings—title, severity, evidence, repro, broken invariant; (2) Edge evidence—preconditions, observation, variants; (3) Risk—impact/likelihood/scope; (4) Hardening guidance (advisory); (5) Residual risk—hypotheses, next checks.
|
|
77
|
-
|
|
78
|
-
## Minimum coverage (apply what fits scope)
|
|
79
|
-
|
|
80
|
-
- Input validation; boundary behavior; failure/degraded modes; state/idempotency/concurrency/rollback; actionable observability.
|
|
81
|
-
|
|
82
|
-
## Sample hints
|
|
83
|
-
|
|
84
|
-
- **Diff**: One new parser → empty string + max length + malformed delimiter **before** “maybe SQL.”
|
|
85
|
-
- **No diff**: Start at payment/state machine module—highest consequence.
|
|
86
|
-
- **Handoff**: Five confirmed edges → remediation skill gets **numbered list + repro**—not this skill patching.
|
|
87
|
-
|
|
88
|
-
## References
|
|
89
|
-
|
|
90
|
-
- `references/architecture-edge-cases.md` — system-level checklist.
|
|
91
|
-
- `references/code-edge-cases.md` — code-level input/error/concurrency checklist.
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: "Discover Edge Cases"
|
|
3
|
-
short_description: "Find reproducible edge-case risks with evidence-only reporting"
|
|
4
|
-
default_prompt: "Use $discover-edge-cases to scan the current diff first (or the full codebase when there is no diff), discard any bias toward code written earlier in the conversation, run $discover-security-issues as an adversarial cross-check for code-affecting scope, identify the highest-risk reproducible edge-case findings, validate them with concrete evidence, prioritize the confirmed risks, and report hardening and test recommendations without modifying code."
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# Common Architecture-level Edge Cases (Reference List)
|
|
2
|
-
|
|
3
|
-
## How to use
|
|
4
|
-
- Pick only 2-5 items directly related to the current change; avoid exhaustive scans.
|
|
5
|
-
- If changes involve external dependencies/concurrency/scheduling/messaging, prioritize matching sections.
|
|
6
|
-
|
|
7
|
-
## Concurrency and synchronization
|
|
8
|
-
- Race conditions: concurrent updates to the same resource cause overwrite/lost updates
|
|
9
|
-
- Deadlock/livelock: inconsistent lock ordering, reentrant lock misuse, or busy-wait loops
|
|
10
|
-
- Visibility/memory consistency: cross-thread state is not synchronized
|
|
11
|
-
- Async task leaks: background tasks not cancelled or cleaned up
|
|
12
|
-
|
|
13
|
-
## Backpressure and resources
|
|
14
|
-
- Backpressure failure: slow downstream causes upstream queue growth, OOM, or queue saturation
|
|
15
|
-
- Resource starvation: high-priority tasks monopolize resources
|
|
16
|
-
- Connection pool exhaustion: unreleased or delayed-release connections
|
|
17
|
-
- File/socket leaks: exception paths skip close/release
|
|
18
|
-
|
|
19
|
-
## Distributed systems
|
|
20
|
-
- Network partition/intermittent unreachable state: requires retry/degrade/isolation strategy
|
|
21
|
-
- Retry storms: retry amplification under failure
|
|
22
|
-
- Consistency gaps: stale reads or partial writes
|
|
23
|
-
- Duplicate messages: at-least-once delivery causes duplicate processing
|
|
24
|
-
- Message ordering: reordering/out-of-order events corrupt state
|
|
25
|
-
- Clock skew: time-based ordering/expiration becomes incorrect
|
|
26
|
-
|
|
27
|
-
## Timeout and cancellation
|
|
28
|
-
- Timeout not propagated: child tasks continue and consume resources
|
|
29
|
-
- Non-reentrant cancellation: retry causes inconsistent state
|
|
30
|
-
- Timeout boundary flapping: unstable behavior near timeout thresholds
|
|
31
|
-
|
|
32
|
-
## Error handling and rollback
|
|
33
|
-
- Partial success: multi-step writes complete only partially
|
|
34
|
-
- Rollback failure: compensation action fails and leaves inconsistent data
|
|
35
|
-
- Swallowed exceptions: errors are neither surfaced nor logged
|
|
36
|
-
- Missing idempotency: retries create duplicate side effects
|
|
37
|
-
|
|
38
|
-
## Deployment and versioning
|
|
39
|
-
- Rolling upgrade mismatch: old/new versions run together with inconsistent behavior
|
|
40
|
-
- Config drift: node configurations diverge
|
|
41
|
-
- Hot reload instability: temporary unavailability or state loss during reload
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# Common Code-level Edge Cases (Reference List)
|
|
2
|
-
|
|
3
|
-
## How to use
|
|
4
|
-
- Pick only 2-5 items directly related to the current change.
|
|
5
|
-
- Prioritize observable failures and high-risk inputs.
|
|
6
|
-
|
|
7
|
-
## Input and typing
|
|
8
|
-
- Null/missing fields: None/null, empty string, empty collection
|
|
9
|
-
- Unexpected types: string-number mixing, boolean-integer confusion
|
|
10
|
-
- Oversized input: long strings, large arrays, deeply nested objects
|
|
11
|
-
- Encoding issues: UTF-8/non-ASCII, invisible characters
|
|
12
|
-
|
|
13
|
-
## Boundaries and numerics
|
|
14
|
-
- Off-by-one: index 0/1 and length boundaries
|
|
15
|
-
- Overflow/underflow: integer/timestamp boundaries
|
|
16
|
-
- NaN/Inf: floating-point special values
|
|
17
|
-
- Precision loss: money/ratio calculations
|
|
18
|
-
- Negative values where invalid
|
|
19
|
-
|
|
20
|
-
## Structure and ordering
|
|
21
|
-
- Duplicate elements: dedup/accumulation logic
|
|
22
|
-
- Ordering assumptions: sorting stability, input-order dependence
|
|
23
|
-
- Empty/singleton collections: reduce/min/max/avg behavior
|
|
24
|
-
- Mutable/immutable mismatch: in-place mutation of input data
|
|
25
|
-
|
|
26
|
-
## Exceptions and error handling
|
|
27
|
-
- Parsing failures: date/timezone, JSON, CSV
|
|
28
|
-
- External dependency failures: 429/500/timeout
|
|
29
|
-
- Swallowed errors: `except pass` or missing logs
|
|
30
|
-
- Recovery strategy: retry count, backoff, degradation
|
|
31
|
-
|
|
32
|
-
## State and side effects
|
|
33
|
-
- Reentrancy: same request invoked multiple times
|
|
34
|
-
- Global state contamination: cache/singleton bleed-through
|
|
35
|
-
- Mutable default parameters: Python list/dict defaults
|
|
36
|
-
- Resource release: file/connection not closed
|
|
37
|
-
|
|
38
|
-
## Security and validation
|
|
39
|
-
- Insufficient authorization behavior
|
|
40
|
-
- Validation bypass via null/0/False
|
|
41
|
-
- Path/injection risks from string concatenation
|
|
42
|
-
|
|
43
|
-
## Performance and limits
|
|
44
|
-
- N+1 query patterns inside loops
|
|
45
|
-
- Large-data stress: timeout/memory pressure
|
|
46
|
-
- Hotspots: lock contention under high-frequency calls
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on Keep a Changelog and this project follows Semantic Versioning.
|
|
6
|
-
|
|
7
|
-
## [v0.0.3] - 2026-05-06
|
|
8
|
-
|
|
9
|
-
### Changed
|
|
10
|
-
- Rename skill directory and identifier from `harden-app-security` to `discover-security-issues`; refresh `SKILL.md`, `README.md`, and agent display metadata to match discovery-only semantics.
|
|
11
|
-
|
|
12
|
-
## [v0.0.2] - 2026-03-11
|
|
13
|
-
|
|
14
|
-
### Changed
|
|
15
|
-
- Reworked the skill into a single discovery-only workflow and removed interaction/auto mode selection.
|
|
16
|
-
- Removed proactive remediation behavior from the core workflow (no direct patching or PR delivery).
|
|
17
|
-
- Expanded module scope from agent/finance only to include a new `software-system` domain for common software and web vulnerabilities.
|
|
18
|
-
- Updated skill metadata and README to reflect adversarial finding/reporting-only behavior.
|
|
19
|
-
|
|
20
|
-
### Added
|
|
21
|
-
- Added `references/common-software-attack-catalog.md` covering SQL injection, XSS, CSRF, SSRF, path traversal, IDOR/BOLA, command injection, session/token risks, unsafe upload, and misconfiguration checks.
|
|
22
|
-
|
|
23
|
-
## [v0.0.1] - 2026-02-17
|
|
24
|
-
|
|
25
|
-
### Added
|
|
26
|
-
- Documented explicit interaction and auto execution modes in the security hardening workflow.
|
|
27
|
-
- Clarified handoff behavior for interaction mode and delivery expectations for auto mode.
|
|
28
|
-
|
|
29
|
-
### Changed
|
|
30
|
-
- Removed mandatory `$submit-changes` dependency from auto-mode PR delivery.
|
|
31
|
-
- Switched auto-mode delivery guidance to standard git push plus PR creation workflow (prefer `gh pr create`).
|
|
32
|
-
- Updated agent interface metadata to reflect interaction-first execution behavior.
|
|
@@ -1,21 +0,0 @@
|
|
|
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.
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# discover-security-issues
|
|
2
|
-
|
|
3
|
-
Evidence-first, **discovery-only** adversarial security workflow across agent, financial, and general software surfaces.
|
|
4
|
-
|
|
5
|
-
## What this skill provides
|
|
6
|
-
|
|
7
|
-
- Reproduce exploitable behavior with payloads, requests, and `path:line` proof—**no patches or PRs**.
|
|
8
|
-
- Modules: `agent-system`, `financial-program`, `software-system`, and `combined` (cross-boundary chains).
|
|
9
|
-
- Catalog-driven scenarios (SQLi, XSS, CSRF, SSRF, IDOR, prompt injection, money-path races, …).
|
|
10
|
-
- Prioritized reporting plus advisory hardening notes and residual risk.
|
|
11
|
-
|
|
12
|
-
## Layout
|
|
13
|
-
|
|
14
|
-
- `SKILL.md` — workflow, modules, output shape.
|
|
15
|
-
- `agents/openai.yaml` — metadata and default prompt.
|
|
16
|
-
- `references/*` — attack catalogs and optional test-pattern snippets.
|
|
17
|
-
|
|
18
|
-
## Typical use
|
|
19
|
-
|
|
20
|
-
1. Pick module(s) and trust boundaries.
|
|
21
|
-
2. Walk selected reference catalogs; record only **double-reproduced** issues.
|
|
22
|
-
3. Prioritize and report; stop before implementation—hand off confirmed findings if fixes are needed.
|
|
23
|
-
|
|
24
|
-
## Example
|
|
25
|
-
|
|
26
|
-
```text
|
|
27
|
-
Use $discover-security-issues in discovery-only mode.
|
|
28
|
-
Module: combined (agent-system + software-system).
|
|
29
|
-
Focus: prompt injection to privileged tools, SQL injection, IDOR.
|
|
30
|
-
Deliver severity-ordered findings with exploit steps and path:line evidence.
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## License
|
|
34
|
-
|
|
35
|
-
MIT. See [LICENSE](LICENSE).
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: discover-security-issues
|
|
3
|
-
description: >-
|
|
4
|
-
Discovery-only adversarial audit: map trust boundaries, run module catalogs (`agent-system`, `financial-program`, `software-system`, `combined`), reproduce exploitable behavior with payloads/commands and `path:line` evidence; prioritize impact × exploitability—**no code edits, no PRs, no auto-remediation**.
|
|
5
|
-
Use for security review, vuln hunting, SQLi/XSS/auth/IDOR checks, agent prompt-injection/tool abuse, money-path races **STOP** when user wants patches shipped—hand off findings… BAD single vague “looks fine”… GOOD two-pass repro, hypothesis vs confirmed…
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Discover Security Issues
|
|
9
|
-
|
|
10
|
-
## Dependencies
|
|
11
|
-
|
|
12
|
-
- Required: none.
|
|
13
|
-
- Conditional: none.
|
|
14
|
-
- Optional: none.
|
|
15
|
-
- Fallback: not applicable.
|
|
16
|
-
|
|
17
|
-
## Non-negotiables
|
|
18
|
-
|
|
19
|
-
- **Discovery-only**: **MUST NOT** edit code, apply patches, open PRs, or run “fix workflows.”
|
|
20
|
-
- **MUST** keep only **reproducible** issues with exploit evidence; separate **hypotheses** from **confirmed** findings.
|
|
21
|
-
- **MUST** reproduce each confirmed exploit **at least twice** on the same path; use nearby payload variants for high-risk sinks.
|
|
22
|
-
- **MUST** discard authorship bias—treat all code as untrusted until evidence proves behavior.
|
|
23
|
-
|
|
24
|
-
## Standards (summary)
|
|
25
|
-
|
|
26
|
-
- **Evidence**: Payload/precondition, observable failure, `path:line`, commands or requests that reproduce.
|
|
27
|
-
- **Execution**: Pick modules → boundaries → scenarios from references → validate → prioritize → report only.
|
|
28
|
-
- **Quality**: Rank by impact, exploitability, reach; unknowns listed under residual risk.
|
|
29
|
-
- **Output**: Findings (severity-ordered), attack evidence, risk notes, hardening **advice** (not patches), residual risk.
|
|
30
|
-
|
|
31
|
-
## Workflow
|
|
32
|
-
|
|
33
|
-
**Chain-of-thought:** After each step, satisfy **`Pause →`** before continuing; halt on missing scope or contradictory module choice.
|
|
34
|
-
|
|
35
|
-
### 1) Scope and modules
|
|
36
|
-
|
|
37
|
-
- Choose one or more of: `agent-system`, `financial-program`, `software-system`, `combined` (cross-boundary chains).
|
|
38
|
-
- List untrusted inputs, privileged actions, and protected assets; state invariants that must hold.
|
|
39
|
-
- **Pause →** Which module catalogs did I **open** (file names)—not guessed from memory?
|
|
40
|
-
|
|
41
|
-
### 2) Execute scenarios from references
|
|
42
|
-
|
|
43
|
-
- **Agent**: `references/agent-attack-catalog.md`; optional `references/security-test-patterns-agent.md` (prompt injection, tool abuse, memory/exfil paths).
|
|
44
|
-
- **Financial**: `references/red-team-extreme-scenarios.md`, `references/risk-checklist.md`; optional `references/security-test-patterns-finance.md` (authz, replay/race, idempotency, precision, lifecycle).
|
|
45
|
-
- **Software**: `references/common-software-attack-catalog.md` (SQL/NoSQL/command injection, XSS, CSRF, SSRF, traversal, upload, session/JWT, IDOR/BOLA, deserialization, misconfig).
|
|
46
|
-
- **Combined**: relevant subsets **plus** chains (e.g. injection → privileged API).
|
|
47
|
-
- **Pause →** Did I record **payload + preconditions + observed behavior** for each candidate—not just “maybe vulnerable”?
|
|
48
|
-
|
|
49
|
-
### 3) Validate reproducibility
|
|
50
|
-
|
|
51
|
-
- Re-run each confirmed path twice; add encoding/casing/delimiter variants on hot sinks.
|
|
52
|
-
- **Pause →** Is anything still “likely” without a second repro—downgrade to hypothesis?
|
|
53
|
-
|
|
54
|
-
### 4) Prioritize
|
|
55
|
-
|
|
56
|
-
- Order Critical/High → Medium → Low using impact, exploitability, blast radius (multi-tenant / cross-tenant called out).
|
|
57
|
-
|
|
58
|
-
### 5) Report only
|
|
59
|
-
|
|
60
|
-
Deliver (see **Output shape** below): findings, attack evidence, prioritization, hardening guidance (advisory), residual risk.
|
|
61
|
-
|
|
62
|
-
## Minimum coverage (apply per selected module)
|
|
63
|
-
|
|
64
|
-
- **Core**: trust boundaries, authn/authz, input → dangerous sink paths, secrets/sensitive data handling.
|
|
65
|
-
- **Agent**: prompt/indirect injection, unauthorized tools/actions, exfil, memory poisoning resistance.
|
|
66
|
-
- **Financial**: object-level authz, replay/race/idempotency, precision, oracle/side-effect safety, failure consistency.
|
|
67
|
-
- **Software**: injection families, XSS/CSRF/SSRF, traversal/upload, session/JWT, brute-force/rate limits, debug/CORS/secrets exposure.
|
|
68
|
-
- **Combined**: module checks + realistic cross-boundary chains.
|
|
69
|
-
|
|
70
|
-
## Output shape
|
|
71
|
-
|
|
72
|
-
1. **Findings** (high → low): title, severity, evidence (`path:line`), reproduction steps/payload, impacted invariant/asset.
|
|
73
|
-
2. **Attack evidence**: preconditions, commands/requests, observed insecure behavior, variant results.
|
|
74
|
-
3. **Risk prioritization**: impact, exploitability, reach; why it matters in **this** system.
|
|
75
|
-
4. **Hardening guidance** (advice only): fix direction, validation focus post-remediation.
|
|
76
|
-
5. **Residual risk**: hypotheses, assumptions, follow-up probes.
|
|
77
|
-
|
|
78
|
-
## Sample hints
|
|
79
|
-
|
|
80
|
-
- **Module**: Web API + Claude tool-use → `combined` (software + agent); deposits/withdrawals → include `financial-program`.
|
|
81
|
-
- **Evidence**: “SQLi possible” without two runs + exact parameter → stays **hypothesis** until repro’d.
|
|
82
|
-
- **Stop line**: User says “patch it now” → finish report; hand off to implementation skills—**do not** self-patch here.
|
|
83
|
-
|
|
84
|
-
## References
|
|
85
|
-
|
|
86
|
-
- `references/agent-attack-catalog.md`, `references/security-test-patterns-agent.md`
|
|
87
|
-
- `references/red-team-extreme-scenarios.md`, `references/risk-checklist.md`, `references/security-test-patterns-finance.md`
|
|
88
|
-
- `references/common-software-attack-catalog.md`, `references/test-snippets.md` (optional snippets)
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: "Discover Security Issues"
|
|
3
|
-
short_description: "Discovery-only adversarial audit: reproducible exploits across agent, finance, and software stacks"
|
|
4
|
-
default_prompt: "Use $discover-security-issues to run a discovery-only adversarial audit. Reproduce exploitable vulnerabilities with concrete evidence and severity prioritization across agent-system, financial-program, and software-system scopes (including SQL injection and common web flaws). Do not apply code fixes or PR actions."
|