vertical-slice-delivery
Skill0 starsChanged 49 days agoApache-2.0View on GitHub
Deliver a comprehensive repo feature-by-feature as isolated vertical slices: analyze what's missing, use AskUserQuestion to let the user choose scope, implement ONE slice end-to-end (model -> service -> orchestrator -> output view -> demo -> docs -> tests), get the gate green, open a PR per slice, watch CI, and merge when green, then repeat. Use when building out a multi-feature system over many iterations, or when the user says "what else is missing", "add the next feature", or "continue".
2 other projects use a version of this.
Adopted by
Most recently taken up by
- jjenzz/agent-skillstheir own version, first seen Oct 20, 2026
- portable-genai/data-quality-governanceword for word, first seen Oct 11, 2026
Other versions2 projects use a version of this.
Word for word · 1
- portable-genai/data-quality-governance★ 0100% same
Edited · 0
None found.
Wrote their own version · 1
- jjenzz/agent-skills★ 6same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- audit-first-demoSkill
- deploy-and-residency-hardeningSkill
- deterministic-domain-serviceSkill
- embeddable-secure-uiSkill
- iterative-code-reviewSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 3 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 24
When asked "what's missing" or "what next", first do a real gap analysis against the domain's standards/best-practices and the current code.
- Distinctive: line 57
Keep slices small and independent.
- Very specific: line 62
Run the full gate (ruff check, ruff format --check, mypy, pytest -m 'not integration', python eval/run_eval.py) and fix until clean.
- Very specific: line 68
Run the iterative-code-review pass (independent reviewer -> fix -> re-verify until converged) on the slice.
- Distinctive: line 74
Commit with a clear message: what + why + the gate result.
- Distinctive: line 81
After merge, sync main and start the next slice.
- Very specific: line 119
Docs style: no em-dashes in .md or .html files, commit messages, or PR bodies.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Vertical-slice delivery
How to grow a repo into something comprehensive without a big-bang rewrite: each feature is
one vertical slice that goes all the way from domain model to a demoable output, ships
as its own green PR, and leaves main releasable at every step. This is the delivery loop
that complements the ports-and-adapters-repo architecture and the
deterministic-domain-service pattern.
The loop
1. Analyze, then let the user decide scope
When asked "what's missing" or "what next", first do a real gap analysis against the
domain's standards/best-practices and the current code. Then use the AskUserQuestion
tool to turn your analysis into concrete choices; do not silently pick. Good questions:
- Which feature(s) to build next (offer the analyzed options; allow multi-select).
- A consequential design fork (e.g. "hard-block vs soft-escalate?", "live calls vs synced snapshot?", "scheduled pull vs event-driven?").
- Reference-data / integration approach where it materially changes the design.
Investigate any sub-question the user raises (e.g. "check if X can be synced") with real sources before re-asking. Once you have clarity, implement.
2. Implement ONE slice, end to end
A slice is not done until every layer is touched:
- Domain model: new frozen dataclasses in
models.py; add the new optional field to the case/result aggregate and the output view. - Deterministic service: build it with the
deterministic-domain-serviceskill. - Orchestrator wiring: an
attach_<feature>method; carry the field through analyze. - Output view + renderer: a new panel (use the
audit-first-demoskill). - Demo: wire the feature into the synthetic demo script so it's runnable.
- Docs: a new design-doc section and a DEMO section; if the slice adds a port, add a
row (named) to the architecture port table and a binding to
settings.yaml, and update the COMPLIANCE.md control map if it adds or changes a control. Do NOT bump a hardcoded count anywhere ("the N ports", "13 Protocols"): those rot silently as slices land. Theports/__init__.py__all__plus the parity test are the source of truth for the count; docs enumerate by name (one row per port), never by number. Also update the scripts README if scripts changed. Write the docs, the commit message, and the PR body in plain prose (docs style at the foot of this skill). - Tests: unit tests for the service (the spec); update contract tests if a port was added.
Keep slices small and independent. If a feature is big, split it into sub-slices that each ship green.
3. Get the gate green locally
Run the full gate (ruff check, ruff format --check, mypy, pytest -m 'not
integration', python eval/run_eval.py) and fix until clean. Pin the linter version so
local matches CI. Re-render the demo / re-take screenshots if the output changed.
4. Review before you ship
Run the iterative-code-review pass (independent reviewer -> fix -> re-verify until
converged) on the slice. Cheap, and it catches the edge cases tests miss.
5. One PR per slice; watch CI; merge when green
- Branch per slice (e.g.
feat/<slice-name>), never push straight to the default branch. - Commit with a clear message: what + why + the gate result. Honor the user's authorship preferences exactly (e.g. single author, no co-author trailers, if they asked).
- Push, open a PR ready for review (not draft), with a body that lists the changes, a table of any new finding/trigger kinds, and the gate status.
- Watch CI. Webhooks deliver failures but NOT success, so after pushing, re-check CI status explicitly (or arm a timed self check-in) and merge (squash) when all checks are green, per the user's standing instruction.
- After merge, sync
mainand start the next slice.
6. Repeat until the selected scope is done
Track the selected features as a checklist; report status after each slice (done / in-flight / pending). Surface housekeeping that needs the user (e.g. deleting merged remote branches if the tooling can't).
Why slices (not one mega-PR)
- Each PR is small enough to review properly and revert cleanly.
mainis always green and demoable.- The user steers scope between slices instead of after a huge diff.
- The architecture (pure domain + ports) makes slices genuinely independent: a new service
- a new optional field rarely touches existing code.
Worked example (any domain)
Performance-marketing repo, after the scaffold:
- Analyze gaps -> AskUserQuestion: "Which next? [attribution view] [bid optimizer] [budget pacing] [anomaly alerts]" (multi-select) + "Apply changes automatically or escalate for approval?"
- User picks pacing + anomaly alerts, soft-escalate.
- Slice 1 = budget-pacing service (deterministic) -> orchestrator -> pacing panel -> demo -> docs -> tests -> gate -> review -> PR -> merge.
- Slice 2 = anomaly-alert service, same loop.
- Report: pacing ✅ merged, anomaly ✅ merged; suggest next candidates.
Checklist per slice
- Gap analysis done; scope chosen via AskUserQuestion (not silently).
- All layers touched: model, service, orchestrator, view/renderer, demo, docs, tests.
- Full gate green locally; demo/screenshots refreshed.
- Iterative code review converged.
- Branch per slice; commit message honors authorship prefs.
- PR ready-for-review with a descriptive body; CI watched; merged when green.
- Status reported; next candidates surfaced.
Docs style: no em-dashes in .md or .html files, commit messages, or PR bodies. See
skills/README.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

