This repository is a practical operating system for guided agentic coding work.
Its center of gravity is not the framework-specific skills. The real backbone is:
ub-workflowfor planning, specs, initiatives, sprints, audit, and archiveub-qualityfor the always-on baseline of structure, clarity, and code or doc hygieneub-governancefor evidence, decision memory, testing, and repository-control discipline
The language and framework skills matter, but they are supporting specialists. They plug into the workflow once the work has been shaped and routed correctly.
Use it when you want your coding agent to work through a clearer system instead of acting like a collection of disconnected prompts.
The repository is designed so bigger work starts with the right planning surface,
moves through explicit review points, and stays resumable across sessions.
That is why ub-workflow is the main driver: it decides whether the work should
stay direct, become a lightweight spec, or grow into a full initiative with a
PRD, roadmap, sprint preparation, execution, and final audit.
The planning model in this repo is intentionally tiered:
- direct bounded work for small tasks that do not need a durable planning artifact
- lightweight specs for bounded one-offs that still need assumptions, scope, and validation written down
- initiatives for broader, higher-impact work where PRD, roadmap, sprint preparation, sprint execution, and final audit improve delivery quality
In practice, specs are the preferred small planning surface, while initiatives plus sprints are the main driver for bigger impact areas.
If you want guided help choosing the right lane, start with the
ub-workflow agent or the workflow quick start in
quick-start.md.
ub-workflow supports four modes that change how visible and hands-on the
execution flow feels. They do not weaken readiness rules. They change how much
analysis is surfaced, when follow-up questions appear, and whether the
workflow pauses between sprints or execution chunks.
reviewedThe most interactive and hands-on mode. Before execution, it surfaces the analysis, exposes meaningful options when there is a real choice, and asks follow-up questions when confirmation or direction is needed. After execution, it reports what changed, why it mattered, what to watch out for next, and then pauses for manual advancement before the next sprint or execution chunk.flowA little faster and lighter. It still gives a short explanatory note before execution and a fuller update after execution, but it does not normally stop to ask pre-execution questions unless something important is unclear or risky. It still waits for manual advancement after each sprint or chunk.autoMore autonomous. Most pre-execution analysis stays internal, and the updates back to the user are shorter and more focused. It keeps moving forward automatically unless it hits an interruption condition such as a blocker, a conflict, a material ambiguity, or a decision that could significantly reshape the work.continuous(yolo) The least interruptive mode. It still does internal analysis, planning, and artifact updates, but it does not stop to provide routine before-and-after user-facing notes, and it does not pause between sprints unless a major blocker, contradiction, or conflict forces the work to stop and be resolved before continuing.
The main value of this repo is not that it gives an agent more prompts. It gives the work a better shape.
The intended rhythm looks like this:
- start with rough R&D, discovery, or problem framing Capture what is unclear, what needs to be true, and what level of planning the work actually deserves.
- choose the smallest planning surface that will hold Use direct work for very small tasks, a spec for bounded one-offs, and an initiative when the work needs a PRD, roadmap, and staged delivery.
- turn bigger work into explicit sprints Instead of one long fuzzy thread, the work gets broken into prepared sprint slices with validation focus, dependencies, and likely touched surfaces.
- execute with durable handoffs Each sprint is designed to be resumable. Decisions, evidence, closeout, and rollup artifacts make it easier to stop, resume, review, or hand the work to another human or agent later.
- validate and close intentionally The workflow is built around proving what changed, surfacing risks, and finishing with a final audit instead of letting bigger work fade out in chat history.
That is why the workflow layer matters so much here. It turns agent use into a delivery system:
- research and planning before blind execution
- explicit scope before broad refactors
- sprints for bigger impact areas instead of one sprawling session
- handoffs and validation so progress survives across time, tools, and people
If the work is small, this stays lightweight. If the work is important, it becomes structured without becoming bureaucratic.
If you already have a PRD, the workflow can be driven almost entirely through prompts while still keeping the work structured and resumable.
The usual progression is:
- scaffold the initiative from the PRD
Start by invoking
ub-workflowonce and giving it the PRD. The first prompt is simply to scaffold a new initiative from that PRD. That creates the working structure and establishesprd.mdas the source of truth. - generate and review the roadmap Next, ask it to generate the roadmap from the PRD. Review the roadmap before moving forward so the sprint sequence, dependencies, and planned slices are correct before execution starts.
- prepare and initialize the sprint set
Once the roadmap looks right, ask it to prepare the sprints from that
roadmap and then initialize them so the sprint structure is ready for
execution.
reviewedorflowmode is usually the cleanest fit here. - execute Sprint 01 with the generated artifacts as context Start Sprint 01, work through the sprint using the prepared artifacts as the context system, then close out the sprint and prepare the handoff into the next one.
- repeat sprint by sprint until final audit From there, the flow becomes intentionally simple: start the next sprint, complete the work, close it out, and move forward. When the delivery work is done, run the final audit, write the retained note, and archive intentionally.
In other words, the prompts drive the workflow, but the artifacts hold the state. That is the key difference.
You are not relying on one long chat thread to remember what the plan was. The PRD, roadmap, sprint pack, decision logs, closeouts, and rollups carry the context forward.
Practical note:
- after a cold restart, it is usually worth resuming in a more context-heavy mode first, or simply reusing the existing session when possible, so the agent reloads the initiative state before continuing execution
These are the three surfaces that explain how the repo actually works:
ub-workflowThe orchestration layer. It shapes work into direct tasks, specs, or initiatives and then carries larger work through roadmap, sprint, final-audit, and archive flow.ub-qualityThe mandatory baseline. It keeps code and documents readable, reviewable, and consistent across everything else in the repo.ub-governanceThe control layer. It defines how evidence, testing posture, ADR usage, repository constraints, and exception handling should work.
The other skills are implementation specialists that become useful after the workflow and quality baselines have already done their job.
| Skill | Description |
|---|---|
| ub-workflow | Main planning driver: direct work, specs, initiatives, roadmaps, resumable sprints, final audit, archive. |
| ub-quality | Mandatory baseline for code quality, formatting, documentation, and refactoring. |
| ub-governance | Repository, testing, evidence, and decision-memory governance with shared contracts. |
| ub-customizations | Builder skill for Copilot skills, agents, prompts, instructions, hooks, MCP, and plugin bundles. |
| ub-markdown | Markdown authoring with repo markdownlint alignment for README, skills, agents, docs, and workflow files. |
| ub-python | Typed Python patterns, boundary validation, structured error handling, and Ruff-aware repo truth. |
| ub-ts | TypeScript typing, module resolution, compiler flags, tsconfig baselines, and optional ESLint starters. |
| ub-css | CSS and Vue/Nuxt styling with design tokens, cascade layers, and progressive enhancement. |
| ub-vuejs | Vue SFCs, composables, reactivity, SSR and hydration, and strict TypeScript contracts. |
| ub-nuxt | Nuxt patterns for typed composables, rendering modes, runtime config, and server routes. |
| ub-tailwind | Tailwind setup, migration, and debugging across HTML, Vue, and Nuxt. |
| Agent | Description |
|---|---|
| ub-workflow | Interactive workflow guide for specs, initiatives, sprints, and what-next decisions. |
| ub-governance | Interactive guide for repository, testing, and evidence governance. |
| ub-customizations | Interactive builder for Copilot customization artifacts. |
| ub-teacher | Beginner-friendly explanations and code walkthroughs. |
There are three practical ways to consume this repo. The best choice depends on your host tool and how much control you want over updates.
-
Copilot CLI plugin install Best fit for GitHub Copilot and Copilot CLI users because GitHub's official plugin docs support direct repository installs when
plugin.jsonlives at the repository root or in.github/plugin/, which this repo provides.copilot plugin install robert-hoffmann/itech-agents
If you prefer marketplace registration for team discovery, GitHub's docs also support registering a repository that contains
.github/plugin/marketplace.json:copilot plugin marketplace add robert-hoffmann/itech-agents
Pros:
- most native path for Copilot CLI
- uses the repo's plugin metadata directly
- keeps agent and skill distribution tied to GitHub's documented plugin flow
Cons:
- primarily Copilot-oriented, not the most portable path for non-Copilot hosts
-
skills.shinstall Best fit when you want one install/update flow across multiple agent hosts. The officialskillsCLI supports repository installs plus agent, skill, copy, and update flags, and Claude Code documents compatibility with the Agent Skills open standard.npx skills add https://github.com/robert-hoffmann/itech-agents
Useful follow-ups:
npx skills add https://github.com/robert-hoffmann/itech-agents --list npx skills add https://github.com/robert-hoffmann/itech-agents --skill ub-workflow --agent claude-code codex npx skills update
Pros:
- easiest cross-tool story for Claude Code, Codex-style setups, and other Agent Skills-compatible environments
- supports targeted installs and updates
- avoids hand-managed copy or symlink drift
Cons:
- installs whatever is currently pushed to GitHub, not uncommitted local changes
- the public docs are still lighter than the Copilot plugin docs, so the CLI help output matters in practice
-
Manual vendoring Best fit when a team wants full control over what gets committed into a downstream repository. In that model, treat
AGENTS.md,.agents/skills/, and.github/agents/as the main portable surfaces and manage updates on your own terms.Pros:
- maximum control over review, pinning, and local adaptation
- works even where plugin or skills managers are not allowed
Cons:
- highest maintenance overhead
- easiest path to drift if you stop syncing upstream changes
Skills and custom agents do not currently have the same portability story.
-
VS Code Copilot Custom agents are workspace-discovered from
.github/agents/*.agent.md. If you vendor this repo manually into another project, include.github/agents/alongside.agents/skills/andAGENTS.md. -
Copilot CLI The plugin install path includes custom agents automatically because this repo's plugin.json explicitly points its
agentsfield to.github/agents/. After installing, you can verify that the agents loaded in a Copilot CLI session with/agent. -
skills.shskills.shis excellent for distributing the skills, but it is not the install path for these repo-local Copilot custom agents. Its job is to place skills into host-specific skill directories, not to vend.github/agentsstyle agent profiles from this repository. -
Claude Code and Codex This repo is usable there today through skills and instruction surfaces, but these specific custom agents are not yet mirrored into host-native agent directories such as
.claude/agents/. So there is not currently a first-class one-command custom-agent install story for those hosts from this repo alone.
- VS Code Copilot and Copilot CLI are the strongest native targets today.
Official docs explicitly support workspace-level agents in
.github/agents, skill discovery under.agents/skills, and direct plugin installs from repos withplugin.json. - Claude Code is compatible through the Agent Skills open standard and its
native
.claude/skillsmodel. The smoothest path from this repo today isskills.sh, because this repository does not mirror every skill into a dedicated.claude/skills/tree. - Codex users are supported through
AGENTS.mdand the broader Agent Skills ecosystem. This repo is usable there today, but its most polished packaging remains Copilot-first plusskills.sh.
For most real work, the best starting point is still the ub-workflow agent.
It helps decide whether the work should stay direct, become a lightweight
spec, or become a full initiative.
Keep agentic coding practical. Start with strong quality defaults, add focused domain knowledge only where it helps, and prefer reusable instructions over one-off prompting. The goal is to make coding agents more dependable for day-to-day engineering work, not just better at generating snippets.
MIT. See LICENSE.
