بنقرة واحدة
auto-office-hours
// Sharpen a vague idea into a bounded objective. Use before framing when scope is undefined.
// Sharpen a vague idea into a bounded objective. Use before framing when scope is undefined.
Product go/no-go on a framed spec. Use after auto-frame, before planning.
Engineering go/no-go on a plan. Use after auto-plan, before execution.
Implement approved plan slices. Use as the execute-stage entry point.
Bound and de-risk a request into SPEC.md. Use when the objective is clear but scope needs constraining.
Build project truth from repo evidence. Use when steering is missing or stale.
Turn an approved spec into ordered slices. Use when framing is accepted and planning begins.
| name | auto-office-hours |
| description | Sharpen a vague idea into a bounded objective. Use before framing when scope is undefined. |
| metadata | {"stage":"frame"} |
Pre-frame conversation. Turns a vague idea into a sharp objective before framing begins.
First action: run scripts/get-context.mjs → JSON {activeChange, stage, canonicalSpec, canonicalDesign, canonicalPlan, productReview, engineeringReview, diagnostics} (missing state normalizes to "none"/null). If any diagnostic has level "error", stop and report it before proceeding. Then detect mode, work scale, and work shape from the user's language.
auto-onboard produces steering artifacts; auto-office-hours produces clarity. This skill is conversational only until the user approves an approach. Before approval, it writes nothing. After approval, it persists the approved intake to .agent/work/<change>/INTAKE.md and records the active change so auto-frame can resume without conversation memory. This skill does not write code or scaffold projects. It does not create SPEC.md in conversational mode; when approved intake is enough to frame safely, continue into auto-frame's contract in the same session so the user does not have to ask again.
Loading discipline: hold the conversation goal, evidence, request coverage, rejected framings, and the next decision. Read project files only when evidence in the repo changes the objective, especially for parity, audit, migration, coverage, or mixed work.
Before presenting alternatives, recommending an approach, or writing INTAKE.md:
references/quality.md (~36 lines: anti-patterns, better shape, prose hygiene scan patterns) when the conversation sounds encouraging but non-decisive.Determine and confirm all three axes:
ROADMAP.md.State all three in one confirmation, for example: "This reads as Builder mode, capability-sized, and parity-shaped. Does that match?" If the user disagrees on any axis, adjust before continuing.
For bug-sized goals with a known fix, consider whether auto-frame is the better next skill. For Content mode, read references/content-intake.md (~61 lines) and use its audience, thesis, anti-goals, and voice diagnostics. For roadmap-sized goals, read references/ROADMAP-CONTRACT.md (~63 lines), help choose the first spec, and preserve the broader intent while decomposing.
Ask only the questions needed to make the objective frameable. Use the active mode reference:
references/startup-diagnostic.md when demand, user, market, or customer evidence matters.references/builder-diagnostic.md when the work is personal, exploratory, open-source, or design-partner shaped.references/content-intake.md when the deliverable is prose.When the shape is not feature, shape-specific questions take priority over mode questions: parity needs a reference system and gap-closure target; audit needs questions and decision use; refactor needs invariants and blast radius; migration needs source/target state and rollback; coverage needs risk areas and verification target; mixed work needs the highest-priority question from each shape.
Follow up immediately when an answer changes scope, reveals a constraint, contradicts earlier context, or stays abstract. Do not bank questions. If the first answer is polished but vague, push on the substance and ask for observed behavior.
Before generating alternatives, build a compact coverage map from the user's request and answers. Capture the goal, context/background, perspectives or audiences, constraints, worries/risks, explicit asks, and implied asks.
Classify each material item as:
ROADMAP.md or later work, with the reason.If any item would be narrowed or dropped, name the reason. If a decision is needed, ask one focused question or offer 2–3 concrete options before recommending an approach. Keep this as a decision map, not a transcript.
Present 2–3 distinct approaches that match the user's scale and shape. For bug-sized, feature-sized, and capability-sized goals, include a minimal viable option and an ideal architecture option. For roadmap-sized goals, offer decomposition strategies or first-spec candidates, not roadmap-scale implementation plans. For refactor, parity, audit, migration, or coverage work, differentiate by blast radius, traceability, evidence depth, rollout risk, or verification strength. Read references/alternatives-format.md (~34 lines) for the exact format.
Recommend one approach and explain the decision basis: what evidence supports it, what it does not prove, and what evidence would change the recommendation. Do NOT proceed until the user explicitly approves an approach or chooses a different one.
After approval, derive a date-prefixed change slug: YYYY-MM-DD-<kebab-case-objective> using today's date (e.g., 2026-05-20-production-pme-runtime). Reuse active_change only when it already matches this discussion. Write the approved intake to .agent/work/<change>/INTAKE.md. When scale is roadmap, replace .agent/steering/ROADMAP.md with the approved decomposition per references/ROADMAP-CONTRACT.md. Update .agent/.automaton/state/current.json:
active_change → <change>stage → frameRun sync-status.mjs from this skill's scripts directory.
After INTAKE.md is written, continue into auto-frame in the same session when all of these are true:
Needs decision item that would change scope, approach, or verification.SPEC.md without dropping material request context.If those conditions pass, load and follow auto-frame's contract, write .agent/work/<change>/SPEC.md, update canonical_spec, and report both artifacts. If any condition fails, stop after INTAKE.md with the concrete blocker or focused question. Do not make the user manually invoke auto-frame just because office-hours wrote intake successfully.
If the user's language shifts mid-session, reclassify mode, scale, or shape and state the change. If the user says "just do it" or expresses impatience, ask the two most critical unresolved questions; if they push back again, proceed to alternatives with explicit assumptions.
Do NOT create INTAKE.md, SPEC.md, DESIGN.md, or any implementation artifact until:
If the user asks to "just start coding" or "skip to the plan," reframe: "We can move fast, but I need you to pick a direction first. Which approach feels right?" There are no file writes before the user picks an approach.
Halt and report when:
Push until the answer names concrete evidence, a specific stakeholder, or an observable workaround. Do not guess. Do not proceed.
INTAKE.md is guaranteed only for an approved office-hours session; aborted, skipped, or still-conversational sessions do not produce it.
If the user approves an approach, write .agent/work/<change>/INTAKE.md with:
ROADMAP.md, not this spec.agent/.automaton/state/current.json updated with active_change and stage: frame.agent/steering/ROADMAP.md updated when scale is roadmaperror-level diagnostics block the intake; warning-level diagnostics surface to auto-frameauto-frame's contract when the approved intake is frame-ready; otherwise recommend auto-frame with the specific missing condition. The user or host invokes the next skill; auto-office-hours does not chain.The INTAKE is a faithful record of what the user approved, not the agent's editorial rewrite. Use the user's language where possible. When the agent reframed something and the user accepted the reframe, capture the accepted version and note it was a reframe.
If the user does not approve an approach, output a short discussion summary, why no approach was selected, deferred scope worth preserving in ROADMAP.md, a recommended next step, and no file writes.
auto-frame without another user prompt.Read references/operating-principles.md for non-negotiable instincts in Startup and Builder modes. (~43 lines.)
Read references/question-exemplars.md when question quality is drifting soft or generic. (~55 lines.)
Read references/pushback-patterns.md when the user gives vague market, social proof, platform vision, growth, or undefined-term answers. (~40 lines.)
Read references/alternatives-format.md before presenting approaches. (~34 lines.)
Read references/anti-sycophancy.md when the response risks sounding agreeable instead of evidence-backed. (~36 lines.)
Read references/landscape-awareness.md when market, ecosystem, competitor, or current-state evidence would change the frame. (~48 lines.)
Startup mode: read references/startup-intake-template.md before writing INTAKE.md. (~80 lines.)
Builder and Content modes: read references/builder-intake-template.md before writing INTAKE.md. (~78 lines.)