agentleFS
tonmoy007tonmoy007/forge-plugins/skills/forge-force-advance/SKILL.md

forge-force-advance

Skill2 starsChanged 5 months agoMITView on GitHub

Override a blocking gate and advance the pipeline stage, recording a

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If the user hasn't provided a reason yet, ask: "Force-advance records a permanent lesson.

    line 42
  2. Distinctive:

    Wait for the user's reason.

    line 45
  3. Distinctive:

    Run the force-advance command:

    line 48
  4. Very specific:

    Use --to N if the user explicitly asked to jump to a specific stage rather than advance by one.

    line 54
  5. Distinctive:

    After running, all of these should be true:

    line 63

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Forge Force Advance

Bypasses the gate-blocker check, advances pipeline/state.md by one stage, and records a permanent lesson with the user's reason. The overridden gate criteria themselves remain failed — they'll show up again in subsequent gate checks unless actually resolved.

This is a conscious admission that work was incomplete at advance time. The lesson is the only protection against that fact being forgotten.

When to Use

  • User says /forge:force-advance
  • User says "force advance", "skip the gate", "advance anyway", "override the blocker"
  • User has acknowledged they cannot or will not resolve a blocker right now (e.g., needs ops help, blocked on a third party, deliberately deferring scope)
  • User has already heard /forge:why output and decided to proceed anyway

When NOT to Use

  • The user is asking how to fix a blocker — explain or run /forge:why instead
  • The blocker is trivially fixable (missing file, missing section heading) — fix it
  • The user hasn't asked to override — never proactively suggest force-advance as a workaround; gates exist for a reason

Steps

  1. If the user hasn't provided a reason yet, ask: "Force-advance records a permanent lesson. What's the reason you're advancing despite the active blockers? (≥ 10 characters; this will be reviewed in retro.)"
  2. Wait for the user's reason. Confirm it's at least 10 non-whitespace characters.
  3. (Optional but recommended) Run /forge:why first to surface the actual blockers so the lesson context is fresh.
  4. Run the force-advance command:
    python ${CLAUDE_PLUGIN_ROOT}/scripts/force-advance.py \
        --reason "<the user's exact reason>" \
        --cwd "<project>"
    Use --to N if the user explicitly asked to jump to a specific stage rather than advance by one.
  5. Present the script output to the user. Highlight:
    • The stage transition (Stage N → Stage N+1)
    • The list of blockers that were overridden
    • The fact that the lesson is now recorded and will appear in /forge:retro

Verification

After running, all of these should be true:

  • pipeline/state.md shows current_stage incremented
  • pipeline/state.md has a new row in ## Stage History marked FORCE
  • .forge/lessons.yaml has a new entry tagged force-advance
  • tasks/lessons.md has a human-readable summary under ## Lessons
  • The user understands the overridden blockers will reappear in the next gate check for the new stage's own criteria, but the old stage's blockers persist as failed unresolved work

Examples

User: "Just force advance. I'll fix the missing ADRs later."

Claude: "Before I do, what's the reason? It'll be recorded as a lesson and reviewed at the end of the cycle (≥ 10 characters)."

User: "Deferring ADRs to next sprint; team consensus from today's standup."

Claude: [runs python ${CLAUDE_PLUGIN_ROOT}/scripts/force-advance.py --reason "Deferring ADRs to next sprint; team consensus from today's standup." --cwd "$(pwd)"]

"Done:

Stage 3 → 4 (force-advanced)
  Blockers overridden: G3-002, G3-005
  Reason: 'Deferring ADRs to next sprint; team consensus from today's standup.'
  Lesson recorded with tag: force-advance
  Will surface in /forge:retro at end of cycle.

Note that G3-002 and G3-005 remain failed in /forge:status — when you address them next sprint, they'll automatically clear."


User: "/forge:force-advance --reason 'urgent'"

Claude: "That reason is only 6 characters — force-advance requires at least 10 non-whitespace characters so the retro context is meaningful. Can you flesh it out? For example: 'urgent demo for customer Monday; will fix gate next cycle'."


User: "Why won't G1-001 pass? Just skip it for now."

Claude: "Let me first check what G1-001 actually requires — running /forge:why G1-001." [runs why.py G1-001]

"It needs at least one functional requirement with a REQ-NNN ID in pipeline/01-srs/srs.md. That's usually a 30-second fix. Would you like me to help add a REQ entry, or do you still want to force-advance?"

[Wait for the user to choose. Do not assume force-advance is the right answer just because the user mentioned skipping.]

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.