Start small.
Start here.

You need a question, a place for the project, and an agent—or a terminal. You don’t need to choose a framework yet.

Use an agent.

Open Codex or Claude and give it the repository URL, a destination, and the outcome you have in mind. These examples are starting points, not fixed project types.

Prompt for your agent
Use https://github.com/spencerthomas/starter to scaffold a data analysis project in ../customer-retention. We need to understand why customers leave.

Then, begin with the work. Name the population, timeframe, and source data. Check missing values, duplicates, and joins before drawing a conclusion.

The agent can read the shared scaffold skill from the repository, create the minimal structure, and tailor the brief. Tell it whether you want to stop at scaffolding or continue into the first task.

Or use the terminal.

The generator requires Python 3.10 or later and no third-party packages. Clone the starter once, then run it from that checkout. This guide currently targets the template-and-workflow branch.

Clone the starter
git clone --branch codex/starter-template-workflow https://github.com/spencerthomas/starter.git
cd starter
Terminal
python3 scripts/scaffold.py ../customer-retention \
  --kind analysis \
  --name "Customer retention" \
  --brief "Understand why customers leave."

Then, begin with the work. Name the population, timeframe, and source data. Check missing values, duplicates, and joins before drawing a conclusion.

Add --dry-run to preview the files. The destination must be empty; existing .git/ metadata is allowed. The generator does not initialize Git, install packages, or change remotes.

Make it available next time.

From the starter checkout, install the shared skill once:

Install the skill
python3 scripts/scaffold.py --install-skills

This links the skill into ~/.agents/skills/ for Codex and ~/.claude/skills/ for Claude. Existing entries are preserved. Keep the starter checkout at its current path, then start a new agent session.

Codex$start-project
Claude/start-project

You can also ask naturally: “Use the starter for a research project.” Explicit invocation is useful when discovery is unclear.

Then do one useful thing.

A scaffold is a starting point. Before building more structure, use the brief to name a result you can actually inspect.

  1. Make the question concrete.

    Who is the result for? What decision or task will it support?

  2. Identify the inputs and tools.

    Record what is available and what still needs access. Choose only the capabilities this task requires.

  3. Define the evidence.

    A command, an inspected artifact, a traced claim, or an observed user journey. Be specific about what success would establish.

  4. Work through the loop.

    Inspect, act, verify, review, and finish. Keep useful decisions and leave a clear handoff.

A next-task prompt
Read the project brief and follow the repository workflow. Help me produce the smallest useful result, using the inputs and tools available. Record what you verified and what remains uncertain.

A few practical details.

What if I already have a project?

Ask the agent to inspect and adapt the existing repository deliberately. The generator refuses nonempty destinations. Preserve useful files and decisions; add only the missing structure.

Why not use GitHub’s template button?

That button copies this whole distribution, including its website and tooling. The generator copies only the project template, which is the cleanest starting path.

Do I need additional plugins?

No. The scaffold itself has no plugin requirements. Discover and add capabilities for the first real task—data access, document rendering, browser interaction, or another concrete need.

Will it make agents follow the workflow?

The repository makes conventions discoverable and checks some structural rules. It cannot guarantee agent compliance or factual correctness. Observe the result and keep the evidence explicit.

The structure is the beginning.
The work tells you what comes next.

Read the thinking behind Starter Open the repository