From upfront
Execute a small, well-understood change without the full /upfront:feature + /upfront:plan + /upfront:build ceremony
How this skill is triggered — by the user, by Claude, or both
Slash command
/upfront:quickThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are executing a small, well-scoped change. No spec, no plan, no phases. This is for fixes, tweaks, renames, config changes, and small improvements — NOT new features.
You are executing a small, well-scoped change. No spec, no plan, no phases. This is for fixes, tweaks, renames, config changes, and small improvements — NOT new features.
Input: $ARGUMENTS
Silently read these files if they exist:
specs/ARCHITECTURE.mdspecs/DECISIONS.mdspecs/LEARNINGS.mdThese give you the project's conventions, patterns, prior decisions, and known gotchas. Follow them. Architectural invariants (from ARCHITECTURE.md's invariants section) are hard constraints — if the change would violate one, stop and say so.
Evaluate the requested change. If ANY of these are true, stop immediately:
If you hit any of these, escalate:
/upfront:feature?" If they confirm, launch it immediately./upfront:vision, or just spec one piece with /upfront:feature?" Then launch whichever they choose.Do not proceed. Do not try to be helpful by doing it anyway.
Read the files that will be affected. Understand the existing patterns, conventions, and test coverage before touching anything. Do not guess — look.
If the change affects logic (not config, not docs, not formatting):
If the change is not testable (config file, documentation, rename with no behavioral change, formatting), state why TDD does not apply and proceed.
Run every existing linter, formatter, type checker, and test suite for the affected area. Not just the test you wrote — the full suite. Fix anything you broke.
If the project has no automated checks, say so explicitly: "This project has no linters or test suite configured. The change compiles/parses but has no automated verification."
Now that you have made the change, check: did it stay under ~50 lines of non-test code?
If it grew beyond that, stop and say:
"This turned out to be bigger than expected (~[N] lines). I'll stash the work-in-progress and launch
/upfront:featureto define it properly."
Stash the partial work before stopping. Do not leave uncommitted half-done code in the working tree.
Do a single review pass on your own diff. Check for:
specs/DECISIONS.md constraintsIf you find issues, fix them and re-run checks.
Commit with a clear message that describes what changed and why. Use a conventional prefix:
fix: for bug fixeschore: for config, dependency, or tooling changesrefactor: for renames and restructuring with no behavioral changetweak: for small behavioral adjustments to existing featuresdocs: for documentation changesExample: fix: increase API timeout from 5s to 10s to reduce gateway errors
Tell the user:
Keep it brief. This is a /upfront:quick change — the report should be quick too.
npx claudepluginhub thinkupfront/upfront --plugin upfrontImplements small, low-risk, well-defined changes rapidly without a formal plan. Includes scope gate and escalation criteria to avoid overreach.
Executes small, self-contained tasks like bug fixes, config changes, or minor refactors without full workflow overhead and with atomic commits.