overnight-development

Automates software development overnight using git hooks to enforce test-driven Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

16 stars

Best use case

overnight-development is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Automates software development overnight using git hooks to enforce test-driven Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

Teams using overnight-development should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/overnight-development/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/overnight-development/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/overnight-development/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How overnight-development Compares

Feature / Agentovernight-developmentStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Automates software development overnight using git hooks to enforce test-driven Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Overnight Development

## Overview

This skill automates software development overnight by leveraging Git hooks to enforce test-driven development (TDD). It ensures that all code changes are fully tested and meet specified quality standards before being committed. This approach allows Claude to work autonomously, building new features, refactoring existing code, or fixing bugs while adhering to a rigorous TDD process.

## Core Capabilities

-   Enforces test-driven development (TDD) using Git hooks.
-   Automates debugging and code fixing until all tests pass.
-   Tracks progress and logs activities during overnight sessions.
-   Supports flexible configuration for various testing frameworks and languages.
-   Provides guidance and support through the `overnight-dev-coach` agent.

## Workflow

### Phase 1: Project Setup and Configuration

To prepare the project for overnight development:

1.  **Verify Prerequisites:** Ensure the project is a Git repository, has a configured test framework, and includes at least one passing test.
    ```bash
    git init
    npm install --save-dev jest # Example for Node.js
    ```

2.  **Install the Plugin:** Add the Claude Code Plugin marketplace and install the `overnight-dev` plugin.
    ```bash
    /plugin marketplace add jeremylongshore/claude-code-plugins
    /plugin install overnight-dev@claude-code-plugins-plus
    ```

3.  **Run Setup Command:** Execute the `/overnight-setup` command to create necessary Git hooks and configuration files.
    ```bash
    /overnight-setup
    ```

### Phase 2: Task Definition and Planning

To define the task for the overnight session:

1.  **Define a Clear Goal:** Specify a clear and testable goal for the overnight session, such as "Build user authentication with JWT (90% coverage)."
    ```text
    Task: Build user authentication with JWT (90% coverage)
    Success: All tests pass, 90%+ coverage, fully documented
    ```

2.  **Start Coding:** Begin implementing the feature by writing tests first, following the TDD approach.
    ```javascript
    // Example test case (Node.js with Jest)
    it('should authenticate a user with valid credentials', async () => {
      // Test implementation
    });
    ```

3.  **Attempt to Commit:** Try to commit the changes, which will trigger the Git hooks and run the tests.
    ```bash
    git commit -m "feat: implement user authentication"
    ```

### Phase 3: Autonomous Development and Debugging

To allow Claude to work autonomously:

1.  **Git Hooks Enforcement:** The Git hooks will block the commit if any tests fail, providing Claude with the error messages.
    ```text
    Overnight Dev: Running pre-commit checks...
    Running linting...
    Linting passed
    Running tests...
    12 tests failing
    Commit blocked!
    ```

2.  **Automated Debugging:** Claude analyzes the error messages, identifies the issues, and attempts to fix the code.
    ```text
    Claude: Fixing test failures in user authentication module.
    ```

3.  **Retry Commits:** Claude retries the commit after making the necessary fixes, repeating the process until all tests pass.
    ```bash
    git commit -m "fix: address test failures in user authentication"
    ```

### Phase 4: Progress Tracking and Completion

To monitor the progress and finalize the session:

1.  **Monitor Progress:** Track the progress of the overnight session by viewing the log file.
    ```bash
    cat .overnight-dev-log.txt
    ```

2.  **Review Results:** Wake up to fully tested code, complete features, and a clean Git history.
    ```text
    7 AM: You wake up to:
    - 47 passing tests (0 failing)
    - 94% test coverage
    - Clean conventional commit history
    - Fully documented JWT authentication
    - Production-ready code
    ```

3.  **Session Completion:** The session completes when all tests pass, the code meets the specified quality standards, and the changes are committed.

## Using Bundled Resources

### Scripts

To automate the setup process, use the `overnight-setup.sh` script:

```bash
./scripts/overnight-setup.sh
```

To track the progress of the overnight session, use the `progress-tracker.py` script:

```bash
./scripts/progress-tracker.py --log .overnight-dev-log.txt
```

### References

For detailed configuration options, load:

-   [Configuration Reference](./references/configuration_reference.md)

For best practices on writing effective tests, load:

-   [Testing Best Practices](./references/testing_best_practices.md)

### Assets

Available templates:

-   `assets/commit-template.txt` - Template for generating commit messages.
-   `assets/readme-template.md` - Template for generating README files.

## Examples

### Example 1: Building JWT Authentication

User request: "Implement JWT authentication with 90% test coverage overnight."

Workflow:

1.  Claude writes failing authentication tests (TDD).
2.  Claude implements JWT signing (tests still failing).
3.  Claude debugs token generation (commit blocked, keeps trying).
4.  Tests pass! Commit succeeds.
5.  Claude adds middleware (writes tests first).
6.  Integration tests (debugging edge cases).
7.  All tests green (Coverage: 94%).
8.  Claude adds docs, refactors, still green.
9.  Session complete.

### Example 2: Refactoring Database Layer

User request: "Refactor the database layer to use the repository pattern overnight."

Workflow:

1.  Claude analyzes existing tests to ensure no regression.
2.  Claude implements the repository pattern.
3.  Tests are run; some fail due to changes in data access.
4.  Claude updates tests to align with the new repository pattern.
5.  All tests pass; commit succeeds.
6.  Claude documents the refactored database layer.
7.  Session complete.

### Example 3: Fixing a Bug in Payment Processing

User request: "Fix the bug in payment processing that causes incorrect amounts to be charged overnight."

Workflow:

1.  Claude reproduces the bug and writes a failing test case.
2.  Claude analyzes the code and identifies the root cause of the bug.
3.  Claude fixes the bug and runs the tests.
4.  The failing test case now passes; all other tests also pass.
5.  Commit succeeds.
6.  Claude adds a comment to the code explaining the fix.
7.  Session complete.

## Best Practices

-   Ensure that the task is well-defined and testable.
-   Follow the TDD approach by writing tests before implementing features.
-   Monitor the progress of the overnight session by viewing the log file.
-   Configure the Git hooks and settings appropriately for the project.
-   Use the `overnight-dev-coach` agent for guidance and support.

## Troubleshooting

**Issue:** Hooks are not running.

**Solution:** Make sure the hooks are executable:

```bash
chmod +x .git/hooks/pre-commit
chmod +x .git/hooks/commit-msg
```

**Issue:** Tests are failing immediately.

**Solution:** Ensure you have at least one passing test:

```bash
npm test # Should see: Tests passed
```

**Issue:** Lint errors are blocking everything.

**Solution:** Enable auto-fix:

```json
{
  "autoFix": true
}
```

Or fix manually:

```bash
npm run lint -- --fix
```

## Integration

This skill integrates with Git repositories and various testing frameworks. It uses Git hooks to enforce TDD and ensure that all code changes are fully tested. The `overnight-dev-coach` agent provides guidance and support throughout the process.

```bash
# Example integration with Jest (Node.js)
{
  "testCommand": "npm test -- --coverage --watchAll=false",
  "lintCommand": "npm run lint",
  "autoFix": true
}
```

```bash
# Example integration with pytest (Python)
{
  "testCommand": "pytest --cov=. --cov-report=term-missing",
  "lintCommand": "flake8 . && black --check .",
  "autoFix": false
}
```
```

## Prerequisites

- Access to project files in {baseDir}/
- Required tools and dependencies installed
- Understanding of skill functionality
- Permissions for file operations

## Instructions

1. Identify skill activation trigger and context
2. Gather required inputs and parameters
3. Execute skill workflow systematically
4. Validate outputs meet requirements
5. Handle errors and edge cases appropriately
6. Provide clear results and next steps

## Output

- Primary deliverables based on skill purpose
- Status indicators and success metrics
- Generated files or configurations
- Reports and summaries as applicable
- Recommendations for follow-up actions

## Error Handling

If execution fails:
- Verify prerequisites are met
- Check input parameters and formats
- Validate file paths and permissions
- Review error messages for root cause
- Consult documentation for troubleshooting

## Resources

- Official documentation for related tools
- Best practices guides
- Example use cases and templates
- Community forums and support channels

Related Skills

python-development-python-scaffold

16
from diegosouzapw/awesome-omni-skill

You are a Python project architecture expert specializing in scaffolding production-ready Python applications. Generate complete project structures with modern tooling (uv, FastAPI, Django), type hint

python-development

16
from diegosouzapw/awesome-omni-skill

专业的 Python 开发技能,涵盖现代 Python 3.10+、FastAPI、Django、Flask、异步编程、数据处理和最佳实践。使用此技能开发 Python Web 应用、构建 FastAPI/Django 项目、实现异步编程,或需要 Python 架构设计和性能优化指导时使用。

prpm-development

16
from diegosouzapw/awesome-omni-skill

Use when developing PRPM (Prompt Package Manager) - comprehensive knowledge base covering architecture, format conversion, package types, collections, quality standards, testing, and deployment

proof-driven-development

16
from diegosouzapw/awesome-omni-skill

Run proof-driven development using Lean 4 for formal verification - comprehensive skill handling both design (planning) and execution (verification)

project-development

16
from diegosouzapw/awesome-omni-skill

This skill should be used when the user asks to "start an LLM project", "design batch pipeline", "evaluate task-model fit", "structure agent project", or mentions pipeline architecture, agent-assisted development, cost estimation, or choosing between LLM and traditional approaches.

preferences-react-tanstack-ui-development

16
from diegosouzapw/awesome-omni-skill

React and TanStack UI development patterns including component design, routing, and state management. Load when working with React components or TanStack libraries.

mongodb-development

16
from diegosouzapw/awesome-omni-skill

MongoDB development guidelines with Payload CMS, Mongoose, aggregation pipelines, and TypeScript best practices.

monad-development

16
from diegosouzapw/awesome-omni-skill

Builds dapps on Monad blockchain. Use when deploying contracts, setting up frontends with viem/wagmi, or verifying contracts on Monad testnet or mainnet.

mobile-ui-development-rule

16
from diegosouzapw/awesome-omni-skill

General rules pertaining to Mobile UI development. Covers UI/UX best practices, state management, and navigation patterns.

mobile-development

16
from diegosouzapw/awesome-omni-skill

Cross-platform and native mobile development. Frameworks: React Native, Flutter, Swift/SwiftUI, Kotlin/Jetpack Compose. Capabilities: mobile UI, offline-first architecture, push notifications, deep linking, biometrics, app store deployment. Actions: build, create, implement, optimize, test, deploy mobile apps. Keywords: iOS, Android, React Native, Flutter, Swift, Kotlin, mobile app, offline sync, push notification, deep link, biometric auth, App Store, Play Store, iOS HIG, Material Design, battery optimization, memory management, mobile performance. Use when: building mobile apps, implementing mobile-first UX, choosing native vs cross-platform, optimizing battery/memory/network, deploying to app stores, handling mobile-specific features.

miniprogram-development

16
from diegosouzapw/awesome-omni-skill

WeChat Mini Program development rules. Use this skill when developing WeChat mini programs, integrating CloudBase capabilities, and deploying mini program projects.

minimalist-surgical-development

16
from diegosouzapw/awesome-omni-skill

Use when editing an existing codebase and the goal is minimal, standard, and non-invasive changes - prioritizes simplest solution, standard libraries first, and surgical modification without unsolicited refactors