Skip to content

Issue tracking for you and Claude Code

Claude takes the issue. Does the work. Logs it. Hands over.

sk1ft is issues, plans and projects that you and Claude Code work in together, under the same rules. Every session starts from the log of the one before.

Create an organisationSign inFree while it is being built.
WEB-31 / Export invoices as CSVIn review
  1. 09:12take_issueTook the issue. Not started → In progress.
  2. 09:13log_workPlan: an export endpoint on top of the existing invoice filter, then a button on the list. Tests first.
  3. 09:41log_workEndpoint done. It streams the rows, so 50,000 invoices never sit in memory at once. Commit 4e1c9a2 on web-31-invoice-export.
  4. 09:58log_workDecision: semicolon as separator and UTF-8 with BOM. Excel with Swedish settings otherwise splits the amounts and mangles å, ä and ö.
  5. 10:20log_workButton and tests done, commit b7d03f5. Not verified: a real export from production, only the seed data (1,200 invoices).
  6. 10:21update_issueIn progress → In review. "Done when" checked point by point.
An example of what Claude writes in an issue’s log while it works: the plan, the commits, the decisions and what it could not verify.

Why not just a chat?

The work is shaped before it starts.
Every issue has a "done when", and the project has a plan. Claude reads both before it touches the code, and goes through "done when" point by point before it calls anything done.
The log outlives the session.
Claude logs while it works: what is done, what is left, what surprised it, which commit. The next session, yours or Claude’s, starts by reading the log instead of guessing.
Several at once, without stepping on each other.
Taking an issue assigns it and starts it. If someone else already has it, Claude stops and asks instead of taking over. Blockers are written down, and you get a notification when one clears.
The same rules for everyone.
The web, Claude and the HTTP API go through the same functions, with the same validation, permissions and audit trail. Claude cannot do anything you cannot, and cannot skip anything you have to do.

Get started in three steps

  1. Create an organisation.

    Sign in with your e-mail address. You become the owner and can invite others.

  2. Connect Claude Code.

    Create a token under Connect Claude, then run one line in a terminal:

    claude mcp add --transport http --scope user sk1ft https://sk1ft.dev/api/mcp --header "Authorization: Bearer sk1ft_…"
  3. Point the repository at a project.

    Put the project key in a file in the repository root, then ask Claude to take the next issue.

    printf 'WEB\n' > .sk1ft
    take the next issue

What is in it

  • MCP tools with schemas that Claude reads: take, log, comment, review, search and more.
  • An HTTP API with the same token, documented with OpenAPI.
  • Organisations with roles and invitations. Organisations never see each other’s data.
  • Review: set in review, then approve or send back with a comment.
  • Search across every project in the organisation.
  • A live view of Claude’s tool calls as they happen.
  • English and Swedish.
Read the API documentation →