@ksuchoi216/ahe 0.1.6 → 0.1.7
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/.codex/hooks/ahe-hook.js +162 -203
- package/.codex/skills/ahe-compression/SKILL.md +8 -8
- package/.codex/skills/ahe-conversator/SKILL.md +44 -0
- package/.codex/skills/ahe-harness/SKILL.md +115 -0
- package/.codex/skills/ahe-init/SKILL.md +16 -23
- package/.codex/skills/ahe-reviewer/SKILL.md +35 -0
- package/.codex/skills/ahe-solver/SKILL.md +24 -0
- package/.codex/skills/ahe-thinker/SKILL.md +80 -0
- package/README.md +30 -205
- package/bin/ahe +6 -4
- package/package.json +3 -2
- package/.codex/skills/ahe-conversation/SKILL.md +0 -73
- package/.codex/skills/ahe-spec/SKILL.md +0 -63
- package/.codex/skills/ahe-thinking/SKILL.md +0 -104
- package/.codex/skills/ahe-update/SKILL.md +0 -66
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ahe-thinking
|
|
3
|
-
description: Internal AHE orchestration protocol for deciding what to clarify, what to execute, and what to do next.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AHE Thinking
|
|
7
|
-
|
|
8
|
-
This is an internal AHE protocol skill, not a user-facing command.
|
|
9
|
-
|
|
10
|
-
Do not treat `$ahe-thinking` as a user command.
|
|
11
|
-
Use it before and between AHE workflow actions when the next safe step is not
|
|
12
|
-
already obvious.
|
|
13
|
-
|
|
14
|
-
## Purpose
|
|
15
|
-
|
|
16
|
-
- Judge what is missing before another AHE workflow acts.
|
|
17
|
-
- Decide whether the current unit is clear enough to execute safely.
|
|
18
|
-
- Call `ahe-conversation` only when clarification is still needed.
|
|
19
|
-
- Continue to the next skill or next unfinished feature when the path is clear.
|
|
20
|
-
|
|
21
|
-
## Units of Work
|
|
22
|
-
|
|
23
|
-
Inspect the current unit as `project`, `feature`, or `sub-feature`.
|
|
24
|
-
|
|
25
|
-
- `project`: overall goal, target user, expected outcome, and delivery
|
|
26
|
-
direction.
|
|
27
|
-
- `feature`: one concrete capability or work item under the project.
|
|
28
|
-
- `sub-feature`: one smaller capability or step under a feature.
|
|
29
|
-
|
|
30
|
-
## Clarity Judgment
|
|
31
|
-
|
|
32
|
-
Judge the current unit against `Why`, `What`, and `How`.
|
|
33
|
-
|
|
34
|
-
- `Why`: why this unit matters, what problem it solves, or what purpose it
|
|
35
|
-
serves.
|
|
36
|
-
- `What`: what result, behavior, or output should be built.
|
|
37
|
-
- `How`: how the work should be approached when methodology or architecture
|
|
38
|
-
matters.
|
|
39
|
-
|
|
40
|
-
### Project Rule
|
|
41
|
-
|
|
42
|
-
For a `project`, require `Why`, `What`, and `How` by default before moving
|
|
43
|
-
forward.
|
|
44
|
-
|
|
45
|
-
### Feature Rule
|
|
46
|
-
|
|
47
|
-
For a `feature` or `sub-feature`, require only the minimum needed to proceed
|
|
48
|
-
safely.
|
|
49
|
-
|
|
50
|
-
- If the feature is already clear from the project context, do not ask all
|
|
51
|
-
three again.
|
|
52
|
-
- If only the result is missing, ask only `What`.
|
|
53
|
-
- If the feature goal is clear but the implementation direction is risky or
|
|
54
|
-
materially different, ask `How`.
|
|
55
|
-
- If the feature exists but its purpose is unclear, ask `Why`.
|
|
56
|
-
|
|
57
|
-
## Next-Step Decision
|
|
58
|
-
|
|
59
|
-
- Before reading full harness files, decide whether compression is needed.
|
|
60
|
-
Run `sh .codex/skills/ahe-compression/scripts/check-harness-size.sh` when the
|
|
61
|
-
script exists (which checks against configurable thresholds in `.codex/ahe-shared/config.yaml`),
|
|
62
|
-
or fall back to `wc -l` over `AGENTS.md`, `docs/PRODUCT.md`, `docs/INSTRUCTIONS.md`,
|
|
63
|
-
`feature-list.json`, `PROGRESS.md`, `SESSION-HANDOFF.md`, and `docs/todo.md`.
|
|
64
|
-
- If the detector reports `COMPRESSION_REQUIRED` or exits with code `2`, call
|
|
65
|
-
`ahe-compression` before normal routing. Do not spend context reading the
|
|
66
|
-
oversized files wholesale first.
|
|
67
|
-
- If `docs/PRODUCT.md` or `docs/INSTRUCTIONS.md` is missing or empty, classify the state as
|
|
68
|
-
`harness engineering not enough` and prioritize product/instructions specification work.
|
|
69
|
-
- `docs/PRODUCT.md` and `docs/INSTRUCTIONS.md` form the required harness contract. `docs/PRODUCT.md` is the product/specification source of truth, and
|
|
70
|
-
`feature-list.json` is a derived tracker. Do not write specific feature items
|
|
71
|
-
to `feature-list.json` until `docs/PRODUCT.md` and `docs/INSTRUCTIONS.md` are established.
|
|
72
|
-
- If other harness essentials are missing or inconsistent, classify the state as
|
|
73
|
-
`harness engineering not enough` and continue the harness-building workflow.
|
|
74
|
-
- If the harness exists and there is unfinished tracked work, classify the
|
|
75
|
-
state as `in the middle of building features` and continue the first safe
|
|
76
|
-
unfinished feature.
|
|
77
|
-
- If tracked work is complete and no obvious essential harness gap remains,
|
|
78
|
-
classify the state as `completed all` and ask for the next task.
|
|
79
|
-
|
|
80
|
-
## Broad User Intent Routing
|
|
81
|
-
|
|
82
|
-
When the user provides a broad natural-language work intent (e.g., "add features", "update spec"), use their original prompt to determine the exact path:
|
|
83
|
-
- Route **product/spec changes** to `ahe-spec`.
|
|
84
|
-
- Route **instruction changes** to `ahe-spec`.
|
|
85
|
-
- Route **feature/todo tracking** to `ahe-update`.
|
|
86
|
-
- Route **unclear AHE work** to `ahe-conversation` and ask exactly one detail question before editing if the request is vague.
|
|
87
|
-
|
|
88
|
-
## Conversation Handoff
|
|
89
|
-
|
|
90
|
-
If clarity is missing, call `ahe-conversation` with the exact missing `Why`,
|
|
91
|
-
`What`, or `How`.
|
|
92
|
-
|
|
93
|
-
- Explain which unit is blocked.
|
|
94
|
-
- Explain what answer will unlock the next action.
|
|
95
|
-
- Ask for only the minimum missing detail.
|
|
96
|
-
- When the path is clear, continue to the next skill or next unfinished feature.
|
|
97
|
-
|
|
98
|
-
## Execution Loop
|
|
99
|
-
|
|
100
|
-
Follow this loop whenever AHE is routing or continuing work:
|
|
101
|
-
|
|
102
|
-
`thinking -> conversation if needed -> execution -> thinking`
|
|
103
|
-
|
|
104
|
-
After execution, reassess the active unit before choosing the next step.
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ahe-update
|
|
3
|
-
description: Internal AHE workflow for synchronizing tracked work and handoff artifacts.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# AHE Update
|
|
7
|
-
|
|
8
|
-
This is an internal AHE workflow skill, not a user-facing command.
|
|
9
|
-
|
|
10
|
-
Do not treat `$ahe-update` as a user command.
|
|
11
|
-
Use it after `ahe-thinking` decides that tracked harness work should be synchronized.
|
|
12
|
-
|
|
13
|
-
## Command Workflow: ahe-update
|
|
14
|
-
|
|
15
|
-
- Read `feature-list.json`.
|
|
16
|
-
- Read `PROGRESS.md` if it exists.
|
|
17
|
-
- Read `SESSION-HANDOFF.md`.
|
|
18
|
-
- Read `docs/todo.md` when it exists.
|
|
19
|
-
- If the user is adding new work, clarify the todo item, append it under the last `## TODO` section in `docs/todo.md`, and create that section when it does not exist.
|
|
20
|
-
- Apply the queued `docs/todo.md` content to `docs/PRODUCT.md`. If `docs/PRODUCT.md` does not exist, create it.
|
|
21
|
-
- Remove the applied content from `docs/todo.md` because that todo content was already applied in `docs/PRODUCT.md`.
|
|
22
|
-
- Update `feature-list.json` to derive the specific feature items from the updated `docs/PRODUCT.md`.
|
|
23
|
-
- Update `PROGRESS.md`.
|
|
24
|
-
- Update `SESSION-HANDOFF.md`.
|
|
25
|
-
|
|
26
|
-
## Clarification Rule
|
|
27
|
-
|
|
28
|
-
When the next update step is not clear, follow the `ahe-thinking` protocol first. If `ahe-thinking` finds missing information, follow the `ahe-conversation` protocol. Ask again recursively using a Codex-supported structured response request, provide 2-3 meaningful mutually exclusive options when possible, and allow custom input when predefined options are not enough.
|
|
29
|
-
|
|
30
|
-
### User Response Target
|
|
31
|
-
|
|
32
|
-
- Collect either an actionable todo entry to queue or a clear instruction to synchronize the existing queued work.
|
|
33
|
-
|
|
34
|
-
### Questions to Ask
|
|
35
|
-
|
|
36
|
-
- Ask what work needs to be done when the user is adding a new todo item.
|
|
37
|
-
- Ask which file, feature area, or workflow the todo affects.
|
|
38
|
-
- Ask what outcome or completion signal the todo should capture.
|
|
39
|
-
- Ask whether the user wants to queue new work, apply queued work, or do both when that is unclear.
|
|
40
|
-
|
|
41
|
-
### Clarification Criteria
|
|
42
|
-
|
|
43
|
-
- The answer must describe actionable work, the affected area, and the intended outcome when queuing a todo item.
|
|
44
|
-
- The answer must be clear enough to decide whether to queue work, apply queued work, or do both.
|
|
45
|
-
|
|
46
|
-
### Re-ask When
|
|
47
|
-
|
|
48
|
-
- Ask again when the answer is too broad, off-topic, or only names a topic without describing the work.
|
|
49
|
-
- Ask again when dependencies, affected area, intended outcome, or update action are still unclear.
|
|
50
|
-
|
|
51
|
-
## Session Tracking and Handoff Sync
|
|
52
|
-
|
|
53
|
-
### Tracking Update Rules
|
|
54
|
-
|
|
55
|
-
- Update `.ahe/process_status.json` at workflow start.
|
|
56
|
-
- Update `.ahe/process_status.json` after every answered question.
|
|
57
|
-
- Refresh `updated_at` every time workflow state changes.
|
|
58
|
-
- Keep `current_command`, `current_step`, and `workflow_complete` aligned with the active workflow state.
|
|
59
|
-
- Keep the `files` status map aligned with the actual workspace files.
|
|
60
|
-
|
|
61
|
-
### Progress and Handoff Content Requirements
|
|
62
|
-
|
|
63
|
-
- Update `PROGRESS.md` whenever the active feature, workflow status, blockers, or verification state changes.
|
|
64
|
-
- Update `SESSION-HANDOFF.md` whenever the current objective, completed work, important files, verification evidence, or recommended next step changes.
|
|
65
|
-
- PROGRESS.md must reflect the current active feature and latest completed work.
|
|
66
|
-
- SESSION-HANDOFF.md must leave the next Codex session with a concrete startup path.
|