dev-sprint
Skill179 starsChanged 12 days agoApache-2.0View on GitHub
Run multi-step Capsem development in Sprinty. Use for features, refactors, migrations, release preparation, or any work spanning several commits and verification gates.
In this repository37 other files it gives its agents.
- AGENTS.mdAGENTS.md
- asset-pipelineSkill
- build-imagesSkill
- build-initrdSkill
- citadelSkill
- dev-benchmarkSkill
- dev-bug-reviewSkill
- dev-cacheSkill
- dev-capsem-doctorSkill
- dev-capsemSkill
- dev-ciSkill
- dev-debuggingSkill
- dev-gateSkill
- dev-installationSkill
- dev-justSkill
- dev-mcpSkill
- dev-mitm-proxySkill
- dev-rust-patternsSkill
- dev-session-debugSkill
- dev-setupSkill
- dev-skillsSkill
- dev-startSkill
- dev-testing-frontendSkill
- dev-testing-hypervisorSkill
- dev-testing-pythonSkill
- dev-testingSkill
- dev-testing-vmSkill
- frontend-designSkill
- ironbankSkill
- meta-find-skillsSkill
- meta-organize-skillsSkill
- meta-skill-creationSkill
- release-processSkill
- site-architectureSkill
- site-infraSkill
- site-marketingSkill
- use-capsemSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
25 rules. About 0 are common, 15 are distinctive, and 10 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Call mcp__sprinty.info() first on every new session or continuation.
- Very specific: line 17
If a matching active sprint exists, bind it with mcp__sprinty.sprint_resume() using the explicit repository git_dir and its …
- Very specific: line 20
If no matching sprint exists, call mcp__sprinty.sprint_new() with the concrete goal, explicit git_dir, ignored data_dir, and durable …
- Distinctive: line 26
Never start a replacement sprint because the work is difficult or context was compacted.
- Very specific: line 44
Use mcp__sprinty.subsprint_new() for independently reviewable features or phases.
- Very specific: line 52
Use mcp__sprinty.item_add() before editing files or mutating another system.
- Distinctive: line 70
Use notes for short discoveries, decisions, blockers, and user checkpoints.
- Distinctive: line 71
Use artifacts for audits, manifests, proof matrices, command output summaries, or handoffs that must survive compaction.
- Distinctive: line 74
Keep coverage honest: name unit/contract, functional, adversarial, E2E/VM, telemetry, and performance evidence, and explicitly record …
- Distinctive: line 78
Do not treat a benchmark as functional proof or a Rust unit test as proof of a user-visible VM path.
- Distinctive: line 88
Keep coding independent work while local checks run.
- Distinctive: line 101
Keep config ownership crisp:
- Very specific: line 103
Read config/README.md and tests/README.md before changing config source, generated config, or config fixtures.
- Distinctive: line 110
Prefer functional names that state ownership over temporary or origin-story names.
- Distinctive: line 115
Commit when one logical item or milestone is complete, its focused evidence is green, and the tree is not half-migrated.
- Distinctive: line 120
Follow the repository conventional subject and author rules.
- Very specific: line 121
Update CHANGELOG.md in the same commit only for user-visible behavior.
- Very specific: line 124
After the commit, call mcp__sprinty.item_done() with the exact commit id, a SemVer changelog verb and line, and evidence for every manual …
- Distinctive: line 131
Every implementation item gets its necessary focused TDD/regression proof.
- Distinctive: line 147
Run direct commands through the repository's bounded-command wrapper.
- Very specific: line 155
Use overview() and next() to prove no item or subsprint remains open.
- Distinctive: line 157
Run the final required gates on the exact final source state.
- Distinctive: line 158
Verify the worktree is clean and no temporary compatibility path remains.
- Very specific: line 159
Call mcp__sprinty.sprint_close() only after Sprinty accepts the complete evidence ledger.
- Distinctive: line 162
If work is blocked, keep the owning item open and record the exact external condition.
≈ “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
Development Sprint
Sprinty is the sole active sprint ledger. Git owns source and permanent history; Sprinty owns the goal, dependency graph, work items, notes, evidence, coverage, gates, and closeout. Do not create repository planning directories or parallel Markdown trackers.
Start or resume
Call mcp__sprinty.info() first on every new session or continuation.
- If a matching active sprint exists, bind it with
mcp__sprinty.sprint_resume()using the explicit repositorygit_dirand its worktree-scoped, ignoreddata_dir. - If no matching sprint exists, call
mcp__sprinty.sprint_new()with the concrete goal, explicitgit_dir, ignoreddata_dir, and durable context notes. - Show the dashboard URL to the user. Use
overview()for sprint shape andnext()for the current work window; do not reconstruct state from memory.
Never start a replacement sprint because the work is difficult or context was compacted. Resume the existing ledger and inspect its artifacts.
Select the release channel from product intent
Nightly builds from main serve development. Qualification for general
availability uses stable, including the intended binary, runtime and
official image catalog. Capsem 0.7.1 GA qualification therefore uses stable.
Record the intended channel in Sprinty before publication or product proof.
A main checkout, a development worktree, or an older local installation does
not change stable qualification into nightly work. Keep catalog discovery,
caching, launch and installed-product checks on the selected channel; do not
switch channels to work around missing publication. Follow RELEASE.md and
/release-process for release authority and exact-source proof.
Plan the dependency graph
Use mcp__sprinty.subsprint_new() for independently reviewable features or
phases. Each subsprint names:
- the outcome and why it matters;
- ordered dependencies;
- explicit goals;
- executable or manual gates that prove the complete behavior.
Use mcp__sprinty.item_add() before editing files or mutating another system.
An item owns one revertable outcome and records:
- a specific title and complete description;
- exact code locations;
- dependency edges;
- focused tests, type checks, builds, or manual evidence gates.
Adjacent notes are not a substitute for a dedicated item when work has its own files, risk, or outcome. Split broad items instead of hiding multiple commits behind one checkbox.
For Capsem release, VM, network, model, MCP, credential broker,
package-manager, doctor, benchmark, or security acceptance work, load
/ironbank and include its black-box proof in the owning item before coding.
Keep durable evidence in Sprinty
- Use notes for short discoveries, decisions, blockers, and user checkpoints.
- Use artifacts for audits, manifests, proof matrices, command output summaries, or handoffs that must survive compaction.
- Attach each artifact to the item or items it proves.
- Keep coverage honest: name unit/contract, functional, adversarial, E2E/VM, telemetry, and performance evidence, and explicitly record categories that do not apply.
Do not treat a benchmark as functional proof or a Rust unit test as proof of a user-visible VM path. Ironbank gates cannot be closed with status-only replay, row-exists checks, internal-only expectations, or skipped tests.
Build with project rules
Prioritize writing the implementation across the requested scope. During the edit loop use TDD and the minimum focused checks needed for changed behavior; do not start broad contract, workspace, VM, install or benchmark runs as a routine habit. Direct bounded commands do not take a machine lease by default. Keep coding independent work while local checks run. Separate implementation dependencies from qualification holds so pending broad proof does not stall later work that can be implemented safely.
Load the relevant project skills before coding:
/dev-debuggingfor reproduce-first bug investigation;/dev-testingfor RED, GREEN, and refactor discipline;/dev-rust-patternsfor Rust, async, and cross-platform work;/dev-mitm-proxy,/dev-mcp,/build-images, and other owning skills for their subsystems;/ironbankfor release-critical black-box acceptance.
Keep config ownership crisp:
- Read
config/README.mdandtests/README.mdbefore changing config source, generated config, or config fixtures. - Checked-in config files are source contracts. Generated hashes and
manifests belong under
cache/target/and are produced by the samecapsem-adminrail CI and release use. - Developer skills live in repository-level
skills/; product configuration must not mirror them. - Prefer functional names that state ownership over temporary or origin-story names.
Commit at functional milestones
Commit when one logical item or milestone is complete, its focused evidence is green, and the tree is not half-migrated. Each commit must be self-contained and revertable.
- Stage files explicitly; never use broad staging.
- Follow the repository conventional subject and author rules.
- Update
CHANGELOG.mdin the same commit only for user-visible behavior. - Preserve a clean status before moving to the next item.
After the commit, call mcp__sprinty.item_done() with the exact commit id, a
SemVer changelog verb and line, and evidence for every manual gate. Sprinty
runs executable gates itself where configured. Do not close an item against
uncommitted work or a commit that does not contain its files.
Verify proportionally, then verify completely
Every implementation item gets its necessary focused TDD/regression proof. Full qualification belongs at the end of each major phase, covering the whole phase outcome, and at final merge/release readiness. Do not repeat broad gates per item or commit. Track qualification separately and never claim a phase is qualified from a small local check. Public-contract and publication approvals remain explicit decisions.
The proof matrix should consider:
- unit and contract tests;
- production-facing functional behavior;
- malformed input, denial, timeout, race, and leak adversaries;
- real CLI, service, MCP, network, package, or VM paths when crossed;
- session database or external-state evidence when auditability is claimed;
- performance measurements only when performance is part of the claim.
Run direct commands through the repository's bounded-command wrapper. Read the current gate digest before claiming a gate passes. Keep release holds active until focused checks and the final required gates are green.
Close
Before closeout:
- Use
overview()andnext()to prove no item or subsprint remains open. - Reconcile notes, artifacts, coverage, changelog entries, and commit ids.
- Run the final required gates on the exact final source state.
- Verify the worktree is clean and no temporary compatibility path remains.
- Call
mcp__sprinty.sprint_close()only after Sprinty accepts the complete evidence ledger.
If work is blocked, keep the owning item open and record the exact external condition. Do not shrink the goal or declare completion around the blocker.
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.

