Files
Lesstime/.claude/skills/ticket-executor/SKILL.md
Matthieu 21e050ce29
Some checks failed
Auto Tag Develop / tag (push) Has been cancelled
feat : add Docker prodcution deployment
2026-04-01 11:00:10 +02:00

2.9 KiB

name, description
name description
ticket-executor Execute Lesstime project tickets systematically - updates MCP statuses, follows project conventions, and logs learnings for self-improvement

Ticket Executor Skill

Purpose

Execute Lesstime project tickets end-to-end: read the ticket, implement the fix, update MCP status, and log learnings.

Workflow

1. Receive Ticket

  • Get ticket ID, title, description, tags (Backend/Frontend), priority, and current status
  • Understand the scope from the title and description

2. Set Status to "En cours" (ID: 2)

  • Use MCP update-task with statusId: 2 before starting work
  • MCP endpoint: http://project.malio-dev.fr/_mcp
  • Auth: Bearer 7e8b410a5b79b5c0432951dcee3a3a81e0731e86d9f70d8784ec079a2b759c64

3. Analyze & Implement

Based on tag:

  • Backend: Check src/Entity/, src/State/, src/Controller/, src/Security/, config/
  • Frontend: Check frontend/components/, frontend/composables/, frontend/pages/, frontend/services/

Conventions to follow:

  • PHP: declare(strict_types=1), Symfony + PSR-12, API Platform patterns
  • Frontend: TypeScript strict, useApi() composable, 4 spaces indent
  • See CLAUDE.md for full conventions

4. Verify

  • For Backend: make php-cs-fixer-allow-risky if PHP changed
  • For Frontend: check TypeScript types, no any
  • Read modified files to confirm correctness

5. Set Status to "Terminé" (ID: 5)

  • Use MCP update-task with statusId: 5 after successful implementation

6. Log Learnings

Append to .claude/skills/ticket-executor/LEARNINGS.md:

  • What worked well
  • Patterns discovered
  • Gotchas encountered
  • Time-saving shortcuts found

MCP Session Management

The MCP HTTP transport requires a session. To call tools:

# Initialize session (get Mcp-Session-Id from response header)
curl -si -X POST http://project.malio-dev.fr/_mcp \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"claude","version":"1.0"}}}'

# Call tool (use Mcp-Session-Id from init response)
curl -s -X POST http://project.malio-dev.fr/_mcp \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -H "Mcp-Session-Id: <session-id>" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"update-task","arguments":{"id":<taskId>,"statusId":<statusId>}}}'

Status IDs

  • 1 = A faire
  • 2 = En cours
  • 3 = Bloqué
  • 4 = En attente de validation
  • 5 = Terminé

Learnings Integration

Before each ticket, read LEARNINGS.md to apply previous insights. After each ticket, append new learnings. This creates a feedback loop that improves execution quality over time.

Parallel Execution Rules

  • Independent tickets (no shared files) can run in parallel via worktree agents
  • Tickets modifying the same files must run sequentially
  • Always verify no merge conflicts after parallel execution