Skip to content
Agentmart
Submit a tool

ticket-workspace

Reference for the /start pipeline - workspace layout, state keys, phase machine, ruling and finding formats, and the shared scripts.

Skill by beefysalad

IndexedMIT
Write a review

Chalk Labs

Need help deploying ticket-workspace?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/beefysalad-ticket-workspace

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Reference for the /start pipeline - workspace layout, state keys, phase machine, ruling and finding formats, and the shared scripts. Read by every ticket stage skill; use when any /start stage starts.

Use cases: data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Nov 1, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Shell scripts

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/ticket-workspace
  • /dev/stderr

What's inside

Skill name
ticket-workspace
Description
Reference for the /start pipeline - workspace layout, state keys, phase machine, ruling and finding formats, and the shared scripts. Read by every ticket stage skill; use when any /start stage starts.
License
MIT
Instructions
67 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (7)

  • SKILL.md
  • branch-name.sh · scripts/
  • pr-state.sh · scripts/
  • secret-scan.sh · scripts/
  • state.sh · scripts/
  • ticket-ws.sh · scripts/
  • waves.sh · scripts/

SKILL.md (first lines)

# Ticket workspace

`SKILL_DIR` is this skill's base directory; its scripts run as `bash "$SKILL_DIR/scripts/<name>.sh"`. Stage skills call them as `bash "$SKILL_DIR/../ticket-workspace/scripts/<name>.sh"`.

## Location
`bash "$SKILL_DIR/scripts/ticket-ws.sh" path <id>` → `~/.patrick-workflows/tickets/<repo>/<id>/` (`TICKETS_HOME` overrides the root). The same path from every worktree of the repo. Never inside the project, never under `~/.claude/` (Claude Code refuses writes there).

## Layout
```
state.md        machine-readable "key: value" lines (below); change only via state.sh
ticket.md       ticket text verbatim
bar.md          acceptance criteria AC1..ACn, plus a "Deferred:" list
design.md       approved design
plan.md         approved plan (round 2 appends tasks under "## Round 2")
rulings.md      binding rulings
scope.txt       allow:/forbid: lines for scope-check.sh
ledger.md       one line per completed step; state.sh appends phase changes
baseline.md     gate results on the base commit
briefs/task-N.md, reports/task-N.md
gauntlet-review/    the review loop's own workspace (state, logs, rounds, report.md)
handoff.md      the SHIP report; pr-body.md the draft PR body
```

## State keys
`ticket`, `title`, `phase`, `branch`, `base` (sha), `base_branch`, `checkout` (`main` or the worktree path), `depth` (`lite`|`standard`|`full`), `tasks_total`, `tasks_done`, `round2` (`no`|`yes`), `budget_impl_max`, `budget_impl_used`, `budget_review_max`, `gate.<name>` (command), `gate_timeout`, `exit_pair` (`none` or the exit-pair flags), `pr_target`, `pr_url`, `preflight` (`done`), `type` (`feat`|`fix`), `graded` (path to `graded.md`), `issue_url` (GitHub issue URL, set at intake; CLOSE closes the issue by it), `parallel` (`on`|`off`), `push_approved` (`yes` once the user approved the PR; SHIP sets it right before pushing).

## Phases
`bash state.sh <WS>/state.md phase <new>` is the only way to change phase; it refuses illegal jumps and logs every change.

**Guard hook.** While a ticket is open, the plugin's PreToolUse hook (`hooks/guard.sh`) blocks `git push` from the ticket branch before phase `pr` unless `push_approved: yes`, and blocks `git commit` on the ticket's `base_branch` from `approved` to `handoff` (including `blocked` and `round2`). It always blocks tool attribution in commits and PRs. A block is a message to act on (commit on the ticket branch; push only from SHIP), never a reason to work around the hook.
```
intake → designed → planned → approved → implementing → reviewing ⇄ fixing → ready
implementing | reviewing | fixing → blocked
ready | blocked → handoff → round2 → implementing ...      handoff → pr → closed
```
| Phase | Stage skill |
|---|---|
| none, intake, designed, planned | `patrick-workflows:ticket-plan` |
| approved, round2, implementing, reviewing, fixing | `patrick-workflows:ticket-build` |
| ready, blocked, handoff | `patrick-workflows:ticket-ship` |
| pr | `patrick-workflows:ticket-close` |
| closed | nothing left to do |

## Worktrees
If `checkout` is a worktree path and the session is not inside it, call the `EnterWorktree` tool with `path` set to it before running any stage. A worktree created with plain `git worktree add` outside the repo is not writable from the session.

## Formats
Ruling (`rulings.md`):
```
R3 — <title> (source: user | orchestrator)
Decision: ... / Why: ... / Cost if wrong: ... / Applies to: all | task N
```
Finding: the format in `patrick-workflows:final-reviewer` (ID, Severity, Kind, Location, Trigger, Expected, Actual).
Ledger line: `<UTC time> <step> <result>`. Ledger time: always `date -u +%Y-%m-%dT%H:%M:%SZ`.

## Scripts
| Script | Use |
|---|---|
| `state.sh <state.md> get/set/incr/phase ...` | state and phases |
| `ticket-ws.sh path/init/list` | workspace location |
| `branch-name.sh <type> <id> <title...>` | branch name |
| `waves.sh <plan.md>` | parallel waves from `Files:` and `Depends on:` |
| `pr-state.sh <pr>` | merged / open / closed-unmerged / could-not-run |
| `pr-state.sh --head-matches <pr> <branch>` | same / differs / could-not-run: local branch tip vs the PR head |
| `secret-scan.sh [--deny-file f] <file or ->...` | secrets before a PR |

From beefysalad/patrick-workflows, MIT.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 5, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from beefysalad

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get ticket-workspace running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying ticket-workspace?

CallGet help
Cite this page

ticket-workspace skill. Agent Mart. https://agentmart.dev/skills/beefysalad-ticket-workspace (last updated 2026-10-24)