SuperAPI AI Directory

task-groundwork

Writing & research

View repository

Updated 10-15 22:12

About this skill

Task Groundwork

Prepare an evidence-backed task frame that a spec author can use without session memory. Determine what must be done now, what must remain intact, and what belongs to later work. Research the system and roadmap; do not implement or select a design.

Derive the task boundary from the roadmap and current sources

On every invocation, including continuation, reread the request, user decisions, repository instructions, task sources, and relevant system files. Use previous reports to locate evidence, then compare their source content and dependencies with the current state before reusing their conclusions.

Identify the checkout and revision. Inspect Git status, relevant committed work, staged and unstaged diffs, and untracked contents; read the actual files as well. Honor a named revision without mixing it with working changes. Use equivalent live sources outside Git. Neither a clean tree nor unchanged filenames prove that the underlying content is unchanged.

Read the larger objective and phase structure to locate the task and its intended result, acceptance expectations, and unresolved boundaries. Scan the roadmap for related work, then read those task definitions and linked decisions. Follow dependencies and shared responsibilities across phases, not just adjacent task numbers. For standalone work, use the available context without inventing a roadmap.

Build a relation map anchored to task identifiers and sources:

  • Earlier work: establish what it was meant to provide, what actually exists, which decisions still govern this task, and which behavior must be preserved. Check present implementation and relevant history; a completed checkbox is not evidence that a prerequisite works.
  • This task: establish the required result, permitted changes, preserved contracts, and unresolved questions about ownership or scope.
  • Future work: find later tasks that depend on this result or will touch the same data, interfaces, state, or responsibilities, including indirect relations. For each, identify its documented outcome; what it expects this task to provide; what it will consume, extend, replace, or migrate; the constraints this creates now; and the work and decisions that remain assigned to that future task.

Use these relationships to resolve the present task's boundaries and compare options. Explain when a current approach would block a later task, duplicate its work, require avoidable rework, or preserve the transition it needs. Tie those effects to specific roadmap requirements and system evidence. Do not equate compatibility with freezing something a later task is explicitly meant to replace.

Separate documented future commitments from unspecified future design. Do not invent requirements from task titles or hypothetical uses, design later tasks, or implement their capabilities early. If the roadmap leaves a material dependency, boundary, or ordering conflict unresolved, bring that decision to the user. A future need alone does not authorize expanding this task.

Verify the task's motivating premises early against the actual system. Distinguish intended behavior from existing capability. If the problem is already resolved, a promised prerequisite is absent, or the task's rationale is contradicted, establish the evidence and its effect on the task before elaborating a solution.

Trace the behavior and close factual gaps

Start from all task outcomes, preserved contracts, and constraints found in the roadmap. Independently inspect repository structure and applicable entrypoint, registration, configuration, schema, and test sources. Use their names and relationships to discover participating paths beyond the first matching files or the terminology used in the request.

Keep a working trace from each obligation to current behavior or a verified gap. Record connections, branch conditions and outcomes, supporting sources, uncertainty, and consequences for this task and related roadmap work. For new behavior, establish existing integration boundaries and constraints without inventing an existing capability. Keep unresolved items visible and add newly discovered connections.

Follow inputs through actual producers, control and data flow, state changes, effects, and consumers. Work backward from required results and preserved behavior to their prerequisites. Check reachability, indirect callers, alternate entrypoints, and registration or configuration that connects them. A function's existence or a test's name does not establish that the path works.

At every relevant decision, follow the possible outcomes: success, rejection, failure, invalid or missing input, alternate state, partial effects, retries, duplicates, concurrency, and recovery where reachable. Preserve distinctions that can change scope, feasibility, required behavior, future-task compatibility, or option comparisons. Group branches only when evidence shows their differences cannot affect those conclusions.

Verify present-behavior claims against implementation and consumers, actual test setup and assertions, schemas, configuration, or version-relevant primary sources. Verify planned obligations against their governing roadmap tasks and decisions; do not mistake a future requirement for an existing capability. Use safe execution checks when inspection cannot settle a fact. Distinguish observations, supported inferences, and unresolved assumptions. For absence claims, identify the search boundary and account for indirection; a few local examples or a passing suite do not establish universal absence.

Investigate outside the change scope when a dependency must be understood. Stop at an evidenced contract boundary beyond which internals cannot affect this task; justify excluded paths. Being outside this task does not itself make a dependency irrelevant. Avoid auditing unrelated internals or absorbing neighboring work.

When a premise fails, reconsider its dependent branches, scope boundaries, roadmap relationships, and design comparisons together. Expose an invalid task frame; do not rescue it by adding unassigned work or changing the intended outcome.

Separate facts, user decisions, and design selection

Resolve researchable facts yourself. If evidence is unavailable, identify the missing source and the conclusion it prevents. Do not ask the user to choose a factual account or defer available research to the spec author.

Ask one concrete question at a time when intent, acceptance, ownership, scope, or task order needs the user's decision. Explain the evidence and consequences, wait for the answer, and continue only independent research. Carry the resolved decision through the whole investigation without overriding other settled constraints.

Compare feasible designs inside the established task boundary. For each, present evidence, prerequisites, constraints, tradeoffs, effects on earlier work, and its fit with the identified future tasks. Distinguish incompatibility with a documented requirement from a tradeoff still open to choice. Reject an option only for an established reason, not a speculative claim about future-proofing.

Leave selection to the user or spec author even when options preserve the same goal and scope. If only one appears feasible, explain why without treating it as an approved design. Do not turn option comparisons into an implementation plan.

Establish readiness and hand over the task frame

Reconcile the investigation against the original request, the earlier/current/future task map, and independently examined system sources. Find obligations with no supported account and participating paths missing from the trace. Distinguish verified absence from unexamined work. Completing only the list of already discovered items is insufficient; seek contradictory evidence and investigate remaining gaps.

Before reporting, compare relevant source content with what supported the findings, including roadmap documents and dependencies. Recheck affected conclusions after intervening edits; the same HEAD or dirty-file list can hide changed content. Resume from still-valid evidence and remaining research after an interruption.

Declare readiness only when the purpose and scope are settled; each relevant obligation, branch, and roadmap relationship has evidence or a justified exclusion; future-task constraints and deferred responsibilities are explicit; and no material fact or necessary user decision remains unresolved. An informed design choice may remain for the next stage. Missing research may not. Otherwise report the blocker, its effect, and what would resolve it. For remaining non-material uncertainty, explain why it cannot change the task frame. Neither a few findings nor a fixed pass count establishes completion.

Return a concise, self-contained brief with the task's purpose; verified current state; the earlier/current/future relation map and its implications; allowed changes and preserved behavior; the connection and decision-branch trace; options and comparisons; user decisions; and readiness or blockers. Put source locations beside claims and identify the revision or working content examined. Preserve details the spec author needs instead of replacing them with a general summary.

Use prose, tables, or a diagram suited to the findings. Return the brief in conversation and save it only when requested. End at the findings unless the user's request also authorizes another stage.