jhste-skills 0.8.0 → 0.9.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 +21 -0
- package/README.en.md +24 -22
- package/README.md +24 -22
- package/THIRD_PARTY_NOTICES.md +10 -2
- package/package.json +2 -2
- package/skills/jhste-coding/SKILL.md +5 -3
- package/skills/jhste-diagnosing-bugs/SKILL.md +3 -3
- package/skills/jhste-grill/SKILL.md +2 -2
- package/skills/jhste-handoff/SKILL.md +3 -1
- package/skills/jhste-implementation-finalizer/SKILL.md +3 -3
- package/skills/jhste-prototype/SKILL.md +48 -0
- package/skills/jhste-prototype/agents/openai.yaml +7 -0
- package/skills/jhste-to-spec/SKILL.md +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.9.0 - 2026-07-28
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- Added `jhste-prototype` for deliberately disposable, runnable experiments that answer one concrete design question before production implementation.
|
|
7
|
+
- Added static prototype routing contracts for state models, API surfaces, data shapes, UI structures, handoffs, non-triggers, and external-write policy.
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- Clarified prototype boundaries with `jhste-coding`, `jhste-diagnosing-bugs`, `jhste-grill`, `jhste-to-spec`, and `jhste-implementation-finalizer`.
|
|
11
|
+
- Linked every skill name in both READMEs directly to its `SKILL.md`, synchronized the descriptions, and updated installation text from ten to eleven skills.
|
|
12
|
+
- Bumped the package minor version for the new published capability and expanded static routing coverage from 52 to 78 scenarios across nine covered skills.
|
|
13
|
+
- Updated upstream attribution to the reviewed Matt Pocock revision and documented which prototype concepts were adapted or deliberately softened.
|
|
14
|
+
|
|
15
|
+
## 0.8.1 - 2026-07-27
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- Narrowed `jhste-implementation-finalizer` so an existing handoff, partial implementation, branch, diff, worktree, or worker result does not select finalization without an explicit independent audit, verification, or completion intent.
|
|
19
|
+
- Routed ordinary implementation continuation from a handoff's exact resume point to `jhste-coding`, with unresolved root-cause work remaining in `jhste-diagnosing-bugs`.
|
|
20
|
+
- Clarified that `jhste-handoff` authors and updates handoff documents rather than owning implementation merely because a handoff must be read.
|
|
21
|
+
- Expanded static routing coverage from 48 to 52 scenarios for handoff continuation, uncertain diagnosis, and independent finalization boundaries.
|
|
22
|
+
- Updated npm publishing so a package version bump merged to `main` runs release checks and publishes an unpublished version, while tag pushes remain supported without duplicate publication.
|
|
23
|
+
|
|
3
24
|
## 0.8.0 - 2026-07-26
|
|
4
25
|
|
|
5
26
|
### Added
|
package/README.en.md
CHANGED
|
@@ -6,29 +6,31 @@ A personal engineering skill set maintained around GPT-5.6's outcome-first, lean
|
|
|
6
6
|
|
|
7
7
|
## Skills
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
- **[`jhste-coding`](skills/jhste-coding/SKILL.md)** — implements sufficiently understood features, bug fixes, refactors, and ordinary continuation from a handoff's exact resume point with a small change and relevant validation.
|
|
10
|
+
- **[`jhste-prototype`](skills/jhste-prototype/SKILL.md)** — tests one important design question before production implementation with the smallest disposable runnable evidence.
|
|
11
|
+
- **[`jhste-diagnosing-bugs`](skills/jhste-diagnosing-bugs/SKILL.md)** — diagnoses difficult bugs and performance regressions whose cause or correct fix is uncertain through reproduction, hypotheses, and measurement.
|
|
12
|
+
- **[`jhste-grill`](skills/jhste-grill/SKILL.md)** — resolves consequential decision branches one question at a time while continuously maintaining settled domain context and ADRs.
|
|
13
|
+
- **[`jhste-domain-modeling`](skills/jhste-domain-modeling/SKILL.md)** — clarifies domain terms, boundaries, and relationships, immediately recording settled glossary entries and qualifying ADRs.
|
|
14
|
+
- **[`jhste-to-spec`](skills/jhste-to-spec/SKILL.md)** — synthesizes an already discussed or defined change into a reviewable engineering specification grounded in repository evidence.
|
|
15
|
+
- **[`jhste-to-tickets`](skills/jhste-to-tickets/SKILL.md)** — splits defined work into GitHub parent/sub-issues with native dependencies.
|
|
16
|
+
- **[`jhste-handoff`](skills/jhste-handoff/SKILL.md)** — creates or updates executor-neutral implementation handoffs with ownership, phase progress, verification, blockers, and an exact resume point.
|
|
17
|
+
- **[`jhste-implementation-finalizer`](skills/jhste-implementation-finalizer/SKILL.md)** — independently audits and verifies claimed-complete or submitted implementation work, fixes gaps, finishes it, and completes already-authorized PR updates.
|
|
18
|
+
- **[`jhste-pr-review`](skills/jhste-pr-review/SKILL.md)** — reviews explicitly requested PRs against the actual diff and posts only high-confidence actionable findings.
|
|
19
|
+
- **[`jhste-review-followup`](skills/jhste-review-followup/SKILL.md)** — validates existing PR feedback and pushes only justified fixes to the existing PR branch.
|
|
20
|
+
|
|
21
|
+
The skills do not require or automatically call one another, and `jhste-prototype` is not a mandatory pre-step for coding. A sufficiently clear implementation belongs to `jhste-coding`; only an important uncertainty about what to build that needs runnable evidence belongs to `jhste-prototype`; an unexplained failure in existing behavior belongs to `jhste-diagnosing-bugs`; and a user-owned policy decision belongs to `jhste-grill`. Once a prototype direction is selected, `jhste-coding` implements it for production and `jhste-to-spec` records it only when a specification is requested.
|
|
21
22
|
|
|
22
23
|
## Behavioral boundaries
|
|
23
24
|
|
|
24
|
-
- `jhste-coding` applies to
|
|
25
|
-
- `jhste-
|
|
26
|
-
- `jhste-
|
|
25
|
+
- `jhste-coding` applies to sufficiently understood code changes and ordinary continuation from an existing handoff or partial implementation. Executable experiments that test an important design assumption before production belong to `jhste-prototype`.
|
|
26
|
+
- `jhste-prototype` answers one concrete question about a state model, business rule, data shape, API surface, interaction flow, or UI structure with disposable runnable evidence. It does not take over ordinary implementation, diagnosis of an existing failure, static mockups, open-ended ideation, or production-ready delivery.
|
|
27
|
+
- `jhste-diagnosing-bugs` applies when an observed failure needs a reproduction signal, competing hypotheses, instrumentation, or measurement. Testing a design that has not been built yet belongs to `jhste-prototype`.
|
|
28
|
+
- `jhste-grill` applies when the user wants an interview or decision stress test. It does not let a prototype guess a user-owned choice; once a decision is settled, representability or ergonomics that need executable evidence can move to `jhste-prototype`.
|
|
27
29
|
- `jhste-domain-modeling` owns focused domain-language clarification and the corresponding glossary and qualifying ADR updates, not incidental code naming or generic architecture discussion.
|
|
28
|
-
- `jhste-to-spec` defines settled behavior, contracts, validation, and scope. It does not
|
|
30
|
+
- `jhste-to-spec` defines settled behavior, contracts, validation, and scope. It does not freeze a guess into a specification when an unresolved design assumption should first be tested.
|
|
29
31
|
- `jhste-to-tickets` drafts or publishes a GitHub issue graph. It does not duplicate local handoff state across issue bodies.
|
|
30
|
-
- `jhste-handoff` runs only
|
|
31
|
-
- `jhste-implementation-finalizer`
|
|
32
|
+
- `jhste-handoff` runs only when the user asks to create, update, refresh, or phase a handoff document. It does not own implementation merely because an existing handoff must be read.
|
|
33
|
+
- `jhste-implementation-finalizer` applies to production implementation explicitly submitted for independent audit, verification, correction, or final completion. It does not promote disposable prototype code; a selected direction is implemented properly with `jhste-coding`.
|
|
32
34
|
- `jhste-pr-review` applies only to an explicit review-only request and does not modify the branch.
|
|
33
35
|
- `jhste-review-followup` applies only when existing PR feedback defines the scope. It is not the general completion workflow for a worker result or partially implemented branch.
|
|
34
36
|
|
|
@@ -36,7 +38,7 @@ This package does not include a mandatory TDD workflow, Wayfinder, a generic del
|
|
|
36
38
|
|
|
37
39
|
## Install user-wide from npm
|
|
38
40
|
|
|
39
|
-
This package has no CLI. It distributes the
|
|
41
|
+
This package has no CLI. It distributes the eleven skills and their Codex metadata.
|
|
40
42
|
|
|
41
43
|
```sh
|
|
42
44
|
npm install -g jhste-skills
|
|
@@ -53,7 +55,7 @@ mkdir -p "$HOME/.agents/skills"
|
|
|
53
55
|
cp -R skills/. "$HOME/.agents/skills/"
|
|
54
56
|
```
|
|
55
57
|
|
|
56
|
-
If another agent expects a different global skills directory, copy the
|
|
58
|
+
If another agent expects a different global skills directory, copy the eleven directories under `skills/` there. This package does not require project-local skill copies.
|
|
57
59
|
|
|
58
60
|
## Development and validation
|
|
59
61
|
|
|
@@ -62,6 +64,6 @@ npm test
|
|
|
62
64
|
npm pack --dry-run
|
|
63
65
|
```
|
|
64
66
|
|
|
65
|
-
`npm test` checks package, metadata, and documentation consistency plus
|
|
67
|
+
`npm test` checks package, metadata, and documentation consistency plus 78 static routing scenarios across nine covered skills. The fixture does not invoke a model or measure live automatic-trigger accuracy.
|
|
66
68
|
|
|
67
|
-
External sources and license attribution are recorded in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
|
|
69
|
+
External sources and license attribution are recorded in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). When a change containing a new package version is merged to `main`, or a `v*.*.*` release tag is pushed, GitHub Actions runs release checks and publishes the version through npm trusted publishing if it is not already present.
|
package/README.md
CHANGED
|
@@ -6,29 +6,31 @@ GPT-5.6의 outcome-first, lean-prompt 지침에 맞춰 관리하는 개인용
|
|
|
6
6
|
|
|
7
7
|
## 스킬
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
- **[`jhste-coding`](skills/jhste-coding/SKILL.md)** — 충분히 이해된 기능, 버그 수정, 리팩터링과 handoff의 정확한 재개 지점부터 이어지는 일반 구현을 작은 변경과 관련 검증으로 수행합니다.
|
|
10
|
+
- **[`jhste-prototype`](skills/jhste-prototype/SKILL.md)** — production 구현 전에 하나의 중요한 설계 질문을 가장 작은 폐기 가능한 실행 증거로 검증합니다.
|
|
11
|
+
- **[`jhste-diagnosing-bugs`](skills/jhste-diagnosing-bugs/SKILL.md)** — 원인이나 올바른 수정이 불확실한 어려운 버그와 성능 저하를 재현, 가설, 측정으로 진단합니다.
|
|
12
|
+
- **[`jhste-grill`](skills/jhste-grill/SKILL.md)** — 중요한 결정 분기를 한 번에 한 질문씩 해소하면서 확정된 도메인 문맥과 ADR을 계속 갱신합니다.
|
|
13
|
+
- **[`jhste-domain-modeling`](skills/jhste-domain-modeling/SKILL.md)** — 도메인 용어, 경계, 관계를 명확히 하고 확정된 glossary 항목과 필요한 ADR을 바로 기록합니다.
|
|
14
|
+
- **[`jhste-to-spec`](skills/jhste-to-spec/SKILL.md)** — 이미 논의되거나 정의된 변경을 저장소 근거에 맞춘 검토 가능한 엔지니어링 명세로 정리합니다.
|
|
15
|
+
- **[`jhste-to-tickets`](skills/jhste-to-tickets/SKILL.md)** — 정의된 작업을 GitHub parent/sub-issue와 native dependency로 나눕니다.
|
|
16
|
+
- **[`jhste-handoff`](skills/jhste-handoff/SKILL.md)** — 특정 실행 도구와 무관하게 소유권, 단계 진행, 검증, blocker, 정확한 재개 지점을 보존하는 구현 handoff를 만들거나 갱신합니다.
|
|
17
|
+
- **[`jhste-implementation-finalizer`](skills/jhste-implementation-finalizer/SKILL.md)** — 완료 주장이나 제출된 구현을 독립적으로 감사·검증하고 부족한 부분을 직접 고쳐 최종 완료하며, 이미 승인된 동일 PR 업데이트까지 수행합니다.
|
|
18
|
+
- **[`jhste-pr-review`](skills/jhste-pr-review/SKILL.md)** — 명시적으로 요청된 PR을 실제 diff 기준으로 검토하고 신뢰도 높은 실행 가능한 지적만 게시합니다.
|
|
19
|
+
- **[`jhste-review-followup`](skills/jhste-review-followup/SKILL.md)** — 기존 PR 피드백을 검증하고 정당한 수정만 기존 PR 브랜치에 반영합니다.
|
|
20
|
+
|
|
21
|
+
스킬은 서로를 의무적으로 호출하지 않으며, `jhste-prototype`도 모든 코딩의 필수 선행 단계가 아닙니다. 구현 경로가 충분히 명확하면 `jhste-coding`, 무엇을 만들지에 대한 중요한 설계 불확실성이 실행 가능한 증거를 필요로 할 때만 `jhste-prototype`, 이미 존재하는 동작의 원인이 불명확하면 `jhste-diagnosing-bugs`, 사용자 소유 정책 결정이 남아 있으면 `jhste-grill`이 담당합니다. 프로토타입에서 방향이 선택되면 `jhste-coding`으로 production 구현하고, 명세가 필요할 때만 `jhste-to-spec`으로 기록합니다.
|
|
21
22
|
|
|
22
23
|
## 동작 경계
|
|
23
24
|
|
|
24
|
-
- `jhste-coding`은 구현 경로가 충분히 명확한 코드
|
|
25
|
-
- `jhste-
|
|
26
|
-
- `jhste-
|
|
25
|
+
- `jhste-coding`은 구현 경로가 충분히 명확한 코드 변경과 기존 handoff 또는 부분 구현의 일반적인 이어서 하기를 담당합니다. production 전 실행 실험으로 중요한 설계 가정을 검증하는 작업은 `jhste-prototype`에 속합니다.
|
|
26
|
+
- `jhste-prototype`은 state model, business rule, data shape, API surface, interaction flow, UI structure에 관한 하나의 구체적 질문을 폐기 가능한 실행 증거로 답합니다. 일반 구현, 기존 장애 원인 진단, 정적 mockup, 열린 아이디어 탐색, production-ready 전달을 가로채지 않습니다.
|
|
27
|
+
- `jhste-diagnosing-bugs`는 이미 관찰된 실패에 재현 신호, 경쟁 가설, 계측, 측정이 필요할 때 담당합니다. 아직 만들지 않은 설계를 시험하는 작업은 `jhste-prototype`입니다.
|
|
28
|
+
- `jhste-grill`은 사용자가 인터뷰나 의사결정 검증을 원할 때만 동작합니다. 사용자 소유 결정이 먼저 필요하면 프로토타입으로 추측하지 않고 인터뷰하며, 결정된 가정의 representability나 ergonomics가 실행 증거를 필요로 하면 `jhste-prototype`으로 넘깁니다.
|
|
27
29
|
- `jhste-domain-modeling`은 도메인 언어와 개념 경계를 담당하며, 단순 변수명 변경이나 일반적인 아키텍처 설명을 가로채지 않습니다.
|
|
28
|
-
- `jhste-to-spec`은 확정된 동작, 계약, 검증, 범위를 정의합니다.
|
|
30
|
+
- `jhste-to-spec`은 확정된 동작, 계약, 검증, 범위를 정의합니다. 해결되지 않은 설계 가정을 실행해 보는 대신 명세에 추측을 고정하지 않습니다.
|
|
29
31
|
- `jhste-to-tickets`는 GitHub issue graph를 초안 작성하거나 게시합니다. 로컬 handoff 상태를 여러 issue 본문에 중복하지 않습니다.
|
|
30
|
-
- `jhste-handoff`는
|
|
31
|
-
- `jhste-implementation-finalizer`는
|
|
32
|
+
- `jhste-handoff`는 handoff 문서를 새로 만들거나 갱신하고, 재개 가능한 단계로 나누는 명시적 요청에서만 동작합니다. 기존 handoff를 읽고 구현을 계속하는 작업 자체는 담당하지 않습니다.
|
|
33
|
+
- `jhste-implementation-finalizer`는 완료 주장, 독립 검증, 최종 감사·수정 의도가 명시된 production 구현을 담당합니다. 폐기 가능한 프로토타입을 production 코드로 승격하는 수단이 아니며, 선택된 방향은 `jhste-coding`으로 다시 구현합니다.
|
|
32
34
|
- `jhste-pr-review`는 검토 전용 요청에만 적용되며 브랜치를 수정하지 않습니다.
|
|
33
35
|
- `jhste-review-followup`은 이미 존재하는 PR 피드백이 범위를 정의할 때만 적용됩니다. 일반적인 작업자 결과 마무리 용도가 아닙니다.
|
|
34
36
|
|
|
@@ -36,7 +38,7 @@ GPT-5.6의 outcome-first, lean-prompt 지침에 맞춰 관리하는 개인용
|
|
|
36
38
|
|
|
37
39
|
## npm에서 사용자 전역 설치
|
|
38
40
|
|
|
39
|
-
이 패키지는 CLI를 제공하지 않습니다.
|
|
41
|
+
이 패키지는 CLI를 제공하지 않습니다. 열한 개 스킬과 Codex metadata를 배포합니다.
|
|
40
42
|
|
|
41
43
|
```sh
|
|
42
44
|
npm install -g jhste-skills
|
|
@@ -53,7 +55,7 @@ mkdir -p "$HOME/.agents/skills"
|
|
|
53
55
|
cp -R skills/. "$HOME/.agents/skills/"
|
|
54
56
|
```
|
|
55
57
|
|
|
56
|
-
다른 agent가 다른 전역 skills 디렉터리를 사용하면 `skills/` 아래
|
|
58
|
+
다른 agent가 다른 전역 skills 디렉터리를 사용하면 `skills/` 아래 열한 개 디렉터리를 그 위치에 복사하세요. 프로젝트별 복사본은 필수가 아닙니다.
|
|
57
59
|
|
|
58
60
|
## 개발 및 검증
|
|
59
61
|
|
|
@@ -62,6 +64,6 @@ npm test
|
|
|
62
64
|
npm pack --dry-run
|
|
63
65
|
```
|
|
64
66
|
|
|
65
|
-
`npm test`는 패키지, metadata, 문서 일관성과
|
|
67
|
+
`npm test`는 패키지, metadata, 문서 일관성과 아홉 스킬을 다루는 정적 라우팅 시나리오 78개를 검사합니다. 이 fixture는 모델을 실제 호출하거나 자동 trigger 정확도를 측정하지 않습니다.
|
|
66
68
|
|
|
67
|
-
외부 출처와 라이선스 표기는 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)에 기록합니다. `v*.*.*` release tag
|
|
69
|
+
외부 출처와 라이선스 표기는 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)에 기록합니다. 새 package version을 포함한 변경이 `main`에 병합되거나 `v*.*.*` release tag가 push되면 GitHub Actions 검증 후 아직 게시되지 않은 버전을 npm trusted publishing으로 배포합니다.
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -9,11 +9,19 @@ The JHSTE workflow set is independently maintained, but parts of the workflow st
|
|
|
9
9
|
- `jhste-to-spec`: conversation and codebase synthesis, behavioral test seams, and avoiding stale implementation recipes;
|
|
10
10
|
- `jhste-diagnosing-bugs`: feedback-loop construction, falsifiable hypotheses, targeted instrumentation, regression verification, and cleanup;
|
|
11
11
|
- `jhste-to-tickets`: tracer-bullet slices, blocking edges, bounded preparatory work, and expand-migrate-contract sequencing;
|
|
12
|
-
- `jhste-coding`: module/interface/seam reasoning, caller-visible contracts, and avoiding shallow pass-through abstractions
|
|
12
|
+
- `jhste-coding`: module/interface/seam reasoning, caller-visible contracts, and avoiding shallow pass-through abstractions;
|
|
13
|
+
- `jhste-prototype`: disposable runnable evidence for one design question, separate logic and UI exploration modes, visible state, in-memory or stubbed side effects by default, structurally distinct UI variants, and preserving the question and verdict separately from production implementation.
|
|
13
14
|
|
|
14
|
-
Upstream reviewed at commit `
|
|
15
|
+
Upstream reviewed at commit `2ab958093e83e0ec752e6c1c5932da465bf23e0c` on 2026-07-28:
|
|
15
16
|
|
|
16
17
|
- https://github.com/mattpocock/skills
|
|
18
|
+
- https://github.com/mattpocock/skills/tree/2ab958093e83e0ec752e6c1c5932da465bf23e0c/skills/engineering/prototype
|
|
19
|
+
|
|
20
|
+
The prototype review also considered the upstream history that made the skill model-invoked and later reframed the runnable prototype as primary-source evidence retained outside the main branch. `jhste-prototype` does not copy the upstream files verbatim: it does not require a terminal UI, URL-parameter switcher, floating bar, a blanket prohibition on tests, or automatic branch, push, and issue-link writes. Those external writes remain subject to explicit user authorization.
|
|
21
|
+
|
|
22
|
+
The related GitHub article was reviewed as contextual evidence for both early executable exploration and the maintenance risk of adding too many skills; no article text is copied:
|
|
23
|
+
|
|
24
|
+
- https://github.blog/ai-and-ml/github-copilot/the-harness-is-all-you-need-mostly/
|
|
17
25
|
|
|
18
26
|
No upstream skill file is distributed verbatim. The full upstream MIT notice is retained because the resulting instructions adapt workflow structure and some terminology.
|
|
19
27
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jhste-skills",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "A lean GPT-5.6-oriented engineering skill set for coding, diagnosis, specifications, handoffs, implementation finalization, GitHub tickets, pull request review and follow-up, decision interviews, and domain modeling.",
|
|
3
|
+
"version": "0.9.0",
|
|
4
|
+
"description": "A lean GPT-5.6-oriented engineering skill set for prototyping, coding, diagnosis, specifications, handoffs, implementation finalization, GitHub tickets, pull request review and follow-up, decision interviews, and domain modeling.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jhste-coding
|
|
3
|
-
description: Implement features, sufficiently understood bug fixes, and
|
|
3
|
+
description: Implement features, sufficiently understood bug fixes, refactors, and ordinary continuation from a handoff's exact resume point with a small contract-preserving code change and relevant validation. Use when the requested outcome requires modifying production repository code and the path to a correction or next implementation step is reasonably clear. For a disposable runnable experiment that answers an important design question before production, use jhste-prototype; for uncertain root-cause work, use jhste-diagnosing-bugs; for an independent completion audit, use jhste-implementation-finalizer. Do not use for read-only analysis, planning, interviewing, issue creation, domain documentation, or review-only work.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# JHSTE Coding
|
|
@@ -20,6 +20,8 @@ Deliver the requested behavior with the smallest clear change that fits the repo
|
|
|
20
20
|
|
|
21
21
|
Before editing, identify the requested outcome, material non-goals, caller-visible contract, and important failure states. Locate the module that owns the behavior and the seam through which callers or tests observe it. For a trivial change this can be a brief check; expand the analysis only when the change crosses boundaries or alters a contract.
|
|
22
22
|
|
|
23
|
+
If an important uncertainty is about what should be built rather than how to implement an approved direction, and the uncertainty is best resolved through disposable executable evidence, use `jhste-prototype` instead of embedding exploration in production code. Once a direction is selected, treat the prototype as evidence: implement the production behavior cleanly here rather than promoting prototype scaffolding, shortcuts, variants, or test gaps.
|
|
24
|
+
|
|
23
25
|
## Working contract
|
|
24
26
|
|
|
25
27
|
Inspect the affected code, repository guidance, and nearby patterns before editing. Keep behavior that changes for the same reason together. Reuse established boundaries and abstractions when they fit.
|
|
@@ -28,11 +30,11 @@ Introduce a new abstraction when the current change demonstrates real variation,
|
|
|
28
30
|
|
|
29
31
|
Treat public return shapes, nullability, errors, side effects, ordering, and documented behavior as contracts. Validate external input at its entry boundary. Keep credentials, sessions, authorization data, and sensitive payloads out of logs and responses.
|
|
30
32
|
|
|
31
|
-
For implementation requests, make in-scope local edits and run the narrowest useful validation without pausing for routine confirmation. Stop before an external write, destructive action, or material expansion of scope unless the user authorized it. When the root cause remains materially uncertain, avoid widening speculative edits and hand the investigation to `jhste-diagnosing-bugs`. When the
|
|
33
|
+
For implementation requests, make in-scope local edits and run the narrowest useful validation without pausing for routine confirmation. Continue from an existing handoff or partial implementation with this skill when the exact next step is clear and the user asks to proceed, implement, or resume; prior work alone is not evidence that an independent completion audit is wanted. Stop before an external write, destructive action, or material expansion of scope unless the user authorized it. When the root cause remains materially uncertain, avoid widening speculative edits and hand the investigation to `jhste-diagnosing-bugs`. When the user asks to independently audit, verify, correct, and finalize a completion claim or submitted implementation, use `jhste-implementation-finalizer`.
|
|
32
34
|
|
|
33
35
|
## Validation
|
|
34
36
|
|
|
35
|
-
Choose checks that exercise the changed behavior: targeted tests first, then applicable type, lint, build, or smoke checks. Add tests at a seam that represents the caller-visible behavior rather than creating an artificial seam to claim coverage. Re-read the final diff for scope creep, stale compatibility paths, and
|
|
37
|
+
Choose checks that exercise the changed behavior: targeted tests first, then applicable type, lint, build, or smoke checks. Add tests at a seam that represents the caller-visible behavior rather than creating an artificial seam to claim coverage. Re-read the final diff for scope creep, stale compatibility paths, temporary instrumentation, and prototype-only artifacts. Do not imply that a check ran when it did not.
|
|
36
38
|
|
|
37
39
|
## Final response
|
|
38
40
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jhste-diagnosing-bugs
|
|
3
|
-
description: Diagnose difficult bugs and performance regressions whose cause or correct fix is uncertain, intermittent, environment-dependent, or spread across components. Use for explicit root-cause investigation that needs reproduction, competing hypotheses, instrumentation, or measurement. Do not use for an obvious typo, a direct compile or lint error, a known fix,
|
|
3
|
+
description: Diagnose difficult bugs and performance regressions in existing behavior whose cause or correct fix is uncertain, intermittent, environment-dependent, or spread across components. Use for explicit root-cause investigation that needs reproduction, competing hypotheses, instrumentation, or measurement. Do not use for an obvious typo, a direct compile or lint error, a known fix, ordinary implementation, or executable exploration of what should be built before production; use jhste-prototype for the latter.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# JHSTE Diagnosing Bugs
|
|
@@ -11,9 +11,9 @@ Establish an evidence-backed root cause and, when a fix is in scope, prove that
|
|
|
11
11
|
|
|
12
12
|
## Frame the investigation
|
|
13
13
|
|
|
14
|
-
Confirm the exact symptom, affected environment, expected behavior, known-good comparison, and whether the user requested diagnosis only or diagnosis plus a fix. Read repository guidance, relevant code, recent changes, tests, logs, traces, and operational evidence that are available.
|
|
14
|
+
Confirm the exact observed symptom, affected environment, expected behavior, known-good comparison, and whether the user requested diagnosis only or diagnosis plus a fix. Read repository guidance, relevant code, recent changes, tests, logs, traces, and operational evidence that are available.
|
|
15
15
|
|
|
16
|
-
When the cause and correction are already clear, use `jhste-coding` instead. Route failing pull request checks to the repository's CI workflow unless the user is asking for a deeper root-cause investigation.
|
|
16
|
+
When the cause and correction are already clear, use `jhste-coding` instead. When there is no existing failure to explain and the question is whether a proposed state model, data shape, API surface, interaction flow, or UI structure should be built, use `jhste-prototype`. Route failing pull request checks to the repository's CI workflow unless the user is asking for a deeper root-cause investigation.
|
|
17
17
|
|
|
18
18
|
## Build a useful feedback loop
|
|
19
19
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jhste-grill
|
|
3
|
-
description: Interview the user one consequential decision at a time to sharpen or stress-test a plan, product behavior, or design while maintaining settled domain context and qualifying ADRs in the repository. Use when the user asks to be interviewed, grilled, questioned, or guided through unresolved decisions. Do not invoke merely because an ordinary request has a small ambiguity.
|
|
3
|
+
description: Interview the user one consequential decision at a time to sharpen or stress-test a plan, product behavior, or design while maintaining settled domain context and qualifying ADRs in the repository. Use when the user asks to be interviewed, grilled, questioned, or guided through unresolved user-owned decisions. Do not invoke merely because an ordinary request has a small ambiguity; when the decision is settled and the remaining uncertainty needs executable evidence, use jhste-prototype.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# JHSTE Grill
|
|
@@ -17,7 +17,7 @@ Ask one decision question at a time. For each question, provide a recommended an
|
|
|
17
17
|
|
|
18
18
|
Treat a branch as consequential when it can change the goal, success criteria, scope, user-visible behavior, compatibility, data or security behavior, recovery from failure, or a costly-to-reverse trade-off. Resolve every consequential branch or record it as an explicit blocker. Skip reversible preferences and implementation details that the next worker can decide safely.
|
|
19
19
|
|
|
20
|
-
Challenge contradictions and unsupported assumptions directly. Preserve explicit user choices. Do not implement code or publish issues as part of this skill alone.
|
|
20
|
+
Challenge contradictions and unsupported assumptions directly. Preserve explicit user choices. Do not use a prototype to choose a product policy, priority, or trade-off that belongs to the user. Once those choices are settled, use `jhste-prototype` when representability, API ergonomics, interaction flow, or UI structure still needs runnable evidence. Do not implement code or publish issues as part of this skill alone.
|
|
21
21
|
|
|
22
22
|
## Maintain decision documents
|
|
23
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jhste-handoff
|
|
3
|
-
description: Create or update executor-neutral implementation handoff documents that preserve settled decisions, scope, ownership, progress, verification, blockers, and an exact resume point. Use when the user explicitly asks to
|
|
3
|
+
description: Create or update executor-neutral implementation handoff documents that preserve settled decisions, scope, ownership, progress, verification, blockers, and an exact resume point. Use when the user explicitly asks to create, prepare, refresh, or restructure a handoff for another worker or session, or to split long work into resumable phases. Do not use merely because an existing handoff must be read before implementation resumes; ordinary continuation belongs to jhste-coding, uncertain investigation to jhste-diagnosing-bugs, and independent completion audit to jhste-implementation-finalizer. Do not use for a specification, GitHub ticket graph, ordinary plan, implementation itself, or automatic worker orchestration.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# JHSTE Handoff
|
|
@@ -17,6 +17,8 @@ Keep the handoff independent of any agent, provider, model, CLI, branch strategy
|
|
|
17
17
|
|
|
18
18
|
A handoff records execution state; it is not a substitute for a specification, ADR, domain glossary, or GitHub issue graph. Link to those sources instead of copying them.
|
|
19
19
|
|
|
20
|
+
Reading an existing handoff does not itself select this skill. When the user asks to continue implementation from its exact resume point, route to `jhste-coding`; when unresolved root cause remains the work, route to `jhste-diagnosing-bugs`; when the user requests independent verification or final acceptance of claimed-complete work, route to `jhste-implementation-finalizer`.
|
|
21
|
+
|
|
20
22
|
## Inspect and settle the contract
|
|
21
23
|
|
|
22
24
|
Read current user instructions, repository guidance, relevant specs, ADRs, domain context, issues, existing handoffs, code, tests, interfaces, current diff, and parallel ownership before writing.
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jhste-implementation-finalizer
|
|
3
|
-
description: Independently audit, correct, verify, and finish
|
|
3
|
+
description: Independently audit, correct, verify, and finish production implementation that is claimed complete, submitted for independent acceptance, or explicitly requested for finalization and, when applicable, complete already-authorized updates to the same pull request. Use only when the user asks to independently audit, verify, finalize, or finish existing implementation work. Do not use for ordinary continuation, initial PR review, review-feedback follow-up alone, CI-log diagnosis, merging, or promoting disposable prototype code; a selected prototype direction belongs to jhste-coding.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# JHSTE Implementation Finalizer
|
|
7
7
|
|
|
8
8
|
## Goal
|
|
9
9
|
|
|
10
|
-
Treat completion claims as unverified input. Determine whether the requested outcome is complete, correct, integrated, and ready to publish, then directly fix in-scope gaps instead of stopping at review comments.
|
|
10
|
+
Treat completion claims as unverified input. Determine whether the requested production outcome is complete, correct, integrated, and ready to publish, then directly fix in-scope gaps instead of stopping at review comments.
|
|
11
11
|
|
|
12
12
|
## Route the right work
|
|
13
13
|
|
|
14
|
-
Use `jhste-coding`
|
|
14
|
+
Use `jhste-coding` for implementation from scratch, ordinary continuation from a handoff's exact resume point, and proper production implementation of a direction selected through `jhste-prototype`. Prototype scaffolding, shortcuts, losing variants, switchers, missing hardening, and intentionally limited validation are not a completion claim to finalize or code to promote. Use this skill only when existing production work requires an independent acceptance audit, verification of a completion claim, or final correction and completion. Use `jhste-diagnosing-bugs` when uncertain root cause or measurement is the primary work. Use `jhste-pr-review` for review-only findings and `jhste-review-followup` when existing review comments define the scope.
|
|
15
15
|
|
|
16
16
|
Do not merge, enable auto-merge, resolve review threads, or make unrelated issue changes unless the user explicitly requests those actions.
|
|
17
17
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jhste-prototype
|
|
3
|
+
description: Build a deliberately disposable, runnable experiment to answer one concrete design question before production implementation. Use when the user explicitly asks for a prototype, or when an important uncertainty about a state model, business rule, data shape, API or module surface, interaction flow, or UI structure is best resolved through executable evidence. Do not use for ordinary implementation with a clear path, known fixes, root-cause diagnosis of existing failures, user-owned policy decisions, static mockups or image generation, open-ended ideation without a testable question, trivial reversible choices, or production-ready delivery.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# JHSTE Prototype
|
|
7
|
+
|
|
8
|
+
## Goal
|
|
9
|
+
|
|
10
|
+
Answer one concrete and important design question with the smallest deliberately disposable runnable evidence before production implementation.
|
|
11
|
+
|
|
12
|
+
A prototype is not a mandatory pre-step for coding and is not production code. Use `jhste-coding` when the direction is sufficiently understood, `jhste-diagnosing-bugs` when an existing observed failure needs a root cause, `jhste-grill` when a user-owned policy or trade-off is unresolved, and `jhste-to-spec` when settled behavior needs a written contract. A selected prototype direction returns to `jhste-coding` for proper implementation and validation rather than being promoted directly.
|
|
13
|
+
|
|
14
|
+
## Frame the experiment
|
|
15
|
+
|
|
16
|
+
State the exact question, why it matters, what observation would support or falsify the assumption, and what the prototype will not decide. Inspect the host repository first and reuse its language, runtime, task runner, routing, component system, data conventions, and nearby vocabulary. Do not add a new framework or general architecture merely to run the experiment.
|
|
17
|
+
|
|
18
|
+
If the question is open-ended, trivial and reversible, or still depends on a user-owned choice, do not build a prototype to manufacture certainty. Narrow the question, use `jhste-grill`, or proceed with ordinary implementation as appropriate.
|
|
19
|
+
|
|
20
|
+
## Build the smallest useful evidence
|
|
21
|
+
|
|
22
|
+
Make the prototype runnable through one obvious command or URL. Mark prototype-only files, routes, flags, variants, fixtures, and notes clearly enough that they cannot be mistaken for production behavior.
|
|
23
|
+
|
|
24
|
+
Keep state in memory and side effects stubbed, fixture-backed, or read-only by default. Use a scratch dependency only when persistence or integration is itself the question and the target is safe and authorized. Never treat a prototype request as permission for destructive or production mutation.
|
|
25
|
+
|
|
26
|
+
Expose the relevant state, outputs, transitions, or variant identity after each meaningful action so the evidence can be inspected. Skip production polish, broad error handling, compatibility layers, speculative abstraction, and generalization beyond the question. A focused executable test or fixture is allowed when it is the smallest useful harness; do not build a production regression suite to legitimize disposable code.
|
|
27
|
+
|
|
28
|
+
### Logic and contract questions
|
|
29
|
+
|
|
30
|
+
For state, business-rule, data-shape, or API-surface questions, isolate the experiment behind the smallest clear interface: a reducer, state machine, pure functions, fixture-driven module, or small stateful object according to the question. Keep the driver thin. Choose a script, focused test harness, REPL, terminal interaction, browser route, or existing development surface by fit rather than requiring a terminal UI. Show relevant before-and-after state and exercise the awkward cases that distinguish the alternatives.
|
|
31
|
+
|
|
32
|
+
### UI and interaction questions
|
|
33
|
+
|
|
34
|
+
Prefer variants inside the existing product surface with realistic data density and surrounding context when safe. Default to three materially different variants and cap at five; fewer are enough when the design space is narrower. Variants must differ in structure, information hierarchy, interaction flow, or primary affordance rather than only color, spacing, typography, or copy. Make them easy to identify and switch, stub mutations and externally visible actions, and ensure losing variants or prototype switchers cannot ship.
|
|
35
|
+
|
|
36
|
+
## Validate and record the answer
|
|
37
|
+
|
|
38
|
+
Run the documented command or open the documented URL, exercise the target cases or variants, and confirm that the evidence needed to answer the question is observable. Record the question, observations, verdict or remaining uncertainty, and the one obvious run instruction. Smoke validation proves only that the prototype runs and exposes the intended evidence; it does not make the artifact production-ready.
|
|
39
|
+
|
|
40
|
+
When a direction is accepted, hand the verdict and relevant evidence to `jhste-coding` for a clean implementation with normal contracts, error handling, tests, and integration checks. Use `jhste-to-spec` only when the user requests a durable specification. Do not send disposable prototype code to `jhste-implementation-finalizer` as though its intentional shortcuts were incomplete production work.
|
|
41
|
+
|
|
42
|
+
## Artifact and write policy
|
|
43
|
+
|
|
44
|
+
A request to build a prototype authorizes the in-scope local prototype edits, not branch creation, commit, push, issue comments, pull requests, or other external writes. Perform those actions only when the user explicitly names them. If retention outside the main branch is authorized, the runnable prototype may be preserved as primary-source evidence with a pointer from the relevant issue while the validated decision is implemented separately. Otherwise keep it isolated locally and remove prototype-only artifacts before production delivery.
|
|
45
|
+
|
|
46
|
+
## Completion
|
|
47
|
+
|
|
48
|
+
Finish when the question and observation criteria are explicit, the smallest useful experiment runs, the relevant evidence and verdict are recorded, prototype-only artifacts are separated from production, and every external or destructive action stayed within explicit authorization. Report the run command or URL, cases or variants exercised, answer or remaining uncertainty, changed files, smoke validation, and the next owning skill.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "JHSTE Prototype"
|
|
3
|
+
short_description: "Test design questions with disposable runnable evidence"
|
|
4
|
+
default_prompt: "Use $jhste-prototype to build the smallest disposable runnable experiment that answers this design question."
|
|
5
|
+
|
|
6
|
+
policy:
|
|
7
|
+
allow_implicit_invocation: true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jhste-to-spec
|
|
3
|
-
description: Synthesize an already discussed or otherwise defined engineering change into a decision-grounded specification using relevant repository evidence. Use when the user asks for a spec, PRD, design brief, or written behavior contract. Do not use to interview unresolved requirements, create execution handoffs, split work into tickets, implement code, or publish an artifact unless the user requests that write.
|
|
3
|
+
description: Synthesize an already discussed or otherwise defined engineering change into a decision-grounded specification using relevant repository evidence. Use when the user asks for a spec, PRD, design brief, or written behavior contract. Do not use to interview unresolved requirements, prototype an unsettled design assumption, create execution handoffs, split work into tickets, implement code, or publish an artifact unless the user requests that write.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# JHSTE To Spec
|
|
@@ -13,7 +13,7 @@ Produce a reviewable specification that separates established decisions from unr
|
|
|
13
13
|
|
|
14
14
|
Read the relevant conversation, referenced artifacts, repository guidance, glossary or ADRs, current code, and nearby tests or contracts. Use repository vocabulary where it is established. Treat code as evidence of the current state rather than proof that the current state is intended.
|
|
15
15
|
|
|
16
|
-
Ask only when a missing decision would materially change the requested outcome. When useful progress is still possible, draft with the uncertainty named instead of inventing an answer. Route a decision interview to `jhste-grill
|
|
16
|
+
Ask only when a missing decision would materially change the requested outcome. When useful progress is still possible, draft with the uncertainty named instead of inventing an answer. Route a decision interview to `jhste-grill`, domain-language conflicts to `jhste-domain-modeling`, and a concrete unsettled design assumption that needs executable evidence to `jhste-prototype` before freezing it into a contract.
|
|
17
17
|
|
|
18
18
|
## Write the specification
|
|
19
19
|
|