jhste-skills 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +254 -0
  3. package/README.ko.md +254 -0
  4. package/README.md +254 -0
  5. package/README.zh.md +254 -0
  6. package/adapters/claude/README.md +7 -0
  7. package/adapters/codex/README.md +25 -0
  8. package/adapters/generic/README.md +7 -0
  9. package/cli/baseline.mjs +32 -0
  10. package/cli/connect.mjs +84 -0
  11. package/cli/deep-scan/analyze.mjs +167 -0
  12. package/cli/deep-scan/collect.mjs +133 -0
  13. package/cli/deep-scan/report.mjs +197 -0
  14. package/cli/deep-scan.mjs +56 -0
  15. package/cli/guard/baseline.mjs +64 -0
  16. package/cli/guard/config.mjs +48 -0
  17. package/cli/guard/profile-commands.mjs +87 -0
  18. package/cli/guard/registry.mjs +47 -0
  19. package/cli/guard/reporting.mjs +165 -0
  20. package/cli/guard/scanners/code-health.mjs +213 -0
  21. package/cli/guard/scanners/data-boundary-locality.mjs +125 -0
  22. package/cli/guard/scanners/data-boundary.mjs +237 -0
  23. package/cli/guard/scanners/external-input.mjs +74 -0
  24. package/cli/guard/scanners/index.mjs +136 -0
  25. package/cli/guard/scanners/single-responsibility.mjs +205 -0
  26. package/cli/guard/scanners/ui-runtime.mjs +140 -0
  27. package/cli/guard/scanners/utils.mjs +167 -0
  28. package/cli/guard/scope.mjs +181 -0
  29. package/cli/guard.mjs +125 -0
  30. package/cli/hook-utils.mjs +127 -0
  31. package/cli/hooks.mjs +127 -0
  32. package/cli/index.mjs +35 -0
  33. package/cli/install-actions/apply-plan.mjs +39 -0
  34. package/cli/install-actions/bridge-writer.mjs +52 -0
  35. package/cli/install-actions/output.mjs +45 -0
  36. package/cli/install-actions/preflight.mjs +58 -0
  37. package/cli/install-actions/profile-writer.mjs +21 -0
  38. package/cli/install-actions/skills.mjs +148 -0
  39. package/cli/install-actions.mjs +4 -0
  40. package/cli/install-flow/options.mjs +234 -0
  41. package/cli/install-flow/output.mjs +106 -0
  42. package/cli/install-flow/plan-helpers.mjs +29 -0
  43. package/cli/install-flow/plan.mjs +200 -0
  44. package/cli/install-flow/prompts.mjs +210 -0
  45. package/cli/install-flow.mjs +16 -0
  46. package/cli/install.mjs +77 -0
  47. package/cli/json-file.mjs +39 -0
  48. package/cli/profile/loader.mjs +13 -0
  49. package/cli/profile/parser.mjs +226 -0
  50. package/cli/profile/schema.mjs +81 -0
  51. package/cli/profile/settings.mjs +45 -0
  52. package/cli/profile/validator.mjs +86 -0
  53. package/cli/profile.mjs +5 -0
  54. package/cli/shared/args.mjs +32 -0
  55. package/cli/shared/files.mjs +70 -0
  56. package/cli/shared/git.mjs +28 -0
  57. package/cli/shared/paths.mjs +27 -0
  58. package/cli/shared/prompt.mjs +32 -0
  59. package/cli/shared/templates.mjs +71 -0
  60. package/cli/shared/time.mjs +3 -0
  61. package/cli/shared.mjs +7 -0
  62. package/cli/sync-core.mjs +213 -0
  63. package/cli/sync.mjs +7 -0
  64. package/cli/tune.mjs +101 -0
  65. package/cli/uninstall.mjs +288 -0
  66. package/cli/update.mjs +7 -0
  67. package/docs/ACCEPTANCE_CHECK.md +54 -0
  68. package/docs/CLI.md +212 -0
  69. package/docs/CONFLICT_RESOLUTION.md +58 -0
  70. package/docs/PUBLIC_SAFETY.md +26 -0
  71. package/docs/RULES.md +94 -0
  72. package/docs/VENDORING.md +23 -0
  73. package/examples/profile.yaml +45 -0
  74. package/package.json +51 -0
  75. package/packs/api.yaml +13 -0
  76. package/packs/core.yaml +19 -0
  77. package/packs/crawler.yaml +8 -0
  78. package/packs/database.yaml +8 -0
  79. package/packs/web.yaml +10 -0
  80. package/rules/core/api_contract_compatibility.yaml +25 -0
  81. package/rules/core/authz_data_isolation.yaml +27 -0
  82. package/rules/core/build_runtime_env_safety.yaml +26 -0
  83. package/rules/core/external_input_validation.yaml +27 -0
  84. package/rules/core/file_size_advisory.yaml +28 -0
  85. package/rules/core/no_secret_logging.yaml +24 -0
  86. package/rules/core/no_silent_failure.yaml +30 -0
  87. package/rules/core/null_state_safety.yaml +25 -0
  88. package/rules/core/performance_duplicate_fetch.yaml +25 -0
  89. package/rules/core/public_safe_error.yaml +24 -0
  90. package/rules/core/responsibility_budget.yaml +44 -0
  91. package/rules/core/side_effect_boundary.yaml +24 -0
  92. package/rules/core/single_responsibility_advisory.yaml +35 -0
  93. package/rules/core/workflow_security.yaml +25 -0
  94. package/rules/core/write_safety_idempotency.yaml +25 -0
  95. package/rules/crawler/crawler_producer_boundary.yaml +24 -0
  96. package/rules/database/db_row_validation.yaml +24 -0
  97. package/rules/database/sql_parameter_binding.yaml +24 -0
  98. package/rules/nextjs/thin_api_route.yaml +24 -0
  99. package/rules/python/broad_exception_advisory.yaml +24 -0
  100. package/rules/react/component_responsibility.yaml +24 -0
  101. package/rules/typescript/type_escape_advisory.yaml +24 -0
  102. package/scripts/docs-check-data.mjs +71 -0
  103. package/scripts/docs-check.mjs +261 -0
  104. package/scripts/guard-fixtures/helpers.mjs +58 -0
  105. package/scripts/guard-fixtures-test.mjs +273 -0
  106. package/scripts/profile-fixtures-test.mjs +83 -0
  107. package/scripts/public-safety-check.mjs +88 -0
  108. package/scripts/public-safety-fixtures-test.mjs +60 -0
  109. package/scripts/release-gates-test.mjs +52 -0
  110. package/scripts/single-responsibility-fixtures-test.mjs +86 -0
  111. package/scripts/smoke/connect-scenarios.mjs +47 -0
  112. package/scripts/smoke/fixture.mjs +49 -0
  113. package/scripts/smoke/guard-and-hook-scenarios.mjs +211 -0
  114. package/scripts/smoke/helpers.mjs +51 -0
  115. package/scripts/smoke/install-scenarios.mjs +244 -0
  116. package/scripts/smoke/mode-scenarios.mjs +76 -0
  117. package/scripts/smoke-test.mjs +17 -0
  118. package/scripts/syntax-check.mjs +37 -0
  119. package/scripts/vendor-check.mjs +87 -0
  120. package/skills/codebase-design/DEEPENING.md +37 -0
  121. package/skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
  122. package/skills/codebase-design/SKILL.md +122 -0
  123. package/skills/diagnose/SKILL.md +125 -0
  124. package/skills/diagnose/scripts/hitl-loop.template.sh +41 -0
  125. package/skills/diagnosing-bugs/SKILL.md +142 -0
  126. package/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  127. package/skills/domain-modeling/ADR-FORMAT.md +47 -0
  128. package/skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  129. package/skills/domain-modeling/SKILL.md +82 -0
  130. package/skills/grill-me/SKILL.md +18 -0
  131. package/skills/grill-with-docs/ADR-FORMAT.md +47 -0
  132. package/skills/grill-with-docs/CONTEXT-FORMAT.md +60 -0
  133. package/skills/grill-with-docs/SKILL.md +96 -0
  134. package/skills/grilling/SKILL.md +18 -0
  135. package/skills/handoff/SKILL.md +23 -0
  136. package/skills/improve-codebase-architecture/DEEPENING.md +37 -0
  137. package/skills/improve-codebase-architecture/HTML-REPORT.md +123 -0
  138. package/skills/improve-codebase-architecture/INTERFACE-DESIGN.md +44 -0
  139. package/skills/improve-codebase-architecture/LANGUAGE.md +53 -0
  140. package/skills/improve-codebase-architecture/SKILL.md +93 -0
  141. package/skills/jhste-architecture-review/SKILL.md +28 -0
  142. package/skills/jhste-architecture-review/references/architecture-review.md +41 -0
  143. package/skills/jhste-code-quality/SKILL.md +33 -0
  144. package/skills/jhste-code-quality/references/code-quality.md +45 -0
  145. package/skills/jhste-crawler-automation/SKILL.md +23 -0
  146. package/skills/jhste-crawler-automation/references/crawler-automation.md +11 -0
  147. package/skills/jhste-db-api-boundary/SKILL.md +28 -0
  148. package/skills/jhste-db-api-boundary/references/db-api-boundary.md +21 -0
  149. package/skills/jhste-engineering-judgment/SKILL.md +107 -0
  150. package/skills/jhste-engineering-judgment/references/structure-templates.md +41 -0
  151. package/skills/jhste-red-team-review/SKILL.md +101 -0
  152. package/skills/jhste-red-team-review/references/red-team-review.md +83 -0
  153. package/skills/prototype/LOGIC.md +79 -0
  154. package/skills/prototype/SKILL.md +38 -0
  155. package/skills/prototype/UI.md +112 -0
  156. package/skills/setup/SKILL.md +21 -0
  157. package/skills/setup/references/conflict-policy.md +11 -0
  158. package/skills/setup/references/setup-flow.md +18 -0
  159. package/skills/to-issues/SKILL.md +91 -0
  160. package/skills/to-prd/SKILL.md +82 -0
  161. package/skills/triage/AGENT-BRIEF.md +168 -0
  162. package/skills/triage/OUT-OF-SCOPE.md +101 -0
  163. package/skills/triage/SKILL.md +111 -0
  164. package/skills/write-a-skill/SKILL.md +125 -0
  165. package/vendor/matt-pocock/LICENSE +21 -0
  166. package/vendor/matt-pocock/NOTICE.md +10 -0
  167. package/vendor/matt-pocock/allowlist.json +16 -0
  168. package/vendor/matt-pocock/source-lock.json +119 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 jhste-skills contributors
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.
package/README.ja.md ADDED
@@ -0,0 +1,254 @@
1
+ # jhste-skills
2
+
3
+ Languages: [English](README.md) · [한국어](README.ko.md) · [中文](README.zh.md) · [日本語](README.ja.md)
4
+
5
+ AI コーディングエージェントが、あなたの定義したエンジニアリング基準を一貫して守るための、インストール可能な作業ルールキットです。
6
+
7
+ `jhste-skills` は Codex、Claude Code などの AI コーディングエージェントに、共通のエンジニアリング作業フローを提供します。コードを変更する前に前提を検証し、リポジトリ内の既存指示を優先し、API/database/automation の境界を明確に保ち、各モジュールが SRP(Single Responsibility Principle、単一責任原則)に沿って 1 つの明確な責任を持つかを確認し、changed-file guard を実行し、完了を宣言する前に red-team code review を行うよう支援します。
8
+
9
+ このツールはプロジェクトを乗っ取りません。リポジトリ内の `AGENTS.md`、`CLAUDE.md`、docs が常に権威です。デフォルト設定は advisory モードで、marker-managed 方式で管理され、低リスクで試せるように設計されています。
10
+
11
+ Skills は、必要な状況でエージェントが自動的に使うことを想定しています。たとえば API コードを変更する場合は API/database boundary skill を、完了直前には red-team review skill を使うよう促します。ユーザーが明示的に skill を呼び出すこともできます。例: `use jhste-engineering-judgment to review this change premise`、`run jhste-red-team-review on this diff`。
12
+
13
+ ## なぜインストールするのか?
14
+
15
+ AI コーディングエージェントは高速ですが、失敗パターンは予測可能です。
16
+
17
+ - 不明確な要求や誤った前提を黙って受け入れます。
18
+ - 役に立とうとして作業範囲を広げすぎます。
19
+ - UI、route/controller、service、database、side effect の責任を 1 か所に混ぜ込み、「1 モジュール、1 責任」の原則(SRP)を壊します。
20
+ - 失敗を隠したり、安全でないログを出したりします。
21
+ - 変更コードを十分確認する前に「完了」と言います。
22
+ - マシンやリポジトリを切り替えるたびに、リポジトリ固有のルールを忘れます。
23
+
24
+ `jhste-skills` は、こうした失敗を減らすための反復可能な作業ループをエージェントに提供します。
25
+
26
+ ```text
27
+ non-trivial code change の前:
28
+ goal、premise、ownership seam、data contract、failure path、SRP responsibility を確認
29
+
30
+ 編集中:
31
+ repo-local instructions を権威として扱う
32
+
33
+ コード変更後:
34
+ 利用可能なら高速な changed-file guard を実行
35
+
36
+ 「完了」と言う前:
37
+ read-only red-team code review を実行
38
+
39
+ warning が出た場合:
40
+ bounded fix を試し、再確認し、無限ループせず停止する
41
+ ```
42
+
43
+ 期待される結果は、より小さな diff、より明確な SRP 境界、より安全な API/database コード、より少ない silent assumption、より誠実な完了報告です。
44
+
45
+ ## 誰がインストールすべきか?
46
+
47
+ 次に当てはまるなら、`jhste-skills` をインストールする価値があります。
48
+
49
+ - Codex、Claude Code、または他の coding agent を複数のリポジトリで使っている。
50
+ - non-trivial code change の前に、エージェントに前提を検証してほしい。
51
+ - 既存の repo docs を引き続き権威として扱いたい。
52
+ - commit 前、または完了宣言前に軽量な advisory check を置きたい。
53
+ - SRP、API/database boundary、safe logging、input validation、side effect、automation reliability を重視している。
54
+ - マシンやリポジトリを移っても、同じ AI 作業習慣を素早く復元したい。
55
+
56
+ 逆に、単一の prompt ファイルだけが欲しい場合、インストール直後から strict CI enforcement を期待する場合、`.jhste/` ファイルや bridge block を生成したくない場合、このツールに自動リファクタリングを期待している場合は、適さないかもしれません。
57
+
58
+ ## クイックスタート
59
+
60
+ ```bash
61
+ npx jhste-skills install
62
+ ```
63
+
64
+ または npm で CLI をグローバルインストールして、どのリポジトリからでも使えます。
65
+
66
+ ```bash
67
+ npm install -g jhste-skills
68
+ jhste-skills install
69
+ ```
70
+
71
+ 一度だけ試すなら `npx`、普段使う CLI として置いておきたいなら `npm install -g` を使ってください。
72
+
73
+ デフォルトインストールは Normal mode を使います。
74
+
75
+ - bundled skills 全体をインストールします: jhste core skills + vendored workflow skills。
76
+ - `.jhste/profile.yaml` がなければ作成します。
77
+ - project guidance が有効な場合、`AGENTS.md` または `CLAUDE.md` に marker-managed bridge block を追加または更新します。
78
+ - 安全な場合、advisory pre-commit hook をインストールします。
79
+ - CI、対象 `package.json`、lockfile、source code は変更しません。
80
+
81
+ 別のリポジトリに接続するには:
82
+
83
+ ```bash
84
+ cd /path/to/another-repo
85
+ jhste-skills connect
86
+ ```
87
+
88
+ jhste core guardrail skills だけをインストールするには:
89
+
90
+ ```bash
91
+ npx jhste-skills install --skill-set core
92
+ ```
93
+
94
+ changed-file guard を手動で実行するには:
95
+
96
+ ```bash
97
+ jhste-skills guard --scope changed --format text --fail-on error
98
+ ```
99
+
100
+ 任意で repo-wide advisory scan を実行するには:
101
+
102
+ ```bash
103
+ jhste-skills deep-scan
104
+ ```
105
+
106
+ managed outputs を削除するには:
107
+
108
+ ```bash
109
+ jhste-skills uninstall --yes --repo /path/to/repo
110
+ ```
111
+
112
+ `uninstall` は managed hook、marker-managed bridge block、manifest-managed skill directory を削除します。non-managed file には触れません。`.jhste/profile.yaml` は generated shape のままの場合のみ削除されます。変更済み profile を削除する場合は、内容を確認してから `--force-profile` を明示してください。
113
+
114
+ ## インストールモード
115
+
116
+ ```text
117
+ Minimal - jhste core skills のみをインストール; project file や hook は作成しない
118
+ Normal - 推奨デフォルト; all bundled skills + project profile/bridge + advisory pre-commit hook
119
+ Full - all bundled skills + profile/bridge + advisory pre-commit/pre-push hooks + deep scan
120
+ Custom - 効果ベースの質問でセットアップ範囲を選択
121
+ ```
122
+
123
+ `Full` も safety contract を守ります。non-managed hook、source file、CI、`package.json`、lockfile を上書きせず、strict mode も有効化しません。Interactive Full mode では自動 check の挙動だけを尋ねます: warning only、commit-time block、commit/push-time block。`--yes` は `--hooks blocking` が明示されない限り warning-only を使います。
124
+
125
+ ## Safety contract
126
+
127
+ `jhste-skills` は safe-by-default です。
128
+
129
+ - repo-local `AGENTS.md`、`CLAUDE.md`、docs が常に権威です。
130
+ - ユーザーの明示的な指示は task scope を定めますが、確認済みの safety/privacy/data-loss/repo-architecture constraint を黙って無視しません。
131
+ - デフォルトインストールは CI を変更しません。
132
+ - デフォルトインストールは対象 `package.json` や lockfile を変更しません。
133
+ - デフォルトインストールは source code を自動リファクタリングしません。
134
+ - managed hook はデフォルトで advisory です。
135
+ - strict mode には明示的な opt-in が必要です。
136
+ - bridge block は `<!-- jhste-skills:start -->` / `<!-- jhste-skills:end -->` marker を使います。
137
+ - guard output は review evidence であり、それ自体が proof ではありません。
138
+ - guard runtime/config failure は rule violation と分けて報告する必要があります。
139
+ - install/update/uninstall flow は non-managed hook、bridge text、skill directory に触れません。
140
+
141
+ ## Core jhste skills
142
+
143
+ 以下は jhste が作成した guardrail skills です。デフォルトでは bundled skill set の一部としてインストールされます。`--skill-set core` を使うと、これら core skills だけをインストールできます。
144
+
145
+ | Skill | いつ使うか | 何を減らすか |
146
+ |---|---|---|
147
+ | [`setup`](skills/setup/SKILL.md)<br>install/connect/update が既存プロジェクト指示を上書きしないようにする安全セットアップ skill | kit をインストール、またはリポジトリに接続するとき | Unsafe overwrite, unmanaged hook conflict, repo instruction replacement |
148
+ | [`jhste-engineering-judgment`](skills/jhste-engineering-judgment/SKILL.md)<br>コード変更前に goal、premise、scope、seam、failure path を検証する pre-change 判断 skill | non-trivial code change の前 | Blind agreement, scope creep, unverified assumption, unclear seam |
149
+ | [`jhste-code-quality`](skills/jhste-code-quality/SKILL.md)<br>input validation、observable failure handling、secret-safe logging を確認するコード品質 skill | application code の作成またはレビュー時 | Unvalidated input, silent failure, secret logging, oversized file |
150
+ | [`jhste-architecture-review`](skills/jhste-architecture-review/SKILL.md)<br>module boundary、side-effect placement、SRP 違反の可能性を確認する architecture review skill | module boundary や app structure を変更するとき | Pass-through abstraction, mixed responsibility, side-effect leakage |
151
+ | [`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 |
152
+ | [`jhste-crawler-automation`](skills/jhste-crawler-automation/SKILL.md)<br>crawler/scraper/worker/scheduler の producer-consumer seam と side effect を確認する automation skill | crawler、scraper、worker、scheduler、browser automation を触るとき | Fragile automation, unclear producer/consumer boundary, hidden side effect |
153
+ | [`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 |
154
+
155
+ ## Bundled workflow skills
156
+
157
+ Normal install では、Matt Pocock の [`mattpocock/skills`](https://github.com/mattpocock/skills) から vendoring した 14 個の workflow skills もインストールします。これらは debugging、planning、architecture、issue workflow、prototyping、handoff に役立ちます。インストールしたくない場合は `--skill-set core` を使ってください。
158
+
159
+ | Skill | いつ使うか |
160
+ |---|---|
161
+ | [`diagnose`](skills/diagnose/SKILL.md)<br>reproduce、minimize、hypothesize、instrument、fix、regression-check を強制する診断ループ skill | hard bug や performance regression を体系的に診断するとき |
162
+ | [`diagnosing-bugs`](skills/diagnosing-bugs/SKILL.md)<br>高速な pass/fail feedback loop を中心に root cause を絞り込む debugging skill | reproduce → minimise → hypothesise → instrument → fix ループが必要なとき |
163
+ | [`grill-me`](skills/grill-me/SKILL.md)<br>計画や設計の穴がなくなるまで粘り強く質問する skill | agent に計画や設計を明確になるまで質問させたいとき |
164
+ | [`grill-with-docs`](skills/grill-with-docs/SKILL.md)<br>質問しながら domain terms と decisions を文書化する design validation skill | 質問プロセスで project vocabulary や docs/ADR も更新したいとき |
165
+ | [`grilling`](skills/grilling/SKILL.md)<br>実装前に圧迫質問で計画と設計を検証する汎用 grilling skill | 一般的な plan/design stress-test 質問ループが必要なとき |
166
+ | [`domain-modeling`](skills/domain-modeling/SKILL.md)<br>プロジェクト用語、domain model、architectural decision を明確にする skill | domain term、ubiquitous language、architectural decision を整えるとき |
167
+ | [`codebase-design`](skills/codebase-design/SKILL.md)<br>deep module、小さな interface、明確な seam のための codebase design skill | より良い module interface、seam、testability vocabulary が必要なとき |
168
+ | [`improve-codebase-architecture`](skills/improve-codebase-architecture/SKILL.md)<br>shallow module と coupling を見つけ、deepening opportunity を探す architecture skill | deepening opportunity を見つけ、architectural friction を減らしたいとき |
169
+ | [`prototype`](skills/prototype/SKILL.md)<br>本実装前に throwaway code で logic や UI 方向を検証する prototyping skill | approach を確定する前に throwaway logic/UI prototype を作りたいとき |
170
+ | [`to-prd`](skills/to-prd/SKILL.md)<br>会話 context を product requirements に構造化する PRD 作成 skill | 会話 context を PRD に変換したいとき |
171
+ | [`to-issues`](skills/to-issues/SKILL.md)<br>計画を独立して作業可能な vertical-slice issues に分解する skill | plan を独立して進められる implementation issues に分けたいとき |
172
+ | [`triage`](skills/triage/SKILL.md)<br>structured workflow で issue を分類し、次の action を決める triage skill | issue を structured triage workflow で処理したいとき |
173
+ | [`handoff`](skills/handoff/SKILL.md)<br>次の agent や session が続けられるよう context を圧縮する handoff skill | 別の agent や session に context を渡したいとき |
174
+ | [`write-a-skill`](skills/write-a-skill/SKILL.md)<br>正しい構造と progressive disclosure で agent skill を作成する skill-writing skill | agent skill を作成または改善したいとき |
175
+
176
+ ## Attribution: Matt Pocock skills
177
+
178
+ このリポジトリは、上記 14 個の skills を Matt Pocock の [`mattpocock/skills`](https://github.com/mattpocock/skills) から vendoring しています。
179
+
180
+ これらの skills は upstream MIT License に基づいて vendoring されています。このリポジトリは必要な copyright/license notice を保持し、インポート元を記録しています。
181
+
182
+ - Upstream: [`mattpocock/skills`](https://github.com/mattpocock/skills)
183
+ - License: MIT
184
+ - Attribution: [`vendor/matt-pocock/NOTICE.md`](vendor/matt-pocock/NOTICE.md)
185
+ - Upstream license copy: [`vendor/matt-pocock/LICENSE`](vendor/matt-pocock/LICENSE)
186
+ - Allowlist: [`vendor/matt-pocock/allowlist.json`](vendor/matt-pocock/allowlist.json)
187
+ - Source lock: [`vendor/matt-pocock/source-lock.json`](vendor/matt-pocock/source-lock.json)
188
+
189
+ allowlist 外の vendored skill を別途レビューなしで追加しないでください。Vendored copy を更新する場合は source lock を更新し、diff をレビューしてください。
190
+
191
+ ## CLI commands
192
+
193
+ ```bash
194
+ jhste-skills install
195
+ jhste-skills connect
196
+ jhste-skills guard
197
+ jhste-skills deep-scan
198
+ jhste-skills tune
199
+ jhste-skills baseline
200
+ jhste-skills sync
201
+ jhste-skills update
202
+ jhste-skills hooks
203
+ jhste-skills uninstall
204
+ ```
205
+
206
+ 詳しい command behavior は [`docs/CLI.md`](docs/CLI.md) を参照してください。
207
+
208
+ ## 推奨 rollout
209
+
210
+ 1. まずデフォルトインストールを実行し、advisory workflow を dogfood します。
211
+ 2. 最初は advisory hook を維持します。commit-time check が不要なら `--skip-hooks` を使い、blocking mode は noise と false positive を十分確認してから有効にします。
212
+ 3. まずデフォルトの 300-line advisory limit を使います。チームが warning-level hook enforcement を受け入れられるようになってから `--line-limit-mode blocking` を使います。
213
+ 4. コード変更中は `guard --scope changed --format text --fail-on error` を手動で実行します。
214
+ 5. non-trivial code change の前に、`jhste-engineering-judgment` で scope、seam、failure path、data contract、assumption、各 changed class/module/function の main responsibility を確認します。
215
+ 6. non-trivial code work の完了宣言前に `jhste-red-team-review` を使います。docs-only、comment-only、formatting-only、trivial rename-only の変更はスキップします。
216
+ 7. fix + re-review は最大 2 サイクルまでにし、無限ループせず残りの risk を報告します。
217
+ 8. baseline は existing debt をレビューした後にだけ作成します。Baseline は known-issues ledger として扱い、scanner failure を隠すのではなく、ratchet で new debt を防ぐために使います。
218
+
219
+ ## Repository layout
220
+
221
+ ```text
222
+ skills/ AI-readable skill guidance
223
+ rules/ skills と scan で使う stable rule metadata
224
+ packs/ core、web、API、database、crawler rule bundle
225
+ adapters/ Codex、Claude、generic adapter notes
226
+ cli/ install、uninstall、deep-scan、guard、hooks、tune、baseline commands
227
+ vendor/matt-pocock/ Matt Pocock allowlist、source lock、license、attribution
228
+ examples/profile.yaml default advisory profile example
229
+ ```
230
+
231
+ ## Verification
232
+
233
+ ```bash
234
+ npm test
235
+ npm run public-safety:check
236
+ npm run vendor:check
237
+ npm run docs:check
238
+ ```
239
+
240
+ Release acceptance notes は [`docs/ACCEPTANCE_CHECK.md`](docs/ACCEPTANCE_CHECK.md) を参照してください。
241
+
242
+ ## Philosophy
243
+
244
+ `jhste-skills` は agent により多くの権限を与えるためのツールではありません。高速な agent をより信頼できるものにするためのツールです。
245
+
246
+ - 盲目的に同意しない。
247
+ - local project authority を上書きしない。
248
+ - 変更範囲を小さく保つ。
249
+ - SRP の観点で responsibility boundary に名前を付ける。
250
+ - failure を observable にする。
251
+ - automated guard output を proof ではなく evidence として扱う。
252
+ - non-trivial work を完了と呼ぶ前に red-team code review を行う。
253
+
254
+ 高速な agent には guardrail が必要です。`jhste-skills` は agent に repo-respecting engineering workflow を提供します。
package/README.ko.md ADDED
@@ -0,0 +1,254 @@
1
+ # jhste-skills
2
+
3
+ Languages: [English](README.md) · [한국어](README.ko.md) · [中文](README.zh.md) · [日本語](README.ja.md)
4
+
5
+ AI 코딩 에이전트가 설정한 코딩 기준을 일관되게 따르도록 만드는 설치형 작업 규칙 세트입니다.
6
+
7
+ `jhste-skills`는 Codex, Claude Code 같은 AI 코딩 에이전트에게 공통된 엔지니어링 작업 루프를 제공합니다. 코드를 바꾸기 전에 전제를 확인하고, 레포의 기존 지침을 우선시하고, API/database/automation 경계를 지키고, 한 모듈이 하나의 명확한 책임을 갖는지 확인하는 SRP(Single Responsibility Principle) 관점으로 변경 책임을 점검하고, 변경 파일 guard를 실행하고, 완료를 선언하기 전에 red-team code review를 거치도록 돕습니다.
8
+
9
+ 이 도구는 프로젝트를 장악하지 않습니다. 레포 안의 `AGENTS.md`, `CLAUDE.md`, docs가 항상 우선입니다. 기본 설정은 advisory 모드이며, marker-managed 방식으로 동작하고, 부담 없이 시도할 수 있도록 설계되어 있습니다.
10
+
11
+ 스킬은 필요한 상황에서 에이전트가 자동으로 사용하도록 설계되어 있습니다. 예를 들어 API 코드를 수정하면 API/database boundary 스킬을, 완료 직전에는 red-team review 스킬을 사용하도록 안내합니다. 사용자가 직접 특정 스킬을 호출할 수도 있습니다. 예: `jhste-engineering-judgment를 사용해서 이 변경 전제를 검토해줘`, `jhste-red-team-review로 이 diff를 리뷰해줘`.
12
+
13
+ ## 왜 설치해야 하나요?
14
+
15
+ AI 코딩 에이전트는 빠르지만, 반복적으로 비슷한 방식으로 실패합니다.
16
+
17
+ - 불명확한 요구사항이나 틀린 전제를 조용히 받아들입니다.
18
+ - 도와주려다가 작업 범위를 과하게 넓힙니다.
19
+ - UI, route/controller, service, database, side effect 책임을 한곳에 섞어 “한 모듈, 한 책임” 원칙(SRP)을 깨뜨립니다.
20
+ - 실패를 숨기거나 위험한 로그를 남깁니다.
21
+ - 변경된 코드를 충분히 확인하기 전에 “완료”라고 말합니다.
22
+ - 머신이나 레포를 바꿀 때마다 레포별 규칙을 잊어버립니다.
23
+
24
+ `jhste-skills`는 이런 실패를 줄이기 위한 반복 가능한 작업 루프를 에이전트에게 제공합니다.
25
+
26
+ ```text
27
+ non-trivial code change 전:
28
+ 목표, 전제, ownership seam, data contract, failure path, SRP 책임 확인
29
+
30
+ 수정 중:
31
+ repo-local instructions를 권위로 취급
32
+
33
+ 코드 변경 후:
34
+ 가능한 경우 빠른 changed-file guard 실행
35
+
36
+ “완료”라고 말하기 전:
37
+ read-only red-team code review 실행
38
+
39
+ warning이 나오면:
40
+ bounded fix를 시도하고, 다시 확인한 뒤, 무한 루프에 빠지지 않고 멈춤
41
+ ```
42
+
43
+ 기대하는 결과는 더 작은 diff, 더 명확한 SRP 경계, 더 안전한 API/database 코드, 더 적은 silent assumption, 더 솔직한 완료 보고입니다.
44
+
45
+ ## 누가 설치하면 좋나요?
46
+
47
+ 다음에 해당한다면 `jhste-skills`를 설치할 가치가 있습니다.
48
+
49
+ - Codex, Claude Code 또는 다른 coding agent를 여러 레포에서 사용합니다.
50
+ - non-trivial code change 전에 에이전트가 전제를 확인하길 원합니다.
51
+ - 기존 repo docs가 계속 권위로 남길 원합니다.
52
+ - 커밋 전 또는 완료 선언 전에 가벼운 advisory check를 두고 싶습니다.
53
+ - SRP, API/database boundary, safe logging, input validation, side effect, automation reliability를 중요하게 봅니다.
54
+ - 머신과 레포를 옮겨도 같은 AI 작업 습관을 빠르게 복원하고 싶습니다.
55
+
56
+ 반대로, prompt 파일 하나만 원하거나, 설치 즉시 strict CI enforcement를 원하거나, `.jhste/` 파일과 bridge block 생성을 원하지 않거나, 이 도구가 자동으로 코드를 refactor하길 기대한다면 맞지 않을 수 있습니다.
57
+
58
+ ## 빠른 시작
59
+
60
+ ```bash
61
+ npx jhste-skills install
62
+ ```
63
+
64
+ 또는 npm으로 CLI를 전역 설치해서 어느 레포에서든 사용할 수 있습니다.
65
+
66
+ ```bash
67
+ npm install -g jhste-skills
68
+ jhste-skills install
69
+ ```
70
+
71
+ 한 번만 실행해보고 싶다면 `npx`를 쓰면 되고, 평소에 계속 사용할 CLI로 두고 싶다면 `npm install -g`를 쓰면 됩니다.
72
+
73
+ 기본 설치는 Normal mode를 사용합니다.
74
+
75
+ - bundled skills 전체를 설치합니다: jhste core skills + vendored workflow skills.
76
+ - `.jhste/profile.yaml`이 없으면 생성합니다.
77
+ - project guidance가 켜져 있으면 `AGENTS.md` 또는 `CLAUDE.md`에 marker-managed bridge block을 추가하거나 갱신합니다.
78
+ - 안전할 때 advisory pre-commit hook을 설치합니다.
79
+ - CI, target `package.json`, lockfile, source code는 수정하지 않습니다.
80
+
81
+ 다른 레포에 연결하려면:
82
+
83
+ ```bash
84
+ cd /path/to/another-repo
85
+ jhste-skills connect
86
+ ```
87
+
88
+ jhste core guardrail skills만 설치하려면:
89
+
90
+ ```bash
91
+ npx jhste-skills install --skill-set core
92
+ ```
93
+
94
+ 변경 파일 guard를 수동으로 실행하려면:
95
+
96
+ ```bash
97
+ jhste-skills guard --scope changed --format text --fail-on error
98
+ ```
99
+
100
+ 선택적으로 repo-wide advisory scan을 실행하려면:
101
+
102
+ ```bash
103
+ jhste-skills deep-scan
104
+ ```
105
+
106
+ managed output을 제거하려면:
107
+
108
+ ```bash
109
+ jhste-skills uninstall --yes --repo /path/to/repo
110
+ ```
111
+
112
+ `uninstall`은 managed hook, marker-managed bridge block, manifest-managed skill directory를 제거합니다. non-managed file은 건드리지 않습니다. `.jhste/profile.yaml`은 generated shape 그대로일 때만 제거하며, 수정된 profile을 제거하려면 내용을 검토한 뒤 `--force-profile`을 명시해야 합니다.
113
+
114
+ ## 설치 모드
115
+
116
+ ```text
117
+ Minimal - jhste core skills만 설치; project file이나 hook은 만들지 않음
118
+ Normal - 권장 기본값; all bundled skills + project profile/bridge + advisory pre-commit hook
119
+ Full - all bundled skills + profile/bridge + advisory pre-commit/pre-push hooks + deep scan
120
+ Custom - 효과 중심 질문을 통해 설치 범위를 직접 선택
121
+ ```
122
+
123
+ `Full`도 safety contract를 지킵니다. non-managed hook, source file, CI, `package.json`, lockfile을 덮어쓰지 않고, strict mode를 켜지 않습니다. Interactive Full mode에서는 자동 check 동작만 묻습니다: warning only, commit-time block, commit/push-time block. `--yes`는 `--hooks blocking`을 명시하지 않는 한 warning-only를 사용합니다.
124
+
125
+ ## Safety contract
126
+
127
+ `jhste-skills`는 safe-by-default를 목표로 합니다.
128
+
129
+ - repo-local `AGENTS.md`, `CLAUDE.md`, docs가 항상 권위입니다.
130
+ - 사용자의 명시적 지시는 작업 scope를 정하지만, 확인된 safety/privacy/data-loss/repo-architecture constraint를 조용히 무시하지 않습니다.
131
+ - 기본 설치는 CI를 수정하지 않습니다.
132
+ - 기본 설치는 target `package.json`이나 lockfile을 수정하지 않습니다.
133
+ - 기본 설치는 source code를 자동 refactor하지 않습니다.
134
+ - managed hook은 기본적으로 advisory입니다.
135
+ - strict mode는 명시적 opt-in이 필요합니다.
136
+ - bridge block은 `<!-- jhste-skills:start -->` / `<!-- jhste-skills:end -->` marker를 사용합니다.
137
+ - guard output은 review evidence이지 그 자체로 proof가 아닙니다.
138
+ - guard runtime/config failure는 rule violation과 별도로 보고해야 합니다.
139
+ - install/update/uninstall flow는 non-managed hook, bridge text, skill directory를 건드리지 않습니다.
140
+
141
+ ## Core jhste skills
142
+
143
+ 아래는 jhste가 작성한 guardrail skills입니다. 기본 bundled skill set의 일부로 설치되며, `--skill-set core`를 사용하면 이 core skills만 설치할 수 있습니다.
144
+
145
+ | Skill | 언제 쓰나 | 무엇을 줄여주나 |
146
+ |---|---|---|
147
+ | [`setup`](skills/setup/SKILL.md)<br>설치, 연결, 업데이트가 기존 프로젝트 지침을 덮어쓰지 않도록 하는 안전 설치 스킬 | kit를 설치하거나 레포에 연결할 때 | unsafe overwrite, unmanaged hook conflict, repo instruction replacement |
148
+ | [`jhste-engineering-judgment`](skills/jhste-engineering-judgment/SKILL.md)<br>코드 변경 전 목표, 전제, scope, seam, failure path를 검증하는 pre-change 판단 스킬 | non-trivial code change 전 | blind agreement, scope creep, unverified assumption, unclear seam |
149
+ | [`jhste-code-quality`](skills/jhste-code-quality/SKILL.md)<br>입력 검증, 관측 가능한 실패 처리, secret-safe logging을 점검하는 코드 품질 스킬 | application code 작성/리뷰 시 | unvalidated input, silent failure, secret logging, oversized file |
150
+ | [`jhste-architecture-review`](skills/jhste-architecture-review/SKILL.md)<br>모듈 경계, side effect 위치, SRP 위반 가능성을 검토하는 아키텍처 리뷰 스킬 | module boundary나 app structure 변경 시 | pass-through abstraction, mixed responsibility, side-effect leakage |
151
+ | [`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 |
152
+ | [`jhste-crawler-automation`](skills/jhste-crawler-automation/SKILL.md)<br>crawler, scraper, worker, scheduler의 producer/consumer seam과 side effect를 점검하는 자동화 스킬 | crawler, scraper, worker, scheduler, browser automation을 만질 때 | fragile automation, unclear producer/consumer boundary, hidden side effect |
153
+ | [`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 |
154
+
155
+ ## Bundled workflow skills
156
+
157
+ Normal install은 Matt Pocock의 [`mattpocock/skills`](https://github.com/mattpocock/skills)에서 vendoring한 workflow skills 14개도 함께 설치합니다. 이 스킬들은 debugging, planning, architecture, issue workflow, prototyping, handoff 작업에 유용합니다. 설치하고 싶지 않다면 `--skill-set core`를 사용하세요.
158
+
159
+ | Skill | 언제 쓰나 |
160
+ |---|---|
161
+ | [`diagnose`](skills/diagnose/SKILL.md)<br>재현, 축소, 가설, 계측, 수정, 회귀 확인을 강제하는 진단 루프 스킬 | hard bug 또는 performance regression을 체계적으로 진단할 때 |
162
+ | [`diagnosing-bugs`](skills/diagnosing-bugs/SKILL.md)<br>빠른 pass/fail feedback loop를 중심으로 원인을 좁혀가는 debugging 스킬 | reproduce → minimise → hypothesise → instrument → fix 루프가 필요할 때 |
163
+ | [`grill-me`](skills/grill-me/SKILL.md)<br>계획이나 설계의 빈틈이 사라질 때까지 집요하게 질문하는 스킬 | agent가 계획이나 설계를 명확해질 때까지 질문하게 하고 싶을 때 |
164
+ | [`grill-with-docs`](skills/grill-with-docs/SKILL.md)<br>질문 과정에서 도메인 용어와 의사결정을 문서화하는 설계 검증 스킬 | 질문 과정에서 project vocabulary와 docs/ADR까지 함께 정리하고 싶을 때 |
165
+ | [`grilling`](skills/grilling/SKILL.md)<br>구현 전에 계획과 설계를 압박 질문으로 검증하는 일반 grilling 스킬 | 일반적인 plan/design stress-test 질문 루프가 필요할 때 |
166
+ | [`domain-modeling`](skills/domain-modeling/SKILL.md)<br>프로젝트의 용어, 도메인 모델, architectural decision을 선명하게 만드는 스킬 | domain term, ubiquitous language, architectural decision을 다듬을 때 |
167
+ | [`codebase-design`](skills/codebase-design/SKILL.md)<br>deep module, 작은 interface, 명확한 seam을 설계하기 위한 코드베이스 설계 스킬 | 더 나은 module interface, seam, testability vocabulary가 필요할 때 |
168
+ | [`improve-codebase-architecture`](skills/improve-codebase-architecture/SKILL.md)<br>얕은 모듈과 결합도를 찾아 더 깊은 모듈로 개선할 기회를 찾는 아키텍처 스킬 | deepening opportunity를 찾고 architectural friction을 줄이고 싶을 때 |
169
+ | [`prototype`](skills/prototype/SKILL.md)<br>본 구현 전에 throwaway prototype으로 로직이나 UI 방향을 검증하는 스킬 | approach를 확정하기 전에 throwaway logic/UI prototype을 만들고 싶을 때 |
170
+ | [`to-prd`](skills/to-prd/SKILL.md)<br>대화 내용을 제품 요구사항 문서로 구조화하는 PRD 작성 스킬 | 대화 context를 PRD로 정리하고 싶을 때 |
171
+ | [`to-issues`](skills/to-issues/SKILL.md)<br>계획을 독립적으로 작업 가능한 vertical-slice issue로 나누는 스킬 | plan을 독립적으로 처리 가능한 implementation issue로 나누고 싶을 때 |
172
+ | [`triage`](skills/triage/SKILL.md)<br>issue를 역할과 상태 기반 workflow로 분류하고 다음 행동을 정하는 triage 스킬 | issue를 structured triage workflow로 처리하고 싶을 때 |
173
+ | [`handoff`](skills/handoff/SKILL.md)<br>다음 agent나 다음 세션이 이어받을 수 있도록 맥락을 압축하는 handoff 스킬 | 다른 agent나 session이 이어받을 수 있도록 context를 압축할 때 |
174
+ | [`write-a-skill`](skills/write-a-skill/SKILL.md)<br>새로운 agent skill을 올바른 구조와 progressive disclosure 방식으로 작성하는 스킬 | agent skill을 새로 만들거나 다듬고 싶을 때 |
175
+
176
+ ## Attribution: Matt Pocock skills
177
+
178
+ 이 레포는 위에 나열된 14개 skills를 Matt Pocock의 [`mattpocock/skills`](https://github.com/mattpocock/skills)에서 vendoring합니다.
179
+
180
+ 해당 skills는 upstream MIT License에 따라 vendoring되어 있습니다. 이 레포는 필요한 copyright/license notice를 보존하고, 가져온 source를 기록합니다.
181
+
182
+ - Upstream: [`mattpocock/skills`](https://github.com/mattpocock/skills)
183
+ - License: MIT
184
+ - Attribution: [`vendor/matt-pocock/NOTICE.md`](vendor/matt-pocock/NOTICE.md)
185
+ - Upstream license copy: [`vendor/matt-pocock/LICENSE`](vendor/matt-pocock/LICENSE)
186
+ - Allowlist: [`vendor/matt-pocock/allowlist.json`](vendor/matt-pocock/allowlist.json)
187
+ - Source lock: [`vendor/matt-pocock/source-lock.json`](vendor/matt-pocock/source-lock.json)
188
+
189
+ 별도 검토 없이 allowlist 밖의 vendored skill을 추가하지 마세요. Vendored copy를 업데이트할 때는 source lock을 갱신하고 diff를 검토해야 합니다.
190
+
191
+ ## CLI commands
192
+
193
+ ```bash
194
+ jhste-skills install
195
+ jhste-skills connect
196
+ jhste-skills guard
197
+ jhste-skills deep-scan
198
+ jhste-skills tune
199
+ jhste-skills baseline
200
+ jhste-skills sync
201
+ jhste-skills update
202
+ jhste-skills hooks
203
+ jhste-skills uninstall
204
+ ```
205
+
206
+ 자세한 command behavior는 [`docs/CLI.md`](docs/CLI.md)를 참고하세요.
207
+
208
+ ## 권장 rollout
209
+
210
+ 1. 기본 설치를 실행하고 advisory workflow를 먼저 dogfood합니다.
211
+ 2. 처음에는 advisory hook을 유지합니다. commit-time check를 원하지 않으면 `--skip-hooks`를 사용하고, blocking mode는 noise와 false positive를 충분히 확인한 뒤 켭니다.
212
+ 3. 기본 300-line advisory limit을 먼저 사용합니다. warning-level hook enforcement를 팀이 받아들일 준비가 되었을 때만 `--line-limit-mode blocking`을 사용합니다.
213
+ 4. 코드 변경 중에는 `guard --scope changed --format text --fail-on error`를 수동으로 실행합니다.
214
+ 5. non-trivial code change 전에는 `jhste-engineering-judgment`로 scope, seam, failure path, data contract, assumption, 각 changed class/module/function의 main responsibility를 확인합니다.
215
+ 6. non-trivial code work 완료 선언 전에는 `jhste-red-team-review`를 사용합니다. docs-only, comment-only, formatting-only, trivial rename-only 변경은 건너뜁니다.
216
+ 7. fix + re-review는 최대 두 번까지만 반복하고, 무한 review loop 대신 남은 risk를 보고합니다.
217
+ 8. 기존 debt를 검토한 뒤에만 baseline을 생성합니다. Baseline은 known-issues ledger로 취급하고, scanner failure를 숨기는 용도가 아니라 new debt를 막는 ratchet 용도로 사용합니다.
218
+
219
+ ## Repository layout
220
+
221
+ ```text
222
+ skills/ AI-readable skill guidance
223
+ rules/ skills와 scan에서 사용하는 stable rule metadata
224
+ packs/ core, web, API, database, crawler rule bundle
225
+ adapters/ Codex, Claude, generic adapter notes
226
+ cli/ install, uninstall, deep-scan, guard, hooks, tune, baseline commands
227
+ vendor/matt-pocock/ Matt Pocock allowlist, source lock, license, attribution
228
+ examples/profile.yaml default advisory profile example
229
+ ```
230
+
231
+ ## Verification
232
+
233
+ ```bash
234
+ npm test
235
+ npm run public-safety:check
236
+ npm run vendor:check
237
+ npm run docs:check
238
+ ```
239
+
240
+ Release acceptance notes는 [`docs/ACCEPTANCE_CHECK.md`](docs/ACCEPTANCE_CHECK.md)를 참고하세요.
241
+
242
+ ## 철학
243
+
244
+ `jhste-skills`는 agent에게 더 많은 권한을 주기 위한 도구가 아닙니다. 빠른 agent가 더 신뢰할 수 있게 일하도록 만드는 도구입니다.
245
+
246
+ - 무조건 동의하지 않습니다.
247
+ - local project authority를 덮어쓰지 않습니다.
248
+ - 변경 범위를 작게 유지합니다.
249
+ - SRP 관점에서 responsibility boundary를 이름 붙입니다.
250
+ - failure를 observable하게 만듭니다.
251
+ - automated guard output을 proof가 아니라 evidence로 취급합니다.
252
+ - non-trivial work를 완료라고 말하기 전에 red-team code review를 수행합니다.
253
+
254
+ 빠른 agent에는 guardrail이 필요합니다. `jhste-skills`는 agent에게 repo-respecting engineering workflow를 제공합니다.