jhste-skills 0.2.0 → 0.3.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/CHANGELOG.md +27 -0
- package/README.ja.md +25 -25
- package/README.ko.md +24 -24
- package/README.md +24 -24
- package/README.zh.md +25 -25
- package/adapters/codex/README.md +4 -1
- package/cli/baseline.mjs +52 -3
- package/cli/deep-scan/analyze.mjs +4 -4
- package/cli/deep-scan/report.mjs +5 -5
- package/cli/deep-scan.mjs +11 -0
- package/cli/guard/registry.mjs +1 -1
- package/cli/guard/reporting.mjs +2 -2
- package/cli/guard/scanners/code-health.mjs +4 -4
- package/cli/guard/scanners/data-boundary.mjs +1 -1
- package/cli/guard/scanners/index.mjs +2 -2
- package/cli/guard/scanners/single-responsibility.mjs +2 -2
- package/cli/guard/scanners/solid-design.mjs +3 -3
- package/cli/guard/scanners/ui-runtime.mjs +1 -1
- package/cli/install-actions/apply-plan.mjs +5 -1
- package/cli/install-actions/output.mjs +4 -1
- package/cli/install-actions/preflight.mjs +6 -1
- package/cli/install-actions/profile-writer.mjs +24 -4
- package/cli/install-actions/skills.mjs +1 -0
- package/cli/install-flow/options.mjs +7 -1
- package/cli/install-flow/output.mjs +1 -1
- package/cli/install-flow/plan.mjs +43 -51
- package/cli/profile/parser.mjs +8 -5
- package/cli/profile/schema.mjs +1 -3
- package/cli/profile/validator.mjs +0 -3
- package/cli/shared/generated-profile.mjs +29 -0
- package/cli/shared/templates.mjs +4 -6
- package/cli/shared.mjs +1 -0
- package/cli/sync-core.mjs +28 -9
- package/cli/uninstall.mjs +3 -14
- package/docs/ACCEPTANCE_CHECK.md +4 -4
- package/docs/CLI.md +12 -9
- package/docs/CONFLICT_RESOLUTION.md +6 -3
- package/docs/RULES.md +6 -6
- package/examples/profile.yaml +0 -5
- package/package.json +2 -1
- package/rules/core/dependency_boundary_advisory.yaml +1 -1
- package/rules/core/extension_seam_advisory.yaml +5 -5
- package/rules/core/responsibility_budget.yaml +1 -1
- package/rules/core/single_responsibility_advisory.yaml +1 -1
- package/scripts/docs-check-data.mjs +3 -3
- package/scripts/docs-check.mjs +3 -3
- package/scripts/profile-fixtures-test.mjs +88 -1
- package/scripts/smoke/helpers.mjs +29 -0
- package/scripts/smoke/install-scenarios.mjs +13 -27
- package/scripts/smoke/profile-overwrite-scenarios.mjs +136 -0
- package/scripts/solid-design-fixtures-test.mjs +2 -2
- package/skills/codebase-design/DEEPENING.md +8 -8
- package/skills/codebase-design/DESIGN-IT-TWICE.md +5 -5
- package/skills/codebase-design/SKILL.md +20 -16
- package/skills/diagnosing-bugs/SKILL.md +10 -10
- package/skills/domain-modeling/SKILL.md +7 -3
- package/skills/grill-me/SKILL.md +3 -3
- package/skills/grill-with-docs/SKILL.md +6 -4
- package/skills/grilling/SKILL.md +3 -3
- package/skills/handoff/SKILL.md +5 -3
- package/skills/improve-codebase-architecture/DEEPENING.md +8 -8
- package/skills/improve-codebase-architecture/HTML-REPORT.md +7 -7
- package/skills/improve-codebase-architecture/INTERFACE-DESIGN.md +5 -5
- package/skills/improve-codebase-architecture/LANGUAGE.md +12 -12
- package/skills/improve-codebase-architecture/SKILL.md +14 -10
- package/skills/jhste-architecture-review/SKILL.md +6 -6
- package/skills/jhste-architecture-review/references/architecture-review.md +12 -12
- package/skills/jhste-code-quality/SKILL.md +6 -6
- package/skills/jhste-code-quality/references/code-quality.md +5 -5
- package/skills/jhste-crawler-automation/SKILL.md +4 -4
- package/skills/jhste-db-api-boundary/SKILL.md +2 -2
- package/skills/jhste-db-api-boundary/references/db-api-boundary.md +3 -3
- package/skills/{jhste-engineering-judgment → jhste-engineering-groundwork}/SKILL.md +12 -12
- package/skills/{jhste-engineering-judgment → jhste-engineering-groundwork}/references/structure-templates.md +3 -3
- package/skills/jhste-red-team-review/SKILL.md +8 -6
- package/skills/jhste-red-team-review/references/red-team-review.md +6 -6
- package/skills/prototype/SKILL.md +5 -3
- package/skills/setup/SKILL.md +1 -1
- package/skills/setup/references/conflict-policy.md +1 -1
- package/skills/to-issues/SKILL.md +10 -13
- package/skills/to-prd/SKILL.md +10 -6
- package/skills/triage/SKILL.md +9 -3
- package/skills/write-a-skill/SKILL.md +2 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.3.0 - 2026-06-24
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- Added repo-local agent autonomy and standing approval guidance for routine reversible work, tracker/doc workflows, prototypes, handoffs, and bounded review follow-up.
|
|
7
|
+
- Added shared generated-profile detection with legacy generated profile support, including legacy profiles that still contain `guard.exit_codes`.
|
|
8
|
+
- Added `--allow-profile-overwrite` for explicit modified profile replacement when used with `--force`.
|
|
9
|
+
- Added smoke and fixture coverage for profile overwrite safety, legacy generated profiles, deep-scan validation, baseline path handling, legacy guard exit-code no-op handling, and managed skill rename migration.
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Renamed `jhste-engineering-judgment` to `jhste-engineering-groundwork`; managed `sync`/`update` migrate the old managed skill name automatically.
|
|
13
|
+
- Replaced general user-facing “seam” language with “boundary” while preserving stable rule/profile ids such as `extension_seam_advisory` for compatibility.
|
|
14
|
+
- Updated skill descriptions and bodies for grilling, PRD/issues, prototype, handoff, triage, domain modeling, codebase design, architecture review, code quality, groundwork, and red-team review triggers/side-effect policy.
|
|
15
|
+
- Refactored install/connect preset planning to table-driven plan factories so the previous OCP advisory warning is no longer emitted.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- `install --force` no longer overwrites modified/custom `.jhste/profile.yaml` unless `--allow-profile-overwrite` is also supplied.
|
|
19
|
+
- `connect`, `sync`, and `update` now share the same profile overwrite safety policy.
|
|
20
|
+
- New generated/example profiles no longer advertise unsupported `guard.exit_codes`; existing profile `guard.exit_codes` blocks are accepted as legacy no-op configuration.
|
|
21
|
+
- `deep-scan` now validates `.jhste/profile.yaml` and exits with config failure before writing reports when the profile is invalid.
|
|
22
|
+
- `baseline` now validates profile configuration and shows/uses the effective baseline path from CLI args, profile, or the default consistently.
|
|
23
|
+
|
|
24
|
+
### Validation
|
|
25
|
+
- `npm test` passed.
|
|
26
|
+
- `jhste-skills guard --scope changed --format text --fail-on error` passed with 0 warnings/errors.
|
|
27
|
+
- `git diff --check` passed.
|
package/README.ja.md
CHANGED
|
@@ -11,14 +11,14 @@ AI コーディングエージェントが、あなたの定義したエンジ
|
|
|
11
11
|
ここでの SOLID は、自動 compliance チェックリストではなく、設計レビューのレンズです。
|
|
12
12
|
|
|
13
13
|
- **S — Single Responsibility:** 変更された function、module、class は、1 つの主な役割と 1 つの主な変更理由を持つべきです。
|
|
14
|
-
- **O — Open/Closed:** 新しい variant、provider、policy を追加するたびに core branching を何度も編集するなら、実際の extension
|
|
14
|
+
- **O — Open/Closed:** 新しい variant、provider、policy を追加するたびに core branching を何度も編集するなら、実際の extension boundary が必要かを確認します。
|
|
15
15
|
- **L — Liskov Substitution:** 実装は return shape、nullability、error、side effect、文書化された behavior に関する caller の期待を弱めてはいけません。
|
|
16
16
|
- **I — Interface Segregation:** caller が小さく安定した一部だけを必要とするのに、大きな config、interface、props object に依存しないようにします。
|
|
17
|
-
- **D — Dependency Inversion:** high-level policy が DB、API、browser、filesystem、email、payment、queue などの concrete side effect に強く結びつかないようにし、必要な場合は意図的で見える
|
|
17
|
+
- **D — Dependency Inversion:** high-level policy が DB、API、browser、filesystem、email、payment、queue などの concrete side effect に強く結びつかないようにし、必要な場合は意図的で見える boundary にします。
|
|
18
18
|
|
|
19
19
|
このツールはプロジェクトを乗っ取りません。リポジトリ内の `AGENTS.md`、`CLAUDE.md`、docs が常に権威です。デフォルト設定は advisory モードで、marker-managed 方式で管理され、低リスクで試せるように設計されています。
|
|
20
20
|
|
|
21
|
-
Skills は、必要な状況でエージェントが自動的に使うことを想定しています。たとえば API コードを変更する場合は API/database boundary skill を、完了直前には red-team review skill を使うよう促します。ユーザーが明示的に skill を呼び出すこともできます。例: `use jhste-engineering-
|
|
21
|
+
Skills は、必要な状況でエージェントが自動的に使うことを想定しています。たとえば API コードを変更する場合は API/database boundary skill を、完了直前には red-team review skill を使うよう促します。ユーザーが明示的に skill を呼び出すこともできます。例: `use jhste-engineering-groundwork to review this change premise`、`run jhste-red-team-review on this diff`。
|
|
22
22
|
|
|
23
23
|
## なぜインストールするのか?
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@ AI コーディングエージェントは高速ですが、失敗パターン
|
|
|
26
26
|
|
|
27
27
|
- 不明確な要求や誤った前提を黙って受け入れます。
|
|
28
28
|
- 役に立とうとして作業範囲を広げすぎます。
|
|
29
|
-
- UI、route/controller、service、database、side effect の責任を 1 か所に混ぜ込んだり、実際の
|
|
29
|
+
- UI、route/controller、service、database、side effect の責任を 1 か所に混ぜ込んだり、実際の boundary がない抽象化を SOLID 名目で追加したりします。
|
|
30
30
|
- 失敗を隠したり、安全でないログを出したりします。
|
|
31
31
|
- 変更コードを十分確認する前に「完了」と言います。
|
|
32
32
|
- マシンやリポジトリを切り替えるたびに、リポジトリ固有のルールを忘れます。
|
|
@@ -35,7 +35,7 @@ AI コーディングエージェントは高速ですが、失敗パターン
|
|
|
35
35
|
|
|
36
36
|
```text
|
|
37
37
|
non-trivial code change の前:
|
|
38
|
-
goal、premise、ownership
|
|
38
|
+
goal、premise、ownership boundary、data contract、failure path、SOLID-informed review lens を確認
|
|
39
39
|
|
|
40
40
|
編集中:
|
|
41
41
|
repo-local instructions を権威として扱う
|
|
@@ -50,7 +50,7 @@ warning が出た場合:
|
|
|
50
50
|
bounded fix を試し、再確認し、無限ループせず停止する
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
期待される結果は、より小さな diff、より明確な SOLID-informed
|
|
53
|
+
期待される結果は、より小さな diff、より明確な SOLID-informed boundary、より安全な API/database コード、より少ない silent assumption、より誠実な完了報告です。
|
|
54
54
|
|
|
55
55
|
## 誰がインストールすべきか?
|
|
56
56
|
|
|
@@ -83,7 +83,7 @@ jhste-skills install
|
|
|
83
83
|
デフォルトインストールは Normal mode を使います。
|
|
84
84
|
|
|
85
85
|
- bundled skills 全体をインストールします: jhste core skills + vendored workflow skills。
|
|
86
|
-
- `.jhste/profile.yaml`
|
|
86
|
+
- `.jhste/profile.yaml` がなければ作成します。`--force` は generated/managed profile だけを refresh し、modified profile の overwrite には `--force --allow-profile-overwrite` が必要です。
|
|
87
87
|
- project guidance が有効な場合、`AGENTS.md` または `CLAUDE.md` に marker-managed bridge block を追加または更新します。
|
|
88
88
|
- 安全な場合、advisory pre-commit hook をインストールします。
|
|
89
89
|
- CI、対象 `package.json`、lockfile、source code は変更しません。
|
|
@@ -119,7 +119,7 @@ managed outputs を削除するには:
|
|
|
119
119
|
jhste-skills uninstall --yes --repo /path/to/repo
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
-
`uninstall` は managed hook、marker-managed bridge block、manifest-managed skill directory を削除します。non-managed file には触れません。`.jhste/profile.yaml` は generated shape
|
|
122
|
+
`uninstall` は managed hook、marker-managed bridge block、manifest-managed skill directory を削除します。non-managed file には触れません。`.jhste/profile.yaml` は current または legacy generated shape の場合のみ削除されます。変更済み profile を削除する場合は、内容を確認してから `--force-profile` を明示してください。
|
|
123
123
|
|
|
124
124
|
## インストールモード
|
|
125
125
|
|
|
@@ -155,36 +155,36 @@ Custom - 効果ベースの質問でセットアップ範囲を選択
|
|
|
155
155
|
| Skill | いつ使うか | 何を減らすか |
|
|
156
156
|
|---|---|---|
|
|
157
157
|
| [`setup`](skills/setup/SKILL.md)<br>install/connect/update が既存プロジェクト指示を上書きしないようにする安全セットアップ skill | kit をインストール、またはリポジトリに接続するとき | Unsafe overwrite, unmanaged hook conflict, repo instruction replacement |
|
|
158
|
-
| [`jhste-engineering-
|
|
159
|
-
| [`jhste-code-quality`](skills/jhste-code-quality/SKILL.md)<br>input validation、observable failure handling、secret-safe logging
|
|
160
|
-
| [`jhste-architecture-review`](skills/jhste-architecture-review/SKILL.md)<br>module boundary、side-effect placement、SOLID-informed design risk を確認する architecture review skill | module boundary
|
|
158
|
+
| [`jhste-engineering-groundwork`](skills/jhste-engineering-groundwork/SKILL.md)<br>コード変更前に goal、premise、scope、boundary、failure path を検証する pre-change groundwork skill | non-trivial code change の前 | Blind agreement, scope creep, unverified assumption, unclear boundary |
|
|
159
|
+
| [`jhste-code-quality`](skills/jhste-code-quality/SKILL.md)<br>input validation、observable failure handling、secret-safe logging、oversized-file review の skill | external input、failure handling、logging、env/config、code-quality review path を触るとき | Unvalidated input, silent failure, secret logging, oversized file |
|
|
160
|
+
| [`jhste-architecture-review`](skills/jhste-architecture-review/SKILL.md)<br>module boundary、side-effect placement、SOLID-informed design risk を確認する architecture review skill | module boundary、app structure、side-effect placement、responsibility split を変更するとき | Pass-through abstraction, mixed responsibility, side-effect leakage |
|
|
161
161
|
| [`jhste-db-api-boundary`](skills/jhste-db-api-boundary/SKILL.md)<br>API route、service、repository、SQL 間の責任と data contract を確認する boundary skill | API、controller、service、repository、SQL、persistence code を触るとき | Fat route, unsafe SQL, missing auth/data scoping, leaky DTO |
|
|
162
|
-
| [`jhste-crawler-automation`](skills/jhste-crawler-automation/SKILL.md)<br>crawler/scraper/worker/scheduler の producer-consumer
|
|
162
|
+
| [`jhste-crawler-automation`](skills/jhste-crawler-automation/SKILL.md)<br>crawler/scraper/worker/scheduler の producer-consumer boundary と side effect を確認する automation skill | crawler、scraper、worker、scheduler、browser automation を触るとき | Fragile automation, unclear producer/consumer boundary, hidden side effect |
|
|
163
163
|
| [`jhste-red-team-review`](skills/jhste-red-team-review/SKILL.md)<br>完了前に変更コードを攻撃的に再確認する read-only red-team code review skill | non-trivial code work の完了宣言前 | Premature “done”, missed null/auth/env/write/API/performance risk |
|
|
164
164
|
|
|
165
165
|
## Bundled workflow skills
|
|
166
166
|
|
|
167
|
-
Normal install では、Matt Pocock の [`mattpocock/skills`](https://github.com/mattpocock/skills) から vendoring した
|
|
167
|
+
Normal install では、Matt Pocock の [`mattpocock/skills`](https://github.com/mattpocock/skills) から vendoring した 13 個の workflow skills もインストールします。これらは debugging、planning、architecture、issue workflow、prototyping、handoff に役立ちます。インストールしたくない場合は `--skill-set core` を使ってください。
|
|
168
168
|
|
|
169
169
|
| Skill | いつ使うか |
|
|
170
170
|
|---|---|
|
|
171
171
|
| [`diagnosing-bugs`](skills/diagnosing-bugs/SKILL.md)<br>高速な pass/fail feedback loop を中心に root cause を絞り込む debugging skill | reproduce → minimise → hypothesise → instrument → fix ループが必要なとき |
|
|
172
|
-
| [`grill-me`](skills/grill-me/SKILL.md)<br
|
|
173
|
-
| [`grill-with-docs`](skills/grill-with-docs/SKILL.md)<br
|
|
174
|
-
| [`grilling`](skills/grilling/SKILL.md)<br
|
|
172
|
+
| [`grill-me`](skills/grill-me/SKILL.md)<br>ユーザー自身の計画や推論を直接厳しく質問する grilling skill | grilled、challenged、pressure-tested、aggressive questioning を求めるとき |
|
|
173
|
+
| [`grill-with-docs`](skills/grill-with-docs/SKILL.md)<br>grilling の結果を CONTEXT.md や ADR に記録する skill | stress-test に加えて documentation、ADR、glossary、CONTEXT update も必要なとき |
|
|
174
|
+
| [`grilling`](skills/grilling/SKILL.md)<br>docs を書かずに plan/design を pressure-test する read-only grilling skill | challenge、pressure-test、red-team、grill、find gaps が必要なとき |
|
|
175
175
|
| [`domain-modeling`](skills/domain-modeling/SKILL.md)<br>プロジェクト用語、domain model、architectural decision を明確にする skill | domain term、ubiquitous language、architectural decision を整えるとき |
|
|
176
|
-
| [`codebase-design`](skills/codebase-design/SKILL.md)<br>deep module、小さな interface、明確な
|
|
176
|
+
| [`codebase-design`](skills/codebase-design/SKILL.md)<br>deep module、小さな interface、明確な boundary のための codebase design skill | より良い module interface、boundary、testability vocabulary が必要なとき |
|
|
177
177
|
| [`improve-codebase-architecture`](skills/improve-codebase-architecture/SKILL.md)<br>shallow module と coupling を見つけ、deepening opportunity を探す architecture skill | deepening opportunity を見つけ、architectural friction を減らしたいとき |
|
|
178
|
-
| [`prototype`](skills/prototype/SKILL.md)<br
|
|
179
|
-
| [`to-prd`](skills/to-prd/SKILL.md)<br
|
|
180
|
-
| [`to-issues`](skills/to-issues/SKILL.md)<br
|
|
181
|
-
| [`triage`](skills/triage/SKILL.md)<br>
|
|
182
|
-
| [`handoff`](skills/handoff/SKILL.md)<br>次の agent や session が続けられるよう context を圧縮する handoff skill |
|
|
178
|
+
| [`prototype`](skills/prototype/SKILL.md)<br>throwaway local code で logic/state model や UI direction を検証する skill | prototype、mock up、try designs、sanity-check、“let me play with it” の依頼時 |
|
|
179
|
+
| [`to-prd`](skills/to-prd/SKILL.md)<br>PRD draft を作成し通常の PRD workflow に載せられる形にする skill | PRD が必要なとき; tracker publish は直接依頼または repo approval がある場合のみ |
|
|
180
|
+
| [`to-issues`](skills/to-issues/SKILL.md)<br>計画を issue-ready vertical slices に分解する skill | implementation tickets/work breakdown が必要なとき; tracker creation は直接依頼または repo approval がある場合 |
|
|
181
|
+
| [`triage`](skills/triage/SKILL.md)<br>issue を分類し次の action を計画する triage skill | issue classification、next-action planning、repo-approved triage writes が必要なとき |
|
|
182
|
+
| [`handoff`](skills/handoff/SKILL.md)<br>次の agent や session が続けられるよう context を圧縮する handoff skill | handoff、session summary、continuation brief、next-agent context の依頼時 |
|
|
183
183
|
| [`write-a-skill`](skills/write-a-skill/SKILL.md)<br>正しい構造と progressive disclosure で agent skill を作成する skill-writing skill | agent skill を作成または改善したいとき |
|
|
184
184
|
|
|
185
185
|
## Attribution: Matt Pocock skills
|
|
186
186
|
|
|
187
|
-
このリポジトリは、上記
|
|
187
|
+
このリポジトリは、上記 13 個の skills を Matt Pocock の [`mattpocock/skills`](https://github.com/mattpocock/skills) から vendoring しています。
|
|
188
188
|
|
|
189
189
|
これらの skills は upstream MIT License に基づいて vendoring されています。このリポジトリは必要な copyright/license notice を保持し、インポート元を記録しています。
|
|
190
190
|
|
|
@@ -220,7 +220,7 @@ jhste-skills uninstall
|
|
|
220
220
|
2. 最初は advisory hook を維持します。commit-time check が不要なら `--skip-hooks` を使い、blocking mode は noise と false positive を十分確認してから有効にします。
|
|
221
221
|
3. まずデフォルトの 300-line advisory limit を使います。チームが warning-level hook enforcement を受け入れられるようになってから `--line-limit-mode blocking` を使います。
|
|
222
222
|
4. コード変更中は `guard --scope changed --format text --fail-on error` を手動で実行します。
|
|
223
|
-
5. non-trivial code change の前に、`jhste-engineering-
|
|
223
|
+
5. non-trivial code change の前に、`jhste-engineering-groundwork` で scope、boundary、failure path、data contract、assumption、changed class/module/function の SOLID-informed review lens を確認します。
|
|
224
224
|
6. non-trivial code work の完了宣言前に `jhste-red-team-review` を使います。docs-only、comment-only、formatting-only、trivial rename-only の変更はスキップします。
|
|
225
225
|
7. fix + re-review は最大 2 サイクルまでにし、無限ループせず残りの risk を報告します。
|
|
226
226
|
8. baseline は existing debt をレビューした後にだけ作成します。Baseline は known-issues ledger として扱い、scanner failure を隠すのではなく、ratchet で new debt を防ぐために使います。
|
|
@@ -255,7 +255,7 @@ Release acceptance notes は [`docs/ACCEPTANCE_CHECK.md`](docs/ACCEPTANCE_CHECK.
|
|
|
255
255
|
- 盲目的に同意しない。
|
|
256
256
|
- local project authority を上書きしない。
|
|
257
257
|
- 変更範囲を小さく保つ。
|
|
258
|
-
- SOLID-informed coding discipline を使い、responsibility、extension
|
|
258
|
+
- SOLID-informed coding discipline を使い、responsibility、extension boundary、caller contract、interface size、concrete dependency direction を確認する。
|
|
259
259
|
- failure を observable にする。
|
|
260
260
|
- automated guard output を proof ではなく evidence として扱う。
|
|
261
261
|
- non-trivial work を完了と呼ぶ前に red-team code review を行う。
|
package/README.ko.md
CHANGED
|
@@ -11,14 +11,14 @@ AI 코딩 에이전트가 설정한 코딩 기준을 일관되게 따르도록
|
|
|
11
11
|
여기서 SOLID는 자동 준수 체크리스트가 아니라 설계 리뷰 렌즈입니다.
|
|
12
12
|
|
|
13
13
|
- **S — Single Responsibility:** 변경된 함수, 모듈, 클래스는 하나의 주 역할과 하나의 주 변경 이유를 가져야 합니다.
|
|
14
|
-
- **O — Open/Closed:** 새 variant, provider, policy를 추가할 때 핵심 분기문을 계속 고쳐야 한다면 실제 extension
|
|
14
|
+
- **O — Open/Closed:** 새 variant, provider, policy를 추가할 때 핵심 분기문을 계속 고쳐야 한다면 실제 extension boundary가 필요한지 검토합니다.
|
|
15
15
|
- **L — Liskov Substitution:** 구현체는 반환 형태, null 가능성, 에러, side effect, 문서화된 동작에 대한 caller 기대를 약화시키면 안 됩니다.
|
|
16
16
|
- **I — Interface Segregation:** caller가 작은 안정적 일부만 필요한데 거대한 config, interface, props 객체에 의존하지 않게 합니다.
|
|
17
|
-
- **D — Dependency Inversion:** high-level policy가 DB, API, browser, filesystem, email, payment, queue 같은 구체 side effect에 강하게 묶이지 않도록 하고, 필요한 경우 의도적이고 보이는
|
|
17
|
+
- **D — Dependency Inversion:** high-level policy가 DB, API, browser, filesystem, email, payment, queue 같은 구체 side effect에 강하게 묶이지 않도록 하고, 필요한 경우 의도적이고 보이는 boundary로 둡니다.
|
|
18
18
|
|
|
19
19
|
이 도구는 프로젝트를 장악하지 않습니다. 레포 안의 `AGENTS.md`, `CLAUDE.md`, docs가 항상 우선입니다. 기본 설정은 advisory 모드이며, marker-managed 방식으로 동작하고, 부담 없이 시도할 수 있도록 설계되어 있습니다.
|
|
20
20
|
|
|
21
|
-
스킬은 필요한 상황에서 에이전트가 자동으로 사용하도록 설계되어 있습니다. 예를 들어 API 코드를 수정하면 API/database boundary 스킬을, 완료 직전에는 red-team review 스킬을 사용하도록 안내합니다. 사용자가 직접 특정 스킬을 호출할 수도 있습니다. 예: `jhste-engineering-
|
|
21
|
+
스킬은 필요한 상황에서 에이전트가 자동으로 사용하도록 설계되어 있습니다. 예를 들어 API 코드를 수정하면 API/database boundary 스킬을, 완료 직전에는 red-team review 스킬을 사용하도록 안내합니다. 사용자가 직접 특정 스킬을 호출할 수도 있습니다. 예: `jhste-engineering-groundwork를 사용해서 이 변경 전제를 검토해줘`, `jhste-red-team-review로 이 diff를 리뷰해줘`.
|
|
22
22
|
|
|
23
23
|
## 왜 설치해야 하나요?
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@ AI 코딩 에이전트는 빠르지만, 반복적으로 비슷한 방식으로
|
|
|
26
26
|
|
|
27
27
|
- 불명확한 요구사항이나 틀린 전제를 조용히 받아들입니다.
|
|
28
28
|
- 도와주려다가 작업 범위를 과하게 넓힙니다.
|
|
29
|
-
- UI, route/controller, service, database, side effect 책임을 한곳에 섞거나, 실제
|
|
29
|
+
- UI, route/controller, service, database, side effect 책임을 한곳에 섞거나, 실제 boundary 없는 추상화를 SOLID 명목으로 추가합니다.
|
|
30
30
|
- 실패를 숨기거나 위험한 로그를 남깁니다.
|
|
31
31
|
- 변경된 코드를 충분히 확인하기 전에 “완료”라고 말합니다.
|
|
32
32
|
- 머신이나 레포를 바꿀 때마다 레포별 규칙을 잊어버립니다.
|
|
@@ -35,7 +35,7 @@ AI 코딩 에이전트는 빠르지만, 반복적으로 비슷한 방식으로
|
|
|
35
35
|
|
|
36
36
|
```text
|
|
37
37
|
non-trivial code change 전:
|
|
38
|
-
목표, 전제, ownership
|
|
38
|
+
목표, 전제, ownership boundary, data contract, failure path, SOLID-informed review lens 확인
|
|
39
39
|
|
|
40
40
|
수정 중:
|
|
41
41
|
repo-local instructions를 권위로 취급
|
|
@@ -50,7 +50,7 @@ warning이 나오면:
|
|
|
50
50
|
bounded fix를 시도하고, 다시 확인한 뒤, 무한 루프에 빠지지 않고 멈춤
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
기대하는 결과는 더 작은 diff, 더 명확한 SOLID-informed
|
|
53
|
+
기대하는 결과는 더 작은 diff, 더 명확한 SOLID-informed boundary, 더 안전한 API/database 코드, 더 적은 silent assumption, 더 솔직한 완료 보고입니다.
|
|
54
54
|
|
|
55
55
|
## 누가 설치하면 좋나요?
|
|
56
56
|
|
|
@@ -83,7 +83,7 @@ jhste-skills install
|
|
|
83
83
|
기본 설치는 Normal mode를 사용합니다.
|
|
84
84
|
|
|
85
85
|
- bundled skills 전체를 설치합니다: jhste core skills + vendored workflow skills.
|
|
86
|
-
- `.jhste/profile.yaml`이 없으면 생성합니다.
|
|
86
|
+
- `.jhste/profile.yaml`이 없으면 생성합니다. `--force`는 generated/managed profile만 refresh하며, modified profile overwrite는 `--force --allow-profile-overwrite`가 필요합니다.
|
|
87
87
|
- project guidance가 켜져 있으면 `AGENTS.md` 또는 `CLAUDE.md`에 marker-managed bridge block을 추가하거나 갱신합니다.
|
|
88
88
|
- 안전할 때 advisory pre-commit hook을 설치합니다.
|
|
89
89
|
- CI, target `package.json`, lockfile, source code는 수정하지 않습니다.
|
|
@@ -119,7 +119,7 @@ managed output을 제거하려면:
|
|
|
119
119
|
jhste-skills uninstall --yes --repo /path/to/repo
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
-
`uninstall`은 managed hook, marker-managed bridge block, manifest-managed skill directory를 제거합니다. non-managed file은 건드리지 않습니다. `.jhste/profile.yaml`은 generated shape
|
|
122
|
+
`uninstall`은 managed hook, marker-managed bridge block, manifest-managed skill directory를 제거합니다. non-managed file은 건드리지 않습니다. `.jhste/profile.yaml`은 current 또는 legacy generated shape일 때만 제거하며, 수정된 profile을 제거하려면 내용을 검토한 뒤 `--force-profile`을 명시해야 합니다.
|
|
123
123
|
|
|
124
124
|
## 설치 모드
|
|
125
125
|
|
|
@@ -155,31 +155,31 @@ Custom - 효과 중심 질문을 통해 설치 범위를 직접 선택
|
|
|
155
155
|
| Skill | 언제 쓰나 | 무엇을 줄여주나 |
|
|
156
156
|
|---|---|---|
|
|
157
157
|
| [`setup`](skills/setup/SKILL.md)<br>설치, 연결, 업데이트가 기존 프로젝트 지침을 덮어쓰지 않도록 하는 안전 설치 스킬 | kit를 설치하거나 레포에 연결할 때 | unsafe overwrite, unmanaged hook conflict, repo instruction replacement |
|
|
158
|
-
| [`jhste-engineering-
|
|
159
|
-
| [`jhste-code-quality`](skills/jhste-code-quality/SKILL.md)<br>입력 검증, 관측 가능한 실패 처리, secret-safe logging
|
|
160
|
-
| [`jhste-architecture-review`](skills/jhste-architecture-review/SKILL.md)<br>모듈 경계, side effect 위치, SOLID-informed design risk를 검토하는 아키텍처 리뷰 스킬 | module boundary
|
|
158
|
+
| [`jhste-engineering-groundwork`](skills/jhste-engineering-groundwork/SKILL.md)<br>코드 변경 전 목표, 전제, scope, boundary, failure path를 검증하는 pre-change groundwork 스킬 | non-trivial code change 전 | blind agreement, scope creep, unverified assumption, unclear boundary |
|
|
159
|
+
| [`jhste-code-quality`](skills/jhste-code-quality/SKILL.md)<br>입력 검증, 관측 가능한 실패 처리, secret-safe logging, oversized-file review 스킬 | external input, failure handling, logging, env/config, code-quality review path를 만질 때 | unvalidated input, silent failure, secret logging, oversized file |
|
|
160
|
+
| [`jhste-architecture-review`](skills/jhste-architecture-review/SKILL.md)<br>모듈 경계, side effect 위치, SOLID-informed design risk를 검토하는 아키텍처 리뷰 스킬 | module boundary, app structure, side-effect placement, responsibility split 변경 시 | pass-through abstraction, mixed responsibility, side-effect leakage |
|
|
161
161
|
| [`jhste-db-api-boundary`](skills/jhste-db-api-boundary/SKILL.md)<br>API route, service, repository, SQL 사이의 책임 경계와 데이터 계약을 점검하는 boundary 스킬 | API, controller, service, repository, SQL, persistence code를 만질 때 | fat route, unsafe SQL, missing auth/data scoping, leaky DTO |
|
|
162
|
-
| [`jhste-crawler-automation`](skills/jhste-crawler-automation/SKILL.md)<br>crawler, scraper, worker, scheduler의 producer/consumer
|
|
162
|
+
| [`jhste-crawler-automation`](skills/jhste-crawler-automation/SKILL.md)<br>crawler, scraper, worker, scheduler의 producer/consumer boundary와 side effect를 점검하는 자동화 스킬 | crawler, scraper, worker, scheduler, browser automation을 만질 때 | fragile automation, unclear producer/consumer boundary, hidden side effect |
|
|
163
163
|
| [`jhste-red-team-review`](skills/jhste-red-team-review/SKILL.md)<br>완료 선언 전 변경 코드를 공격적으로 재검토하는 read-only red-team code review 스킬 | non-trivial code work 완료 선언 전 | premature “done”, 놓치기 쉬운 null/auth/env/write/API/performance risk |
|
|
164
164
|
|
|
165
165
|
## Bundled workflow skills
|
|
166
166
|
|
|
167
|
-
Normal install은 Matt Pocock의 [`mattpocock/skills`](https://github.com/mattpocock/skills)에서 vendoring한 workflow skills
|
|
167
|
+
Normal install은 Matt Pocock의 [`mattpocock/skills`](https://github.com/mattpocock/skills)에서 vendoring한 workflow skills 13개도 함께 설치합니다. 이 스킬들은 debugging, planning, architecture, issue workflow, prototyping, handoff 작업에 유용합니다. 설치하고 싶지 않다면 `--skill-set core`를 사용하세요.
|
|
168
168
|
|
|
169
169
|
| Skill | 언제 쓰나 |
|
|
170
170
|
|---|---|
|
|
171
171
|
| [`diagnosing-bugs`](skills/diagnosing-bugs/SKILL.md)<br>빠른 pass/fail feedback loop를 중심으로 원인을 좁혀가는 debugging 스킬 | reproduce → minimise → hypothesise → instrument → fix 루프가 필요할 때 |
|
|
172
|
-
| [`grill-me`](skills/grill-me/SKILL.md)<br
|
|
173
|
-
| [`grill-with-docs`](skills/grill-with-docs/SKILL.md)<br
|
|
174
|
-
| [`grilling`](skills/grilling/SKILL.md)<br
|
|
172
|
+
| [`grill-me`](skills/grill-me/SKILL.md)<br>사용자 자신의 계획/추론을 공격적으로 질문하는 direct grilling 스킬 | grilled, challenged, pressure-tested, aggressive questioning을 원할 때 |
|
|
173
|
+
| [`grill-with-docs`](skills/grill-with-docs/SKILL.md)<br>grilling 결과를 CONTEXT.md나 ADR에 기록하는 스킬 | stress-test와 documentation, ADR, glossary, CONTEXT update를 함께 원할 때 |
|
|
174
|
+
| [`grilling`](skills/grilling/SKILL.md)<br>docs write 없이 계획/설계를 pressure-test하는 read-only grilling 스킬 | challenge, pressure-test, red-team, grill, gap finding을 원할 때 |
|
|
175
175
|
| [`domain-modeling`](skills/domain-modeling/SKILL.md)<br>프로젝트의 용어, 도메인 모델, architectural decision을 선명하게 만드는 스킬 | domain term, ubiquitous language, architectural decision을 다듬을 때 |
|
|
176
|
-
| [`codebase-design`](skills/codebase-design/SKILL.md)<br>deep module, 작은 interface, 명확한
|
|
176
|
+
| [`codebase-design`](skills/codebase-design/SKILL.md)<br>deep module, 작은 interface, 명확한 boundary를 설계하기 위한 코드베이스 설계 스킬 | 더 나은 module interface, boundary, testability vocabulary가 필요할 때 |
|
|
177
177
|
| [`improve-codebase-architecture`](skills/improve-codebase-architecture/SKILL.md)<br>얕은 모듈과 결합도를 찾아 더 깊은 모듈로 개선할 기회를 찾는 아키텍처 스킬 | deepening opportunity를 찾고 architectural friction을 줄이고 싶을 때 |
|
|
178
|
-
| [`prototype`](skills/prototype/SKILL.md)<br
|
|
179
|
-
| [`to-prd`](skills/to-prd/SKILL.md)<br
|
|
180
|
-
| [`to-issues`](skills/to-issues/SKILL.md)<br>계획을
|
|
181
|
-
| [`triage`](skills/triage/SKILL.md)<br>issue를
|
|
182
|
-
| [`handoff`](skills/handoff/SKILL.md)<br>다음 agent나
|
|
178
|
+
| [`prototype`](skills/prototype/SKILL.md)<br>logic/state model이나 UI direction을 throwaway local code로 검증하는 스킬 | prototype, mock up, try designs, sanity-check, “let me play with it” 요청 시 |
|
|
179
|
+
| [`to-prd`](skills/to-prd/SKILL.md)<br>PRD draft를 작성하고 프로젝트 PRD workflow에 맞게 준비하는 스킬 | PRD가 필요할 때; tracker publish는 직접 요청이나 repo approval이 있을 때 |
|
|
180
|
+
| [`to-issues`](skills/to-issues/SKILL.md)<br>계획을 issue-ready vertical slice로 나누는 스킬 | implementation ticket/work breakdown이 필요할 때; tracker creation은 직접 요청이나 repo approval이 있을 때 |
|
|
181
|
+
| [`triage`](skills/triage/SKILL.md)<br>issue를 분류하고 다음 행동을 계획하는 triage 스킬 | issue classification, next-action planning, repo-approved triage write가 필요할 때 |
|
|
182
|
+
| [`handoff`](skills/handoff/SKILL.md)<br>다음 agent나 session이 이어받을 수 있도록 context를 압축하는 handoff 스킬 | handoff, session summary, continuation brief, next-agent context 요청 시 |
|
|
183
183
|
| [`write-a-skill`](skills/write-a-skill/SKILL.md)<br>새로운 agent skill을 올바른 구조와 progressive disclosure 방식으로 작성하는 스킬 | agent skill을 새로 만들거나 다듬고 싶을 때 |
|
|
184
184
|
|
|
185
185
|
## Attribution: Matt Pocock skills
|
|
@@ -220,7 +220,7 @@ jhste-skills uninstall
|
|
|
220
220
|
2. 처음에는 advisory hook을 유지합니다. commit-time check를 원하지 않으면 `--skip-hooks`를 사용하고, blocking mode는 noise와 false positive를 충분히 확인한 뒤 켭니다.
|
|
221
221
|
3. 기본 300-line advisory limit을 먼저 사용합니다. warning-level hook enforcement를 팀이 받아들일 준비가 되었을 때만 `--line-limit-mode blocking`을 사용합니다.
|
|
222
222
|
4. 코드 변경 중에는 `guard --scope changed --format text --fail-on error`를 수동으로 실행합니다.
|
|
223
|
-
5. non-trivial code change 전에는 `jhste-engineering-
|
|
223
|
+
5. non-trivial code change 전에는 `jhste-engineering-groundwork`로 scope, boundary, failure path, data contract, assumption, changed class/module/function의 SOLID-informed review lens를 확인합니다.
|
|
224
224
|
6. non-trivial code work 완료 선언 전에는 `jhste-red-team-review`를 사용합니다. docs-only, comment-only, formatting-only, trivial rename-only 변경은 건너뜁니다.
|
|
225
225
|
7. fix + re-review는 최대 두 번까지만 반복하고, 무한 review loop 대신 남은 risk를 보고합니다.
|
|
226
226
|
8. 기존 debt를 검토한 뒤에만 baseline을 생성합니다. Baseline은 known-issues ledger로 취급하고, scanner failure를 숨기는 용도가 아니라 new debt를 막는 ratchet 용도로 사용합니다.
|
|
@@ -255,7 +255,7 @@ Release acceptance notes는 [`docs/ACCEPTANCE_CHECK.md`](docs/ACCEPTANCE_CHECK.m
|
|
|
255
255
|
- 무조건 동의하지 않습니다.
|
|
256
256
|
- local project authority를 덮어쓰지 않습니다.
|
|
257
257
|
- 변경 범위를 작게 유지합니다.
|
|
258
|
-
- SOLID-informed coding discipline을 사용해 responsibility를 이름 붙이고, extension
|
|
258
|
+
- SOLID-informed coding discipline을 사용해 responsibility를 이름 붙이고, extension boundary, caller contract, interface 크기, concrete dependency 방향을 검토합니다.
|
|
259
259
|
- failure를 observable하게 만듭니다.
|
|
260
260
|
- automated guard output을 proof가 아니라 evidence로 취급합니다.
|
|
261
261
|
- non-trivial work를 완료라고 말하기 전에 red-team code review를 수행합니다.
|
package/README.md
CHANGED
|
@@ -11,14 +11,14 @@ An installable working-rules kit that helps AI coding agents consistently follow
|
|
|
11
11
|
SOLID is used here as a design review lens, not as an automatic compliance checklist.
|
|
12
12
|
|
|
13
13
|
- **S — Single Responsibility:** each changed function, module, or class should have one main job and one main reason to change.
|
|
14
|
-
- **O — Open/Closed:** adding a new variant, provider, or policy should not force repeated edits to core branching when a real extension
|
|
14
|
+
- **O — Open/Closed:** adding a new variant, provider, or policy should not force repeated edits to core branching when a real extension boundary would be safer.
|
|
15
15
|
- **L — Liskov Substitution:** implementations should not weaken caller expectations for return shape, nullability, errors, side effects, or documented behavior.
|
|
16
16
|
- **I — Interface Segregation:** callers should not depend on broad config, interface, or props objects when they only need a small, stable slice.
|
|
17
|
-
- **D — Dependency Inversion:** high-level policy should not be tightly coupled to concrete DB, API, browser, filesystem, email, payment, or queue effects unless that
|
|
17
|
+
- **D — Dependency Inversion:** high-level policy should not be tightly coupled to concrete DB, API, browser, filesystem, email, payment, or queue effects unless that boundary is intentional and visible.
|
|
18
18
|
|
|
19
19
|
This tool does **not** take over your project. Repo-local `AGENTS.md`, `CLAUDE.md`, and docs remain authoritative. The default setup is advisory, marker-managed, and designed to be low-risk to try.
|
|
20
20
|
|
|
21
|
-
Skills are designed to be used automatically when the situation calls for them. For example, when an agent edits API code, it is guided to use the API/database boundary skill; before completion, it is guided to use the red-team review skill. You can also call a skill directly, for example: `use jhste-engineering-
|
|
21
|
+
Skills are designed to be used automatically when the situation calls for them. For example, when an agent edits API code, it is guided to use the API/database boundary skill; before completion, it is guided to use the red-team review skill. You can also call a skill directly, for example: `use jhste-engineering-groundwork to review this change premise`, or `run jhste-red-team-review on this diff`.
|
|
22
22
|
|
|
23
23
|
## Why install this?
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@ AI coding agents are fast, but they fail in predictable ways:
|
|
|
26
26
|
|
|
27
27
|
- They silently accept unclear requirements or incorrect premises.
|
|
28
28
|
- They expand the scope while trying to be helpful.
|
|
29
|
-
- They mix UI, route/controller, service, database, and side-effect responsibilities in one place, or add abstractions without a real SOLID-informed
|
|
29
|
+
- They mix UI, route/controller, service, database, and side-effect responsibilities in one place, or add abstractions without a real SOLID-informed boundary.
|
|
30
30
|
- They hide failures or produce unsafe logs.
|
|
31
31
|
- They say “done” before the changed code has been checked.
|
|
32
32
|
- They forget repo-specific rules when you switch machines or repositories.
|
|
@@ -35,7 +35,7 @@ AI coding agents are fast, but they fail in predictable ways:
|
|
|
35
35
|
|
|
36
36
|
```text
|
|
37
37
|
Before a non-trivial code change:
|
|
38
|
-
check the goal, premise, ownership
|
|
38
|
+
check the goal, premise, ownership boundary, data contract, failure path, and SOLID-informed review lens
|
|
39
39
|
|
|
40
40
|
While editing:
|
|
41
41
|
treat repo-local instructions as the authority
|
|
@@ -50,7 +50,7 @@ If warnings appear:
|
|
|
50
50
|
attempt a bounded fix, re-check, and stop instead of looping forever
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
The expected result is smaller diffs, clearer SOLID-informed
|
|
53
|
+
The expected result is smaller diffs, clearer SOLID-informed boundaries, safer API/database code, fewer silent assumptions, and more honest completion reports.
|
|
54
54
|
|
|
55
55
|
## Who should install this?
|
|
56
56
|
|
|
@@ -83,7 +83,7 @@ Use `npx` when you want a one-off run without a global install. Use `npm install
|
|
|
83
83
|
The default install uses Normal mode.
|
|
84
84
|
|
|
85
85
|
- Installs all bundled skills: jhste core skills + vendored workflow skills.
|
|
86
|
-
- Creates `.jhste/profile.yaml` when missing
|
|
86
|
+
- Creates `.jhste/profile.yaml` when missing; `--force` refreshes generated/managed profiles, while modified profiles require `--force --allow-profile-overwrite`.
|
|
87
87
|
- Adds or refreshes a marker-managed bridge block in `AGENTS.md` or `CLAUDE.md` when project guidance is enabled.
|
|
88
88
|
- Installs an advisory pre-commit hook when safe.
|
|
89
89
|
- Does not modify CI, target `package.json`, lockfiles, or source code.
|
|
@@ -119,7 +119,7 @@ To remove managed outputs:
|
|
|
119
119
|
jhste-skills uninstall --yes --repo /path/to/repo
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
-
`uninstall` removes managed hooks, marker-managed bridge blocks, and manifest-managed skill directories. It does not touch non-managed files. `.jhste/profile.yaml` is removed only when it still matches the generated shape; use `--force-profile` only after reviewing a modified profile.
|
|
122
|
+
`uninstall` removes managed hooks, marker-managed bridge blocks, and manifest-managed skill directories. It does not touch non-managed files. `.jhste/profile.yaml` is removed only when it still matches the current or legacy generated shape; use `--force-profile` only after reviewing a modified profile.
|
|
123
123
|
|
|
124
124
|
## Install modes
|
|
125
125
|
|
|
@@ -155,11 +155,11 @@ These are the jhste-authored guardrail skills. They are installed by default as
|
|
|
155
155
|
| Skill | Use it when | What it helps reduce |
|
|
156
156
|
|---|---|---|
|
|
157
157
|
| [`setup`](skills/setup/SKILL.md)<br>A safe setup skill that prevents install/connect/update flows from overwriting existing project instructions | Installing or connecting the kit to a repository | Unsafe overwrite, unmanaged hook conflict, repo instruction replacement |
|
|
158
|
-
| [`jhste-engineering-
|
|
159
|
-
| [`jhste-code-quality`](skills/jhste-code-quality/SKILL.md)<br>A code-quality skill for input validation, observable failure handling,
|
|
160
|
-
| [`jhste-architecture-review`](skills/jhste-architecture-review/SKILL.md)<br>An architecture review skill for module boundaries, side-effect placement, and SOLID-informed design risks | Changing module boundaries
|
|
158
|
+
| [`jhste-engineering-groundwork`](skills/jhste-engineering-groundwork/SKILL.md)<br>A pre-change groundwork skill that verifies goal, premise, scope, boundary, and failure path before code edits | Before non-trivial code changes | Blind agreement, scope creep, unverified assumptions, unclear boundaries |
|
|
159
|
+
| [`jhste-code-quality`](skills/jhste-code-quality/SKILL.md)<br>A code-quality skill for input validation, observable failure handling, secret-safe logging, and oversized-file review | Touching external input, failure handling, logging, env/config, or code-quality review paths | Unvalidated input, silent failure, secret logging, oversized files |
|
|
160
|
+
| [`jhste-architecture-review`](skills/jhste-architecture-review/SKILL.md)<br>An architecture review skill for module boundaries, side-effect placement, and SOLID-informed design risks | Changing module boundaries, app structure, side-effect placement, or responsibility splits | Pass-through abstraction, mixed responsibility, side-effect leakage |
|
|
161
161
|
| [`jhste-db-api-boundary`](skills/jhste-db-api-boundary/SKILL.md)<br>A boundary skill that checks responsibility and data contracts across API routes, services, repositories, and SQL | Touching API, controller, service, repository, SQL, or persistence code | Fat routes, unsafe SQL, missing auth/data scoping, leaky DTOs |
|
|
162
|
-
| [`jhste-crawler-automation`](skills/jhste-crawler-automation/SKILL.md)<br>An automation skill for crawler/scraper/worker/scheduler producer-consumer
|
|
162
|
+
| [`jhste-crawler-automation`](skills/jhste-crawler-automation/SKILL.md)<br>An automation skill for crawler/scraper/worker/scheduler producer-consumer boundaries and side effects | Touching crawlers, scrapers, workers, schedulers, or browser automation | Fragile automation, unclear producer/consumer boundaries, hidden side effects |
|
|
163
163
|
| [`jhste-red-team-review`](skills/jhste-red-team-review/SKILL.md)<br>A read-only red-team code review skill that aggressively re-checks changed code before completion | Before declaring non-trivial code work complete | Premature “done”, missed null/auth/env/write/API/performance risks |
|
|
164
164
|
|
|
165
165
|
## Bundled workflow skills
|
|
@@ -169,17 +169,17 @@ Normal install also includes 13 workflow skills vendored from Matt Pocock's [`ma
|
|
|
169
169
|
| Skill | Use it when |
|
|
170
170
|
|---|---|
|
|
171
171
|
| [`diagnosing-bugs`](skills/diagnosing-bugs/SKILL.md)<br>A debugging skill that narrows root cause around a fast pass/fail feedback loop | You need a reproduce → minimise → hypothesise → instrument → fix loop |
|
|
172
|
-
| [`grill-me`](skills/grill-me/SKILL.md)<br>A skill
|
|
173
|
-
| [`grill-with-docs`](skills/grill-with-docs/SKILL.md)<br>A
|
|
174
|
-
| [`grilling`](skills/grilling/SKILL.md)<br>A general grilling skill for pressure-testing plans and designs before implementation | You
|
|
172
|
+
| [`grill-me`](skills/grill-me/SKILL.md)<br>A direct personal grilling skill for aggressively questioning your own plan or reasoning | You ask to be grilled, challenged, pressure-tested, or questioned aggressively |
|
|
173
|
+
| [`grill-with-docs`](skills/grill-with-docs/SKILL.md)<br>A grilling skill that records resulting domain terms and decisions in CONTEXT.md or ADRs | You want stress-testing plus documentation, ADR, glossary, or CONTEXT updates |
|
|
174
|
+
| [`grilling`](skills/grilling/SKILL.md)<br>A general read-only grilling skill for pressure-testing plans and designs before implementation | You ask to challenge, pressure-test, red-team, grill, or find gaps without docs updates |
|
|
175
175
|
| [`domain-modeling`](skills/domain-modeling/SKILL.md)<br>A skill for sharpening project terminology, domain models, and architectural decisions | Refining domain terms, ubiquitous language, or architectural decisions |
|
|
176
|
-
| [`codebase-design`](skills/codebase-design/SKILL.md)<br>A codebase design skill for deep modules, small interfaces, and clear
|
|
176
|
+
| [`codebase-design`](skills/codebase-design/SKILL.md)<br>A codebase design skill for deep modules, small interfaces, and clear boundaries | You need better module interface, boundary, and testability vocabulary |
|
|
177
177
|
| [`improve-codebase-architecture`](skills/improve-codebase-architecture/SKILL.md)<br>An architecture skill that finds shallow modules and coupling that can be improved into deeper modules | You want to find deepening opportunities and reduce architectural friction |
|
|
178
|
-
| [`prototype`](skills/prototype/SKILL.md)<br>A prototyping skill for validating logic or UI
|
|
179
|
-
| [`to-prd`](skills/to-prd/SKILL.md)<br>A PRD-writing skill that
|
|
180
|
-
| [`to-issues`](skills/to-issues/SKILL.md)<br>A skill that breaks a plan into
|
|
181
|
-
| [`triage`](skills/triage/SKILL.md)<br>An issue triage skill that classifies issues and
|
|
182
|
-
| [`handoff`](skills/handoff/SKILL.md)<br>A handoff skill that compresses context so the next agent or session can continue | You
|
|
178
|
+
| [`prototype`](skills/prototype/SKILL.md)<br>A prototyping skill for validating logic/state models or UI directions with throwaway local code | You ask to prototype, mock up, try designs, sanity-check behavior, or “let me play with it” |
|
|
179
|
+
| [`to-prd`](skills/to-prd/SKILL.md)<br>A PRD-writing skill that drafts requirements and makes them ready for the normal project workflow | You want a PRD; tracker publication happens only when directly requested or repo-approved |
|
|
180
|
+
| [`to-issues`](skills/to-issues/SKILL.md)<br>A skill that breaks a plan into issue-ready vertical slices | You want implementation tickets or work breakdown; tracker creation follows direct request or repo approval |
|
|
181
|
+
| [`triage`](skills/triage/SKILL.md)<br>An issue triage skill that classifies issues and plans next actions through a structured workflow | You want issue classification, next-action planning, or repo-approved triage writes |
|
|
182
|
+
| [`handoff`](skills/handoff/SKILL.md)<br>A handoff skill that compresses context so the next agent or session can continue | You ask for a handoff, session summary, continuation brief, or next-agent context |
|
|
183
183
|
| [`write-a-skill`](skills/write-a-skill/SKILL.md)<br>A skill-writing skill for creating agent skills with the right structure and progressive disclosure | You want to create or refine an agent skill |
|
|
184
184
|
|
|
185
185
|
## Attribution: Matt Pocock skills
|
|
@@ -220,7 +220,7 @@ See [`docs/CLI.md`](docs/CLI.md) for detailed command behavior.
|
|
|
220
220
|
2. Keep advisory hooks at first. Use `--skip-hooks` if you do not want commit-time checks, and enable blocking mode only after reviewing noise and false positives.
|
|
221
221
|
3. Start with the default 300-line advisory limit. Use `--line-limit-mode blocking` only when the team is ready for warning-level hook enforcement.
|
|
222
222
|
4. During code changes, run `guard --scope changed --format text --fail-on error` manually.
|
|
223
|
-
5. Before non-trivial code changes, use `jhste-engineering-
|
|
223
|
+
5. Before non-trivial code changes, use `jhste-engineering-groundwork` to check scope, boundary, failure path, data contract, assumptions, and the SOLID-informed review lens for changed classes/modules/functions.
|
|
224
224
|
6. Before declaring non-trivial code work complete, use `jhste-red-team-review`. Skip docs-only, comment-only, formatting-only, and trivial rename-only changes.
|
|
225
225
|
7. Limit fix + re-review loops to two cycles, then report remaining risks instead of looping indefinitely.
|
|
226
226
|
8. Create a baseline only after reviewing existing debt. Treat the baseline as a known-issues ledger and use ratchet behavior to stop new debt, not to hide scanner failures.
|
|
@@ -255,11 +255,11 @@ See [`docs/ACCEPTANCE_CHECK.md`](docs/ACCEPTANCE_CHECK.md) for release acceptanc
|
|
|
255
255
|
- Do not agree blindly.
|
|
256
256
|
- Do not overwrite local project authority.
|
|
257
257
|
- Keep changes scoped.
|
|
258
|
-
- Use SOLID-informed coding discipline: name responsibilities, review extension
|
|
258
|
+
- Use SOLID-informed coding discipline: name responsibilities, review extension boundaries, preserve caller contracts, keep interfaces right-sized, and make concrete dependencies visible.
|
|
259
259
|
- Make failures observable.
|
|
260
260
|
- Treat automated guard output as evidence, not proof.
|
|
261
261
|
- Run a red-team code review before calling non-trivial work complete.
|
|
262
262
|
|
|
263
263
|
Fast agents need guardrails. `jhste-skills` gives them a repo-respecting engineering workflow.
|
|
264
264
|
|
|
265
|
-
Installed skill directories are tracked with `.jhste-skills-manifest.json`. `--force` refreshes manifest-managed skill copies; overwriting unmanaged differing skill directories still requires the separate `--allow-unmanaged-skill-overwrite` flag after review. `sync` and `update` can also adopt additional known jhste skills into an already managed skills directory so older mixed installs can be reconciled without a manual overwrite flag. Legacy
|
|
265
|
+
Installed skill directories are tracked with `.jhste-skills-manifest.json`. `--force` refreshes manifest-managed skill copies and generated/managed profiles; modified profiles need `--force --allow-profile-overwrite`; overwriting unmanaged differing skill directories still requires the separate `--allow-unmanaged-skill-overwrite` flag after review. `sync` and `update` can also adopt additional known jhste skills into an already managed skills directory so older mixed installs can be reconciled without a manual overwrite flag. Legacy managed renames are also reconciled during `sync` and `update`, so older managed installs that still have `diagnose` or `jhste-engineering-judgment` are migrated to `diagnosing-bugs` or `jhste-engineering-groundwork` without leaving duplicate skill directories.
|