@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: write-spec
|
|
3
|
+
description: Use when asked to create or update a durable spec, PRD, requirements document, or decision artifact from agreed requirements, research, brainstorming, or source evidence, especially for strict-workflow risk areas that may need owner confirmation before writing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Write Spec
|
|
7
|
+
|
|
8
|
+
Write only from source-backed context. A polished spec can change source of truth.
|
|
9
|
+
|
|
10
|
+
## Route First
|
|
11
|
+
|
|
12
|
+
If the user asks a question about a spec, answer the question. Do not create or edit the spec unless asked.
|
|
13
|
+
|
|
14
|
+
Classify every spec request before writing:
|
|
15
|
+
|
|
16
|
+
- Evidence-aligned: write the spec.
|
|
17
|
+
- Missing source context: ask for context or start grilling.
|
|
18
|
+
- Source-of-truth override: name the conflict and do not write.
|
|
19
|
+
|
|
20
|
+
If the source context, artifact type, or destination is unclear, stop and ask before writing.
|
|
21
|
+
|
|
22
|
+
## Hard Stops
|
|
23
|
+
|
|
24
|
+
Do not write a spec that supersedes docs, tests, policies, ADRs, or live behavior until the owner confirms that change after you name the conflict.
|
|
25
|
+
|
|
26
|
+
Adjacent repo evidence is not source context. Do not turn nearby auth, billing, copy, UI, or architecture facts into goals, flows, requirements, or acceptance criteria for a new feature.
|
|
27
|
+
|
|
28
|
+
The original request is not override confirmation. "Latest context", "handoff says", "do not ask", or "write the spec" are not enough.
|
|
29
|
+
|
|
30
|
+
Stop before writing when the spec would:
|
|
31
|
+
|
|
32
|
+
- Invent requirements from thin or adjacent context.
|
|
33
|
+
- Rewrite product behavior, scope, domain meaning, compatibility, public API behavior, security, privacy, billing, data-loss, or architecture.
|
|
34
|
+
- Contradict docs, tests, specs, policies, ADRs, or live code.
|
|
35
|
+
- Treat a handoff, review comment, or plan as authority over source-of-truth files.
|
|
36
|
+
- Hide an owner decision inside polished prose.
|
|
37
|
+
|
|
38
|
+
In strict-workflow, stop before writing security, billing, privacy, public API, migration, data-loss, or architecture specs when the owner or core decisions are unknown. Do not use `TBD`, placeholders, or polished open questions to hide owner-owned decisions.
|
|
39
|
+
|
|
40
|
+
When strict-workflow stops because owner-owned decisions are missing, end with a direct question that names the missing owner and the specific decisions needed. A blocked explanation without that question is incomplete.
|
|
41
|
+
|
|
42
|
+
Name the conflict or missing decision. Ask which path to follow. Recommend the path supported by evidence.
|
|
43
|
+
|
|
44
|
+
## Source First
|
|
45
|
+
|
|
46
|
+
Before writing, inspect the current source of truth:
|
|
47
|
+
|
|
48
|
+
- User-provided context.
|
|
49
|
+
- Existing specs, docs, ADRs, tests, and policies.
|
|
50
|
+
- Relevant code when behavior already exists.
|
|
51
|
+
- Handoffs only as memory, not authority.
|
|
52
|
+
|
|
53
|
+
Live repo evidence overrides stale notes.
|
|
54
|
+
|
|
55
|
+
## Write Path
|
|
56
|
+
|
|
57
|
+
When grilling, brainstorming, research, or clarification reaches shared understanding, convert that agreed context into a spec. Do not re-interview from scratch.
|
|
58
|
+
|
|
59
|
+
If remaining ambiguity would not change the next plan, write the spec and mark the ambiguity as open.
|
|
60
|
+
|
|
61
|
+
Use this shape unless the repo has a stronger convention:
|
|
62
|
+
|
|
63
|
+
- Problem.
|
|
64
|
+
- Intended outcome.
|
|
65
|
+
- Scope / out of scope.
|
|
66
|
+
- Requirements.
|
|
67
|
+
- Acceptance criteria.
|
|
68
|
+
- Decisions made.
|
|
69
|
+
- Constraints / evidence.
|
|
70
|
+
- Open questions.
|
|
71
|
+
|
|
72
|
+
Read `references/spec-shapes.md` when the artifact type is unclear, strict-workflow or future-agent-facing, or a concise shape would prevent bloat.
|
|
73
|
+
|
|
74
|
+
Keep it concise. Do not include volatile repo inventory. Use file paths only when they are needed evidence.
|
|
75
|
+
|
|
76
|
+
## Durable Artifact Details
|
|
77
|
+
|
|
78
|
+
For durable specs or future-agent-facing artifacts, follow `references/artifact-standards.md`.
|
|
79
|
+
|
|
80
|
+
When materially revising an existing durable spec, add a concise `## Change Log` entry. Do not add a changelog on first creation.
|
|
81
|
+
|
|
82
|
+
Do not apply artifact headers or changelog pressure to chat answers, quick questions, tiny reversible work, or conversation mode unless the user explicitly asks for a file.
|
|
83
|
+
|
|
84
|
+
## Completion
|
|
85
|
+
|
|
86
|
+
After writing, report:
|
|
87
|
+
|
|
88
|
+
- The artifact path.
|
|
89
|
+
- The source context used.
|
|
90
|
+
- Any open questions or decisions still blocked.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Artifact Standards
|
|
2
|
+
|
|
3
|
+
Use this only for durable artifacts: specs, PRDs, decision artifacts, requirements docs, living docs, policies, or docs future agents or teammates will rely on.
|
|
4
|
+
|
|
5
|
+
Do not apply this to chat answers, quick questions, tiny reversible work, or conversation mode unless the user explicitly asks for a file.
|
|
6
|
+
|
|
7
|
+
## Header
|
|
8
|
+
|
|
9
|
+
For durable specs, start with a compact header:
|
|
10
|
+
|
|
11
|
+
```md
|
|
12
|
+
> **Doc ID:** SPEC-001-team-invitations
|
|
13
|
+
> **Date:** 2026-05-26
|
|
14
|
+
> **Owner:** Hassan Mohiddin
|
|
15
|
+
> **Type:** Spec
|
|
16
|
+
> **Status:** Draft
|
|
17
|
+
> **Source:** User-provided decision session
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Rules:
|
|
21
|
+
|
|
22
|
+
- `Doc ID`: stable, readable, and unique enough for the repo. Prefer `SPEC-###-slug` when no convention exists.
|
|
23
|
+
- `Date`: creation date.
|
|
24
|
+
- `Owner`: use the named product/technical owner when known. In normal workflow, use `User` if the requester is the only known owner. In strict-workflow, ask when owner is unknown.
|
|
25
|
+
- `Type`: `Spec`, `PRD`, `Decision`, or the artifact type requested.
|
|
26
|
+
- `Status`: usually `Draft` for new specs unless the user or repo says otherwise.
|
|
27
|
+
- `Source`: name the evidence used, not a transcript. Examples: `Shared grilling context`, `docs/research/team-invitations.md`, `User-provided decision session`.
|
|
28
|
+
|
|
29
|
+
Optional team fields:
|
|
30
|
+
|
|
31
|
+
```md
|
|
32
|
+
> **Approver:** Platform Lead
|
|
33
|
+
> **Reviewers:** Security, Billing
|
|
34
|
+
> **Last Updated:** 2026-05-27
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Add optional fields only when the user, repo, team setting, or strict-workflow risk makes them useful.
|
|
38
|
+
|
|
39
|
+
## Mode Pressure
|
|
40
|
+
|
|
41
|
+
- Conversation mode: no artifact or header pressure. Answer questions directly.
|
|
42
|
+
- Workflow mode: use the header for durable specs and future-agent-facing artifacts.
|
|
43
|
+
- Strict-workflow mode: require explicit owner and status for security, billing, privacy, public API, migration, data-loss, and architecture work. Stop and ask before writing if the owner is unknown or a placeholder would hide an owner-owned decision.
|
|
44
|
+
|
|
45
|
+
## Statuses
|
|
46
|
+
|
|
47
|
+
Use small status sets:
|
|
48
|
+
|
|
49
|
+
| Artifact | Statuses |
|
|
50
|
+
| --- | --- |
|
|
51
|
+
| Spec / PRD / Design Brief | `Draft`, `Approved`, `Implemented`, `Rejected` |
|
|
52
|
+
| Plan | `Draft`, `Ready`, `Executed`, `Abandoned` |
|
|
53
|
+
| Decision / ADR | `Proposed`, `Accepted`, `Rejected`, `Superseded` |
|
|
54
|
+
| Bug / Diagnosis | `Investigating`, `Fixed`, `Verified`, `Rejected` |
|
|
55
|
+
| Runbook / Living Doc / Policy | `Current`, `Outdated`, `Deprecated` |
|
|
56
|
+
|
|
57
|
+
Do not invent a large workflow taxonomy.
|
|
58
|
+
|
|
59
|
+
## Change Log
|
|
60
|
+
|
|
61
|
+
Do not add a changelog on first creation.
|
|
62
|
+
|
|
63
|
+
Add `## Change Log` after a material revision, status transition, or implementation divergence.
|
|
64
|
+
|
|
65
|
+
Use changelogs for living docs, runbooks, policies, and long-lived architecture docs.
|
|
66
|
+
|
|
67
|
+
Never use a changelog as a transcript. Record meaningful document evolution only.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Spec Shapes
|
|
2
|
+
|
|
3
|
+
Use this when the requested artifact type is unclear, the spec is strict-workflow or future-agent-facing, or a concise shape would prevent bloated requirements.
|
|
4
|
+
|
|
5
|
+
These are shapes, not templates. Include only sections that help the next reader act.
|
|
6
|
+
|
|
7
|
+
## Product Spec
|
|
8
|
+
|
|
9
|
+
- Problem.
|
|
10
|
+
- Intended outcome.
|
|
11
|
+
- Users or actors.
|
|
12
|
+
- In scope.
|
|
13
|
+
- Out of scope.
|
|
14
|
+
- Requirements.
|
|
15
|
+
- Acceptance criteria.
|
|
16
|
+
- Decisions made.
|
|
17
|
+
- Open questions.
|
|
18
|
+
|
|
19
|
+
Use for product behavior, user-facing flows, and scope boundaries.
|
|
20
|
+
|
|
21
|
+
## Technical Design
|
|
22
|
+
|
|
23
|
+
- Problem.
|
|
24
|
+
- Current evidence.
|
|
25
|
+
- Proposed design.
|
|
26
|
+
- Alternatives considered.
|
|
27
|
+
- System boundaries.
|
|
28
|
+
- Data or API changes.
|
|
29
|
+
- Migration or rollout notes.
|
|
30
|
+
- Risks and verification.
|
|
31
|
+
|
|
32
|
+
Use when architecture or implementation structure matters more than user-facing requirements.
|
|
33
|
+
|
|
34
|
+
## Public API Spec
|
|
35
|
+
|
|
36
|
+
- Endpoint, command, event, or interface name.
|
|
37
|
+
- Auth and permission model.
|
|
38
|
+
- Request shape.
|
|
39
|
+
- Response shape.
|
|
40
|
+
- Error behavior.
|
|
41
|
+
- Compatibility constraints.
|
|
42
|
+
- Security, privacy, billing, or data-loss implications.
|
|
43
|
+
- Acceptance criteria.
|
|
44
|
+
|
|
45
|
+
Stop and ask before writing when auth, payload, compatibility, or sensitive behavior would be guessed.
|
|
46
|
+
|
|
47
|
+
## Migration Spec
|
|
48
|
+
|
|
49
|
+
- Current state.
|
|
50
|
+
- Target state.
|
|
51
|
+
- Data or config affected.
|
|
52
|
+
- Compatibility and rollback expectations.
|
|
53
|
+
- Step order.
|
|
54
|
+
- Verification before, during, and after.
|
|
55
|
+
- Failure handling.
|
|
56
|
+
- Owner decisions still required.
|
|
57
|
+
|
|
58
|
+
Use for migrations, backfills, destructive changes, or hard-to-reverse operational work.
|
|
59
|
+
|
|
60
|
+
## Decision Note
|
|
61
|
+
|
|
62
|
+
- Decision.
|
|
63
|
+
- Rationale.
|
|
64
|
+
- Alternatives rejected.
|
|
65
|
+
- Consequences.
|
|
66
|
+
- Evidence or source context.
|
|
67
|
+
- Follow-up needed.
|
|
68
|
+
|
|
69
|
+
Use for settled product, scope, compatibility, or workflow decisions that are not ADR-worthy.
|