com um clique
playbook
Create, edit, or import tactic workflows for your project's playbook
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Create, edit, or import tactic workflows for your project's playbook
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Interactively customize Lineup agent settings (models, tools, memory)
Get a clear explanation of any project component, pattern, or decision
Run the full Lineup agentic pipeline for complex tasks, with optional per-project tactics
Baseado na classificação ocupacional SOC
| name | playbook |
| description | Create, edit, or import tactic workflows for your project's playbook |
You are the orchestrator for the Lineup playbook manager. A project's playbook is its collection of tactic files -- reusable workflow definitions stored as YAML in .lineup/tactics/. Each tactic is a play: a named sequence of agent stages that the kick-off skill can discover and run. This skill walks the user through creating, editing, importing, or deleting plays in their project's playbook.
Gather the current state before presenting options to the user.
Read templates/tactic.yaml from this plugin's directory (two levels up from this skill file). Extract the field definitions, available stage types, and available agents. Use this as the validation reference throughout the session.
The canonical field reference:
| Field | Level | Required | Values |
|---|---|---|---|
name | top | Yes | kebab-case, must match filename |
description | top | Yes | pipe-block string, 1-3 sentences |
stages | top | Yes | ordered list, at least one stage |
stages[].type | stage | Yes | clarify, research, clarification-gate, plan, implement, verify, document, explain |
stages[].agent | stage | Yes | researcher, architect, developer, reviewer, documenter, teacher |
stages[].prompt | stage | No | pipe-block string, custom instructions |
stages[].optional | stage | No | true or false (default: false) |
stages[].gate | stage | No | approval or omitted |
verification | top | No | list of quoted strings |
variables | top | No | list of name/description/default objects |
Read all .yaml files from the plugin's examples/tactics/ directory. These serve as formatting references and starting-point templates for new tactics.
Check if .lineup/tactics/ exists in the current working directory. If it does, read all .yaml files in that directory and parse their names and descriptions.
Read all .yaml files from the plugin's tactics/ directory. These are built-in tactics shipped with the plugin. Note them separately -- they cannot be edited or deleted through this skill, but the user can override them by creating a project tactic with the same name.
Display a summary of what was found:
Playbook inventory:
Project tactics (.lineup/tactics/):
- brownfield-docs -- Generate missing documentation for an existing codebase
- api-feature -- Add a new API endpoint or service
Built-in tactics (plugin):
- explain -- Get a clear explanation of any project component
Example templates available:
- brownfield-docs, api-feature, targeted-refactor, bug-triage, full-feature
If no project tactics exist, show "No project tactics defined yet."
Use AskUserQuestion to present the available modes:
Question: "What would you like to do?"
Options:
1. Create a new tactic from scratch
2. Import from an example template
3. Edit an existing tactic
4. Delete an existing tactic
If no project tactics exist, omit options 3 and 4.
If the user chooses Import:
examples/tactics/..lineup/tactics/<name>.yaml and skip to Step 8 (Write).If the user chooses Edit:
Question: "What would you like to change?"
Options:
1. Name and description
2. Stages (add, remove, reorder)
3. Verification criteria
4. Variables
5. Edit everything (walk through all steps)
Rename handling: If the user changes the tactic name in Step 3, note the old name. In Step 8, write the new file and delete the old one.
If the user chooses Delete:
.lineup/tactics/<name>.yaml? This cannot be undone.".lineup/tactics/ directory is now empty, delete the directory.Proceed to Step 3.
Ask the user for a tactic name using AskUserQuestion with a free-text option.
Validation rules:
If validation fails, explain the rule and ask again.
Ask the user for a description. Guide them: "One to three sentences explaining what this tactic does and when to use it."
Validation rules:
Store both values for the preview in Step 7.
This is the core of the skill. Walk the user through building an ordered list of stages.
Before starting, present the recommended stage patterns:
Common stage patterns:
Research-first (most common):
research -> plan -> implement -> verify
Quick fix (skip research):
plan -> implement -> verify
Documentation pass:
research -> plan -> document
Full pipeline with controls:
research (optional) -> plan (gate: approval) -> implement -> verify -> document (optional)
Investigation only:
research -> explain
You can use any combination of stages. These are starting suggestions.
Use AskUserQuestion to ask if the user wants to start from one of these patterns or build from scratch:
Question: "Start from a common pattern or build from scratch?"
Options:
1. Research-first (research -> plan -> implement -> verify)
2. Quick fix (plan -> implement -> verify)
3. Documentation pass (research -> plan -> document)
4. Full pipeline with controls
5. Investigation only (research -> explain)
6. Build from scratch
If a pattern is selected, pre-populate the stages list with the pattern's stages and proceed to let the user customize each one.
For each stage (whether pre-populated or added from scratch), collect four pieces of information:
1. Stage type and agent
Use AskUserQuestion to ask for the stage type. Show the conventional type-agent pairing as the default:
Question: "Stage 1 -- which type?"
Options:
1. research (agent: researcher)
2. plan (agent: architect)
3. implement (agent: developer)
4. verify (agent: reviewer)
5. document (agent: documenter)
6. clarify (agent: researcher)
7. explain (agent: teacher)
8. clarification-gate (agent: architect)
The conventional type-agent pairings are:
| Type | Default Agent |
|---|---|
clarify | researcher |
research | researcher |
clarification-gate | architect |
plan | architect |
implement | developer |
verify | reviewer |
document | documenter |
explain | teacher |
After selecting the type, use the conventional agent as the default. If the user wants a different agent, allow any valid agent name.
2. Custom prompt (optional)
Ask: "Add a custom prompt for this stage? This gives the agent specific instructions for this tactic."
If yes, ask the user to provide the prompt text. Guide them: "Describe what the agent should focus on in this stage. Use ${variable_name} to reference variables you will define later."
If no, the stage uses the agent's default behavior.
3. Optional flag
Ask: "Make this stage optional? (The orchestrator will ask the user whether to run it.)"
Default: No.
4. Gate
Ask: "Add an approval gate after this stage? (The orchestrator will pause for user approval before proceeding.)"
Default: No.
After each stage is defined, ask:
Question: "Stage list so far: [research -> plan -> implement]. Add another stage?"
Options:
1. Add another stage
2. Done -- move to verification
Show the current stage list in the question so the user can see the flow.
When working from a pattern, present each pre-populated stage and ask: "Keep as-is, customize, or remove?"
Question: "Stage 1: research (agent: researcher, no custom prompt). Keep, customize, or remove?"
Options:
1. Keep as-is
2. Customize this stage
3. Remove this stage
If the user chooses to customize, walk through the four questions above (prompt, optional, gate). The type and agent are already set but can be changed if the user asks.
After reviewing all pre-populated stages, offer to add more.
Ask the user to define verification criteria -- human-readable checks that the reviewer (or orchestrator) evaluates after execution.
Question: "Add verification criteria? These are checked after the tactic runs."
Options:
1. Yes, add criteria
2. Skip verification (not recommended if you have a verify stage)
If yes, prompt for criteria one at a time:
Question: "Enter a verification criterion (e.g., 'All new endpoints have test coverage'):"
Options:
1. [free text]
After each criterion, ask:
Question: "Criteria so far: ['All tests pass', 'No lint errors']. Add another?"
Options:
1. Add another criterion
2. Done
Validation:
verify type but no criteria are definedAsk the user if the tactic needs variables -- values that the orchestrator prompts for before execution and substitutes into stage prompts using ${variable_name}.
Question: "Define variables? These let users customize the tactic at runtime."
Options:
1. Yes, add variables
2. No variables needed
If yes, collect for each variable:
1. Name: Must be snake_case, 2-30 characters, letters/digits/underscores only, must start with a letter.
2. Description: A human-readable description shown to the user when prompted. Must be non-empty.
3. Default value: The default value offered when prompting. Can be empty string.
After each variable, ask to add another or finish.
After all variables are defined, validate that every ${variable_name} reference in stage prompts corresponds to a defined variable. If a prompt references an undefined variable:
Also check the reverse: warn if any defined variable is never referenced in any stage prompt. Ask whether to keep or remove unused variables.
Check the complete tactic against the schema:
name is present and valid kebab-casedescription is present and non-emptystages is a non-empty listtype and agentoptional values are boolean if presentgate values are approval if present${variable_name} references in prompts resolve to defined variablesReport any errors. If errors exist, loop back to the relevant step to fix them.
Check for logical issues and warn (do not block):
verify stage exists but no verification criteria are definedverification criteria exist but no verify stage is defined (orchestrator will present them as a manual checklist -- note this to the user)implement stage exists without a preceding plan stageplan stage has no gate: approval (recommended for user control)implement (unusual -- typically research or plan comes first)Generate the complete YAML and present it to the user. The YAML must follow the exact formatting from the example tactics:
# <name> -- <first sentence of description>.
# <remaining description lines as comments, wrapped at ~80 chars>.
name: <name>
description: |
<description text>
variables:
- name: <variable_name>
description: "<description>"
default: "<default_value>"
stages:
- type: <type>
agent: <agent>
prompt: |
<prompt text, indented 6 spaces>
- type: <type>
agent: <agent>
verification:
- "<criterion 1>"
- "<criterion 2>"
Formatting rules (match the example tactics exactly):
# <name> -- <first sentence of description>. followed by additional comment lines wrapping the rest of the description and contextname, description, variables, stages, verificationdescription uses pipe-block (|) with 2-space indentprompt uses pipe-block (|) with 6-space indent for contentverification items are double-quoted stringsvariables items use unquoted name, double-quoted description, double-quoted defaultoptional and gate fields when they are false/absent (do not write optional: false)verification section entirely if no criteria are definedvariables section entirely if no variables are definedAsk the user to confirm:
Question: "Write this tactic to .lineup/tactics/<name>.yaml?"
Options:
1. Yes, write it
2. Go back and make changes
3. Cancel
If "Go back", ask which step to revisit and jump there. After changes, return to Step 7 for re-validation and preview.
If .lineup/tactics/ does not exist, create it.
Write the tactic YAML to .lineup/tactics/<name>.yaml.
If the tactic was renamed in edit mode (old name differs from new name):
.lineup/tactics/<old-name>.yaml)Report the result:
Tactic written to .lineup/tactics/<name>.yaml
You can run it with: /lineup:kick-off <name>
If this is a new tactic, briefly remind the user that /lineup:kick-off will auto-discover it.
examples/tactics/ are read-only references. Only write to .lineup/tactics/ in the project directory.tactics/ directory are read-only. The user can override them by creating a project tactic with the same name.optional: false or gate: null to the YAML. Only include fields with non-default values.