Skip to content

About

Scheduled agent tasks for your repositories, defined in Git. Approved access, sandboxed runs, a full audit trail.

Topics

Resources

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Latest commit

 

History

331 Commits

Folders and files

Repository files navigation

SecondShift

CI License: Apache-2.0

Give recurring engineering work a shift.

Commit an agent skill next to your code. SecondShift runs it in a sandbox, with only the access your team approved, and keeps its results and cost.

Open source, self-hosted, and in beta. Bring your own model provider.

Quick start · Skill catalog · Docs · Website

secondshift-demo-v5-60s-4k-share.mp4

How it works

Define a job in .secondshift.yaml. This example runs a skill every Monday:

jobs:
  engineering-briefing:
    name: Monday engineering briefing
    skill: examples/engineering-briefing/.agents/skills/engineering-briefing/SKILL.md
    schedule: "0 9 * * 1"
    requires:
      mcps:
        - binding: github
          tools:
            - search_pull_requests
            - list_commits
    notify:
      - binding: engineering-reports
  1. Write the skill with Claude Code, Codex, or any coding agent. Merge it through your normal review.
  2. Approve its access in the dashboard. A repository can ask for tools. Only a workspace owner can grant them.
  3. Run skills when you need them. Start a run yourself, set a schedule, or trigger it from another service. Each run executes in an isolated sandbox with approved access.
  4. Review the results in the dashboard, Slack, or a webhook. Every run records its Git commit, tool calls, and model cost.

Why SecondShift

  • Checks happen even when nobody remembers. Investigate CI failures every morning or review release readiness every Friday.
  • The whole team shares it. Jobs, schedules, and run history live in one place, not in one person's setup.
  • Access is approved, not assumed. Credentials stay encrypted on your server and never reach the model or the sandbox.
  • Spending has limits. Set per-run token and time limits and see what each run cost.

Compare SecondShift with Hermes Agent and other tools.

Quick start

You need uv, Docker, and a model provider API key or a Claude Code or Codex subscription. Start Docker, then run:

release=https://github.com/piotrekno1/second-shift/releases
uv tool install --force --python 3.13 \
  "$release/download/v0.1.0b8/secondshift-0.1.0b8-py3-none-any.whl"
secondshift up

The first start builds the agent image for subscriptions and takes a few minutes. Use secondshift up --no-agents to skip it. Open the sign-in link printed in the terminal. Then let SecondShift review its own documentation:

  1. Clone this repository: git clone https://github.com/piotrekno1/second-shift.git
  2. In Repositories, choose Add local repository and select the clone.
  3. In Models, add an API key or a Claude Code or Codex subscription.
  4. In Jobs, open Documentation drift and click Run now.

For one-off work, open a repository, click New task and write what to do. See the tasks guide.

Deploy for your team

Follow the Docker Compose deployment guide for a shared Linux server with HTTPS, a GitHub App, and backups. Then pick a task from the skill catalog and follow the task setup guide.

Use it from your coding agent

SecondShift serves an MCP server at /mcp. Your agent can check a .secondshift.yaml before you commit it, start approved jobs, and read results. It cannot approve access or see credentials. See the MCP guide.

To run jobs through Claude Code or Codex subscriptions, see the agent subscriptions guide.

Learn more

Contributing

Bug reports, docs fixes, and pull requests are welcome. See CONTRIBUTING.md. For larger changes, open an issue first.

About

Scheduled agent tasks for your repositories, defined in Git. Approved access, sandboxed runs, a full audit trail.

Topics

Resources

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages