Skip to content

Repository files navigation

Stipulate Skills — From intent to evidence. A spec-driven workflow for AI-assisted development.

Core skills Domain extensions Python License X — @bryann2k_dev

Explore in natural language. Agree on a spec. Build with evidence.

Seven core skills, optional domain extensions, and a shared contract that stays with your project. Uses the Agent Skills format for Codex, Claude Code, Grok Build, and OpenCode v2.

Get started · See the workflow · Browse extensions · Read the guide


Why Stip?

A conversation can move quickly. The decisions it produces should remain clear when implementation starts, requirements change, or a new session picks up the work.

Stipulate Skills, or Stip, connects that conversation to a durable development workflow:

  • Prompt freely. Explore an idea, ask questions, and revise the direction in plain language.
  • Make the agreement explicit. Review the specification before the agent builds.
  • Check the actual result. Tie acceptance criteria to current, inspectable evidence.
  • Keep what you learned. Update documentation and archive the accepted behavior with a local commit.

Start a new project or adopt an existing repository. Bootstrap preserves useful conventions and maps what already exists. Extensions add relevant expertise without loading every domain into every change.

Quick start

You need Node.js/npm for installation, Python 3.10+ and Git for the workflow, and a supported coding client.

1. Install the complete package

For OpenCode, run from your project directory:

npx github:BRYANN2K/stipulate-skills

This installs all seven skills, all 28 bundled extensions, and the seven /stip-* commands in one run. For installation across projects:

npx github:BRYANN2K/stipulate-skills --global

In an already open OpenCode session, run /restart to reload the commands.

The launcher defaults to OpenCode. To include Codex and Claude Code:

npx github:BRYANN2K/stipulate-skills --agent opencode codex claude-code

Use --dry-run to preview or --yes for unattended installation. This command runs the package directly from GitHub; no separately published npm package is required. It uses the skills CLI to copy the packages and then installs the OpenCode commands. Existing customized command files block installation rather than being overwritten.

For skill-only installation, the standard command remains available:

npx skills add BRYANN2K/stipulate-skills --skill '*' --agent codex

npx skills add does not run Stip's command installer. For OpenCode's complete setup, use the Stip launcher above. Extensions travel inside stip-bootstrap and are selected per change. Client setup and verification →

2. Open your project in your coding client

Open the repository you want to work on. In Codex, send this in the chat composer:

$stip-bootstrap Adopt this repository. Preserve its conventions, map the project,
and identify the relevant domain extensions.

For a new project, explain its intent and initialize Git first if necessary. Bootstrap prepares AGENTS.md and .workflow/; it makes all 28 extensions available locally without choosing your stack or selecting domains for a change.

In Claude Code, Grok Build, and OpenCode v2, invoke /stip-bootstrap instead. For explicit OpenCode command files, follow slash-command setup. Bootstrap also creates or extends CLAUDE.md with an import of AGENTS.md, so Claude uses the same project guidance.

3. Explore your first change

$stip-explore Let's add a sign-in flow. Reuse the existing foundations and help
me define the scope, user journey, and acceptance criteria.

The $stip-* examples are Codex chat prompts, not terminal commands. Use /stip-* in Claude Code, Grok Build, and OpenCode v2. The agent uses the bundled Python runtime for lifecycle operations.

Walk through a complete feature, from idea to archive →

How it works

Bootstrap once, then explore with relevant extensions, validate with user approval, apply, check, document, and archive with a local commit.

You own the agreement; the agent carries out the approved work. During validation, read the Markdown spec, edit it directly or ask for revisions, and explicitly approve its current version. Implementation follows that contract.

A failed check returns to implementation. New requirements return to validation. After a successful check, documentation and archive close the change. Start the next feature at explore; bootstrap is not a repeated feature audit.

The seven skills

Skill What it does What you get
stip-bootstrap Adopts a new or existing project. Project map, configuration, and workflow guidance.
stip-explore Explores intent with relevant available extensions. A bounded idea and recorded decisions.
stip-validate Turns the discussion into a contract for user review. Specification and acceptance criteria.
stip-apply Builds and corrects within the approved scope. Implementation and relevant tests.
stip-check Reconciles every criterion with current evidence. Passed, failed, or unverified results.
stip-docs Updates documentation affected by the change. Documentation grounded in the implementation.
stip-archive Promotes the accepted spec and closes the change. Archived records and a scoped local commit.

Bring the right expertise

28 optional extensions. Seven entry points stay seven. Extensions contribute domain questions, requirements, and verification guidance to the same workflow. They are local reference packages, not extra top-level skills or executable plugins.

Domain Available extensions
Product and experience product-strategy, user-research, storytelling, ux-design, visual-design, design-system, content-design, accessibility
Application engineering frontend-engineering, backend-engineering, api-integrations, database-engineering, mobile-engineering, desktop-engineering, cli-tooling
Infrastructure and operations cloud-engineering, devops-delivery, sre-operations, release-management
Data, AI, and assurance data-engineering, ai-engineering, analytics-experimentation, quality-engineering, security-engineering, privacy-engineering
Reach and support build-in-public, seo-discoverability, customer-support

The complete catalog is included in the installation. $stip-bootstrap copies it into .workflow/extensions/ and registers available domains in the project configuration. Existing configured packages, customizations, and disabled entries are preserved.

Selection happens during stip-explore for each change. The agent reads only the relevant phase references for selected domains. A cloud-only change does not need design; existing domain work can be reused instead of repeated. Build-in-public guidance does not authorize posting on your behalf.

Extension setup, selection, and updates →

Decisions live with your project

AGENTS.md                    # Project instructions and workflow guidance
.workflow/
  project.md                 # Intent, project map, commands, known gaps
  config.json                # Available extensions and settings
  specs/                     # Currently accepted behavior
  extensions/                # Optional installed domain packages
  changes/
    add-login/
      proposal.md            # Context and decisions
      spec.md                # Desired behavior and acceptance criteria
      tasks.md               # Optional implementation breakdown
      evidence.md            # Verification evidence
      state.json             # Lifecycle state and approved version
  archive/                   # Closed changes

The example change appears only when you explore it. Bootstrap preserves existing useful files and adds a bounded guidance block to AGENTS.md; it does not fabricate a sample feature.

What the workflow enforces

  • Approval belongs to a version. Changes to the bound contract or selected extension guidance invalidate it.
  • Completion needs evidence. Missing or failed criteria block progression; check is tied to the source snapshot.
  • Commits stay scoped. Archive rejects stale evidence and conflicting Git state rather than absorbing unrelated work.
  • Publishing is separate. Archive creates a local commit. It does not push or deploy.

The runtime is local and offline, with no third-party Python dependencies or telemetry. Your coding agent still requires its normal setup. Recorded evidence is an attestation, not proof that its author was truthful; passing the workflow does not certify a product as production-ready.

Detailed guarantees, limits, and migration →

Documentation

Start here For
Installation and first-feature guide Setup, prompt examples, updates, removal, and troubleshooting.
Workflow reference Lifecycle commands, contracts, state, and evidence.
Domain extensions Package installation, selection, and contribution rules.
Contributing Engine changes and validation commands.
Security Boundaries and security reporting.

License

Apache License 2.0. See LICENSE and NOTICE.md.

About

Spec-driven development for AI coding agents. Seven core skills and optional domain extensions, from exploration to verified delivery.

Topics

Resources

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages