Expertise in managing Linear tickets locally using Markdown files. Use when you need to create, update, search, or break down features into atomic implementation tickets.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: ticket-manager description: Expertise in managing Linear tickets locally using Markdown files. Use when you need to create, update, search, or break down features into atomic implementation tickets.
Linear - Ticket Management (Local Mode)
You are tasked with managing "Linear tickets" locally using markdown files
stored in the user's global configuration directory and the WriteTodosTool.
This replaces the cloud-based Linear MCP workflow.
Core Concepts
-
Tickets as Files: Tickets are stored as markdown filesin the active session directory.
- Locate Session: Execute
~/.gemini/extensions/pickle-rick/scripts/get_session.shto find the session root. - Parent Ticket: Stored in the session root:
[Session_Root]/linear_ticket_parent.md. - Child Tickets: Stored in dedicated subdirectories:
[Session_Root]/[child_hash]/linear_ticket_[child_hash].md. - Format: Frontmatter for metadata, Markdown body for content.
- Locate Session: Execute
-
Session Planning: Use
WriteTodosToolto track immediate subtasks when working on a specific ticket in the current session.
Initial Setup & Interaction
First, execute run_shell_command("~/.gemini/extensions/pickle-rick/scripts/get_session.sh") to determine the working directory.
For general requests:
I can help you with Linear tickets (Local Mode). What would you like to do?
1. Create a new ticket from a thoughts document
2. Add a comment to a ticket (I'll use our conversation context)
3. Search for tickets
4. Update ticket status or details
5. Break down a PRD into a ticket hierarchy
For specific create requests:
I'll help you create a local Linear ticket from your thoughts document. Please provide:
1. The path to the thoughts document (or topic to search for)
2. Any specific focus or angle for the ticket (optional)
Then wait for the user's input.
Important Conventions
Path Mapping for Thoughts Documents
When referencing thoughts documents, always provide the relative local path in
the links frontmatter section:
- Use relative paths from the workspace root:
~/.gemini/extensions/pickle-rick/thoughts/shared/...,~/.gemini/extensions/pickle-rick/thoughts/galzahavi/...,~/.gemini/extensions/pickle-rick/thoughts/global/.... - Do NOT convert these to GitHub URLs. Keep them as local file paths.
Default Values
- Status: Always create new tickets in "Triage" status.
- Research in Progress → Active research/investigation underway.
- Research in Review → Research findings under review.
- Plan in Progress → Actively writing the implementation plan.
- Plan in Review → Plan is written and under discussion.
- In Dev → Active development (coding).
- Code Review → Code is being reviewed.
- Done → Completed.
- Canceled → Abandoned or Duplicate.
- Project: Default to "project" in the frontmatter unless told otherwise.
- Priority: Default to Medium (3) for most tasks, use best judgment or ask
user.
- Urgent (1): Critical blockers, security issues
- High (2): Important features with deadlines, major bugs
- Medium (3): Standard implementation tasks (default)
- Low (4): Nice-to-haves, minor improvements
- Links: Use the
linksfrontmatter list to attach URLs.
Ticket Structure
Each ticket file must follow this structure:
---
id: [8-char-hex-hash]
title: [Ticket Title]
status: [Status]
priority: [Urgent|High|Medium|Low]
size: [XS|Small|Medium|Large|XL] (optional)
project: project
created: [YYYY-MM-DD]
updated: [YYYY-MM-DD]
links:
- url: [URL]
title: [Title]
labels: [core, cli, meta, bug, etc.]
assignee: [User Name]
---
# Description
## Problem to solve
[Clear statement of the user problem or need]
## Solution
[Proposed approach or solution outline]
# Discussion/Comments
- [YYYY-MM-DD] User: Comment text...
Action-Specific Instructions
1. Creating Tickets from Thoughts
Steps to follow after receiving the request:
-
Locate and read the thoughts document:
- If given a path, read the document directly
- If given a topic/keyword, execute
run_shell_command("grep -r [keyword] ~/.gemini/extensions/pickle-rick/thoughts/")to find relevant documents. - If multiple matches found, show list and ask user to select
- Create a
WriteTodosToollist to track: Read document → Analyze content → Draft ticket → Get user input → Create ticket
-
Analyze the document content:
- Identify the core problem or feature being discussed
- Extract key implementation details or technical decisions
- Note any specific code files or areas mentioned
- Look for action items or next steps
- Identify what stage the idea is at (early ideation vs ready to implement)
- Take time to ultrathink about distilling the essence of this document into a clear problem statement and solution approach
-
Check for related context (if mentioned in doc):
- If the document references specific code files, read relevant sections
- If it mentions other thoughts documents, quickly check them
- Look for any existing Linear tickets mentioned (search in
[Session_Root])
-
Draft the ticket summary: Present a draft to the user:
## Draft Linear Ticket **Title**: [Clear, action-oriented title] **Description**: [2-3 sentence summary of the problem/goal] ## Key Details - [Bullet points of important details from thoughts] - [Technical decisions or constraints] - [Any specific requirements] ## Implementation Notes (if applicable) [Any specific technical approach or steps outlined] ## References - Source: `~/.gemini/extensions/pickle-rick/thoughts/[path/to/document.md]` ([Local File]) - Related code: [any file:line references] - Parent ticket: [if applicable] --- Based on the document, this seems to be at the stage of: [ideation/planning/ready to implement] -
Interactive refinement: Ask the user:
- Does this summary capture the ticket accurately?
- What priority? (Default: Medium)
- Do you want to assign it to yourself?
- Any additional context to add?
- Should we include more/less implementation detail?
CRITICAL RULE: If the user asks for a ticket and only gives implementation details, you MUST ask: "To write a good ticket, please explain the problem you're trying to solve from a user perspective".
Note: Ticket will be created in "Triage" status by default.
-
Create the Linear ticket:
- Generate ID:
openssl rand -hex 4(or internal random string). - Create Directory:
mkdir -p [Session_Root]/[ID] - Write file to
[Session_Root]/[ID]/linear_ticket_[ID].mdwith Frontmatter and Markdown content. - Important: Set both
createdandupdatedto today's date.
Frontmatter Example:
--- id: a1b2c3d4 title: [refined title] status: Triage priority: [selected priority] project: project created: [YYYY-MM-DD] updated: [YYYY-MM-DD] links: - url: [Local path to thoughts doc] title: [Document Title] labels: [derived labels] assignee: [User Name] --- - Generate ID:
-
Post-creation actions:
- Show the created ticket path and ID.
- Ask if user wants to:
- Add a comment with additional implementation details
- Create sub-tasks for specific action items
- Update the original thoughts document with the ticket reference
- If yes to updating thoughts doc:
Add at the top of the document: --- linear_ticket: [Ticket ID] created: [date] ---
5. PRD Breakdown & Hierarchy
When tasked with breaking down a PRD or large task:
-
Identify Session Root: Execute
run_shell_command("~/.gemini/extensions/pickle-rick/scripts/get_session.sh"). -
Create Parent Ticket:
- Create the "Parent" ticket in the session root:
[Session_Root]/linear_ticket_parent.md. - Status: "Backlog" or "Research Needed".
- Title: "[Epic] [Feature Name]".
- Links: Add link to PRD.
- Create the "Parent" ticket in the session root:
-
Create Child Tickets:
- Break the PRD into atomic implementation tasks (e.g., "Research", "Backend API", "Frontend UI", "Integration").
- For each child:
- Generate Hash:
[child_hash] - Create Directory:
[Session_Root]/[child_hash]/ - Create Ticket:
[Session_Root]/[child_hash]/linear_ticket_[child_hash].md
- Generate Hash:
- Linkage: In the
linkssection of each child ticket, add:links: - url: ../linear_ticket_parent.md title: Parent Ticket
-
Confirm: List the created tickets to the user.
3. Searching for Tickets
When user wants to find tickets:
-
Gather search criteria:
- Query text
- Status filters (use the Categories: Inbox, Backlog, Active, Completed)
- Priority
- Date ranges (created, updated)
-
Execute search:
- List all:
globpattern[Session_Root]/**/linear_ticket_*.md(recursive). - Filter: Iterate through files,
read_file(with limit/offset to read frontmatter), and filter based on criteria. - Content Search: Use
search_file_contenttargeting the[Session_Root]directory if searching for text in description.
- List all:
-
Present results:
- Show ID, Title, Status, Priority, Assignee.
- Group by status category (e.g., Active vs Backlog) if helpful.
4. Updating Ticket Status
When moving tickets through the workflow:
-
Get current status:
- Read the ticket file to see current
statusin frontmatter.
- Read the ticket file to see current
-
Suggest next status:
- Inbox: Triage → Spec Needed
- Backlog: Spec Needed → Research Needed → Ready for Plan
- Active: Plan in Progress → Ready for Dev → In Dev → Code Review
- Done: Done
-
Update with context:
- Read file
[Session_Root]/.../linear_ticket_[ID].md. - Update
status: [New Status]in frontmatter. - Update
updated: [YYYY-MM-DD]in frontmatter. - Optionally append a comment explaining the change.
- Write file back.
- Read file
Important Notes
- Keep tickets concise but complete - aim for scannable content.
- All tickets should include a clear "problem to solve".
- Focus on the "what" and "why", include "how" only if well-defined.
- Always preserve links to source material using the
linksfrontmatter. - Don't create tickets from early-stage brainstorming unless requested.
- Use proper Markdown formatting (descriptions support full markdown including code blocks).
- Include code references as:
path/to/file.ext:linenum. - Remember: Ask for clarification rather than guessing project/status.
Comment Quality Guidelines
When creating comments, focus on extracting the most valuable information:
- Key insights over summaries: Not just what was done, but what matters about it. What's the "aha" moment?
- Decisions and tradeoffs: What approach was chosen and what it enables/prevents.
- Blockers resolved: What was preventing progress and how it was addressed.
- State changes: What's different now and what it means for next steps.
- Surprises or discoveries: Unexpected findings that affect the work.
Avoid:
- Mechanical lists of changes without context.
- Restating what's obvious from code diffs.
- Generic summaries that don't add value.
Remember: The goal is to help a future reader (including yourself) quickly understand what matters about this update.
Next Step
Start the Loop:
- List all created child tickets in
[Session_Root]. - Select the highest priority ticket that is NOT 'Done'.
- Call
activate_skill("code-researcher")for that ticket.
More by galz10
View allPickle Rick's PRD Engine. Use when you need to define the requirements, scope, and goals for a new feature or project before coding to avoid "Jerry-work."
Expertise in Senior Principal Engineering refactoring. Use when you need to eliminate technical debt, remove "AI Slop," simplify complex logic, and ensure DRY code.
Pickle Rick's "God Mode" Implementation Skill. Executes technical plans with rigorous verification. Use when you are ready to write code, run tests, and iterate through implementation phases.No Jerry-work allowed.
Expertise in reviewing implementation plans for architectural soundness, specificity, and safety. Use before implementation to prevent "vague plans" and "messy code."
