agentleFS
luizomfluizomf/omskills/skills/engineering/to-tickets/SKILL.md

to-tickets

Skill3 starsChanged 2 months agoMITView on GitHub

Create tracer-bullet tickets with two scheduling relations: - A blocking edge means the blocked ticket cannot start or integrate until the blocker is complete. - A conflict edge means two otherwise unblocked tickets should not have active writers concurrently because they materially overlap in files, contracts, artifacts, or integration assumptions. Read the configured issue tracker and triage-label vocabulary. If either configuration is unavailable, follow setup-omskills and its scoped authorization gate before continuing, including in headless runs. Respect read-only roles and…

192 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use setup-ts-deep-modules, to-questionnaire and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • liufeng1976Skill

    setup-ts-deep-modules

    Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.

    Also in 43 projects that use this

  • AWSSkill

    to-questionnaire

    Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

    Also in 89 projects that use this

  • ryotaroh180105Skill

    claude-handoff

    Hand the current conversation off to a fresh background agent that picks up the work immediately.

    Also in 40 projects that use this

  • RoentekSkill

    loop-me

    Grill me about specs for the workflows I want to build, within this workspace.

    Also in 47 projects that use this

  • AWSSkill

    implement-spec

    Implement the result of /to-spec and /to-tickets in code.

    Also in 69 projects that use this

  • sponge-b0bSkill

    to-specs

    Project decision-complete planning into implementation Specs from exact Canonical Contract Ledger semantics while preserving Independent Specs and existing Spec identity.

    Also in 3 projects that use this

  • +2 more from aws

The file

Show its rules and text

We split this skill into the rules it gives an agent

18 rules. 0 are common, 14 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 181 edited versions we read keep these.

  • 14

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Create tracer-bullet tickets with two scheduling relations:

    line 10
  2. Very specific:

    Read the configured issue tracker and triage-label vocabulary.

    line 18
  3. Distinctive:

    Use the plan, spec, or conversation already in context.

    line 28
  4. Distinctive:

    If the repository's current implementation has not already been inspected in this context, inspect the affected area.

    line 34
  5. Distinctive:

    Keep every requirement durable in the Ticket or explicitly incorporated tracker artifacts.

    line 48
  6. Distinctive:

    Use expand–contract instead of vertical slices when one mechanical change, such as renaming a column or retyping a shared symbol, has a …

    line 60
  7. Distinctive:

    Expand: add the new form beside the old form without breaking current callers.

    line 64
  8. Distinctive:

    Contract: remove the old form only after every migration ticket is complete.

    line 70
  9. Distinctive:

    If no migration batch can pass CI independently, retain this sequence on an integration branch and block a final integrate-and-verify …

    line 73
  10. Distinctive:

    Blocked by: every ticket that must complete first, or none.

    line 83
  11. Distinctive:

    Conflicts with: every conflicting ticket and its shared surface, or none.

    line 84
  12. Distinctive:

    Before requesting approval, identify Mission topology whenever the breakdown selects multiple Tickets.

    line 90
  13. Distinctive:

    Every implementation Ticket in a multi-Ticket Mission, including integration Tickets, requires an exclusive worktree and branch established …

    line 102
  14. Distinctive:

    Ask the user to identify:

    line 140
  15. Very specific:

    Create every approved Ticket identity first with exactly one category role and the needs-triage state.

    line 154
  16. Very specific:

    Local markdown: follow the configured tracker's ignore and lifecycle rules.

    line 159
  17. Distinctive:

    GitHub, GitLab, or another issue tracker: create every issue first, then add the tracker's native parent and blocking relations where …

    line 162
  18. Very specific:

    Do not apply ready-for-agent, close or modify the parent Spec, run Prompt Audits, or begin implementation.

    line 166

“Common” is measured: kept by at least 6 in 10 of the 181 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

To Tickets

Create tracer-bullet tickets with two scheduling relations:

  • A blocking edge means the blocked ticket cannot start or integrate until the blocker is complete.
  • A conflict edge means two otherwise unblocked tickets should not have active writers concurrently because they materially overlap in files, contracts, artifacts, or integration assumptions.

Read the configured issue tracker and triage-label vocabulary. If either configuration is unavailable, follow setup-omskills and its scoped authorization gate before continuing, including in headless runs. Respect read-only roles and return unresolved prerequisites to the responsible caller.

Process

1. Gather source context

Use the plan, spec, or conversation already in context. If the user provides a path, issue number, or URL, read its complete body and comments before drafting tickets.

2. Inspect the repository when needed

If the repository's current implementation has not already been inspected in this context, inspect the affected area. Use terms from the project domain glossary in ticket titles and bodies, and preserve applicable ADR decisions.

3. Draft vertical slices

Each tracer-bullet Ticket must:

  • deliver one behavior through every layer that behavior affects;
  • be independently demonstrable or verifiable after completion;
  • fit one fresh agent context with room to understand, implement, and verify it; and
  • identify its category role as bug or enhancement from the accepted source.

Keep every requirement durable in the Ticket or explicitly incorporated tracker artifacts; planning and audit conversations carry no hidden requirements. Do not split cohesive work just to manufacture parallelism or invent serial dependencies.

Decide what can safely run in parallel to save time. Use the actual dependencies, conflicts, shared resources, and delivery needs to make that planning decision. Record it with each Ticket's blocking and conflict relations so dispatch can follow the plan rather than reconstruct it.

Wide-refactor exception

Use expand–contract instead of vertical slices when one mechanical change, such as renaming a column or retyping a shared symbol, has a whole-codebase blast radius and no partial vertical slice can keep CI passing:

  1. Expand: add the new form beside the old form without breaking current callers.
  2. Migrate: move callers in batches sized by blast radius, such as one package or directory per ticket. Each migration ticket is blocked by expansion, and the old form remains available so each batch can pass CI independently.
  3. Contract: remove the old form only after every migration ticket is complete; block contraction on all migration tickets.

If no migration batch can pass CI independently, retain this sequence on an integration branch and block a final integrate-and-verify ticket on all batches. In that case, the requirement to leave CI passing applies to the final ticket rather than each batch.

4. Obtain breakdown approval

Present a numbered draft. For each ticket, include:

  • Title: one line naming the delivered behavior;
  • Blocked by: every ticket that must complete first, or none;
  • Conflicts with: every conflicting ticket and its shared surface, or none;
  • Execution: the concurrency decisions and required order not already expressed by those relations; and
  • What it delivers: the end-to-end behavior that becomes demonstrable or verifiable.

Before requesting approval, identify Mission topology whenever the breakdown selects multiple Tickets; record their dependency, conflict, integration, and shared-resource needs. Record maintainer availability independently when the source resolves it; otherwise leave that dimension for the adaptive Delivery mode gate rather than inferring absence from Mission topology.

Show the planned execution, blockers, conflicts, and shared resources outside Git. Distinguish priority from required sequence or phase barriers, and record any capacity assumptions for dispatch to check at execution time. Preserve the user's established ordering constraints without treating list order as an execution dependency.

Every implementation Ticket in a multi-Ticket Mission, including integration Tickets, requires an exclusive worktree and branch established by its technical owner before implementation. Read the worktree policy when planning candidate locations and cleanup. Before reading relative links, run cd '<loaded-skill-directory>' && pwd -P with this loaded file's directory to obtain the physical base, then resolve links against that printed directory. Resolve the source symlink before applying ..; read linked files even when their skills are absent from the discovery list. For planning, use that shared policy without invoking the coordinator.

Declare every delivery boundary in the approved breakdown:

  • Parallel members deliver verified, committed, pushed branch artifacts, not implicit shared-target merges or group completion.
  • Each parallel group includes a preplanned ordinary integration Ticket blocked by every member. Identify every predecessor, intended base/target and combination requirements. Require durable tracker evidence of each produced artifact's repository, remote branch and exact full commit SHA before integration starts; exact outputs are recorded at predecessor delivery, not guessed during planning. The integration Ticket combines those verified inputs in its own candidate, reviews and verifies the complete combined state, and records input-to-result commits before dependent work advances.
  • Non-member Tickets and individually selected Tickets state their integration target and direct-push or pull-request delivery method explicitly. A pull request is optional unless repository policy or the accepted request requires one; every used pull request is squash-merged.
  • Require a durable source-to-squash mapping for every pull request, including non-member and individually selected Ticket delivery. Make verified owner-managed cleanup under the shared worktree policy part of completion, assigning declared predecessor cleanup to the integration owner after the final consumer completes.

For example, a compatible group A/B/C delivers three branch artifacts; the next phase is integration I, blocked by A, B and C; dependent D is blocked by I. I is an ordinary authorized Ticket, not a dispatcher integration action. These decisions are part of breakdown approval, not another user gate.

Ask the user to identify:

  • any ticket that does not fit one fresh context or cannot be verified independently;
  • any blocking edge that does not gate start or integration, and any missing blocker;
  • any conflict edge without a shared surface, and any missing conflict; and
  • tickets to merge or split.

Revise and repeat until the user approves the breakdown. Do not publish before approval.

5. Publish to the configured tracker

Create every approved Ticket identity first with exactly one category role and the needs-triage state. After every identity exists, add parent links, blocking edges, and conflict edges in a second pass so all relations use real identifiers.

  • Local markdown: follow the configured tracker's ignore and lifecycle rules. Write one file per Ticket at a chosen .scratch/ path, then record both edge types using those paths.
  • GitHub, GitLab, or another issue tracker: create every issue first, then add the tracker's native parent and blocking relations where available and record conflicts in its configured representation.

Do not apply ready-for-agent, close or modify the parent Spec, run Prompt Audits, or begin implementation. Ticket publication and readiness are separate phases.

<local-ticket-template>

<Ticket title>

What to build: <the end-to-end behavior this ticket makes work from the user's perspective>

Blocked by: <linked Ticket paths, or "None">

Conflicts with: <linked Ticket paths and shared surfaces, or "None">

Execution: <planned concurrency and required order not already expressed by the relations, including relevant shared-resource or capacity assumptions>

Delivery: <branch artifact or explicit integration target plus direct-push or pull-request method; every PR includes a durable source-to-squash mapping; integration also includes all predecessor identities, base/target, combination requirements, durable exact-input evidence obligations, and post-delivery cleanup>

Category: bug | enhancement

Status: needs-triage

Lifecycle: open

  • Acceptance criterion 1
  • Acceptance criterion 2
</local-ticket-template><issue-template>

Parent

<parent Spec reference when one exists; otherwise omit this section>

Category

bug | enhancement

What to build

<the end-to-end behavior this ticket makes work from the user's perspective>

Delivery

<branch artifact or explicit integration target plus direct-push or pull-request method; every PR includes a durable source-to-squash mapping; integration also includes all predecessor identities, base/target, combination requirements, durable exact-input evidence obligations, and post-delivery cleanup>

Acceptance criteria

  • Criterion 1
  • Criterion 2

Blocked by

  • <each blocking ticket reference, or "None">

Conflicts with

  • <each conflicting ticket reference plus the shared surface, or "None">

Execution

<planned concurrency and required order not already expressed by the relations, including relevant shared-resource or capacity assumptions>

</issue-template>

Describe behavior and acceptance criteria without incidental file paths, layer-by-layer implementation lists, or code snippets. Preserve exact repository/remote branch references and candidate or delivery identities when they define required handoffs. Exception: when prototype output contains a state machine, reducer, schema, type shape, or other snippet that encodes an established decision more precisely than prose can, include only its decision-bearing parts and identify it as prototype output.

The publish step is complete when every approved Ticket exists separately with one category and needs-triage, and every parent, blocking, and conflict relation and execution decision is recorded.

Next-phase handoff

Ticket creation never authorizes implementation. Triage verifies and stabilizes the complete Ticket contract; a separate Agent Brief is unnecessary when the body is complete. Requested prompt-comprehension-audits checks comprehension and one-context fit; current PASS or explicit maintainer BYPASS applies ready-for-agent regardless of availability, without selecting work. Remove failed or materially stale readiness. Reuse an unchanged applicable audit; maintainer absence alone does not require one.

Explicit authorization may accompany the audit request; after PASS, delivery proceeds in a fresh implementation context, separate from the audit coordinator. Audit-only requests stop after status/readiness recording. For a Mission, pass the selected finite queue, recorded execution plan, relations, delivery boundaries, and established availability to dispatch-tickets. It follows those planning decisions, checks live state, starts or resumes Ticket owners, and verifies delivery. It preserves blocked work while advancing other eligible Tickets within the plan. For one selected Ticket, implement loads orchestrate in the current conversation, whether the maintainer stays or authorizes work while away. It adds no dispatcher or owner handoff. Pass resolved skill paths when launching owners for a multi-Ticket Mission. Every route preserves the accepted scope, applicable gates, exclusive ownership, orchestrate's review policy, and delivery evidence; readiness alone does not select work.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.