FormForge User Story Map - Review

Stage 2 framework findings page for the pending user-story-map framework in the parent $journey-map loop. This page previews the non-canonical working packet and asks for approval before writing research/journey-map-user-story-map.md.

Research Scope Approved

Status: review pending

Date: 2026-07-02

Parent manifest: research/_working/journey-map-run.yaml

Selected frameworks: service-blueprint completeuser-story-map in review

Scope: flat research/ FormForge client-service intake/onboarding scope.

Output boundary: this run writes only research/_working/preliminary-user-story-map-research.md and this review page. The canonical intermediate is not written until compiled YAML approves it.

Executive Findings

Backbone

The story map centers on client-service intake: recognize need, draft, tailor, publish, collect, review, hand off, and reuse.

Confidence: high, grounded in approved ICP and code.

Walking Skeleton

The existing product surface already supports the thinnest end-to-end path from draft to public response and CSV export.

Confidence: high, observed in routes and routers.

Main Gap

The highest-value story gap is not more generic form creation. It is response readiness and handoff into service delivery.

Confidence: medium-high, research-backed but not customer-validated.

Activity Backbone

Backbone Coverage

Recognize need
Research high
Draft form
Code high
Tailor form
Code high
Publish/share
Code high
Complete intake
Code high
Review readiness
Partial
Hand off answers
Gap
Reuse/improve
Partial
ActivityPersonaGoalEvidence
Recognize intake needOwner-operator, consultant, coach, small-agency operatorRealize a new client, offer, cohort, or project needs a structured intake artifact now.research/icp.md trigger events; current-state journey.
Draft intake formBuyer/userGet from plain-language need to a usable first draft without blank-page setup.ICP blank-page pain; README core loop; AI route and generation service.
Tailor form for client/serviceBuyer/user, sometimes ops coordinatorAdjust fields, wording, required flags, logic, theme, settings, and publication readiness.ICP value drivers; editor/settings UI; form router.
Publish and share linkBuyer/userSend a credible intake link to the client without respondent account friction.README core loop; publish mutation; public route; immutable snapshots.
Complete intakeExternal client/respondentSubmit required information, files, preferences, and constraints with minimal friction.ICP respondent dynamic; submit route validation; Turnstile; renderer fields.
Review response readinessBuyer/userSee what came in, triage responses, and decide whether kickoff can proceed.Service blueprint gap analysis; response list, stats, analytics, status update.
Export or hand off answersBuyer/userMove intake answers into project docs, CRM, Notion, Sheets, kickoff notes, or service workflow.ICP manual copy/paste pain; competitive handoff gap; CSV export.
Reuse and improve intake systemBuyer/userDuplicate, regenerate, close, analyze, and adapt forms across clients or offers.Dashboard duplicate; AI regenerate; statuses; analytics.

Story Map

The complete story hierarchy is rendered below. Release labels are user-story-map slices for review, not a committed engineering roadmap.

Recognize Intake Need

TaskP1 StoriesP2 StoriesP3+ Stories
Identify the intake jobStart a form for a new client or service need.Use intake examples aligned to service type.Separate applications, onboarding, check-ins, and testimonials.
Decide what good intake must captureDescribe goals, background, files, links, access, timeline, budget, and preferences in the prompt.Use completeness prompts for commonly missed client details.Save intake criteria by offer type.

Draft Intake Form

TaskP1 StoriesP2 StoriesP3+ Stories
Generate or create the first draftCreate from plain-language prompt; create manually if AI is wrong or unavailable.AI includes sensible labels, field types, required flags, validation, options, and conditional-logic hints; generation errors guide retry.Generation learns from saved service-type criteria.
Review AI qualityPreview generated fields before publishing.Regenerate from a revision request.Run quality checks against intake completeness.

Tailor Form For Client/Service

TaskP1 StoriesP2 StoriesP3+ Stories
Edit fields and logicAdd, remove, reorder, and edit fields; use common field types.Use conditional logic, undo/redo, and preview.Offer reusable patterns for specific service types.
Configure client-facing experienceSet title, description, required fields, and success message.Configure notifications, response limits, close dates, redirect URL, GDPR consent, and themes.Reuse themes and templates across repeated client work.

Publish And Share Link

TaskP1 StoriesP2 StoriesP3+ Stories
Publish a stable formPublish only non-empty forms; tie responses to the published version.Make draft/published/closed states clear.Surface pre-publish completeness checks.
Share with a respondentProvide a public link clients can complete without a FormForge account.Make the shared page polished and credible.Track whether a client has started or stalled.

Complete Intake

TaskP1 StoriesP2 StoriesP3+ Stories
Fill and submit the formRespondent fills visible fields, fixes validation errors, and submits.Only relevant fields appear; success message or redirect confirms receipt.File and asset requests make the right materials clear.
Protect submission reliabilityUse bot/rate-limit protection.Use close-date and response-limit controls.Expose submission failure or notification delivery problems.

Review Response Readiness

TaskP1 StoriesP2 StoriesP3+ Stories
See and triage responsesSee submissions; label new/read/starred/archived.Use response stats, recent activity, and bulk status updates.Coordinate review across team roles.
Judge completenessOpen a response and read answers.See readiness signal for missing files, unclear answers, or incomplete context.Send follow-up requests tied to missing answers.

Export Or Hand Off Answers

TaskP1 StoriesP2 StoriesP3+ Stories
Export collected dataExport responses as CSV.Preserve metadata and labels; expose truncation.Support richer exports by destination.
Move answers into delivery workflowUse at least one manual handoff path.Use cleaner handoff to Sheets, Notion, CRM, kickoff docs, or project tools.Use workflow-specific handoff or agent-operable access.

Reuse And Improve Intake System

TaskP1 StoriesP2 StoriesP3+ Stories
Reuse successful formsDuplicate a form.Regenerate or revise an existing form.Use reusable intake libraries by service type.
Learn from usageSee basic response counts.Use completion time and recent submission analytics.Track intake quality and follow-up metrics.

Release Slicing

Release 1 - Walking Skeleton

Outcome: A provider can create one intake form, publish it, collect a response, review it, and export it manually.

Stories: start form, draft/create, edit fields, publish, public submit, response review, CSV export, duplicate/count.

Release 2 - Useful Client Intake Loop

Outcome: The loop becomes credible for repeated paid-client work by improving completeness, polish, monitoring, and first handoff beyond raw collection.

Stories: completeness prompts, better AI/logic quality, themes/settings, readiness signal, export metadata, one validated handoff path.

Release 3+ - Operational Depth

Outcome: FormForge becomes an intake operating layer for repeated service workflows.

Stories: destination routing, follow-up loops, service-type libraries, teams, API/webhooks, agent-operable handoff, billing expansion.

Walking Skeleton

The thinnest deployable/testable path is: authenticated provider creates a form from a prompt or manual title; edits common fields; publishes; FormForge snapshots the published version; external client submits; provider sees the response, changes status, and exports CSV.

ActivitySkeleton StoryImplementation Notes
Recognize intake needStart one intake form for one client/service need.Dashboard and new-form path support entry.
Draft intake formGenerate or manually create the first draft.AI route and form creation route support this.
Tailor formEdit/reorder common fields.Editor palette/canvas/properties support field-level editing.
Publish/sharePublish a non-empty form and expose a public link.Publish mutation snapshots fields and changes status.
Complete intakeSubmit a public response with validation.Public form and submit API cover this.
Review readinessView response list/detail and mark status.Response router and pages support this.
Export/handoffExport responses as CSV.CSV export builder and response page support manual handoff.
Reuse/improveDuplicate or regenerate forms and see basic counts.Duplicate, regenerate, stats, and analytics cover early reuse.

Evidence Matrix

ClaimEvidence SourceEvidence TypeInferenceConfidenceDecision Impact
The story map should center on client-service intake/onboarding.research/icp.mdApproved researchThe primary ICP and pains are intake-specific.HighApprove the active backbone if the ICP still holds.
The current product covers a walking skeleton from draft to export.README; AI route; form router; submit route; response router.Observed code plus product boundaryThe flow exists end to end.HighDo not treat R1 as a greenfield requirement.
AI drafting helps activation but is not durable differentiation.ICP blank-page pain; competitive analysis AI table-stakes finding.Approved research plus inferenceUseful as a start, weak as the final wedge.HighKeep later slices focused on intake quality and handoff.
Editing, preview, publish, snapshots, public completion, and validation are core R1 stories.Editor UI; publish mutation; form version schema; public form; submit route.Observed codeThese are required to prove the two-sided loop.HighPreserve in canonical intermediate.
Post-submission readiness and handoff should be the main R2/R3 concern.ICP manual copy/paste pain; competitive handoff gap; service blueprint operational gap.Approved research plus service blueprintThe buyer's value continues after response receipt.Medium-highGate for whether the next slice emphasis is right.
Broad integrations, API keys, billing, teams, and durable file storage should not dominate the walking skeleton.README Fresh Start Bootstrap Note.Product boundaryThe repo explicitly defers these until core validation.HighKeep them R3+ unless user overrides.
Customer-feedback confidence remains limited.No research/customer-feedback.md; service blueprint source gaps.Source absenceStory-map priorities are research/code-backed, not customer-proven.HighPreserve caveats in canonical artifact.

Evidence Coverage Gate

Is the evidence sufficient to approve this User Story Map intermediate?

Assumptions / Confidence Register

AssumptionStatusConfidenceWhat Would Change It
Product-exists mode remains appropriate.Supported by manifest selection and observed code.HighUser changes mode or scope.
Release labels are story-map slices, not committed engineering roadmap milestones.Methodological assumption.HighUser requests roadmap/spec conversion.
CSV export is enough for the walking skeleton but not durable ICP fit.Inferred from ICP and competitive analysis.Medium-highCustomers show CSV/email is sufficient for repeated paid use.
Completeness/readiness matters before broad integrations.Inferred from missing-details pain and service blueprint gaps.MediumDiscovery shows buyers care primarily about destination sync.
Agent-operable handoff is a later candidate, not a near-term default.Competitor MCP/API evidence and buyer-demand gap.MediumAI-forward agencies validate MCP/CLI immediately.

Assumptions And Confidence Gate

Should these assumptions and confidence levels be preserved in the canonical intermediate?

Alternatives, Lower-Confidence Findings, And Source Gaps

Alternative: Feature Roadmap Emphasis

Billing, teams, API keys, and durable storage could move earlier because code exists, but the README defers them until core loop validation.

Alternative: Generic Builder Map

Templates, payments, signatures, and broad integrations could dominate a generic form-builder story map, but the approved ICP is client-service intake.

Alternative: Handoff-First R1

Adding one integration before readiness may be right later, but the current evidence does not identify the winning destination.

Source Coverage Gaps

Proposed Canonical Artifacts & File Changes

PathAction NowAction After Approval
research/_working/preliminary-user-story-map-research.mdWritten as non-canonical working packet.Archive and remove after approved canonical write.
alignment/user-story-map-formforge.htmlReview page for approval.Confirm page with approval record after canonical write.
research/journey-map-user-story-map.mdNot written.Write approved canonical intermediate.
research/_working/journey-map-run.yamlRead only.Preserve; completion inferred from canonical intermediate existence.

Artifact Destination & Proposed File Changes Gate

Approve writing the canonical User Story Map intermediate after this review?

Parent Agent Routing

agent_routing:
  workflow: pattern-a-research-loop
  parent_skill: journey-map
  command: "$journey-map"
  gate_owner: parent-orchestrator
  gate_type: framework-findings
  framework_slug: user-story-map
  framework_mode: inline-subskill
  run_manifest: research/_working/journey-map-run.yaml
  next_resolution: parent-resolves-from-yaml-and-filesystem

Supplemental Working Packet Source

The rendered sections above are the primary review surface. This source view is included only as a supplemental checksum against research/_working/preliminary-user-story-map-research.md.

# User Story Map

Based on: research/icp.md, research/competitive-analysis.md, research/journey-map-service-blueprint.md, README/product boundary, and observed implementation files.
Date: 2026-07-02.
Methodology: Jeff Patton User Story Mapping.
Mode: Product-Exists, grounded by code and customer-feedback-limited.

Summary: FormForge's story map backbone is the client-service intake loop: decide what information is needed, create a useful intake form, tailor it, publish a polished link, collect client responses, review readiness, and hand answers into service delivery. The walking skeleton is visible in product: create with AI or from scratch, edit fields, publish, collect a public response, review it, mark status, and export CSV. The major gap is the transition from response received to ready for kickoff or delivery work.

Canonical destination after approval: research/journey-map-user-story-map.md.

Compile Responses

Answer the required gates above, then compile YAML and paste it into a session invoking the parent skill.