@loopflowhq/agent-pack 0.3.0 → 0.4.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/.cursor/commands/lfq-get-ticket-context.md +4 -0
- package/.cursor/commands/lfq-next-best-action.md +4 -0
- package/loopflowhq/README.md +5 -7
- package/loopflowhq/agent.md +44 -22
- package/loopflowhq/commands/get-ticket-context.md +25 -0
- package/loopflowhq/commands/next-best-action.md +24 -0
- package/loopflowhq/phases/{close.md → epic-close.md} +4 -2
- package/loopflowhq/phases/{discovery.md → epic-discovery.md} +8 -4
- package/loopflowhq/phases/epic-implement.md +23 -0
- package/loopflowhq/phases/{plan.md → epic-plan.md} +6 -2
- package/loopflowhq/phases/{refine.md → epic-refine.md} +5 -2
- package/loopflowhq/phases/followup-close.md +23 -0
- package/loopflowhq/phases/followup-review.md +23 -0
- package/loopflowhq/phases/story-close.md +23 -0
- package/loopflowhq/phases/{implement.md → story-implement.md} +5 -3
- package/loopflowhq/phases/story-plan.md +25 -0
- package/loopflowhq/phases/{review.md → story-review.md} +5 -2
- package/loopflowhq/phases/{define.md → task-define.md} +5 -2
- package/loopflowhq/phases/task-implement.md +23 -0
- package/package.json +1 -1
package/loopflowhq/README.md
CHANGED
|
@@ -4,10 +4,8 @@ The canonical, prompt-ready workflow description for agents lives in `loopflowhq
|
|
|
4
4
|
|
|
5
5
|
Phase playbooks:
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
- `loopflowhq/phases
|
|
9
|
-
- `
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
- `loopflowhq/phases/review.md`
|
|
13
|
-
- `loopflowhq/phases/close.md`
|
|
7
|
+
- Ticket type + phase files follow this pattern:
|
|
8
|
+
- `loopflowhq/phases/<ticket_type>-<phase>.md`
|
|
9
|
+
- where `<ticket_type>` is one of: `epic`, `story`, `task`, `followup`
|
|
10
|
+
|
|
11
|
+
Routing lives in `loopflowhq/agent.md`.
|
package/loopflowhq/agent.md
CHANGED
|
@@ -22,10 +22,6 @@ This file is the canonical, repo-local description of how LoopFlowHQ work. It is
|
|
|
22
22
|
|
|
23
23
|
- `phase`: typed workflow phase (what kind of work is happening)
|
|
24
24
|
- `phase_state`: progress within a phase
|
|
25
|
-
- Legacy fields exist for compatibility:
|
|
26
|
-
- `status` / `substate` (older workflow model)
|
|
27
|
-
|
|
28
|
-
Typed workflow is the canonical model; legacy fields may still be updated for backward compatibility.
|
|
29
25
|
|
|
30
26
|
## Canonical typed workflow
|
|
31
27
|
|
|
@@ -43,15 +39,28 @@ Typed workflow is the canonical model; legacy fields may still be updated for ba
|
|
|
43
39
|
- Task: `define` -> `implement`
|
|
44
40
|
- Followup: `review` -> `close`
|
|
45
41
|
|
|
46
|
-
See phase playbooks:
|
|
47
|
-
|
|
48
|
-
- `loopflowhq/phases
|
|
49
|
-
- `
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
- `loopflowhq/phases/
|
|
53
|
-
- `loopflowhq/phases/
|
|
54
|
-
- `loopflowhq/phases/
|
|
42
|
+
See phase playbooks (ticket_type routed):
|
|
43
|
+
|
|
44
|
+
- Pattern: `loopflowhq/phases/<ticket_type>-<phase>.md`
|
|
45
|
+
- Ticket types: `epic`, `story`, `task`, `followup`
|
|
46
|
+
- Routing table:
|
|
47
|
+
- Epic:
|
|
48
|
+
- discovery: `loopflowhq/phases/epic-discovery.md`
|
|
49
|
+
- refine: `loopflowhq/phases/epic-refine.md`
|
|
50
|
+
- plan: `loopflowhq/phases/epic-plan.md`
|
|
51
|
+
- implement: `loopflowhq/phases/epic-implement.md`
|
|
52
|
+
- close: `loopflowhq/phases/epic-close.md`
|
|
53
|
+
- Story:
|
|
54
|
+
- plan: `loopflowhq/phases/story-plan.md`
|
|
55
|
+
- implement: `loopflowhq/phases/story-implement.md`
|
|
56
|
+
- review: `loopflowhq/phases/story-review.md`
|
|
57
|
+
- close: `loopflowhq/phases/story-close.md`
|
|
58
|
+
- Task:
|
|
59
|
+
- define: `loopflowhq/phases/task-define.md`
|
|
60
|
+
- implement: `loopflowhq/phases/task-implement.md`
|
|
61
|
+
- Followup:
|
|
62
|
+
- review: `loopflowhq/phases/followup-review.md`
|
|
63
|
+
- close: `loopflowhq/phases/followup-close.md`
|
|
55
64
|
|
|
56
65
|
## Transition rules (typed workflow)
|
|
57
66
|
|
|
@@ -59,6 +68,11 @@ Within a phase, the normal progression is:
|
|
|
59
68
|
|
|
60
69
|
- `ready` -> `in_progress` -> `done`
|
|
61
70
|
|
|
71
|
+
Agents should explicitly move the ticket as work starts and ends:
|
|
72
|
+
|
|
73
|
+
- At the beginning of phase execution: set `phase_state=in_progress`
|
|
74
|
+
- At the end of phase execution: set `phase_state=done`
|
|
75
|
+
|
|
62
76
|
When feedback fails a gate in the current phase:
|
|
63
77
|
|
|
64
78
|
- `in_progress` -> `changes_requested` (or directly set `changes_requested`)
|
|
@@ -68,20 +82,29 @@ Moving to the next phase:
|
|
|
68
82
|
|
|
69
83
|
- When a phase is `done`, the next phase starts at `ready`.
|
|
70
84
|
|
|
71
|
-
|
|
85
|
+
## Required ticket context (before doing work)
|
|
72
86
|
|
|
73
|
-
|
|
87
|
+
Before doing ticket work in any phase, load the ticket context from LoopFlowHQ so work stays aligned with the source of truth:
|
|
88
|
+
|
|
89
|
+
- Prefer a single call: `get_ticket_context` (title, description, acceptance criteria, chat history, subtasks)
|
|
90
|
+
- If needed, fetch separately:
|
|
91
|
+
- Ticket details: `get_ticket`
|
|
92
|
+
- Ticket chat history: `get_ticket_messages`
|
|
93
|
+
- Ticket subtasks: `get_ticket_subtasks`
|
|
94
|
+
|
|
95
|
+
Do this in order:
|
|
96
|
+
|
|
97
|
+
1. Via MCP tools (if available).
|
|
98
|
+
2. Via the LoopFlowHQ Actions REST API (if available).
|
|
99
|
+
3. If tool access is not available, ask the human to paste the ticket title/description/acceptance criteria and any relevant recent messages.
|
|
74
100
|
|
|
75
101
|
## How to talk to LoopFlowHQ (tools)
|
|
76
102
|
|
|
77
103
|
If MCP / Actions tools are available, the standard loop is:
|
|
78
104
|
|
|
79
105
|
1. `get_ticket` (+ `get_ticket_messages`) to load context.
|
|
80
|
-
2. `
|
|
81
|
-
3. `
|
|
82
|
-
4. `post_ticket_message` to write a concise step summary (what changed, what was decided, what is next).
|
|
83
|
-
|
|
84
|
-
Legacy-only clients may instead use `update_ticket_status` with `status` / `substate`, but typed workflow is preferred whenever available.
|
|
106
|
+
2. `update_ticket` to set `phase` / `phase_state` as you start and finish a step.
|
|
107
|
+
3. `post_ticket_message` to write a concise step summary (what changed, what was decided, what is next).
|
|
85
108
|
|
|
86
109
|
## API-first ticket operations (deterministic)
|
|
87
110
|
|
|
@@ -97,8 +120,7 @@ Common actions:
|
|
|
97
120
|
- Read: `POST /get_ticket`
|
|
98
121
|
- Messages: `POST /get_ticket_messages`
|
|
99
122
|
- Create: `POST /create_ticket`
|
|
100
|
-
- Update fields
|
|
101
|
-
- Legacy status/substate (fallback): `POST /update_ticket_status`
|
|
123
|
+
- Update fields: `POST /update_ticket`
|
|
102
124
|
- Post message: `POST /post_ticket_message`
|
|
103
125
|
- Post agent questions: `POST /post_ticket_agent_questions`
|
|
104
126
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Command: Get Ticket Context
|
|
2
|
+
|
|
3
|
+
Goal: load the ticket context needed to implement safely.
|
|
4
|
+
|
|
5
|
+
## Steps
|
|
6
|
+
|
|
7
|
+
1. Ensure you have a ticket key/ID. If none is available, ask the user which ticket to use.
|
|
8
|
+
2. Call `get_ticket_context({ ticket, messages_limit })`.
|
|
9
|
+
3. Use the returned fields as the source of truth for implementation:
|
|
10
|
+
- `title`
|
|
11
|
+
- `description`
|
|
12
|
+
- `acceptance_criteria`
|
|
13
|
+
- `chat_history`
|
|
14
|
+
- `subtasks`
|
|
15
|
+
|
|
16
|
+
## Output format
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
## Ticket context
|
|
20
|
+
- Ticket: <KEY or id> — <title>
|
|
21
|
+
- Acceptance criteria: <present|missing>
|
|
22
|
+
- Subtasks: <count>
|
|
23
|
+
- Messages: <count>
|
|
24
|
+
```
|
|
25
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Command: Next Best Action
|
|
2
|
+
|
|
3
|
+
Goal: determine the recommended next workflow transition for a ticket (or pick the next ticket to work on).
|
|
4
|
+
|
|
5
|
+
## Steps
|
|
6
|
+
|
|
7
|
+
1. Ensure you have a ticket key/ID. If none is available, ask the user which ticket to use.
|
|
8
|
+
2. Call `next_best_action`.
|
|
9
|
+
- If a ticket is provided: `next_best_action({ ticket })`
|
|
10
|
+
- If no ticket is provided: `next_best_action({ limit })`
|
|
11
|
+
3. Report:
|
|
12
|
+
- selected ticket (id/key/title when present)
|
|
13
|
+
- current `{ phase, phase_state }`
|
|
14
|
+
- next `{ phase, phase_state }` (or null)
|
|
15
|
+
|
|
16
|
+
## Output format
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
## Next best action
|
|
20
|
+
- Ticket: <KEY or id> — <title>
|
|
21
|
+
- Current: <phase>/<phase_state>
|
|
22
|
+
- Next: <phase>/<phase_state> (or "none")
|
|
23
|
+
```
|
|
24
|
+
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
# Phase: Close
|
|
1
|
+
# Ticket Type: Epic - Phase: Close
|
|
2
2
|
|
|
3
3
|
Goal: finish the loop: ship, document, and leave the system clean.
|
|
4
4
|
|
|
5
5
|
## Inputs
|
|
6
6
|
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
7
8
|
- Approved outcome (or explicit cancellation reason)
|
|
8
9
|
- Any rollout/release constraints
|
|
9
10
|
|
|
@@ -15,7 +16,8 @@ Goal: finish the loop: ship, document, and leave the system clean.
|
|
|
15
16
|
|
|
16
17
|
## Agent checklist
|
|
17
18
|
|
|
19
|
+
- Load ticket context (see `loopflowhq/agent.md`).
|
|
18
20
|
- Ensure the ticket summary matches what actually changed.
|
|
19
21
|
- If cancelled, record why and whether a followup is needed.
|
|
20
22
|
- Prefer small cleanup over “nice-to-have” refactors.
|
|
21
|
-
|
|
23
|
+
- Run verification (lint/build/test/manual) appropriate to the change before closing.
|
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
# Phase: Discovery
|
|
1
|
+
# Ticket Type: Epic - Phase: Discovery
|
|
2
2
|
|
|
3
3
|
Goal: explore scope and reduce uncertainty before committing to a solution.
|
|
4
4
|
|
|
5
5
|
## Inputs
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
8
|
+
- Initial problem statement and constraints
|
|
8
9
|
- Existing system context (code, docs, prior tickets)
|
|
9
10
|
|
|
10
11
|
## Outputs (minimum)
|
|
11
12
|
|
|
12
13
|
- Clarified requirements and edge cases
|
|
14
|
+
- Open questions (only the ones that block progress)
|
|
13
15
|
- Proposed approach options (if needed) with tradeoffs
|
|
14
|
-
- A narrowed
|
|
16
|
+
- A narrowed scope ready for Refine/Plan
|
|
17
|
+
- Discovery summary captured in the ticket chat (via `post_ticket_message`)
|
|
15
18
|
|
|
16
19
|
## Agent checklist
|
|
17
20
|
|
|
21
|
+
- Load ticket context (see `loopflowhq/agent.md`).
|
|
22
|
+
- Ask clarification questions in this chat, one at a time; wait for answers before asking the next.
|
|
18
23
|
- Identify what is unknown and what must be decided by a human.
|
|
19
24
|
- Validate assumptions against the codebase when possible.
|
|
20
25
|
- If requirements are missing, ask targeted questions instead of guessing.
|
|
21
|
-
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Ticket Type: Epic - Phase: Implement
|
|
2
|
+
|
|
3
|
+
Goal: deliver the epic’s acceptance criteria by implementing planned changes, with tests and minimal risk.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
8
|
+
- Approved plan
|
|
9
|
+
|
|
10
|
+
## Outputs (minimum)
|
|
11
|
+
|
|
12
|
+
- Code changes
|
|
13
|
+
- Tests (or explicit justification if not added)
|
|
14
|
+
- Verification evidence (commands run, expected outputs)
|
|
15
|
+
|
|
16
|
+
## Agent checklist
|
|
17
|
+
|
|
18
|
+
- Implement the acceptance criteria from the ticket; if unclear or missing, ask before proceeding.
|
|
19
|
+
- Implement in small diffs; keep changes scoped.
|
|
20
|
+
- Write/update tests that cover the acceptance criteria (or document why tests are not feasible).
|
|
21
|
+
- Run the project’s standard checks (lint/typecheck/test/build) when applicable.
|
|
22
|
+
- Call out any behavior changes and migrations.
|
|
23
|
+
- Do not open a PR unless explicitly requested; shipping is handled separately.
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
# Phase: Plan
|
|
1
|
+
# Ticket Type: Epic - Phase: Plan
|
|
2
2
|
|
|
3
3
|
Goal: decide the smallest safe implementation plan with verification.
|
|
4
4
|
|
|
5
5
|
## Inputs
|
|
6
6
|
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
7
8
|
- Final requirements + acceptance criteria
|
|
8
9
|
- System constraints (tech stack, performance, security, rollout)
|
|
9
10
|
|
|
@@ -12,10 +13,13 @@ Goal: decide the smallest safe implementation plan with verification.
|
|
|
12
13
|
- Step-by-step plan (small diffs)
|
|
13
14
|
- Verification steps (tests/lint/build/manual steps)
|
|
14
15
|
- Risks and rollback plan (if needed)
|
|
16
|
+
- Plan stored in the ticket description (as a `## Plan` section)
|
|
15
17
|
|
|
16
18
|
## Agent checklist
|
|
17
19
|
|
|
20
|
+
- Load ticket context (see `loopflowhq/agent.md`).
|
|
18
21
|
- Keep the plan minimal and aligned with current project patterns.
|
|
19
22
|
- Identify where human approval is needed (review gates, product decisions).
|
|
20
23
|
- Prefer “prove it” steps (tests, screenshots, logs) over promises.
|
|
21
|
-
|
|
24
|
+
- Do not implement in this phase; produce the plan as the deliverable.
|
|
25
|
+
- Do not change repo files in this phase.
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
# Phase: Refine
|
|
1
|
+
# Ticket Type: Epic - Phase: Refine
|
|
2
2
|
|
|
3
3
|
Goal: turn discovery output into a precise, buildable specification.
|
|
4
4
|
|
|
5
5
|
## Inputs
|
|
6
6
|
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
7
8
|
- Discovery notes and decisions
|
|
8
9
|
- Existing constraints (time, architecture, UX expectations)
|
|
9
10
|
|
|
@@ -12,10 +13,12 @@ Goal: turn discovery output into a precise, buildable specification.
|
|
|
12
13
|
- Finalized acceptance criteria
|
|
13
14
|
- Non-goals and explicit exclusions
|
|
14
15
|
- Implementation shape (high-level architecture, key files/modules)
|
|
16
|
+
- Risks / rollout notes (if applicable)
|
|
15
17
|
|
|
16
18
|
## Agent checklist
|
|
17
19
|
|
|
20
|
+
- Load ticket context (see `loopflowhq/agent.md`).
|
|
18
21
|
- Ensure acceptance criteria is testable and unambiguous.
|
|
19
22
|
- Surface any scope creep since Discovery and ask for confirmation.
|
|
20
23
|
- Call out any “this changes behavior” items explicitly.
|
|
21
|
-
|
|
24
|
+
- If you change the spec/AC, update the ticket to reflect the new source of truth.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Ticket Type: Followup - Phase: Close
|
|
2
|
+
|
|
3
|
+
Goal: finish the loop: ship, document, and leave the system clean.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
8
|
+
- Approved outcome (or explicit cancellation reason)
|
|
9
|
+
- Any rollout/release constraints
|
|
10
|
+
|
|
11
|
+
## Outputs (minimum)
|
|
12
|
+
|
|
13
|
+
- “What shipped” summary
|
|
14
|
+
- Verification steps (and results)
|
|
15
|
+
- Followups created if needed
|
|
16
|
+
|
|
17
|
+
## Agent checklist
|
|
18
|
+
|
|
19
|
+
- Load ticket context (see `loopflowhq/agent.md`).
|
|
20
|
+
- Ensure the ticket summary matches what actually changed.
|
|
21
|
+
- If cancelled, record why and whether a followup is needed.
|
|
22
|
+
- Prefer small cleanup over “nice-to-have” refactors.
|
|
23
|
+
- Run verification (lint/build/test/manual) appropriate to the change before closing.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Ticket Type: Followup - Phase: Review
|
|
2
|
+
|
|
3
|
+
Goal: validate correctness, quality, and alignment with requirements.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
8
|
+
- Implemented changes
|
|
9
|
+
- Acceptance criteria
|
|
10
|
+
|
|
11
|
+
## Outputs (minimum)
|
|
12
|
+
|
|
13
|
+
- Review notes (bugs, risks, missing tests)
|
|
14
|
+
- Decision: approve or request changes
|
|
15
|
+
|
|
16
|
+
## Agent checklist
|
|
17
|
+
|
|
18
|
+
- Load ticket context (see `loopflowhq/agent.md`).
|
|
19
|
+
- Prioritize correctness and regressions over style.
|
|
20
|
+
- Ensure acceptance criteria is demonstrably met.
|
|
21
|
+
- If changes are requested, be explicit about what must change and why.
|
|
22
|
+
- If issues are found, fix them and re-review before marking Review done.
|
|
23
|
+
- Post the review notes in the ticket chat (avoid writing `.review/*` files).
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Ticket Type: Story - Phase: Close
|
|
2
|
+
|
|
3
|
+
Goal: finish the loop: ship, document, and leave the system clean.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
8
|
+
- Approved outcome (or explicit cancellation reason)
|
|
9
|
+
- Any rollout/release constraints
|
|
10
|
+
|
|
11
|
+
## Outputs (minimum)
|
|
12
|
+
|
|
13
|
+
- “What shipped” summary
|
|
14
|
+
- Verification steps (and results)
|
|
15
|
+
- Followups created if needed
|
|
16
|
+
|
|
17
|
+
## Agent checklist
|
|
18
|
+
|
|
19
|
+
- Load ticket context (see `loopflowhq/agent.md`).
|
|
20
|
+
- Ensure the ticket summary matches what actually changed.
|
|
21
|
+
- If cancelled, record why and whether a followup is needed.
|
|
22
|
+
- Prefer small cleanup over “nice-to-have” refactors.
|
|
23
|
+
- Run verification (lint/build/test/manual) appropriate to the change before closing.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# Phase: Implement
|
|
1
|
+
# Ticket Type: Story - Phase: Implement
|
|
2
2
|
|
|
3
3
|
Goal: make the change in code, with tests and minimal risk.
|
|
4
4
|
|
|
5
5
|
## Inputs
|
|
6
6
|
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
7
8
|
- Approved plan
|
|
8
|
-
- Acceptance criteria
|
|
9
9
|
|
|
10
10
|
## Outputs (minimum)
|
|
11
11
|
|
|
@@ -15,7 +15,9 @@ Goal: make the change in code, with tests and minimal risk.
|
|
|
15
15
|
|
|
16
16
|
## Agent checklist
|
|
17
17
|
|
|
18
|
+
- Implement the acceptance criteria from the ticket; if unclear or missing, ask before proceeding.
|
|
18
19
|
- Implement in small diffs; keep changes scoped.
|
|
20
|
+
- Write/update tests that cover the acceptance criteria (or document why tests are not feasible).
|
|
19
21
|
- Run the project’s standard checks (lint/typecheck/test/build) when applicable.
|
|
20
22
|
- Call out any behavior changes and migrations.
|
|
21
|
-
|
|
23
|
+
- Do not open a PR unless explicitly requested; shipping is handled separately.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Ticket Type: Story - Phase: Plan
|
|
2
|
+
|
|
3
|
+
Goal: decide the smallest safe implementation plan with verification.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
8
|
+
- Final requirements + acceptance criteria
|
|
9
|
+
- System constraints (tech stack, performance, security, rollout)
|
|
10
|
+
|
|
11
|
+
## Outputs (minimum)
|
|
12
|
+
|
|
13
|
+
- Step-by-step plan (small diffs)
|
|
14
|
+
- Verification steps (tests/lint/build/manual steps)
|
|
15
|
+
- Risks and rollback plan (if needed)
|
|
16
|
+
- Plan stored in the ticket description (as a `## Plan` section)
|
|
17
|
+
|
|
18
|
+
## Agent checklist
|
|
19
|
+
|
|
20
|
+
- Load ticket context (see `loopflowhq/agent.md`).
|
|
21
|
+
- Keep the plan minimal and aligned with current project patterns.
|
|
22
|
+
- Identify where human approval is needed (review gates, product decisions).
|
|
23
|
+
- Prefer “prove it” steps (tests, screenshots, logs) over promises.
|
|
24
|
+
- Do not implement in this phase; produce the plan as the deliverable.
|
|
25
|
+
- Do not change repo files in this phase.
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
# Phase: Review
|
|
1
|
+
# Ticket Type: Story - Phase: Review
|
|
2
2
|
|
|
3
3
|
Goal: validate correctness, quality, and alignment with requirements.
|
|
4
4
|
|
|
5
5
|
## Inputs
|
|
6
6
|
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
7
8
|
- Implemented changes
|
|
8
9
|
- Acceptance criteria
|
|
9
10
|
|
|
@@ -14,7 +15,9 @@ Goal: validate correctness, quality, and alignment with requirements.
|
|
|
14
15
|
|
|
15
16
|
## Agent checklist
|
|
16
17
|
|
|
18
|
+
- Load ticket context (see `loopflowhq/agent.md`).
|
|
17
19
|
- Prioritize correctness and regressions over style.
|
|
18
20
|
- Ensure acceptance criteria is demonstrably met.
|
|
19
21
|
- If changes are requested, be explicit about what must change and why.
|
|
20
|
-
|
|
22
|
+
- If issues are found, fix them and re-review before marking Review done.
|
|
23
|
+
- Post the review notes in the ticket chat (avoid writing `.review/*` files).
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
# Phase: Define
|
|
1
|
+
# Ticket Type: Task - Phase: Define
|
|
2
2
|
|
|
3
3
|
Goal: turn a vague task into an executable shape (what, why, constraints).
|
|
4
4
|
|
|
5
5
|
## Inputs
|
|
6
6
|
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
7
8
|
- Ticket title (may be vague)
|
|
8
9
|
- Any context from prior messages
|
|
9
10
|
|
|
@@ -12,10 +13,12 @@ Goal: turn a vague task into an executable shape (what, why, constraints).
|
|
|
12
13
|
- Clear problem statement (1-3 sentences)
|
|
13
14
|
- Constraints and non-goals
|
|
14
15
|
- Concrete acceptance criteria (or a proposal to confirm)
|
|
16
|
+
- Define summary captured in the ticket chat (via `post_ticket_message`)
|
|
15
17
|
|
|
16
18
|
## Agent checklist
|
|
17
19
|
|
|
20
|
+
- Load ticket context (see `loopflowhq/agent.md`).
|
|
21
|
+
- Ask clarification questions in this chat, one at a time; wait for answers before asking the next.
|
|
18
22
|
- Ask the minimum questions needed to remove ambiguity.
|
|
19
23
|
- Propose acceptance criteria if missing; get confirmation.
|
|
20
24
|
- Identify dependencies/risks early (APIs, migrations, permissions, rollout).
|
|
21
|
-
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Ticket Type: Task - Phase: Implement
|
|
2
|
+
|
|
3
|
+
Goal: make the change in code, with tests and minimal risk.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
- LoopFlowHQ ticket ID (pattern: `LOOPF-<number>` / regex: `LOOPF-\\d+`)
|
|
8
|
+
- Defined scope + acceptance criteria (from Define phase or ticket)
|
|
9
|
+
|
|
10
|
+
## Outputs (minimum)
|
|
11
|
+
|
|
12
|
+
- Code changes
|
|
13
|
+
- Tests (or explicit justification if not added)
|
|
14
|
+
- Verification evidence (commands run, expected outputs)
|
|
15
|
+
|
|
16
|
+
## Agent checklist
|
|
17
|
+
|
|
18
|
+
- Implement the acceptance criteria from the ticket; if unclear or missing, ask before proceeding.
|
|
19
|
+
- Implement in small diffs; keep changes scoped.
|
|
20
|
+
- Write/update tests that cover the acceptance criteria (or document why tests are not feasible).
|
|
21
|
+
- Run the project’s standard checks (lint/typecheck/test/build) when applicable.
|
|
22
|
+
- Call out any behavior changes and migrations.
|
|
23
|
+
- Do not open a PR unless explicitly requested; shipping is handled separately.
|