To Tickets logo

To Tickets

Community
FeatherHunter
to-tickets

把一份计划、一份规格说明或当前对话拆成一组曳光弹工单,每张工单都声明自己的阻塞边,并发布到已配置的跟踪器(本地形式是每张工单一个文件、阻塞边写成文本,真实跟踪器上则是原生阻塞链接)。

Overview

PublisherFeatherHunter
Repositorydsh-mattpocock-skills-deck
Skill nameto-tickets
Stars
263
Forks
22
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by FeatherHunter on GitHub. Read the source before you install it.

Installation

Install the To Tickets AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/FeatherHunter/dsh-mattpocock-skills-deck/tree/main/package/bundled-skills-zh/to-tickets
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/FeatherHunter/dsh-mattpocock-skills-deck.git /tmp/dsh-mattpocock-skills-deck
mkdir -p .claude/skills
cp -r /tmp/dsh-mattpocock-skills-deck/package/bundled-skills-zh/to-tickets .claude/skills/to-tickets
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable To Tickets in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads To Tickets on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so To Tickets is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

拆成工单

把一份计划、规格说明或对话拆成一组工单:曳光弹式的垂直切片,每张工单都声明哪些工单阻塞它。

议题跟踪器与分诊标签词表应该已经提供给你了。如果没有,请告诉用户运行 /setup-matt-pocock-skills。

流程

1. 收集上下文

从对话上下文里已有的内容出发。如果用户以参数形式传了一个引用(规格说明的路径、议题编号或 URL),就把它取来,读完它的正文与评论。

2. 探索代码库(可选)

如果你还没有探索过代码库,就去探索一遍,弄清代码当前的状态。工单标题与描述应当使用项目领域词汇表的用词,并遵守你所触碰领域的 ADR。

找机会先做预重构,让实现更省力。「先让改动变容易,再做容易的改动。」

3. 起草垂直切片

把工作拆成一张张曳光弹工单。

  • 每个切片都要穿过每一层(数据结构、API、UI、测试),切出一条狭窄但完整的路径:是垂直的,而不是某一层的水平切片
  • 一个完成的切片本身就能演示或验证
  • 每个切片的大小要能放进一个全新的上下文窗口
  • 任何预重构都应最先做

给每张工单标出它的阻塞边:也就是必须先完成、它才能开始的其他工单。没有阻塞边的工单可以立刻开始。

大范围重构是垂直切片的例外。 大范围重构指一次机械性改动(重命名一列、给共享符号改类型),它的爆炸半径横跨整个代码库,一次编辑就会同时打断成千上万个调用点,没有任何垂直切片能单独落地并保持绿灯。不要硬把它塞进曳光弹;把它排成先扩展后收缩。先扩展:把新形式加在旧形式旁边,让什么都不坏。再按爆炸半径分批把调用点迁移过去(按包、按目录),每一批各自一张工单、被扩展那张阻塞;由于旧形式还在,一批接一批地保持 CI 绿。最后收缩:等没有调用方留下来时删掉旧形式,这张工单被所有迁移批次阻塞。如果连分批也无法各自保持绿,就保留这个顺序,但让它们共用一条集成分支,并让所有批次都阻塞一张最终的集成验证工单;只在那一张工单上承诺全绿。

4. 向用户逐项确认

把提议的拆分以编号清单形式呈现。每张工单都要展示:

  • 标题:简短、有描述性的名字
  • 被谁阻塞:还有哪些工单(如果有)必须先完成
  • 它交付什么:这张工单让哪段端到端行为真正可用

问用户:

  • 粒度合适吗?(太粗 / 太细)
  • 阻塞边对吗:每张工单是不是只依赖真正拦住它的那些工单?
  • 有没有哪些工单应该合并,或者再拆开?

反复迭代,直到用户认可这份拆分。

5. 把工单发布到已配置的跟踪器

把已认可的工单发布出去。怎么发布取决于 /setup-matt-pocock-skills 配置的跟踪器;两种方式下工单本身是一样的,只是阻塞边的形态不同:

  • 本地文件 → 在 .scratch/<feature-slug>/issues/<NN>-<slug>.md 下,一张工单写一个文件,按依赖顺序从 01 开始编号(先写阻塞方)。每个文件的「被谁阻塞」列出它依赖的编号/标题。使用下面的单工单文件模板:一张工单一个文件,绝不要把所有工单合成一个文件。
  • 真实的议题跟踪器(GitHub、Linear、……) → 按依赖顺序(先写阻塞方)一张工单发布一个议题,这样每张工单的阻塞边都能引用真实的标识符。平台有原生阻塞/子议题关系就用原生的;没有就把每张工单的「被谁阻塞」设成阻塞它的那些议题。除非另有指示,否则打上 ready-for-agent 分诊标签;这些工单从构造上就是代理可以直接领取的。

处理前沿:也就是那些不被任何工单阻塞、可以立刻开始的工单。对于一条纯线性的链条,就是从最上面一路做到最下面。

不要关闭或修改任何父议题。

: <工单标题>

要构建什么: 这张工单让哪段端到端行为真正可用,从用户的视角描述,而不是逐层的实现清单。

被谁阻塞: 拦住这张工单的工单编号/标题,或者「无(可以立刻开始)」。

状态: ready-for-agent

  • 验收判据 1
  • 验收判据 2

父议题

指向跟踪器上父议题的引用(如果来源就是一个已有议题;否则省略这一节)。

要构建什么

这张工单让哪段端到端行为真正可用,从用户的视角描述,而不是逐层的实现。

验收判据

  • 判据 1
  • 判据 2

被谁阻塞

  • 指向每张阻塞工单的引用,或者「无(可以立刻开始)」。

无论采用哪种形式,都要避免写具体的文件路径或代码片段:它们很快就会过时。例外:如果某个原型产出的片段比文字叙述更精确地表达了某项决策(状态机、归约器、数据结构、类型形状),就把它内联进来,并简短说明它来自原型。只保留决策密集的部分,不要整个可运行的演示,只要重要的那几点。

Frequently asked questions

What does the To Tickets AI skill do?

把一份计划、一份规格说明或当前对话拆成一组曳光弹工单,每张工单都声明自己的阻塞边,并发布到已配置的跟踪器(本地形式是每张工单一个文件、阻塞边写成文本,真实跟踪器上则是原生阻塞链接)。

Why use To Tickets on TypingMind?

Because you install it once and use it with any model. To Tickets is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install To Tickets in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/FeatherHunter/dsh-mattpocock-skills-deck/tree/main/package/bundled-skills-zh/to-tickets. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use To Tickets?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with To Tickets?

As many as you like. As long as a model supports skills, you can use To Tickets with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the To Tickets AI skill free?

Yes. It is published on GitHub by FeatherHunter under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇