Soho Project Start
Use this with using-soho before substantial project/spec work. The goal is a context package that future agents can execute from, not a chat-only plan.
Mode
- Use
recommend when the project direction or ownership is still undecided.
- Use
solo when one agent can inspect, write the context package, and verify it.
- Use
swarm only when independent architecture, product, security, design, or implementation tracks genuinely need separate passes.
Record the mode and runtime in the receipt.
1. Orient
Before writing, inspect the existing project truth:
pwd
git status --short --branch
find . -maxdepth 3 -type f \( -name 'AGENTS.md' -o -name 'CLAUDE.md' -o -name 'CODEX.md' -o -name 'README.md' -o -name 'ARCHITECTURE.md' -o -name 'PLANNING.md' -o -name 'TASK.md' -o -name 'lessons.md' -o -path './docs/*' \) | sort
Also inspect local equivalents when present:
BUILDERBOT.md, GEMINI.md, GOOSE.md, .cursor/commands/
.agentops/context/, .agentops/tasks/, .agentops/receipts/
docs/specs/, docs/plans/, docs/receipts/
- open PR, Linear, Slack, or handoff notes referenced by the user or repo
Do not create every possible file. Use existing conventions first. For a new empty project, the safe default is README.md, AGENTS.md, docs/specs/, docs/plans/, and docs/receipts/.
2. Build The Context Package
Borrow the useful Context Engineering pattern:
- Initial request: what is being built and why.
- Project rules: durable agent instructions and constraints.
- Examples and patterns: files or prior artifacts to mirror.
- PRP/spec: implementation blueprint with enough context for one-pass execution.
- Validation gates: commands the agent can run and iterate on.
- Receipt: what changed, what is proven, and what is not claimed.
The package must answer:
- Problem statement and user-visible outcome.
- Current truth layer: working tree,
HEAD, generated artifacts, external systems.
- Non-goals and privacy/safety constraints.
- Source inventory and ownership.
- Existing patterns/examples to follow.
- Architecture decision and tradeoffs.
- Interfaces or artifact contracts.
- Manual curation or override path when generated output is involved.
- Tests, validation commands, and success criteria.
- Open questions with owner or next action.
3. Update Markdown Surfaces In Lockstep
Update only the files that are present, expected by the repo, or necessary for the new project.
AGENTS.md: repo-specific agent rules and required read order. Preserve managed blocks exactly.
CLAUDE.md / CODEX.md: runtime-specific guidance only when the repo uses those files. Keep them aligned with AGENTS.md instead of creating conflicting rules.
README.md: human entrypoint, run commands, and current status.
ARCHITECTURE.md / PLANNING.md: system design, boundaries, source-of-truth decisions, and sequencing.
TASK.md: active tasks, discovered work, and dated next actions.
lessons.md: durable lessons and repeated failure modes only. Do not use it as a scratchpad.
docs/specs/: product and technical spec.
docs/plans/: executable implementation plan with exact paths and validation.
docs/receipts/: proof, commands run, outputs, blockers, non-claims, and external update state.
- Issue tracker / Linear / PR notes: post only when explicitly authorized; otherwise draft exact text and label it not posted.
If two files would say the same thing, prefer one canonical file and add a pointer from the other. Avoid duplicate narratives that can drift.
4. PRP / Spec Minimum
A build-ready PRP or spec needs:
- Goal, why, and user-visible behavior.
- Current codebase/project tree and desired tree.
- Files to create or modify.
- Data models, interfaces, or artifact schemas.
- Implementation steps in execution order.
- Validation gates that are actually runnable.
- Risks, failure modes, and mitigations.
- Success metrics or acceptance criteria.
- Explicit fixture/local proof versus live integration proof.
For agent-facing PRPs, include exact files and examples to read. Do not rely on a model guessing the project conventions.
5. Validation
Before claiming the context package is ready:
- Re-read the changed markdown files for contradictions.
- Verify JSON/YAML receipts or schemas parse when applicable.
- Verify referenced files exist or are explicitly marked future/nonexistent.
- Verify validation commands are concrete, not placeholders.
- Re-run
git status --short --branch and classify unrelated dirty work.
- Record any live-system action as
posted, drafted, blocked, or not attempted.
6. Receipt
End with a receipt containing:
- mode and runtime
- files created or updated
- commands run and results
- context-engineering inputs used
- live systems contacted or explicitly not contacted
- what is proven now
- what is not claimed
- next recommended action
Guardrails
- Preserve managed blocks and user-owned edits.
- Do not overwrite existing project doctrine with generic templates.
- Do not claim fixture proof as live integration proof.
- Do not create
CLAUDE.md, CODEX.md, or lessons.md just to satisfy a checklist if the repo has another canonical context surface.
- Do not post Slack, Linear, email, or PR comments without explicit authorization.
- If sending on the user's behalf after authorization, prefix the message with
🤖.
Source: SoheilOlia/Soho — distributed by TomeVault.
1---2name: soho-project-start3description: Use as the Soho project-start/context-engineering skill when starting a new project, major spec, PRP, architecture brief, agent handoff, or workflow that must keep durable project markdown surfaces aligned, including AGENTS.md, CLAUDE.md, CODEX.md, README.md, ARCHITECTURE.md, PLANNING.md, TASK.md, lessons.md, docs/specs, docs/plans, docs/receipts, Linear, and issue-tracker or handoff notes. Use when this capability is needed.4---56# Soho Project Start78Use this with `using-soho` before substantial project/spec work. The goal is a context package that future agents can execute from, not a chat-only plan.910## Mode1112- Use `recommend` when the project direction or ownership is still undecided.13- Use `solo` when one agent can inspect, write the context package, and verify it.14- Use `swarm` only when independent architecture, product, security, design, or implementation tracks genuinely need separate passes.1516Record the mode and runtime in the receipt.1718## 1. Orient1920Before writing, inspect the existing project truth:2122```bash23pwd24git status --short --branch25find . -maxdepth 3 -type f \( -name 'AGENTS.md' -o -name 'CLAUDE.md' -o -name 'CODEX.md' -o -name 'README.md' -o -name 'ARCHITECTURE.md' -o -name 'PLANNING.md' -o -name 'TASK.md' -o -name 'lessons.md' -o -path './docs/*' \) | sort26```2728Also inspect local equivalents when present:2930- `BUILDERBOT.md`, `GEMINI.md`, `GOOSE.md`, `.cursor/commands/`31- `.agentops/context/`, `.agentops/tasks/`, `.agentops/receipts/`32- `docs/specs/`, `docs/plans/`, `docs/receipts/`33- open PR, Linear, Slack, or handoff notes referenced by the user or repo3435Do not create every possible file. Use existing conventions first. For a new empty project, the safe default is `README.md`, `AGENTS.md`, `docs/specs/`, `docs/plans/`, and `docs/receipts/`.3637## 2. Build The Context Package3839Borrow the useful Context Engineering pattern:40411. Initial request: what is being built and why.422. Project rules: durable agent instructions and constraints.433. Examples and patterns: files or prior artifacts to mirror.444. PRP/spec: implementation blueprint with enough context for one-pass execution.455. Validation gates: commands the agent can run and iterate on.466. Receipt: what changed, what is proven, and what is not claimed.4748The package must answer:4950- Problem statement and user-visible outcome.51- Current truth layer: working tree, `HEAD`, generated artifacts, external systems.52- Non-goals and privacy/safety constraints.53- Source inventory and ownership.54- Existing patterns/examples to follow.55- Architecture decision and tradeoffs.56- Interfaces or artifact contracts.57- Manual curation or override path when generated output is involved.58- Tests, validation commands, and success criteria.59- Open questions with owner or next action.6061## 3. Update Markdown Surfaces In Lockstep6263Update only the files that are present, expected by the repo, or necessary for the new project.6465- `AGENTS.md`: repo-specific agent rules and required read order. Preserve managed blocks exactly.66- `CLAUDE.md` / `CODEX.md`: runtime-specific guidance only when the repo uses those files. Keep them aligned with `AGENTS.md` instead of creating conflicting rules.67- `README.md`: human entrypoint, run commands, and current status.68- `ARCHITECTURE.md` / `PLANNING.md`: system design, boundaries, source-of-truth decisions, and sequencing.69- `TASK.md`: active tasks, discovered work, and dated next actions.70- `lessons.md`: durable lessons and repeated failure modes only. Do not use it as a scratchpad.71- `docs/specs/`: product and technical spec.72- `docs/plans/`: executable implementation plan with exact paths and validation.73- `docs/receipts/`: proof, commands run, outputs, blockers, non-claims, and external update state.74- Issue tracker / Linear / PR notes: post only when explicitly authorized; otherwise draft exact text and label it not posted.7576If two files would say the same thing, prefer one canonical file and add a pointer from the other. Avoid duplicate narratives that can drift.7778## 4. PRP / Spec Minimum7980A build-ready PRP or spec needs:8182- Goal, why, and user-visible behavior.83- Current codebase/project tree and desired tree.84- Files to create or modify.85- Data models, interfaces, or artifact schemas.86- Implementation steps in execution order.87- Validation gates that are actually runnable.88- Risks, failure modes, and mitigations.89- Success metrics or acceptance criteria.90- Explicit fixture/local proof versus live integration proof.9192For agent-facing PRPs, include exact files and examples to read. Do not rely on a model guessing the project conventions.9394## 5. Validation9596Before claiming the context package is ready:9798- Re-read the changed markdown files for contradictions.99- Verify JSON/YAML receipts or schemas parse when applicable.100- Verify referenced files exist or are explicitly marked future/nonexistent.101- Verify validation commands are concrete, not placeholders.102- Re-run `git status --short --branch` and classify unrelated dirty work.103- Record any live-system action as `posted`, `drafted`, `blocked`, or `not attempted`.104105## 6. Receipt106107End with a receipt containing:108109- mode and runtime110- files created or updated111- commands run and results112- context-engineering inputs used113- live systems contacted or explicitly not contacted114- what is proven now115- what is not claimed116- next recommended action117118## Guardrails119120- Preserve managed blocks and user-owned edits.121- Do not overwrite existing project doctrine with generic templates.122- Do not claim fixture proof as live integration proof.123- Do not create `CLAUDE.md`, `CODEX.md`, or `lessons.md` just to satisfy a checklist if the repo has another canonical context surface.124- Do not post Slack, Linear, email, or PR comments without explicit authorization.125- If sending on the user's behalf after authorization, prefix the message with `🤖`.126127---128> Source: [SoheilOlia/Soho](https://github.com/SoheilOlia/Soho) — distributed by [TomeVault](https://tomevault.io).129<!-- tomevault:4.0:skill_md:2026-05-23 -->