Init workspace
Stack-agnostic agentic-programming workflow skills + documentation scaffold
npx -y skills add gtrabanco/agentic-workflow --skill init-workspaceAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 19 stars19 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Bootstrap a project's way of working: fetch the agentic-workflow documentation scaffold (template/) and adapt it to THIS project by interview — fill the CLAUDE.md documentation map, gate commands and architecture, prune doc folders that don't apply, keep the SPEC/feature/fix and GitHub templates — then offer to install the skills. The adaptive counterpart to a raw `npx degit` copy. On a repo that already has the scaffold, detects it and switches to **upgrade mode**: diffs the project's substrate against the current template, reads `docs/workflow/MIGRATION.md`, and proposes only the blocks the project is missing — never clobbering a tailored one. On Claude Code and want hand-tuned per-skill model/effort tiers? Install the `#claude` branch instead (`npx skills add gtrabanco/agentic-workflow#claude`) — see the README. This branch is model-agnostic: the skill inherits whatever model and effort your agent session is already using. Triggers: "set up the agentic workflow here", "init-workspace", "scaffold this project's docs", "adapt the workflow template to this repo", "bootstrap the way of working", "upgrade my scaffold", "migrate my substrate to the current template", "bring my CLAUDE.md up to date with the template".
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
18.2 KB, as published. Nobody here has run it
Init Workspace
Turn an empty or existing repo into one that works with the agentic workflow: copy the generic scaffold, then tailor it to this project instead of leaving raw placeholders.
Turn contract — verify before ending the turn
✓ The adapted scaffold is written (or the merge/abort decision was asked) and remaining placeholders are listed
✓ Nothing was installed or overwritten without an explicit yes
✓ Artifact language: explicit user instruction > the project's declared docs language > English. The CONVERSATION language never decides — a Spanish prompt still produces English PRs/issues/commits/SPECs unless one of the first two says otherwise
✓ The closing `→ Next:` block is printed as the ABSOLUTE last output
About to end the turn with any box unchecked? The turn is NOT done — complete the missing box first (weak models drop end-of-document duties; this list is first on purpose).
When to use
- Setting up a repo to use these skills and you want the documentation substrate
(
CLAUDE.md+docs/map + templates) adapted to the project, not just copied. - Prefer this over a static
npx degit gtrabanco/agentic-workflow/templatewhen you want the gate commands, architecture, and doc domains filled in by interview.
Step 0 — Discover the project (always first)
Inspect the target dir ([target-dir], default cwd) before touching anything:
- Existing
CLAUDE.md/AGENTS.md/docs//.github/? If so, do not clobber — check first whether it's an agentic-workflow scaffold (marker:CLAUDE.mdpresent and eitherdocs/features/ROADMAP.mdor adocs/workflow/dir). If both markers are present, offer upgrade as the default action, alongside merge / adapt-in-place / abort — see Upgrade mode below. IfCLAUDE.md/docs/exist but the markers are absent (a foreign scaffold), stay in bootstrap and ask merge / adapt in place / abort as before. - Detect the stack from manifests (
package.json,pyproject.toml,go.mod,Cargo.toml,Gemfile, …) to propose gate commands and naming conventions. - Note the git state (is it a repo, what's the default branch, and the remote
URL → forge: github.com → GitHub/
gh, gitlab → GitLab/glab, else ask).
Process
- Preflight. Confirm the target dir and the discovery findings. If scaffold files already exist, get an explicit decision before overwriting.
- Fetch the template.
npx degit gtrabanco/agentic-workflow/template <dir>(into the target if empty, else a temp dir to merge from).degitcan't read a private repo — it fails, or in--mode=gitsilently leaves an empty dir; for a private source,git clonevia SSH and copy thetemplate/subtree instead. - Interview to adapt — small batched rounds, each with a recommended default
drawn from Step 0; skip whatever discovery already answers:
- Project — name + one-line purpose.
- Gate — dev / build / test commands and the verification gate (proposed from the detected stack; confirm).
- Forge — issue/PR tracker + CLI (proposed from the remote URL; confirm) → recorded in the Workflow conventions Forge line.
- Git workflow — how parallel work is handled: branches (default —
one active unit at a time, sequential, plain
git switch -c) or worktrees (parallel units in separate checkouts; only if the user's agent/tooling manages them). Recorded in the Workflow conventions Git workflow line; every skill that creates branches honors it. - Docs language.
- Architecture — pattern, layers/modules, and dependency-direction rules
(stay architecture-agnostic; record the user's choice in
ARCHITECTURE.md). - Doc domains — which of
providers/ brand/ domain/ business/ infrastructure/ legal/ frontend/apply. Delete the folders that don't (e.g.frontend/for a non-UI project). - Capability inventory (
docs/CAPABILITIES.md— the substratedesign-feature's Integration closure walks). Seed it from discovery, not raw placeholders: on an existing codebase, propose the roles and theyes|no|partialstate of each template subsystem row (auth, ACL, navigation, notifications, search, audit, settings, jobs, storage, i18n, flags, billing, public API) from what the code actually shows; on an empty repo, walk the same fixed rows with the user (nois a valid, load-bearing answer). Delete rows that can never apply to this product; confirm the result in one round — never leave the file as the raw template. - Performance tooling — detect what the stack offers, one slot at a
time (fixed checklist, first match per slot; record
noneexplicitly when nothing fits — never leave the slot undiscussed):- Static complexity lint: Biome present → enable its
complexitygroup (incl.noExcessiveCognitiveComplexity); ESLint present → suggesteslint-plugin-sonarjs+eslint-plugin-unicorn; neither → ask for the stack's equivalent or recordnone. - Benchmark harness: Vitest →
vitest bench; Bun runtime →mitata; Node →tinybench/mitata; other stacks → ask for the project's benchmark command or recordnone. - Profiler: Node →
node --cpu-prof(zero-dependency default) or0xvia the project's package runner; Bun →bun --inspectCPU profiling; other → ask or recordnone. (The named tools are the TS/JS adapter examples; the contract is the generic block below.) Offer installation — the user confirms each dependency; never install silently — and register the outcome in the template'sPerformance commandsblock next to the verification gate, soreview-perfcan measure instead of guess.
- Static complexity lint: Biome present → enable its
- Docs site — does the project have (or want) a developer docs website
the
generate-docsskill can write into? If yes, fill the template'sDocs siteblock inCLAUDE.md(format: starlight/docusaurus/markdown, content dir, build command, optional knowledge-map command — proposed from discovery: anastro.config.*+@astrojs/starlightdependency means Starlight). If no, leave the block commented out —generate-docsthen reports NOT-CONFIGURED instead of guessing. Never scaffold the website itself. - Naming conventions and MCP servers, if any.
- Write the adapted scaffold. Fill the
CLAUDE.mdplaceholders (commands, the documentation map rows, architecture); keepAGENTS.md, thefeatures/_TEMPLATE+ROADMAP, thefix/_TEMPLATE+README, and the.github/templates; prune unused doc folders and map rows. Leave honest placeholders where the user hasn't decided — never invent values. - Offer the workflow skills. Propose installing them:
npx skills add gtrabanco/agentic-workflow(note the SSH/local-path variant if the source is private). Don't install without a yes. - State that reviews are self-contained; offer optional extras. The
workflow ships its own internal review pack (
review-code,review-security,review-verify,review-debt,review-design,review-a11y,review-brand,review-perf,review-seo) — it installs with the skills and covers every review axis, so no external review skill is required on any agent. If the user wants platform-specific extras (a framework skill, a stack-specific security skill), record them inCLAUDE.mdunder a short "Optional review extras" note soreview-changeandproduct-auditrun them in addition — never as a dependency. Don't install anything without a yes. - Seed the urgency labels (feature 15, injection-safe urgency). Create the
two capability-gated GitHub labels
triage-issueowns and applies (skills/triage-issue/SKILL.mdis the sole owner of the name/color vocabulary — this step only seeds it, never redefines it):gh label create urgent --color B60205 --description "Evaluate for interrupt-now — reaches the pause-vs-finish judge"andgh label create fix-next --color D93F0B --description "Head of the fix queue — never interrupts the in-flight unit". Create-if-missing: an "already exists" error fromgh label createis treated as success, not a failure. Requires the forge remote/auth Step 0 already detected — if the forge is unavailable or the user declines forge setup, skip this step and list the two labels as a residual for the user to create manually later (never fail the whole scaffold on it). - Report. List what was created, which placeholders still need human input,
the companion skills recorded/installed, the urgency labels seeded (or
skipped, with reason), and the next step:
plan-feature→execute-phase.
Upgrade mode
Entered when Step 0 finds an existing agentic-workflow scaffold (not a bare or foreign repo). Bootstrap mode (the Process section above) never engages here — upgrade mode reuses the same discovery + interview machinery, scoped to only the blocks the current template has that this project lacks. Seven ordered steps:
- Locate the current template. Fetch the current
template/the same way bootstrap does —npx degit gtrabanco/agentic-workflow/template <temp-dir>(always into a temp dir here, never into the target); the SSH/local-path variant applies verbatim for a private source. - Diff the substrate. Compare the project's
CLAUDE.md(and thedocs/blocks its documentation map references) against the fetched template. Produce the list of blocks/conventions the template carries that this project's substrate lacks, or still holds as a raw, unfilled placeholder — e.g. aDocs siteblock, aPerformance commandsblock, aGit workflowline, the five-state roadmapStatus legend, the capability inventory (docs/CAPABILITIES.md+ its documentation-map row). This is the diff-against-current-template contract; it is the only source of what's new. (A missingdocs/CAPABILITIES.mdis proposed with the same discovery-seeded defaults bootstrap's interview uses — never as the raw template.) - Read
docs/workflow/MIGRATION.md. For each missing block, pull its dated migration note so the proposal explains why the block exists and what it migrates. IfMIGRATION.mdis absent, proceed on the template diff alone and say so in the report — never block on a missing note. - Propose only the missing blocks — one short, batched interview round.
Each item is the block, a discovery-based default (the same detection
bootstrap mode already runs — e.g.
astro.config.*+ Starlight ⇒Docs sitedefault, Biome ⇒ the complexity-lint slot, the remote URL ⇒ forge), and theMIGRATION.mdrationale when available. The user accepts, edits, or skips each block. Never re-ask what the project already answered — a block that's already filled is skipped, not re-interviewed. - Write additively. Insert accepted blocks; fill raw, still-placeholder blocks with the confirmed values. Never rewrite a block the project has already tailored, and never delete anything — a tailored block the template also changed is left untouched and listed as a residual, not silently updated. Leave honest placeholders where the user skipped.
- Seed missing urgency labels, additively (feature 15). Independent of
the
CLAUDE.md/docs/block diff above (this is forge-repo state, not a doc block): check whether the target repo already has theurgentandfix-nextlabels (gh label list); create whichever is missing with the samegh label createcalls bootstrap mode uses (see Process step 7) — never touch a label that already exists (additive-only, same never-clobber rule as the doc blocks; a pre-existingurgent/fix-nextlabel the project recolored or redescribed is left exactly as-is). - Report + hand off. Summarize blocks added, filled, and skipped
(residuals), the urgency labels seeded (or already present), then print the
recommendation to run
product-auditnext to see which newly-available capabilities apply to the code (upgrade mode migrates the substrate only, never the code).
Failure edges — handle each explicitly, never silently:
- No drift. The diff (step 2) finds nothing missing or placeholder-only → skip the interview entirely and report "substrate current, nothing to migrate". Never fabricate a block to propose just to have something to show.
MIGRATION.mdabsent. An older install may predate this file → proceed on the template diff alone (step 3 already covers this) and say so plainly in the proposal and the final report: rationale was unavailable, the block list is still complete.- A block the project already tailored. If the current template also changed a block the project customized, do not merge, diff-patch, or overwrite it — leave it exactly as the project has it and list it as a residual in the report (step 5's never-clobber invariant). The user decides separately, via an explicit bootstrap adapt-in-place run, whether to re-tailor it.
- Bootstrap stays unchanged on a bare or foreign repo. If Step 0's
scaffold markers (
CLAUDE.md+docs/features/ROADMAP.mdordocs/workflow/) are absent — no repo, an empty repo, or aCLAUDE.mdthat isn't this workflow's — upgrade mode never engages; the existing bootstrap Process (merge/adapt/abort) runs exactly as before this mode was added.
Guardrails
- Never overwrite an existing
CLAUDE.mdordocs/without explicit consent. - Additive-only, never clobber (upgrade mode). Upgrade mode only adds
blocks the project lacks and fills raw placeholders — it never rewrites or
deletes a block the project already tailored, even if the current template
changed that block too. A genuine re-tailor is a separate, explicitly
requested bootstrap adapt-in-place run, never something upgrade mode does
on its own. The urgency label seeding is additive-only the same way:
create a missing
urgent/fix-nextlabel, never touch one that already exists (name, color, or description a project already customized). - Never redefine the urgency label vocabulary here.
skills/triage-issue /SKILL.mdis the sole owner of theurgent/fix-nextnames, colors, and apply rules — this skill only seeds those two labels into the repo; it never invents a third label or changes what the two mean. - Docs-only scaffolding; no app code, no dependencies installed unprompted.
- Architecture-agnostic: record the project's pattern, don't impose one.
- Honest placeholders over invented specifics; flag what's left to fill.
- Honor the project's Workflow conventions once present; on an existing repo, don't work on its default branch and never commit/push unless asked.
Portability (agents other than Claude Code)
The workflow is the contract; Claude Code features are conveniences. On an agent that lacks one, apply the fallback — never skip the step the feature enables:
- No slash-command menu — where this skill says
/<skill>, open that skill'sSKILL.md(wherever your agent installed the skills) and follow it literally, in a fresh conversation: hand-offs assume a clean context. - No per-skill
model:/effort:— on the#claudebranch the frontmatter pins these tiers; here, pick tiers yourself: the interview and adaptation are judgment work — run them on your strongest model. - No Claude Code hooks — the template's
.claude/auto-logging hooks are Claude Code-specific; on other agents skip that offer and note thatlog-sessionis the manual alternative.
Relationship to other skills
npx degit gtrabanco/agentic-workflow/template— the static copy this skill adapts. Use that when you want the raw scaffold and will fill it yourself.docs/workflow/PORTABLE_PROMPT.md— regenerates the skills adapted to a project (behavior). This skill adapts the substrate (docs). Complementary.- After init:
plan-feature→execute-phase; runaudit-docsto confirm the scaffold is coherent.
Done when
-
A tailored
CLAUDE.md+docs/scaffold +.github/templates exist in the target, unused folders pruned, residual placeholders flagged, the platform's companion review skills are recorded (and offered), and theurgent/fix-nextlabels are seeded (scaffold) or additively reconciled (upgrade) — or explicitly listed as a residual when the forge was unavailable. -
The closing
→ Next:block is printed (plus the offer to install the skills):→ Next: /plan-feature — plan the first feature · raw idea → /plan-feature "<idea>" · next roadmap entry → /plan-feature --next · confirm the scaffold is coherent → /audit-docs