> **progressive-building** — skill 31 of 43 in [n8n-io/n8n](https://skillsdocs.com/n8n-io/n8n).
>
> Book (all skills, one file): https://skillsdocs.com/n8n-io/n8n.md
> Machine manifest: https://skillsdocs.com/n8n-io/n8n/.well-known/agent-skills/index.json
> Install the book: `npx skills add n8n-io/n8n`
> Upstream: https://github.com/n8n-io/n8n/blob/master/packages/%40n8n/instance-ai/skills/progressive-building/SKILL.md @ `master`
> Raw bytes, no header: https://raw.githubusercontent.com/n8n-io/n8n/master/packages/%40n8n/instance-ai/skills/progressive-building/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/n8n-io/n8n/master/packages/%40n8n/instance-ai/skills/progressive-building/
> Licence: Other — https://github.com/n8n-io/n8n
>
> Content © its authors, served unmodified. Takedown: https://github.com/DreambaseAI/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: progressive-building
dependencies:
  tools:
    - build-workflow
    - verify-built-workflow
    - workflows
    - executions
description: >-
  Load before build-workflow and before scoping or planning new workflows and
  feature additions, including requests spanning multiple workflows. Implement
  one increment per user message. Finish setup and inspect a successful real
  execution before offering another increment. Then wait for the next user
  reply. Partial setup is incomplete. A first setup or test refusal pauses
  building. Follow the skill's full-build exceptions. Also supports workflow edits
  and repairs. For workflows that create or write Data Tables, load
  data-table-manager first. Requests only to
  run, inspect, or manage existing resources use their normal tools and skills.
---

# Progressive building

Apply this policy when creating or extending workflows and repairing those
builds. It overrides conflicting scoping and setup narration in the building
and post-build guidance above. Keep their validation, approval, credential,
publish, and cleanup rules. Write to the user in their conversation language.

Requests to run, inspect, or manage existing resources use their normal tools
and skills without this staging process. This also applies when the user
switches to such a request after building in the same conversation.

## Choose the first version

Acknowledge the full request before selecting the smallest useful outcome.
Build a working part of the requested workflow. Do not create a throwaway demo.
Use one trigger and at most two credentialed services in the first version.
Each later increment adds at most one new trigger and at most two new
credentialed services. This also applies when new triggers share existing logic
or need no credentials. Count the trigger's credential. Count services even
when their credentials are connected.
Parameters and placeholders do not count. An AI provider counts toward the same
two-service total as the trigger and other services, even if its credential is
missing. Exclude a model only when Gateway credits is confirmed available for
that model on this instance. If it needs a provider API key, count it.

Keep this limit internal. Explain what the first version does and what comes
next. Preserve the user's services. Prefer existing credentials when choosing
between equally suitable starting points. Follow workflow-builder guidance
on credential setup preferences when the user leaves the service open.

Ask a single-choice question if several named services are equally central.
Otherwise state a reasonable starting assumption. Do not offer a multi-select
list that adds services or triggers to the first version.

The `planning` skill and `create-tasks` tool are unavailable in this mode.
Keep additional workflows as later roadmap items.

## Build, set up, and run

1. Build the selected version. Use the existing verification and setup flow.
2. Before its setup card, explain the full goal, what this version does, and
   the remaining outcomes. Do this on automatic `<workflow-setup-required>`
   turns too. Then open setup. Do not add more work while setup is incomplete.
3. Create missing prerequisites, such as sheet tabs or headers, through the
   existing one-off flow when the connected credentials permit it.
4. After setup, offer only a live run for manual or schedule triggers. The execution
   approval card supplies consent. For event triggers, explain how to start
   listening for a test event and perform the event, then ask the user to report
   back. Inspect the resulting execution with `executions`.
5. Extend only after a successful, non-simulated execution of the current
   version. A successful save, mocked verification, pinned data, or the user's
   statement alone does not satisfy this condition. Confirm that every required
   path added or changed in this increment ran successfully. Unchanged paths do
   not need another run.
   Report simulated verification as simulated, not as end-to-end
   success. Repair failures before extending.
6. After one increment's verification and setup, end the turn. Choose the next
   action from the current version's state:
   - Setup is incomplete: explain what is missing and offer to finish setup.
     A result with `partial: true` or nonempty `nodesStillNeedingSetup` stays in this state.
     Respect skipped credentials. If setup was deferred, pause without reopening it.
   - Setup is complete but a successful real execution is missing: ask only about
     the live test described above. Do not offer to build the next increment instead.
   - A successful real execution is confirmed: read the relevant node output,
     use its actual fields to propose the next outcome, and wait for a new user
     reply agreeing to continue. Edit the same workflow and source file when
     extending it.
   A successful verification does not authorize another increment in the same
   turn. The original list of requested outcomes does not replace this pause.

Keep a short Done/Next roadmap in substantive replies about this build. Mark an
outcome as done only after execution evidence confirms it. Do not claim the
whole request is complete while outcomes remain.
Keep later outcomes as roadmap items, not selectable alternatives to unfinished
setup or a live test. A reply such as "continue" or "what's next?" keeps the
current setup or live-test step. It is not a full-build request or another decline.

After the first explicit setup or test refusal, state what remains untested and
pause. Do not offer another increment or ask the user to repeat the refusal.
A denied execution approval is one refusal, not permission to continue building.

## Finish without staging when asked

Build a precise, complete implementation specification in one pass. This
includes an explicit node list, an attached workflow, or a complete sequence of
steps. A list of desired capabilities or entry points alone does not qualify.
If the user explicitly asks to build everything now, finish the remaining scope
in one pass. Do not infer this instruction from a list of requested additions.

If the user declines setup or testing twice, stop requiring execution between
increments. Finish the requested scope and offer setup at the end. Respect
previously skipped credentials. State which parts remain untested.
