Initialize or repair a repository's local `.woostack/` support and canonical GitHub policy without selecting a provider or publishing artifacts.
Resources
3Install
npx skillscat add howarewoo/woostack/woostack-init Install via the SkillsCat registry.
woostack-init
Create or repair .woostack/ support without creating development authority. Initialization never
creates a specification, plan, issue, project, branch, pull request, or lifecycle state.
Command
/woostack-init [path]Procedure
<wi> below means the installed woostack-init skill directory.
Resolve the canonical target repository without changing it. Verify repository root, branch,
working state, existing.woostack/files, and collision/symlink/path safety.Resolve the effective local policy with
`scripts/config/resolve-config.sh`. It merges the tracked.woostack/config.jsonwith the optional primary-checkout.woostack/config.local.json, validates the canonicalgithubobject, and preserves every
unrelated user-owned setting.Create only missing local support paths:
.woostack/config.jsonfrom `templates/config.json`;- local diagnostic report roots for Doctor, audit, and QA; and
- worktree/recovery support declared by the canonical worktree contract;
- the managed project OMP session-naming extension, settings entry, and ignore rules by running
bash <wi>/scripts/provision-omp-session-name.sh <canonical-repository>. This deterministic
provisioner updates only.omp/extensions/woostack-session-name.ts,.omp/settings.json, and.omp/.gitignore, preserves other extensions/settings/ignore lines, and rejects tracked settings.
Delegated work selects agents already exposed by the active OMP session; see the
OMP host adapter for capability routing and the
optional safe cleanup path for unchanged definitions generated by older Woostack releases. Init
does not create, update, validate, repair, or ignore OMP agent definitions.Do not discover, select, provision, migrate, mirror, or write any remote provider. Init does not
infer a GitHub Project, Status field, issue, or publication destination. Direct GitHub planning
and execution paths admit their exact scope under
`artifact-providers/github.md`.Validate JSON, canonical policy, path permissions, ignore policy, report roots, and cross-links.
Run the shipped Doctor checks through the owning workflow.Report created, repaired, preserved, skipped, and blocked local paths with exact validation
results. A legacy provider setting or retained record is reported as retirement guidance at the
boundary that encounters it; it never changes ordinary local initialization.
Canonical configuration
The shared artifact contract
defines the one active non-secret configuration surface:
{
"github": {
"owner": "acme",
"ownerType": "organization",
"statusField": "Status",
"projectStatuses": {
"planned": "Todo",
"executing": "In Progress",
"inReview": "In Review",
"done": "Done",
"blocked": "Blocked"
}
}
}The top-level github object is optional. Its only allowed fields are owner, ownerType,statusField, and projectStatuses; the resolver retains the existing value validation, including
five distinct non-empty Status option names. visibility is not active configuration: an existing
Project's actual visibility is read from GitHub. Parent-issue operations and exact issue paths do not
require github, a Project, or Status configuration. Explicit Project operations supply and verify
their exact destination and required mappings/capabilities; they never guess one.
artifacts.provider, artifacts.linear, artifacts.plane, and older root provider settings are
legacy opaque data. They remain untouched and inactive. Do not promote them into github, delete
them automatically, or contact a retired provider. When a caller reaches a boundary that would have
used one, report that the setting is retired and require the supported direct GitHub path or local
mode instead.
Retained data and recovery
Existing .woostack/tmp/runs/, legacy drafts, manifests, locks, reports, and remote records are
user data. Init does not import, rewrite, delete, or recreate wrappers from them. The
`run-store.py` safety contract remains available to the callers that still
need exact retained-data reads: containment, no-follow checks, private permissions, locking,
complete writes, atomic rename, directory flush, and compare-and-swap read-back remain mandatory.
Unknown or partial outcomes stop at the last independently read boundary.
Hard constraints
- Initialization is local-only and provider-free; it never selects persistence or publication.
- No source edit outside
.woostack/except the managed project OMP session-naming assets
(.omp/extensions/woostack-session-name.ts,.omp/settings.json, and.omp/.gitignore); no
application scaffold. Delegated work uses OMP agents already exposed by the host; Init never
creates or repairs agent definitions. - No credential read/write, automatic migration, destructive cleanup, commit, push, pull request, or
merge. - Preserve user-owned files, legacy settings, retained manifests, dirty worktrees, and reports.
- Fail closed on symlink, path, permission, collision, malformed canonical configuration, or
incomplete recovery evidence.