SkillBill packages your engineering judgment into governed skills, then uses a durable Kotlin runtime to ensure agents actually execute that process consistently, resumably, and with bounded context.
개요
Skill Bill takes feature work from an issue and acceptance criteria through planning, implementation, simplification, review, and a PR. A local runtime saves progress between phases, so interrupted work can continue from durable state. Use it with Claude Code, Codex, or Cursor. One listed skill, /skill-bill, runs the full feature workflow, a single phase such as review or validation, or a runtime operation. You review the resulting changes before merging. The project is pre-1.0. Install and authenticate your coding agent's CLI, then install Skill Bill: Choose your agents, platform packs, and telemetry level when prompted. The installer downloads a self-contained runtime, renders the selected skills, links them into agent directories, and registers the MCP server. Prebuilt installs need no system JDK or Gradle. Open your coding agent in the target repository and start a feature: Provide observable acceptance criteria and constraints.
README
Skill Bill
Skill Bill takes feature work from an issue and acceptance criteria through planning, implementation, simplification, review, and a PR. A local runtime saves progress between phases, so interrupted work can continue from durable state.
Use it with Claude Code, Codex, or Cursor. One listed skill, /skill-bill, runs the full feature workflow, a single phase such as review or validation, or a runtime operation. You review the resulting changes before merging. The project is pre-1.0.
Quickstart · Workflow · Skills · Platform packs · IDE integrations · Execution matrix · Documentation
Quickstart
Install and authenticate your coding agent’s CLI, then install Skill Bill:
curl -fsSL https://raw.githubusercontent.com/Sermilion/SkillBill/main/install.sh | bash
Choose your agents, platform packs, and telemetry level when prompted. The installer downloads a self-contained runtime, renders the selected skills, links them into agent directories, and registers the MCP server. Prebuilt installs need no system JDK or Gradle.
Check the installation:
skill-bill version
skill-bill doctor
Open your coding agent in the target repository and start a feature:
/skill-bill APP-123 Add CSV export for the filtered orders list
Provide observable acceptance criteria and constraints. Skill Bill checks for existing work, prepares missing spec artifacts, and presents the execution plan for confirmation before launching. Use /skill-bill APP-123 phase:plan to prepare a spec without starting implementation, or /skill-bill phase:review target:uncommitted to review existing changes. These examples use slash notation; use your agent’s skill invocation syntax.
To update later:
skill-bill update-check
skill-bill update
Feature workflow
/skill-bill prepares the spec, asks for confirmation, and launches the goal runtime. A small feature uses one subtask. Larger work can use dependency-ordered subtasks, each with a fresh execution context and durable handoff artifacts.
Each subtask follows these stages:
- Pre-plan and plan the implementation using repository instructions and relevant durable artifacts.
- Implement the plan, then run a mandatory simplification pass scoped to the subtask’s changes.
- Audit the acceptance criteria against the current code and tests, repairing gaps.
- Run inline code review, verify findings, and apply bounded repairs.
- Run the selected quality phase, then record relevant boundary history.
- Commit and push the subtask. The goal prepares the PR after its subtasks complete.
The quality phases have different purposes:
| Phase or command | Checks |
|---|---|
validate |
An agent discovers and runs the project’s required checks from repository instructions, build configuration, scripts, and CI. The runtime advances only when the agent reports that those checks passed. |
build |
Goal children selected for build run the dominant pack’s declared build command and cache-bypassing confirmation. This proves buildability and does not run the full test suite. |
| Standalone quality check | /skill-bill phase:validation runs the same full project checks and repair loop as goal validation. |
Specs live under .feature-specs/, with a parent spec, executable subtask specs, and a decomposition manifest. Local specs are the default; optional Linear-backed preparation records issues and supports spec rehydration. The default commit model leaves one commit per completed subtask on the feature branch.
The runtime saves phase outputs and continuation state in a local database. Resuming uses those records and the current repository. Invalid contracts or ambiguous continuation records stop the run with an explicit error.
Inspect, pause, and continue
Run these from the repository that owns the goal:
| Command | Effect |
|---|---|
skill-bill goal status APP-123 |
Read-only goal state and subtask details |
skill-bill work status --format json |
Repository work snapshot used by the IDE integrations |
skill-bill goal pause APP-123 |
Request a pause after the current subtask |
skill-bill goal stop APP-123 |
Record an operator stop and terminate the running goal |
skill-bill goal resume APP-123 |
Clear a durable pause without launching work |
To continue a paused goal from the CLI, clear its pause and launch it with an explicit agent:
skill-bill goal resume APP-123
skill-bill goal APP-123 --agent claude
Use the agent ID for your installed CLI, such as claude, codex, or cursor. /skill-bill APP-123 also performs continuation preflight and presents the applicable launch gate. Recovery can use another compatible agent because workflow state belongs to Skill Bill.
Review and quality checks
Name the work you want reviewed:
/skill-bill phase:review target:pr
/skill-bill phase:review target:HEAD
/skill-bill phase:review target:uncommitted mode:inline
/skill-bill phase:review target:staged mode:delegated
Review also accepts target:unstaged or a commit sha. Without target:, it reviews uncommitted changes when the worktree is dirty and HEAD when it is clean.
inline is the default. It runs one review worker over the routed areas at reduced depth. auto also resolves to inline. delegated is the experimental full-depth mode, with separate specialist workers, and requires explicit mode:delegated on a standalone review. Feature and goal workflows accept code-review:auto|inline and use inline review. A required worker that cannot launch blocks the review rather than silently reducing its depth.
For full project validation:
/skill-bill phase:validation
The phase uses the same agent strategy as goal validate. It discovers required checks from repository instructions, build configuration, scripts, and CI, then runs those checks and repairs failures.
Skills
/skill-bill is the only listed skill. Phases and operations are forms of it, not separate commands. Stack-specific review skills install as its internal sidecars.
| Form | Purpose | Runs |
|---|---|---|
/skill-bill |
Prepare or resume feature work from an ``, confirm the plan, and launch the goal runtime | skill-bill goal |
/skill-bill phase:plan |
Prepare a parent spec, executable subtask specs, and a manifest without implementing | skill-bill phase plan |
/skill-bill phase:review |
Review a PR, commit, or working-tree change with inline or delegated depth | skill-bill phase review |
/skill-bill phase:validation |
Run full project validation and repair findings, using the goal validation strategy | skill-bill phase validation |
/skill-bill phase:pr |
Commit pending changes, push the branch, and create or update a PR | skill-bill phase pr |
/skill-bill operation:feature-guard |
Guard an implementation with a feature flag | skill-bill operation feature-guard |
/skill-bill operation:feature-guard-cleanup |
Remove a rolled-out feature flag and its legacy path | skill-bill operation feature-guard-cleanup |
/skill-bill operation:verify > [target:] |
Verify a change against a Linear issue, requirements text, or a task spec | skill-bill operation verify |
/skill-bill [] operation:pr-review-fix |
Triage PR feedback, then apply selected fixes, reply, and push after approval | skill-bill operation pr-review-fix |
/skill-bill [] operation:unit-test-value-check |
Identify tests that cannot catch a realistic regression | skill-bill operation unit-test-value-check |
/skill-bill operation:release bump: |
Prepare a changelog, confirm the requested semver bump, and push an annotated tag | skill-bill operation release |
/skill-bill operation:update-check |
Compare the installed runtime version with GitHub releases | skill-bill operation update-check |
Boundary history and decisions are written by the goal’s write_history phase. Goal status is CLI-only: run skill-bill goal status .
/skill-bill APP-123 Add CSV export # full run with one confirmation gate
/skill-bill APP-123 phase:plan # skill-bill phase plan APP-123
/skill-bill phase:review mode:delegated target:HEAD
The full run forwards code-review:inline|auto as --code-review-mode; phase:review forwards mode: and target: unchanged. When preflight finds no spec, the full run calls skill-bill phase plan. Release first prints the proposed version and changelog and exits awaiting_confirmation; confirming it with confirm: creates and pushes the tag. [] operation:unit-test-value-check reviews unit tests without editing. operation:feature-guard and operation:feature-guard-cleanup print a plan and exit awaiting_confirmation. They edit only on confirm:. [] operation:pr-review-fix prints a per-thread matrix for the PR’s unresolved review threads and exits awaiting_confirmation; the dispatcher asks which threads to fix and re-runs it with confirm: and select:. It pushes only with push:on.
Platform packs
Platform packs live under platform-packs//. Their manifests declare routing signals, review areas, native workers, add-ons, and quality commands. Discovery and routing use those declarations, so teams can add or replace packs without editing a hard-coded platform list.
| Pack | Scope |
|---|---|
generic |
Review fallback for unsupported, documentation-only, and unresolved paths; no full quality gate |
go |
Go modules and workspaces, services, libraries, and CLIs |
ios |
Native iOS, Swift, SwiftUI/UIKit, and Xcode/SPM projects |
kotlin |
Kotlin/JVM and the baseline review layer for KMP |
kmp |
Android and Kotlin Multiplatform, composed with the Kotlin baseline |
php |
PHP applications, services, and Composer projects |
python |
Python applications, libraries, services, and CLIs |
rust |
Rust crates and Cargo workspaces |
typescript |
TypeScript and TSX applications, libraries, and services |
The ten review areas are architecture, performance, platform-correctness, security, testing, api-contracts, persistence, reliability, ui, and ux-accessibility. KMP declares seven of its own and takes performance, testing, and api-contracts from Kotlin. KMP has its own quality gate with no Kotlin fallback. The other shipped packs each declare all ten review areas.
Concrete path ownership takes precedence over the generic review fallback. Content signals break ties between equal positive path matches. The fallback owner is manifest-declared and replaceable; declaring more than one fails validation.
Pack review skills install as internal sidecars of /skill-bill. Run /skill-bill phase:review; the stack-specific skills are not separate user commands. Pack validation checks specialist substance as well as manifest shape. See the source-generation guide and review substance standard for authoring requirements.
Agents and IDE integrations
The installer supports Claude Code, Codex, Cursor, and JetBrains Junie. It generates each provider’s skill and native-agent files from shared sources and registers the local MCP server. Runtime review launch support depends on the provider’s isolation capabilities. Claude, Codex, and Cursor have governed review launch adapters; Junie’s adapter currently rejects governed review launches that require tool and MCP isolation.
Two separately packaged IDE integrations show repository work status, planning progress, the active phase, and elapsed time:
- IntelliJ plugin, distributed as a plugin ZIP under
plugin-v*releases. - VS Code extension, distributed as a VSIX under
extension-v*releases.
Both offer stop and pause-after-subtask controls. Launch and resume stay in the CLI or agent session. Install the plugins from their release artifacts; they are separate from the Skill Bill runtime installer. Their READMEs include compatibility requirements and source build instructions.
Execution matrix
Use execution_matrix to choose the model and effort for feature-task phases, including goal children. Add it to your machine-wide ~/.config/skill-bill/config.json, or the file selected by SKILL_BILL_CONFIG_PATH. Merge it into the existing JSON object so your telemetry and other settings remain intact. These preferences apply across repositories; .skill-bill/config.yaml does not own them.
The matrix selects a model for the agent already assigned to a phase. It does not switch agents. You can configure several agents in one file and keep only the entries you use.
Each example below is a complete JSON object for one agent. To configure several agents, combine their entries under the same execution_matrix.agents object. Model availability depends on your provider and account; use model IDs accepted by your installed CLI.
Claude Code
The claude entry accepts model aliases or full model IDs. The runtime forwards effort through Claude’s --effort option.
{
"execution_matrix": {
"agents": {
"claude": {
"reasoning": { "model": "opus", "effort": "high" },
"implementation": { "model": "sonnet", "effort": "medium" }
}
}
}
}
When using a custom ANTHROPIC_BASE_URL, the adapter lets ANTHROPIC_MODEL override a Claude model name or alias when that environment variable is set.
Codex
The codex entry uses a model ID and optional reasoning effort. The runtime passes these through --model and --config model_reasoning_effort=....
{
"execution_matrix": {
"agents": {
"codex": {
"reasoning": { "model": "gpt-6-astra", "effort": "high" },
"implementation": { "model": "gpt-5.6-sol", "effort": "medium" }
}
}
}
}
Cursor
The cursor entry uses model IDs from agent --list-models. This example selects a reasoning model with effort encoded in its ID and Composer for implementation.
{
"execution_matrix": {
"agents": {
"cursor": {
"reasoning": { "model": "claude-opus-5-thinking-high" },
"implementation": { "model": "composer-2.5" }
}
}
}
}
For Cursor, a separate effort field becomes a model parameter, such as model[effort=high]. If the model already contains an [effort=...] parameter, the values must agree. For parameterized models with other options, put the complete model string in model and omit effort.
Junie
Junie’s runtime adapter does not support model or effort overrides. Omit junie from execution_matrix.agents. Assigning a directive to a Junie phase fails before launch.
Customize and extend
Put repository-wide instructions in AGENTS.md and skill-specific guidance in .agents/skill-overrides.md. The override example shows the section format. Boundary history and decisions live beside the code in area-owned agent/history.md and agent/decisions.md files.
Platform-pack add-ons supply stack-specific guidance after routing. External add-on sources let teams keep private guidance outside the shared repository.
Agent add-ons are separate, explicitly selected extensions. The shipped execution-budget add-on applies to Codex feature work and reinforces the user’s stopping boundary, compact handoffs, and delegation constraints:
/skill-bill APP-123 agent-addon:execution-budget
Its source is agent-addons//agent-addon.yaml plus content.md. See agent add-on authoring for compatibility, precedence, staging, and resume behavior.
To author skills or packs, start with skill-bill new, then use show, fill, edit, validate, and render. Authored skill content lives in content.md. The installer generates SKILL.md, support pointers, and provider-specific native-agent files into staging; those generated files do not belong in source. Re-run ./install.sh after changing skill sources, rendering, or support pointer generation.
See Contributing, source generation, and the scaffold payload contract before changing these contracts. The runtime, IntelliJ plugin, and VS Code extension have separate builds.
Telemetry
The default telemetry level is anonymous. The installer lets you choose anonymous, full, or off. Events go to the configured telemetry proxy, using the shipped relay by default. You can self-host the proxy.
To disable transmission:
skill-bill telemetry disable
Some diagnostic events still queue locally while telemetry is off. Telemetry Privacy documents the fields, destinations, correlation identifiers, retention, and what happens if you enable telemetry later. Workflow state remains local and supports continuation independently of telemetry transmission.
Learn more
- Getting Started: installation, CLI commands, MCP tools, and recovery.
- Getting Started for Teams: rollout and project customization.
- Capability Deep-dive: workflows, packs, memory, and governance.
- Token Economy: bounded context and durable handoffs for long goals.
- Review Telemetry: review measurements, learnings, and local statistics.
- Runtime Architecture: module ownership, persistence, and contract enforcement.
- Observability Policy: required records for failures and degraded behavior.
- Teams Roadmap: proposed hosted team controls and open product questions.
License
Skill Bill is licensed under the MIT License. See the licensing summary for details.
추천 도구
다른 키워드를 입력하거나 필터를 제거해 보세요.
설치
npx skillfish add sermilion/skillbill