@hassangameryt/freeflow 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/.agents/plugins/marketplace.json +20 -0
- package/.claude-plugin/marketplace.json +22 -0
- package/LICENSE +21 -0
- package/README.md +217 -0
- package/package.json +53 -0
- package/plugins/freeflow/.claude-plugin/plugin.json +20 -0
- package/plugins/freeflow/.codex-plugin/plugin.json +44 -0
- package/plugins/freeflow/assets/freeflow-plugin-icon-transparent.png +0 -0
- package/plugins/freeflow/command-surface.json +85 -0
- package/plugins/freeflow/docs/README.md +39 -0
- package/plugins/freeflow/docs/adr/0001-three-modes.md +27 -0
- package/plugins/freeflow/docs/adr/0002-evals-before-hooks.md +17 -0
- package/plugins/freeflow/docs/adr/0003-release-boundary.md +21 -0
- package/plugins/freeflow/docs/adr/README.md +7 -0
- package/plugins/freeflow/docs/architecture.md +86 -0
- package/plugins/freeflow/docs/release-evidence.md +49 -0
- package/plugins/freeflow/docs/skills.md +44 -0
- package/plugins/freeflow/docs/workflow.md +57 -0
- package/plugins/freeflow/hooks/freeflow-runtime-context.mjs +240 -0
- package/plugins/freeflow/hooks/hooks.json +18 -0
- package/plugins/freeflow/pi-extension/index.js +250 -0
- package/plugins/freeflow/skills/bypass/SKILL.md +68 -0
- package/plugins/freeflow/skills/capture-decisions/SKILL.md +95 -0
- package/plugins/freeflow/skills/capture-decisions/references/destination-guide.md +65 -0
- package/plugins/freeflow/skills/commit-work/SKILL.md +97 -0
- package/plugins/freeflow/skills/commit-work/references/staging-decisions.md +51 -0
- package/plugins/freeflow/skills/diagnose-failure/SKILL.md +95 -0
- package/plugins/freeflow/skills/diagnose-failure/references/feedback-loop-catalog.md +25 -0
- package/plugins/freeflow/skills/diagnose-failure/references/flaky-and-performance.md +31 -0
- package/plugins/freeflow/skills/evaluate-skill/SKILL.md +96 -0
- package/plugins/freeflow/skills/evaluate-skill/references/eval-patterns.md +41 -0
- package/plugins/freeflow/skills/evaluate-skill/references/grading-priority.md +33 -0
- package/plugins/freeflow/skills/execute-plan/SKILL.md +67 -0
- package/plugins/freeflow/skills/grill-context/SKILL.md +79 -0
- package/plugins/freeflow/skills/grill-context/references/approach-framing.md +52 -0
- package/plugins/freeflow/skills/handoff/SKILL.md +66 -0
- package/plugins/freeflow/skills/handoff/references/templates.md +64 -0
- package/plugins/freeflow/skills/interview-gate/SKILL.md +90 -0
- package/plugins/freeflow/skills/mode-contract/SKILL.md +79 -0
- package/plugins/freeflow/skills/research-brief/SKILL.md +69 -0
- package/plugins/freeflow/skills/review-artifact/SKILL.md +82 -0
- package/plugins/freeflow/skills/review-artifact/references/reviewer-prompt.md +45 -0
- package/plugins/freeflow/skills/review-work/SKILL.md +73 -0
- package/plugins/freeflow/skills/review-work/references/reviewer-prompt.md +89 -0
- package/plugins/freeflow/skills/setup-freeflow/SKILL.md +84 -0
- package/plugins/freeflow/skills/setup-freeflow/references/activation-contract.md +94 -0
- package/plugins/freeflow/skills/setup-freeflow/references/host-setup.md +33 -0
- package/plugins/freeflow/skills/verify-work/SKILL.md +62 -0
- package/plugins/freeflow/skills/workflow/SKILL.md +87 -0
- package/plugins/freeflow/skills/workflow/references/workflow-map.md +103 -0
- package/plugins/freeflow/skills/write-plan/SKILL.md +88 -0
- package/plugins/freeflow/skills/write-plan/references/plan-shapes.md +70 -0
- package/plugins/freeflow/skills/write-skill/SKILL.md +88 -0
- package/plugins/freeflow/skills/write-spec/SKILL.md +90 -0
- package/plugins/freeflow/skills/write-spec/references/artifact-standards.md +67 -0
- package/plugins/freeflow/skills/write-spec/references/spec-shapes.md +69 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: interview-gate
|
|
3
|
+
description: Use when context is low, scope is ambiguous, implementation/review/verification reveals unknowns, the user asks a question or suggests a path that could be misread as correction/permission, or the agent may be about to make a user-owned decision.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Interview Gate
|
|
7
|
+
|
|
8
|
+
Stop before silent decisions.
|
|
9
|
+
|
|
10
|
+
Known material method substitutions are decision points. If the requested, planned, or skill-required method and the fallback are already known, ask before source inspection, fallback work, or report drafting. Do not inspect files merely to make the fallback response more precise.
|
|
11
|
+
|
|
12
|
+
## Stop First: Question or Decision Point
|
|
13
|
+
|
|
14
|
+
If the user asks a question, answer it. Do not treat the question as criticism, permission, or a request to change behavior. Do not create, update, or delete files.
|
|
15
|
+
|
|
16
|
+
If the answer reveals missing work, report the gap. Do not fill it unless the user asks you to.
|
|
17
|
+
|
|
18
|
+
When the user asks "why did you", "did you", "what happened", or similar, answer what happened and why. Do not infer scolding, apologize, revert, edit, or promise future behavior changes unless the user asks.
|
|
19
|
+
|
|
20
|
+
When the user suggests "this is better, right", "shouldn't we", or a similar option, treat it as a hypothesis. Evaluate against evidence and say yes, no, or partly. Do not agree just to be agreeable.
|
|
21
|
+
|
|
22
|
+
If adopting a suggestion would change scope, source truth, workflow, files, or user-visible behavior, ask before acting.
|
|
23
|
+
|
|
24
|
+
If the user is deciding the next path, answer the decision first. Do not turn "should we", "do we need", "let's X before Y", or "what next" into file changes unless the action and destination are explicit.
|
|
25
|
+
|
|
26
|
+
Existing practice is evidence, not approval. "We usually do X" does not authorize X when another live rule or destination would also fit.
|
|
27
|
+
|
|
28
|
+
Fire this gate from any workflow state when the next action depends on:
|
|
29
|
+
|
|
30
|
+
- Product behavior.
|
|
31
|
+
- Scope or priority.
|
|
32
|
+
- Domain meaning.
|
|
33
|
+
- Artifact creation, destination, or durability.
|
|
34
|
+
- Compatibility.
|
|
35
|
+
- Public API or user-facing behavior.
|
|
36
|
+
- Irreversible architecture.
|
|
37
|
+
- Security, privacy, billing, or data-loss behavior.
|
|
38
|
+
- Changing docs, tests, specs, policies, ADRs, or handoffs to fit a new implementation request.
|
|
39
|
+
- A user request, handoff, plan, or review comment contradicts current repo evidence.
|
|
40
|
+
- The user asked for X, but your next action would be materially different Y.
|
|
41
|
+
- A requested, planned, or skill-required method is blocked and your fallback would change evidence quality, workflow shape, risk, scope, cost, persistence, or user-visible output.
|
|
42
|
+
|
|
43
|
+
## Inspect Before Asking
|
|
44
|
+
|
|
45
|
+
If the answer is discoverable, inspect first:
|
|
46
|
+
|
|
47
|
+
- Code.
|
|
48
|
+
- Tests.
|
|
49
|
+
- Docs.
|
|
50
|
+
- Logs.
|
|
51
|
+
- Issues.
|
|
52
|
+
- ADRs or decision records.
|
|
53
|
+
- Current external docs when facts may have changed.
|
|
54
|
+
|
|
55
|
+
Ask the user only for decisions that remain user-owned.
|
|
56
|
+
|
|
57
|
+
## Conflict Pattern
|
|
58
|
+
|
|
59
|
+
If the requested path conflicts with evidence, rules, constraints, or your intended next action:
|
|
60
|
+
|
|
61
|
+
- Stop before acting.
|
|
62
|
+
- Name the requested path and the conflicting path.
|
|
63
|
+
- Name the blocking constraint.
|
|
64
|
+
- Say why the difference changes the next action.
|
|
65
|
+
- Ask which path to follow.
|
|
66
|
+
- Give a recommendation when the evidence supports one.
|
|
67
|
+
|
|
68
|
+
Until the user chooses, continue with investigation or clarification, not implementation.
|
|
69
|
+
|
|
70
|
+
For material method substitution, stop before starting the fallback method. The constraint itself is enough to ask when the fallback would change evidence quality, workflow shape, confidence, or output.
|
|
71
|
+
|
|
72
|
+
Do not fire for harmless execution details that do not change the user's outcome.
|
|
73
|
+
|
|
74
|
+
Equivalent local substitutions such as `rg` for `grep`, temp filenames, nearby file reads, or formatting choices do not need a gate.
|
|
75
|
+
|
|
76
|
+
## Question Pattern
|
|
77
|
+
|
|
78
|
+
Ask one question at a time.
|
|
79
|
+
|
|
80
|
+
For each question:
|
|
81
|
+
|
|
82
|
+
- State the uncertainty.
|
|
83
|
+
- Explain why it changes the next action.
|
|
84
|
+
- Give your recommended answer when possible.
|
|
85
|
+
|
|
86
|
+
Exit when remaining ambiguity would not change the next forward action.
|
|
87
|
+
|
|
88
|
+
## Backward Flow
|
|
89
|
+
|
|
90
|
+
When implementation, review, or verification reveals a gap, return here before changing direction. Do not patch forward silently.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mode-contract
|
|
3
|
+
description: Use when a user asks to set, change, infer, or discuss conversation/workflow/strict-workflow mode, or when task risk suggests recommending a workflow mode.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Mode Contract
|
|
7
|
+
|
|
8
|
+
Use exactly three modes.
|
|
9
|
+
|
|
10
|
+
## Modes
|
|
11
|
+
|
|
12
|
+
**Conversation mode**: discussion, explanation, critique, exploration, quick analysis.
|
|
13
|
+
|
|
14
|
+
- Answer questions; do not act on them.
|
|
15
|
+
- No workflow pressure.
|
|
16
|
+
- No required artifacts.
|
|
17
|
+
- No plan/spec requirement.
|
|
18
|
+
- Ask only when needed for the answer.
|
|
19
|
+
|
|
20
|
+
**Workflow mode**: normal consequential work.
|
|
21
|
+
|
|
22
|
+
- Use the workflow as a guide.
|
|
23
|
+
- Ask or inspect when ambiguity would change the next action.
|
|
24
|
+
- Create artifacts only when they preserve decisions, reduce risk, or enable handoff.
|
|
25
|
+
- Verify before completion claims.
|
|
26
|
+
|
|
27
|
+
**Strict-workflow mode**: high-risk or hard-to-reverse work.
|
|
28
|
+
|
|
29
|
+
- Use stronger gates.
|
|
30
|
+
- Require explicit decisions for security, privacy, billing, data loss, migrations, public APIs, compatibility, deployment, and large architecture changes.
|
|
31
|
+
- Require explicit confirmation before changing source-of-truth artifacts such as docs, tests, specs, policies, ADRs, or handoffs when they contradict the requested implementation.
|
|
32
|
+
- Recommend this mode when risk warrants it, but do not silently switch unless the user configured it as default.
|
|
33
|
+
|
|
34
|
+
## Inference
|
|
35
|
+
|
|
36
|
+
- If the user is talking or asking a conceptual question, use conversation mode.
|
|
37
|
+
- If the user asks to implement, fix, research for action, review, or plan, use workflow mode.
|
|
38
|
+
- If the task is high-risk, recommend strict-workflow mode and ask for confirmation.
|
|
39
|
+
- If implementation would require overriding existing docs, tests, specs, policies, or established behavior, recommend strict-workflow mode and ask before editing.
|
|
40
|
+
|
|
41
|
+
## User Control
|
|
42
|
+
|
|
43
|
+
The user owns mode changes. You may recommend a mode; the user decides.
|
|
44
|
+
|
|
45
|
+
## Commands And Defaults
|
|
46
|
+
|
|
47
|
+
Keep two scopes separate:
|
|
48
|
+
|
|
49
|
+
- `defaultMode`: persisted repo default in `.freeflow/config.json`.
|
|
50
|
+
- Current mode: task, conversation, or session override. Do not persist it in repo config.
|
|
51
|
+
|
|
52
|
+
Recognize only:
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
/workflow conversation
|
|
56
|
+
/workflow workflow
|
|
57
|
+
/workflow strict-workflow
|
|
58
|
+
/workflow reset
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
The three mode commands switch mode for the current task, conversation, or host session only. `/workflow reset` clears the current override and returns to `defaultMode`.
|
|
62
|
+
|
|
63
|
+
Do not persist current mode, create repo state files, or edit config unless the user explicitly asks to change the repo default.
|
|
64
|
+
|
|
65
|
+
Phrases like "from now on", "until I say otherwise", or "for this repo" still do not persist mode unless paired with an explicit default change request.
|
|
66
|
+
|
|
67
|
+
When the repo default matters, read `.freeflow/config.json`. If it is missing or invalid, fall back to `workflow` and report the config issue when relevant.
|
|
68
|
+
|
|
69
|
+
Persist only explicit default requests, such as "make strict-workflow the default for this repo." Update `.freeflow/config.json` with only:
|
|
70
|
+
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"defaultMode": "strict-workflow"
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Use the requested valid mode. Do not add current mode, task, phase, version, or activation-path fields.
|
|
78
|
+
|
|
79
|
+
Direct skill calls are manual state selection. If the user calls a workflow segment directly, operate in that segment while still using the interview gate for user-owned decisions.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research-brief
|
|
3
|
+
description: Use when gathering evidence before a decision, summarizing repo or external facts, checking whether context supports a proposed path, or preparing a brief before specs, plans, brainstorming, or implementation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Research Brief
|
|
7
|
+
|
|
8
|
+
Gather evidence before deciding.
|
|
9
|
+
|
|
10
|
+
## Target Gate
|
|
11
|
+
|
|
12
|
+
Before researching, identify the exact target: artifact, URL, repo, product, paper, package, model, organization, or source.
|
|
13
|
+
|
|
14
|
+
Use provided context first: links, screenshots, attached files, browser or page context, repo paths, issue numbers, and named artifacts.
|
|
15
|
+
|
|
16
|
+
If multiple plausible targets would change the research path, stop and ask for the source. Do not choose by search ranking, source richness, name similarity, or an "I assume..." caveat.
|
|
17
|
+
|
|
18
|
+
Research is not approval to follow the latest request.
|
|
19
|
+
|
|
20
|
+
If the request is biased, stale, or asks you to skip relevant sources, inspect the evidence anyway.
|
|
21
|
+
|
|
22
|
+
Do not edit implementation files. Do not create a durable brief unless asked.
|
|
23
|
+
|
|
24
|
+
## Evidence First
|
|
25
|
+
|
|
26
|
+
Start with the smallest sources that can answer the question:
|
|
27
|
+
|
|
28
|
+
- Code.
|
|
29
|
+
- Tests.
|
|
30
|
+
- Docs, specs, policies, ADRs.
|
|
31
|
+
- Logs, issues, traces, or prior reports.
|
|
32
|
+
- External sources when current facts matter.
|
|
33
|
+
|
|
34
|
+
Prefer live evidence over summaries, handoffs, or the user's framing.
|
|
35
|
+
|
|
36
|
+
## Brief Shape
|
|
37
|
+
|
|
38
|
+
Keep the brief short:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
Question: ...
|
|
42
|
+
Evidence: ...
|
|
43
|
+
Conflict: ...
|
|
44
|
+
Unknowns: ...
|
|
45
|
+
Decision needed: ...
|
|
46
|
+
Recommendation: ...
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Omit sections that do not apply.
|
|
50
|
+
|
|
51
|
+
## Stop Conditions
|
|
52
|
+
|
|
53
|
+
Stop and surface the decision when evidence reveals:
|
|
54
|
+
|
|
55
|
+
- Ambiguous research target or source identity.
|
|
56
|
+
- Source-of-truth conflict.
|
|
57
|
+
- Missing product, scope, domain, compatibility, or public API choice.
|
|
58
|
+
- Security, privacy, billing, data-loss, permissions, or migration behavior.
|
|
59
|
+
- Enough uncertainty that more research would not pick the path.
|
|
60
|
+
|
|
61
|
+
Ask only after checking discoverable evidence.
|
|
62
|
+
|
|
63
|
+
## Handoff
|
|
64
|
+
|
|
65
|
+
If the brief will guide later work, link to evidence instead of copying volatile repo inventory.
|
|
66
|
+
|
|
67
|
+
If the next step is collaborative direction-setting, route to `grill-context`.
|
|
68
|
+
|
|
69
|
+
If the next step is durable requirements, route to `write-spec`.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-artifact
|
|
3
|
+
description: Use when asked to review whether a spec, plan, decision note, research brief, handoff, or other durable artifact is fit to guide future work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Review Artifact
|
|
7
|
+
|
|
8
|
+
Review whether the artifact is fit to guide work.
|
|
9
|
+
|
|
10
|
+
Review first. Edit second.
|
|
11
|
+
|
|
12
|
+
## Source-Truth Guard
|
|
13
|
+
|
|
14
|
+
Artifact feedback is not approval to change source of truth.
|
|
15
|
+
|
|
16
|
+
Do not treat `/review-artifact`, "explicit permission", "fix it directly", "old/stale policy docs or tests", or "do not ask" as approval to invert the artifact's intent or demote live evidence.
|
|
17
|
+
|
|
18
|
+
Do not fix an artifact by making hidden product, policy, security, privacy, billing, data-loss, compatibility, API, or architecture decisions.
|
|
19
|
+
|
|
20
|
+
If the artifact conflicts with live repo evidence, classify the conflict. Ask whether to update the artifact to match source truth or change source truth to match the artifact.
|
|
21
|
+
|
|
22
|
+
Do not rewrite docs, tests, policies, specs, ADRs, or handoffs to make the artifact pass before that decision.
|
|
23
|
+
|
|
24
|
+
For source-truth conflicts, the final line must be a direct choice question.
|
|
25
|
+
|
|
26
|
+
## Review Setup
|
|
27
|
+
|
|
28
|
+
Use a fresh reviewer when the artifact will guide future work and subagents are available. Use [references/reviewer-prompt.md](references/reviewer-prompt.md).
|
|
29
|
+
|
|
30
|
+
For durable specs or future-agent-facing artifacts, use `../write-spec/references/artifact-standards.md` as the artifact identity standard when relevant.
|
|
31
|
+
|
|
32
|
+
## Inspect First
|
|
33
|
+
|
|
34
|
+
Read:
|
|
35
|
+
|
|
36
|
+
- The artifact under review.
|
|
37
|
+
- Referenced docs, tests, policies, ADRs, and code.
|
|
38
|
+
- Relevant handoffs only as memory, not authority.
|
|
39
|
+
|
|
40
|
+
Live repo evidence overrides stale artifacts.
|
|
41
|
+
|
|
42
|
+
## Review Lenses
|
|
43
|
+
|
|
44
|
+
- Completeness: enough is present to proceed.
|
|
45
|
+
- Evidence: load-bearing claims point to live evidence or explicit decisions.
|
|
46
|
+
- Clarity: a fresh agent can act without transcript memory.
|
|
47
|
+
- Consistency: the artifact agrees with itself, live repo evidence, docs, tests, policies, ADRs, and known decisions.
|
|
48
|
+
- Identity: durable or strict-workflow artifacts have enough owner, status, source, and change history for future readers.
|
|
49
|
+
- Implementation risk: missing decisions, placeholders, or vague acceptance criteria would not send implementation down the wrong path.
|
|
50
|
+
- Adversarial risk: the artifact cannot be used to smuggle source-truth overrides, stale assumptions, or owner decisions into execution.
|
|
51
|
+
|
|
52
|
+
Treat missing artifact identity as blocking only when it affects future-agent handoff, team ownership, strict-workflow risk, or implementation readiness. Do not nitpick headers on lightweight artifacts or chat answers.
|
|
53
|
+
|
|
54
|
+
## Stop Before Editing
|
|
55
|
+
|
|
56
|
+
Stop before editing when a fix would:
|
|
57
|
+
|
|
58
|
+
- Invent missing requirements.
|
|
59
|
+
- Convert adjacent evidence into product direction.
|
|
60
|
+
- Override source-of-truth files.
|
|
61
|
+
- Change the artifact's intended behavior to resolve a source-truth conflict.
|
|
62
|
+
- Resolve an owner decision silently.
|
|
63
|
+
- Rewrite a handoff, plan, review comment, or spec into authority over live evidence.
|
|
64
|
+
|
|
65
|
+
Name the issue and ask for the decision. Recommend the path supported by evidence.
|
|
66
|
+
|
|
67
|
+
## Report
|
|
68
|
+
|
|
69
|
+
Lead with the result:
|
|
70
|
+
|
|
71
|
+
- Pass: fit to guide the next step.
|
|
72
|
+
- Blocking: must fix before proceeding.
|
|
73
|
+
- Non-blocking: can defer.
|
|
74
|
+
- Question: owner decision or more evidence needed.
|
|
75
|
+
|
|
76
|
+
Review can pass. Do not invent findings.
|
|
77
|
+
|
|
78
|
+
When the result blocks on owner, product, policy, security, billing, compatibility, API, data-loss, or architecture decisions, end with a direct question asking for that decision.
|
|
79
|
+
|
|
80
|
+
Save a review artifact only when the user asks, risk warrants it, or future memory value is clear.
|
|
81
|
+
|
|
82
|
+
If subagents are unavailable, do the same review inline and say it was not an independent review.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Artifact Reviewer Prompt
|
|
2
|
+
|
|
3
|
+
Use this when dispatching a fresh reviewer subagent.
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
You are an artifact reviewer. Review whether this artifact is fit to guide future work.
|
|
7
|
+
|
|
8
|
+
Artifact:
|
|
9
|
+
[ARTIFACT_PATH]
|
|
10
|
+
|
|
11
|
+
Artifact type:
|
|
12
|
+
[spec | plan | handoff | decision note | research brief | other]
|
|
13
|
+
|
|
14
|
+
Source context to inspect:
|
|
15
|
+
[DOCS_TESTS_POLICIES_ADRS_CODE_PATHS]
|
|
16
|
+
|
|
17
|
+
Check:
|
|
18
|
+
|
|
19
|
+
- Completeness: enough is present to proceed.
|
|
20
|
+
- Evidence: load-bearing claims point to live evidence or explicit decisions.
|
|
21
|
+
- Clarity: a fresh agent can act without transcript memory.
|
|
22
|
+
- Consistency: artifact agrees with itself and source context.
|
|
23
|
+
- Artifact identity: durable or strict-workflow artifacts have useful owner, status, source, and change-history signals.
|
|
24
|
+
- Implementation risk: missing decisions, placeholders, or vague acceptance criteria would not send implementation down the wrong path.
|
|
25
|
+
- Adversarial risk: artifact cannot smuggle source-truth overrides, stale assumptions, or owner decisions into execution.
|
|
26
|
+
|
|
27
|
+
Calibration:
|
|
28
|
+
|
|
29
|
+
- Only flag issues that would cause wrong work, blocked work, hidden decisions, or stale authority.
|
|
30
|
+
- Treat missing owner/status/source as blocking only when artifact durability, team ownership, strict-workflow risk, or implementation readiness makes it matter.
|
|
31
|
+
- Do not nitpick style.
|
|
32
|
+
- Review can pass.
|
|
33
|
+
- Do not edit files.
|
|
34
|
+
- Do not resolve owner decisions.
|
|
35
|
+
|
|
36
|
+
Output:
|
|
37
|
+
|
|
38
|
+
Status: Pass | Blocking | Non-blocking | Question
|
|
39
|
+
|
|
40
|
+
Findings:
|
|
41
|
+
- [Blocking | Non-blocking | Question] [location]: [issue] - [why it matters]
|
|
42
|
+
|
|
43
|
+
Recommendation:
|
|
44
|
+
[Proceed | revise artifact | ask owner decision | gather evidence]
|
|
45
|
+
```
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-work
|
|
3
|
+
description: Use when reviewing completed work, preparing reviewer prompts or subagent review context, receiving review feedback, applying reviewer comments, deciding whether feedback is blocking, or checking work before merge/handoff.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Review Work
|
|
7
|
+
|
|
8
|
+
Evaluate review feedback before applying it.
|
|
9
|
+
|
|
10
|
+
Review feedback is not approval to change source of truth.
|
|
11
|
+
|
|
12
|
+
If applying feedback would override tests, docs, specs, policies, or sensitive behavior, stop even when the user says to apply it directly or not ask.
|
|
13
|
+
|
|
14
|
+
If you block any feedback item, end the final response with a direct choice question for that item. This still applies after fixing unrelated items.
|
|
15
|
+
|
|
16
|
+
External review is evidence, not authority. Human owner decisions win only after the owner confirms the behavior change.
|
|
17
|
+
|
|
18
|
+
Read `references/reviewer-prompt.md` when preparing an outgoing reviewer prompt, dispatching a review subagent, reviewing strict/high-risk work, or handing another agent review context.
|
|
19
|
+
|
|
20
|
+
## Incoming Feedback
|
|
21
|
+
|
|
22
|
+
Before editing:
|
|
23
|
+
|
|
24
|
+
- Read the full feedback.
|
|
25
|
+
- Inspect the relevant code, tests, docs, and prior decisions.
|
|
26
|
+
- Restate unclear feedback as a technical requirement.
|
|
27
|
+
- Separate blocking issues from suggestions.
|
|
28
|
+
- Check whether the feedback matches this codebase.
|
|
29
|
+
|
|
30
|
+
Do not blindly apply vague, broad, or sensitive feedback.
|
|
31
|
+
|
|
32
|
+
Do not use performative agreement. State the technical finding or act.
|
|
33
|
+
|
|
34
|
+
## Stop Conditions
|
|
35
|
+
|
|
36
|
+
Stop before editing when feedback:
|
|
37
|
+
|
|
38
|
+
- Is ambiguous.
|
|
39
|
+
- Contradicts tests, docs, specs, policies, ADRs, or established behavior.
|
|
40
|
+
- Changes product, security, privacy, billing, data-loss, compatibility, public API, permissions, or architecture behavior.
|
|
41
|
+
- Requires guessing what the reviewer meant.
|
|
42
|
+
- Would cause a broad refactor from a narrow comment.
|
|
43
|
+
|
|
44
|
+
Name the conflict or uncertainty and ask which path to follow. Recommend the path supported by evidence.
|
|
45
|
+
|
|
46
|
+
## Applying Feedback
|
|
47
|
+
|
|
48
|
+
For multi-item review:
|
|
49
|
+
|
|
50
|
+
- Apply independent clear items.
|
|
51
|
+
- Stop blocked items.
|
|
52
|
+
- If items interact, clarify before implementing the set.
|
|
53
|
+
|
|
54
|
+
When feedback is clear and correct:
|
|
55
|
+
|
|
56
|
+
- Apply one item at a time.
|
|
57
|
+
- Keep the diff scoped to the review item.
|
|
58
|
+
- Verify each fix.
|
|
59
|
+
- Push back on incorrect feedback with code, tests, or docs.
|
|
60
|
+
|
|
61
|
+
## Outgoing Review
|
|
62
|
+
|
|
63
|
+
When reviewing work, lead with bugs, regressions, missing tests, and requirement gaps.
|
|
64
|
+
|
|
65
|
+
Classify findings:
|
|
66
|
+
|
|
67
|
+
- Blocking: must fix before proceeding.
|
|
68
|
+
- Non-blocking: can defer.
|
|
69
|
+
- Question: needs owner decision or more evidence.
|
|
70
|
+
|
|
71
|
+
Review can pass. Do not invent issues to justify the review.
|
|
72
|
+
|
|
73
|
+
When asking another agent to review, give it source truth, changed files, risk lenses, and pass/fail criteria. Do not hand it only the previous agent's summary or your chat history.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Reviewer Prompt
|
|
2
|
+
|
|
3
|
+
Use this when preparing an outgoing reviewer prompt or subagent review context.
|
|
4
|
+
|
|
5
|
+
The reviewer should get the work product and source truth, not your session memory.
|
|
6
|
+
|
|
7
|
+
## Include
|
|
8
|
+
|
|
9
|
+
- What was implemented or changed.
|
|
10
|
+
- The source authority: spec, plan, issue, ADR, policy, tests, or user-confirmed requirement.
|
|
11
|
+
- Files or diff range to inspect. If no git range exists, list concrete files.
|
|
12
|
+
- Claimed verification and what still needs independent checking.
|
|
13
|
+
- Risk lenses relevant to the work.
|
|
14
|
+
- Required output shape and severity labels.
|
|
15
|
+
- Clear instruction not to edit files unless the review task explicitly includes fixes.
|
|
16
|
+
|
|
17
|
+
Do not forward only a previous-agent summary. Summaries are useful context, not authority.
|
|
18
|
+
|
|
19
|
+
## Risk Lenses
|
|
20
|
+
|
|
21
|
+
Pick the lenses that fit the work:
|
|
22
|
+
|
|
23
|
+
- Source-truth alignment: implementation matches spec, plan, docs, tests, and established behavior.
|
|
24
|
+
- Regression risk: unrelated behavior changed or broad refactor from narrow work.
|
|
25
|
+
- Security/privacy: auth, secrets, permissions, sensitive data, logging, data exposure.
|
|
26
|
+
- Billing/product: pricing, downgrade/upgrade, access, entitlements, user-visible policy.
|
|
27
|
+
- Public API: route, method, payload, response status/body, compatibility, error semantics.
|
|
28
|
+
- Data safety: migrations, deletion, idempotency, rollback, duplicate processing.
|
|
29
|
+
- Test gaps: claims rely on manual checks, stale notes, or missing executable coverage.
|
|
30
|
+
- Reviewability: diff scope, generated files, hidden dependencies, unexplained deviations.
|
|
31
|
+
|
|
32
|
+
For strict-workflow or high-risk work, call out owner-owned decisions and stop conditions directly.
|
|
33
|
+
|
|
34
|
+
## Output Shape
|
|
35
|
+
|
|
36
|
+
Ask the reviewer to lead with findings, ordered by severity:
|
|
37
|
+
|
|
38
|
+
```md
|
|
39
|
+
## Findings
|
|
40
|
+
|
|
41
|
+
### Blocking
|
|
42
|
+
- [file:line] Title
|
|
43
|
+
- What is wrong:
|
|
44
|
+
- Why it matters:
|
|
45
|
+
- Minimal fix direction:
|
|
46
|
+
|
|
47
|
+
### Non-blocking
|
|
48
|
+
- ...
|
|
49
|
+
|
|
50
|
+
### Questions
|
|
51
|
+
- ...
|
|
52
|
+
|
|
53
|
+
## Assessment
|
|
54
|
+
|
|
55
|
+
Ready to proceed: Yes | No | With fixes
|
|
56
|
+
Reasoning: ...
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
If review passes, the reviewer should say that clearly and name any residual test gaps or assumptions.
|
|
60
|
+
|
|
61
|
+
Do not ask reviewers to invent issues. A clean pass is valid.
|
|
62
|
+
|
|
63
|
+
## Minimal Template
|
|
64
|
+
|
|
65
|
+
```md
|
|
66
|
+
# Reviewer Prompt
|
|
67
|
+
|
|
68
|
+
Review the completed work. Do not edit files.
|
|
69
|
+
|
|
70
|
+
## Work Summary
|
|
71
|
+
|
|
72
|
+
[What changed, from the implementer summary or observed files.]
|
|
73
|
+
|
|
74
|
+
## Source Truth
|
|
75
|
+
|
|
76
|
+
- [spec/plan/policy/test paths]
|
|
77
|
+
|
|
78
|
+
## Files Or Range
|
|
79
|
+
|
|
80
|
+
- [changed files or git range]
|
|
81
|
+
|
|
82
|
+
## Check
|
|
83
|
+
|
|
84
|
+
- [risk lenses and concrete requirements]
|
|
85
|
+
|
|
86
|
+
## Output
|
|
87
|
+
|
|
88
|
+
Lead with findings by severity. Include file:line, violated requirement, risk, and minimal fix direction. If there are no findings, say so and list residual risk/test gaps.
|
|
89
|
+
```
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup-freeflow
|
|
3
|
+
description: Use when setting up, installing, enabling, initializing, or configuring Freeflow in a repo, choosing Codex/Claude/multi-agent activation, creating `.freeflow/config.json`, or changing the repo default mode during setup.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Setup Freeflow
|
|
7
|
+
|
|
8
|
+
Use `references/activation-contract.md` before rendering activation text, config, or host setup.
|
|
9
|
+
|
|
10
|
+
Use `references/host-setup.md` when the request mentions Codex, Claude, both hosts, team setup, solo setup, strict defaults, hooks, CLI, or setup profiles.
|
|
11
|
+
|
|
12
|
+
## Stop Before Editing
|
|
13
|
+
|
|
14
|
+
Do not create config, add activation blocks, imports, or rule files until setup has a clear host target and no unresolved repo-rule conflict.
|
|
15
|
+
|
|
16
|
+
Hard stops:
|
|
17
|
+
- both `AGENTS.md` and `CLAUDE.md` exist, and the user did not explicitly choose a host or ask for multi-agent setup
|
|
18
|
+
- existing repo instructions conflict with asking before user-owned decisions
|
|
19
|
+
- existing repo instructions conflict with verification before completion claims
|
|
20
|
+
- Claude setup would add `.claude/rules/freeflow-core.md` but the user has not clearly chosen Claude or multi-agent setup
|
|
21
|
+
|
|
22
|
+
For a hard stop, make no file changes. Name the blocker and ask one direct question.
|
|
23
|
+
|
|
24
|
+
## Inspect
|
|
25
|
+
|
|
26
|
+
Inspect `.freeflow/config.json`, `AGENTS.md`, `CLAUDE.md`, `.claude/rules/freeflow-core.md`, `.codex/rules/`, existing `## Freeflow` blocks, and conflicting repo instructions.
|
|
27
|
+
|
|
28
|
+
Existing repo instructions are source truth. If a rule conflicts with Freeflow's core behavior, name the conflict and ask whether to install Freeflow as advisory, revise the rule, or skip setup. Advisory install is a user decision, not the default.
|
|
29
|
+
|
|
30
|
+
## Target
|
|
31
|
+
|
|
32
|
+
- Codex target: update `AGENTS.md`.
|
|
33
|
+
- Claude target: update `CLAUDE.md` and `.claude/rules/freeflow-core.md`.
|
|
34
|
+
- If only `AGENTS.md` exists, choose Codex.
|
|
35
|
+
- If only `CLAUDE.md` exists, choose Claude.
|
|
36
|
+
- If both exist and the user explicitly named the host target, update that host's files.
|
|
37
|
+
- If both exist and the target is ambiguous, ask before editing.
|
|
38
|
+
- If neither exists, ask which one to create.
|
|
39
|
+
- Update both only when the user asks for multi-agent setup. Mention duplicated host activation drift risk.
|
|
40
|
+
|
|
41
|
+
Do not treat the current agent runtime alone as target approval. A Codex run in a repo that also has `CLAUDE.md` still needs the user to choose unless the request or repo instructions make the target explicit.
|
|
42
|
+
|
|
43
|
+
Update an existing `## Freeflow` block in place. Otherwise place the block near existing agent skill/workflow sections, or append near the end. Never duplicate it. Do not use `.codex/rules/*.rules` for Freeflow behavior; Codex rules are shell approval/security policy, not model memory.
|
|
44
|
+
|
|
45
|
+
## Config
|
|
46
|
+
|
|
47
|
+
Create or update `.freeflow/config.json` using the config adapter in `references/activation-contract.md`.
|
|
48
|
+
|
|
49
|
+
Use `workflow` unless the user explicitly asks to persist a valid repo default: `conversation`, `workflow`, or `strict-workflow`.
|
|
50
|
+
|
|
51
|
+
Do not infer `strict-workflow` from "team", "strict gates", "careful", or high-risk examples. Recommend or ask unless the user explicitly says to make a mode the repo default.
|
|
52
|
+
|
|
53
|
+
Do not add current mode, task, phase, file inventory, active plans, version metadata, or activation file path.
|
|
54
|
+
Mode switches are task/conversation scoped unless the user explicitly asks to persist a different default mode.
|
|
55
|
+
|
|
56
|
+
## Activation
|
|
57
|
+
|
|
58
|
+
Render the canonical blocks from `references/activation-contract.md`.
|
|
59
|
+
|
|
60
|
+
For Codex, put the Codex core block in `AGENTS.md`.
|
|
61
|
+
|
|
62
|
+
For Claude, put only the Claude import block in `CLAUDE.md`, then put the Codex core block text in `.claude/rules/freeflow-core.md`. Do not create a separate Claude rule file for `interview-gate`; plugin runtime loads it.
|
|
63
|
+
|
|
64
|
+
Do not list the whole workflow, every mode, or full `interview-gate` skill in always-loaded text. Do not split into multiple always-loaded Freeflow rule files unless the user explicitly confirms that split after the one-file recommendation.
|
|
65
|
+
|
|
66
|
+
## Do Not Create
|
|
67
|
+
|
|
68
|
+
Setup must not create empty `CONTEXT.md`, docs pages, repo-local hooks, state files, handoffs, skill inventories, or `.codex/rules` behavior files.
|
|
69
|
+
`CONTEXT.md` is domain language memory, not plugin state.
|
|
70
|
+
Plugin-bundled context hooks are installed with Freeflow, not created by repo setup.
|
|
71
|
+
|
|
72
|
+
## Verify
|
|
73
|
+
|
|
74
|
+
Before claiming setup is complete, check:
|
|
75
|
+
- config JSON parses
|
|
76
|
+
- config contains only `defaultMode` with the requested explicit default, or `workflow` when no explicit default was requested
|
|
77
|
+
- Codex setup has exactly one `## Freeflow` block in `AGENTS.md`
|
|
78
|
+
- Claude setup has exactly one `CLAUDE.md` import and one `.claude/rules/freeflow-core.md` core file
|
|
79
|
+
- `.codex/rules` was not created or changed for Freeflow behavior
|
|
80
|
+
- no unrelated files changed
|
|
81
|
+
|
|
82
|
+
After successful setup verification, read `../workflow/SKILL.md`, `../workflow/references/workflow-map.md`, and `../interview-gate/SKILL.md` before the final response. Only say workflow and interview-gate context is loaded for this session if all three files were read successfully.
|
|
83
|
+
|
|
84
|
+
If verification cannot run, say what remains unverified.
|