warping
sighthoundinc/hw-savingsApply warping framework standards for AI-assisted development. Use when starting projects, writing code, running tests, making commits, or when the user references warping, project standards, or coding guidelines.
SKILL.md
name: warping description: Apply warping framework standards for AI-assisted development. Use when starting projects, writing code, running tests, making commits, or when the user references warping, project standards, or coding guidelines. user-invocable: false metadata: clawdbot: requires: bins: ["task"] homepage: "https://github.com/visionik/warping" os: ["darwin", "linux"]
Warping Framework
A layered framework for AI-assisted development with consistent standards and workflows.
When This Skill Activates
This skill automatically loads when you:
- Start work in a warping-enabled project (has
./warping/directory) - Reference warping, project standards, or coding conventions
- Run tests, make commits, or perform quality checks
- Ask about project structure, workflows, or best practices
Core Principle: Rule Precedence
Warping uses hierarchical rules where more specific overrides general:
user.md ← HIGHEST precedence (personal preferences)
↓
project.md ← Project-specific rules
↓
{language}.md ← Language standards (python.md, go.md, typescript.md, cpp.md)
↓
{tool}.md ← Tool guidelines (taskfile.md, git.md)
↓
main.md ← General AI behavior
↓
specification.md ← LOWEST precedence (requirements)
IMPORTANT: If user.md says one thing and python.md says another, user.md ALWAYS wins.
File Reading Strategy (Lazy Loading)
DO NOT read all warping files at once. Read only what you need:
- Always start with:
./warping/main.md(general guidelines) - Check for:
./warping/core/user.md(personal overrides - highest precedence) - Check for:
./warping/core/project.md(project-specific rules) - Then read language-specific only if working with that language:
./warping/languages/python.md./warping/languages/go.md./warping/languages/typescript.md./warping/languages/cpp.md
- Read tool files only when using that tool:
./warping/tools/taskfile.md(when running tasks)./warping/scm/git.md(when using git)./warping/scm/github.md(when using GitHub)
Task-Centric Workflow
Warping projects use Taskfile as the universal task runner.
Discovery
task --list # See all available tasks
task # Same as task --list
Common Tasks
task check # Pre-commit checks (fmt, lint, test, coverage)
task test # Run tests
task test:coverage # Run with coverage
task fmt # Format code
task lint # Lint code
task build # Build project
task clean # Clean artifacts
CRITICAL: Before commits, ALWAYS run task check. Never claim checks passed without running them.
Test-Driven Development (TDD)
Warping embraces TDD by default:
- Write test first - Define expected behavior
- Watch it fail - Confirm test fails correctly
- Implement - Write minimal code to pass
- Refactor - Improve while keeping tests green
- Repeat - Build incrementally
Coverage Requirements:
- Default: ≥85% coverage (overall + per-module)
- Check
project.mdfor project-specific thresholds - Never claim coverage passes without running
task test:coverage
Spec-Driven Development (SDD)
For new features or projects:
- Build PRD.md - Run
warping.sh specto create Product Requirements Document - AI Interview - Answer focused questions to clarify requirements
- PRD.md Review - Let user review/change PRD.md if they want
- Generate SPECIFICATION.md - use PRD.md + Warping rules to build a complete spec with phases, dependencies, and tasks
- SPECIFICATION.md review -- Let user review/change SPECIFICATION.md if they want
- Implement - Build according to spec, following all applicable warping rules
Quality Standards
Before Every Commit
task check # MUST run this
This typically includes:
- Code formatting
- Linting
- Type checking
- Tests with coverage
- Any project-specific checks
Conventional Commits
ALL commits must follow https://www.conventionalcommits.org/en/v1.0.0/:
feat: add new feature
fix: resolve bug
docs: update documentation
chore: routine tasks
test: add/update tests
refactor: code restructuring
File Naming
- Use hyphens in filenames, not underscores
- Example:
user-service.pyNOTuser_service.py - Exception: Language conventions (Python modules can use underscores in code)
Secrets Management
- Store secrets in
secrets/directory - Provide
.exampletemplates - Never commit actual secrets
- Use environment variables in code
Language-Specific Standards
Python
- Testing: pytest, ≥85% coverage
- Style: ruff, black, isort (PEP 8)
- Types: mypy strict mode
- Docs: PEP 257 docstrings
Go
- Testing: Testify, ≥85% coverage
- Docs: go.dev/doc/comment
- Patterns: table-driven tests, interface design
TypeScript
- Testing: Vitest/Jest, ≥85% coverage
- Style: ESLint, Prettier
- Types: strict mode, no
any
C++
- Testing: Catch2/GoogleTest, ≥85% coverage
- Standard: C++20/23
- Style: clang-format, clang-tidy
New Project Workflow
When user says "start a new project with warping", "use warping to build X", or similar, follow this complete workflow:
Step 1: Initialize Warping Structure
./warping.sh init
- Creates
./warping/directory with framework files - Sets up
secrets/directory - Creates basic
Taskfile.yml - Adds
.gitignorefor secrets
Step 2: User Configuration (First Time Only)
Check if ./warping/core/user.md exists. If not:
./warping.sh bootstrap
- Prompts for user name
- Sets default coverage threshold
- Configures primary languages
- Creates personalized
user.md
Step 3: Project Configuration
./warping.sh project
- Prompts for project name
- Selects project type (CLI, TUI, REST API, Web App, Library, Other)
- Chooses primary language
- Sets coverage threshold
- Creates
project.mdwith standards
Step 4: Specification-Driven Development
./warping.sh spec
This launches the full SDD workflow:
a) Generate PRD.md:
- Prompts for project name, description, and initial features
- Creates
PRD.mdwith structured template - Displays full path to PRD.md
b) Conduct AI Interview:
- Read the PRD.md thoroughly
- Ask focused, non-trivial questions to clarify:
- Missing decisions and edge cases
- Implementation details and architecture
- UX considerations and constraints
- Dependencies and tradeoffs
- Each question should have numbered options plus "other"
- Continue until ambiguity is minimized
c) User Review of PRD:
- Let user review/edit PRD.md if they want
- Wait for confirmation before proceeding
d) Generate SPECIFICATION.md:
- Use PRD.md + warping rules to create complete implementation spec
- Include clear phases, subphases, and tasks
- Map dependencies (what blocks what)
- Identify parallel work opportunities
- NO code in specification - just the plan
e) User Review of Specification:
- Let user review/edit SPECIFICATION.md if they want
- Wait for confirmation before implementation
f) Begin Implementation:
- Follow the SPECIFICATION.md plan
- Apply all warping rules (TDD, quality standards, task-centric)
- Maintain ≥85% coverage
- Run
task checkbefore each commit - Use Conventional Commits format
Step 5: Development Cycle
- Write tests first (TDD)
- Implement features incrementally
- Run
task checkfrequently - Commit with proper format
- Push changes
Project Initialization (Quick Reference)
For New Projects (Full Workflow)
Use the "New Project Workflow" above when starting from scratch.
For Existing Warping Projects
- Check for
./warping/directory - Read
./warping/main.mdfor general guidelines - Read
./warping/core/user.mdfor user preferences - Read
./warping/core/project.mdfor project rules - Run
task --listto see available tasks
For New Features in Existing Projects
- Consider running
./warping.sh specfor complex features - Follow SDD process (PRD → Interview → Specification → Implement)
- Or for simple features, just follow TDD directly
Self-Improvement Mechanism
Warping learns and evolves:
meta/lessons.md- Patterns learned during development (AI can update)meta/ideas.md- Future improvements noticedmeta/suggestions.md- Project-specific suggestions
When you discover a better pattern or make repeated corrections, consider updating lessons.md.
Safety and Best Practices
Version Control
- Never force-push without explicit permission
- Assume production impact unless stated otherwise
- Prefer small, reversible changes
- Call out risks explicitly
Code Quality
- Run
task checkbefore EVERY commit - Verify tests pass:
task test - Check coverage meets threshold:
task test:coverage - Never claim checks passed without running them
Documentation
- Keep docs in
docs/directory, not project root - Update docs when changing behavior
- Use RFC2119 notation in technical docs (!, ~, ?, ⊗, ≉)
Working with Warping
First Time in a Project
- Check for
./warping/directory - Read
./warping/main.md - Check
./warping/core/user.mdfor user preferences - Check
./warping/core/project.mdfor project rules - Run
task --listto see available tasks
During Development
- Write tests first (TDD)
- Implement features
- Run
task checkfrequently - Before commit: ALWAYS
task check - Use Conventional Commits format
- Push changes
When Stuck
- Check
./warping/REFERENCES.mdfor guidance on which files to read - Review
meta/lessons.mdfor learned patterns - Consult language-specific files in
./warping/languages/ - Check
Taskfile.ymlfor available commands
Example Workflows
Starting a Feature
# 1. Write test first (TDD)
# 2. Watch it fail
task test
# 3. Implement feature
# 4. Run checks
task check
# 5. Commit
git commit -m "feat: add new feature"
Code Review
# 1. Run quality checks
task check
# 2. Review coverage
task test:coverage
# 3. Check commit format (Conventional Commits)
git log --oneline -n 5
# 4. Suggest improvements → meta/suggestions.md
Bug Fix
# 1. Write failing test that reproduces bug
# 2. Fix code
# 3. Verify test passes
task test
# 4. Run full checks
task check
# 5. Commit
git commit -m "fix: resolve issue with X"
Integration Notes
This SKILL.md follows the AgentSkills specification, making it compatible with multiple AI platforms.
With Claude Code
- This SKILL.md file teaches Claude Code about warping
- Place in
~/.claude/skills/warping/(personal) or.claude/skills/warping/(project) - Claude automatically applies these rules when relevant
- Works in VS Code via Claude Code extension
With clawd.bot
- Compatible with clawd.bot's AgentSkills system
- Place in
~/.clawdbot/skills/warping/(shared) or<workspace>/skills/warping/(per-agent) - Install via ClawdHub:
clawdhub sync warping(once published) - Works across WhatsApp, Telegram, Discord, and other channels
- Requires
taskbinary (specified in metadata) - Supports macOS and Linux (specified in
osfield)
With Warp AI
- Upload warping files to Warp Drive
- Create Warp rules referencing warping/*.md files
- Use
WARP.mdorAGENTS.mdin project root
Skill Locations
Claude Code:
- Personal:
~/.claude/skills/warping/SKILL.md - Project:
.claude/skills/warping/SKILL.md
clawd.bot:
- Shared (all agents):
~/.clawdbot/skills/warping/SKILL.md - Per-agent:
<workspace>/skills/warping/SKILL.md - Via registry:
clawdhub sync warping
Warping files: ./warping/*.md (framework files)
Publishing to Registries
Claude Code Skills Marketplace:
- Browse: https://skillsmp.com
- Submit via GitHub repository
- Tag with
claude-skills,ai-coding
ClawdHub (clawd.bot):
- Browse: https://clawdhub.com
- Publish:
clawdhub publish - Update:
clawdhub publish --version x.y.z
Multi-Platform Benefits
- Same format - Write once, use everywhere
- Consistent standards - Warping rules apply across all AI assistants
- Universal workflows - TDD, SDD, quality checks work in any context
- Shared knowledge - Updates propagate to all platforms
Quick Reference
| Task | Command |
|---|---|
| List tasks | task or task --list |
| Pre-commit checks | task check |
| Run tests | task test |
| Check coverage | task test:coverage |
| Format code | task fmt |
| Lint code | task lint |
| Initialize warping | warping.sh init |
| Configure user | warping.sh bootstrap |
| Configure project | warping.sh project |
| Generate spec | warping.sh spec |
Remember
- Lazy load files - Only read what you need
- User.md is king - Highest precedence always
- Task-centric - Use
taskfor everything - Test first - Write tests before implementation
- Always check - Run
task checkbefore commits - Conventional commits - Follow the standard
- Coverage matters - ≥85% by default
- Never lie - Don't claim checks passed without running them
For more details, read the specific files in ./warping/ as needed. Start with main.md and follow the precedence hierarchy.