@harnessforce/claude-code-plugin 0.0.0-stage → 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.
- package/.claude-plugin/plugin.json +11 -0
- package/.mcp.json +8 -0
- package/LICENSE +201 -0
- package/README.md +122 -2
- package/commands/setup.md +83 -0
- package/commands/tune.md +39 -0
- package/hooks/hooks.json +127 -0
- package/package.json +26 -3
- package/scripts/harnessforce-hook-main.cjs +1510 -0
- package/scripts/harnessforce-hook.cjs +22 -0
- package/skills/propose-improvements/SKILL.md +105 -0
- package/skills/propose-improvements/scripts/summarize.mjs +472 -0
- package/skills/record-run/SKILL.md +66 -0
- package/skills/using-harnessforce/SKILL.md +54 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-harnessforce
|
|
3
|
+
description: Harnessforceのhookが入った環境でsessionを始めたとき、HarnessforceのIssue(ENG-42のような識別子)に取り組む作業を始めるとき、Harnessforceが何を記録し何を収集しないかを尋ねられたときに使う。sessionの開始時にhookがこの本文をcontextへ注入する。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Harnessforceを使う
|
|
7
|
+
|
|
8
|
+
このsessionにはHarnessforceのhookが入っている。Harnessforceは、人とAIの作業をIssueに結び付けて記録する。次の規則に従う。
|
|
9
|
+
|
|
10
|
+
## 何を記録するか
|
|
11
|
+
|
|
12
|
+
- session registration: agent、session ID、repository、branch、commit、開始時刻、最初のprompt ID。
|
|
13
|
+
- config snapshot: 利用中の設定の構成(Claude Codeだけ)。
|
|
14
|
+
- OTelのテレメトリ: 利用者の設定で送るもの。
|
|
15
|
+
- Issueに取り組む作業で`record-run`が記録する、Plan、Decision、Definition of Doneの充足。人が承認するまで確定しない。
|
|
16
|
+
|
|
17
|
+
## 何を収集しないか
|
|
18
|
+
|
|
19
|
+
- prompt、応答、toolの入出力、code diffの本文は、利用者が`--send-content`で選び、Workspaceがopt-inした場合だけ届く。既定では収集しない。
|
|
20
|
+
- MCPのtoolの入力にも記録にも、これらの本文、secret、環境変数の値を含めない。
|
|
21
|
+
|
|
22
|
+
## どのhookが何を送るか
|
|
23
|
+
|
|
24
|
+
- SessionStart: session registrationとconfig snapshot(Codexはsession registrationだけ)。
|
|
25
|
+
- UserPromptSubmit: 最初のpromptでの再送(Claude Codeだけ)。
|
|
26
|
+
- hookは失敗してもsessionを止めない。送れない状態のときは、hookが警告を1行表示する。警告が出たら利用者に伝える。
|
|
27
|
+
|
|
28
|
+
## どのskillとtoolをいつ使うか
|
|
29
|
+
|
|
30
|
+
- IssueのIDを指定された作業、または環境変数`HARNESSFORCE_ISSUE`がある作業は、`record-run`に従い、`start_run`、`get_issue`、`record_plan`、`record_decision`、`complete_run`を使う。skillを読み込めないagentは、同じ順にtoolを呼ぶ。
|
|
31
|
+
- `start_run`には、contextの`harnessforce session_id:`の行の値を渡す。複数あれば最後の値を使う。行が無ければ、session IDを推測せず、`start_run`と`complete_run`を呼ばない。
|
|
32
|
+
- `/harnessforce:tune`の分析は`propose-improvements`を使う。
|
|
33
|
+
- Issueが指定されていない作業では、Runの記録を始めない。
|
|
34
|
+
|
|
35
|
+
## Red Flags
|
|
36
|
+
|
|
37
|
+
次の考えが浮かんだら、立ち止まる。
|
|
38
|
+
|
|
39
|
+
| 考え | 現実 |
|
|
40
|
+
| --- | --- |
|
|
41
|
+
| 小さな作業なので記録は要らない | Issueが指定された作業は、大きさによらず記録する |
|
|
42
|
+
| session IDの行が無いが、推測して`start_run`を呼ぶ | 推測しない。Runがsessionと結び付かなくなる |
|
|
43
|
+
| 本文を要約して渡せば記録の役に立つ | 本文はtoolに渡さない。収集しない範囲を超える |
|
|
44
|
+
| 警告が出たが、気にしなくてよい | 送れていない。利用者に伝える |
|
|
45
|
+
|
|
46
|
+
## 優先順位
|
|
47
|
+
|
|
48
|
+
1. 利用者の指示(CLAUDE.md、AGENTS.md、直接の依頼)。利用者が記録を止めるよう指示したら、Runの記録を止める。
|
|
49
|
+
2. この導入文。
|
|
50
|
+
3. 既定の動作。
|
|
51
|
+
|
|
52
|
+
## subagent
|
|
53
|
+
|
|
54
|
+
親から特定の作業だけを委譲されたsubagentは、この導入文に従ってRunを登録しない。Runの登録は親が行う。
|