Move the standard library (previously `github.com/openprose/std`) and
the company-as-prose library (previously local dir
`/Users/sl/code/openprose/company-as-prose`) into this repository
under `packages/std/` and `packages/co/` respectively.
Motivation: concentrate attention on one repository so stars,
discussions, and issues aggregate. `openprose/std` was a genuinely
useful asset nobody could find because ~50 stars on its own repo
told a much worse story than 1,106 stars on `openprose/prose`
would have. Same logic applies to co.
Layout choice: `packages/{std,co}/` rather than `std/` + `co/` at
the repo root. Root siblings accumulate over time, and a flat
top-level made future libraries (hub, kit, dev, etc.) compete with
spec infrastructure. `packages/` is bounded — new libraries land
there without cluttering root. Matches pnpm/Deno/monorepo tooling
conventions.
Changes:
- New: `packages/std/` (copied from openprose/std, `.git` excluded)
- New: `packages/co/` (copied from company-as-prose, README updated
for new name and location)
- `packages/std/README.md`: updated shorthand expansion reference
- `packages/co/README.md`: renamed "company-as-prose" to "co" in
self-references, added std-vs-co split heuristic, updated
`prose run` examples to use `co/` shorthand
- `skills/open-prose/deps.md`:
- `std/` shorthand now expands to
`github.com/openprose/prose/packages/std/`
- `co/` shorthand added, expands to
`github.com/openprose/prose/packages/co/`
- Both shorthands resolve into the same clone of
`openprose/prose` under `.deps/github.com/openprose/prose/`;
`packages/std/` and `packages/co/` are sibling subdirectories
- `prose.lock` format row updated to `host/owner/repo sha`
(matches the explicit-host resolution that landed in #35)
- `.deps/` directory structure example redrawn to show the
`{host}/{owner}/{repo}/packages/{std,co}/...` shape
- Error message and Interaction tables refreshed accordingly
- Resolution Algorithm step 1 now documents both shorthands
- `skills/open-prose/forme.md`: Step 2 resolution list updated to
include co/ shorthand and the host-keyed `.deps/` layout
- `skills/open-prose/help.md`: Q&A "How do dependencies work?"
rewritten to name both shorthands and the new explicit-host model
- `skills/open-prose/state/filesystem.md`: `.deps/` directory
tree re-drawn to include the `{host}/` layer with std/co as
sibling packages inside the clone
- `skills/open-prose/guidance/patterns.md`,
`skills/open-prose/guidance/antipatterns.md`: examples now use
the `std/` shorthand or explicit `github.com/...` rather than
the deprecated bare `openprose/std/` form
- `skills/open-prose/examples/registry-import/index.md`: sample
service reference switched to `std/evals/inspector`
- `README.md`: Stdlib badge replaced with internal `packages/std/`
link plus new `packages/co/` link; "Standard Library" section
rewritten as "Libraries" with both packages described
Out of scope for this PR (deliberately):
- Tooling changes to `prose install` and Forme's `.deps/` writer
to adopt the `{host}/{owner}/{repo}/` layout in practice — this
PR is spec-only. Existing tooling continues to work against
whatever layout it currently implements; the spec now describes
the target.
- Retiring the `openprose/std` GitHub repo. Delete that repo
separately after this merges.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.2 KiB
name, kind
| name | kind |
|---|---|
| planner | service |
Planner
Given a goal and constraints, produce a structured plan with ordered steps, dependencies between them, decision points, and fallback paths. Use planner when the task requires sequencing work, identifying what depends on what, and anticipating failure modes. This is the natural coordinator role -- it decides what to do, not how to do each step.
Description
Produce an ordered plan with dependencies, decision points, and fallback paths.
Metadata
version: 0.1.0
Requires
- goal: what the plan should achieve
- constraints: limits on time, resources, tools, or scope
- context: (optional) current state, prior attempts, or known blockers
Ensures
- plan: an ordered sequence of steps, each with:
- step: what to do
- depends_on: which prior steps must complete before this one can start
- success_criteria: how to know this step is done
- fallback: what to do if this step fails
- assumptions: explicit statements about what the plan takes for granted (if any assumption is wrong, the plan may need revision)
- decision_points: moments where the path forward depends on information not yet available, with the options and how to choose between them
Errors
- goal-infeasible: the goal cannot be achieved within the stated constraints
- insufficient-context: not enough information to plan meaningfully (e.g., "make it better" with no current state)
Strategies
- when the goal is large: decompose into phases with clear milestones; each phase should be independently valuable if later phases are cut
- when constraints are tight: identify the critical path and protect it; flag steps that can be parallelized or deferred
- when prior attempts exist: diagnose what went wrong before planning a new approach
- when uncertainty is high: front-load information-gathering steps that resolve the biggest unknowns
Notes
Planner produces plans. It does not execute them. It does not research the domain, write the deliverables, or evaluate the results -- those are jobs for researcher, writer, and critic respectively. Planner is the role that sequences and coordinates. For classifying inputs, use classifier. For selecting a handler, use router.