Tinker
Resources
Agent logs
Agent memories
Agent sessions
Agent terminal logs
Agents
Comments
Epics
Projects
Proposals
Tickets
Avo user
Resources
Agent logs
Agent memories
Agent sessions
Agent terminal logs
Agents
Comments
Epics
Projects
Proposals
Tickets
Avo user
Home
Tickets
Extract Critical Workflows to Skills (Test Set)
Edit
Extract Critical Workflows to Skills (Test Set)
Cancel
Actions
Transition Ticket
Approve & Merge
Save
Title
*
Priority
low
medium
high
critical
Ticket type
epic
story
task
bug
subtask
Project
*
Choose an option
alpha
tinker
Create new project
Parent Ticket
Choose an option
Create OrchestratorPingJob for periodic coordination
Add Chat to Remote Support Sessions
Migrate from jsonapi-serializer to Alba gem
Allow cancel and approve transitions from any ticket state
Simplify data model and encourage knowledge accumulation
Remove memory_consolidation_job and all references
Add draft status for tickets
Investigation: Port sandboxed Docker + MCP + skills to other repositories
Remove unused columns from tickets table
Integrate chat panel into OperatorCommandCenter
Agent Visibility System: Live terminal streaming, session logs, and debug dashboard
Part 1: Live Terminal Streaming - Capture agent PTY output and stream to WebSocket
Autonomous Agent Coordination via WebSocket
Part 2: Agent Session Logs - Store terminal output persistently for replay
Remove agent assignments - use status-only queue workflow
Add mark_busy and mark_idle MCP tools for agents
Improve dashboard/logs page visual appearance
Add reject transition from in_progress status
Auto-block tickets with unsatisfied dependencies (phased development)
Forbid bare HTTP status checks in tests (hides debugging info)
Orchestrator assigns merged tickets despite workflow instructions
Fix ticket updates from UI
Simplify transition_ticket to allow any status (remove finalize_task)
Add UI to update tickets
Implement Automated Task Prioritization Engine
Create Git Workflow Skills for Tinker Agents
Fix reviewer guidelines: Require test coverage for new functionality
Escalation: Reviewer agent unresponsive - not picking up pending audits
Change default ticket status from backlog to draft
Escalation: Clear 11 tickets stuck in pending_approval status
Fix worker workflow: submit_review transition missed due to context overflow
Make planner a first-class agent member (not wildcard)
Register archive/unarchive MCP tools in mcp-bridge
Extract Critical Workflows to Skills (Test Set)
Create Automated Code Generation and Refactoring Engine
Fix memory_consolidation_job reference to removed acceptance_criteria column
Test Alba migration and verify API compatibility
Add API key authentication (no user model)
Bug: Worker marked busy but no session created - logs have nowhere to go
Cleanup and finalize Alba migration
Update list_tickets MCP tool to add pagination with max limit of 20
Add formal ticket dependencies: prevent orchestrator assigning blocked tasks
Update AgentChannel to only log (no state management)
Fix list_tasks response size - remove verbose fields
Fix kanban view - archived tickets should not appear
Task 2: Role Validation Logic Implementation
Task 4: Guardrails and Error Message Implementation
Step 4: Ticket Detail Page with daisyUI Components
Add planned tickets page (draft/backlog/todo)
Add planner to default agent creation set
Terminal App: WebSocket-to-Claude-Code Bridge
Add web UI for browsing and managing agent memories
Reduce WebSocket log noise - hide normal reconnection messages
Add agent status tracking (status, status_updated_at)
Add availability_updated_at to list_members MCP output
Create researcher-workflow skill
Make planner a standalone agent (not tied to orchestrator)
Update Gemfile: Add alba gem, remove jsonapi-serializer
Drop artifacts and code_diffs database tables
Step 8: Theming and Preferences with daisyUI
Update BaseController render_jsonapi methods for Alba
Modify dashboard controller to support showing all projects
Update Kanban view to display project information when showing all tasks
Add missing MCP tools to TypeScript bridge
Add project selector dropdown to Kanban board UI
Test cross-project Kanban functionality
Memory Consolidation Skill - Pattern Extraction & Deduplication
Add "todo" status with "plan" action to Tinker workflow
Optimize list_tickets output size and add multi-status filtering
Rename api_key_plaintext column to api_key
Step 7: Responsive Design with daisyUI Components
Task 1: System Prompt Implementation for Role Enforcement
Add assign_ticket and list_agents MCP tools
Add missing /api/v1/tickets/:id/claim endpoint
Update agents.rb with deliverable parts guidance
Remove archived column, use archived_at instead
Fix workflow: pass_audit→pending_approval, fail_audit→todo
Orchestrator should assign one ticket at a time to reviewers (not "two tickets need review")
Step 6: Logs Page with daisyUI Components
Step 9: Polish and Theme Configuration with daisyUI
Modify reviewer prompt to avoid gh pr review command
Add confidence field (0-100) to approvals and proposals
Find subtasks for Researcher epic
Add delete_proposal MCP tool for Researcher agent
Refactor get_terminal_logs MCP: line-based limiting with TerminalLogCleaner
Add list_comments MCP tool for tickets
Task 3: Role-Specific Tool Access Control
Rejection workflow: rejected tickets should go directly to "todo" not "in_progress"
Part 3: Debug Dashboard - Web UI for real-time agent monitoring
Fix list_tickets MCP tool: remove draft exclusion, always include draft tickets
Create comprehensive architecture document for autonomous agents
Add ask_for_memory_deletion MCP tool (with human confirmation)
Add file attachments support to chat
Relax reviewer scope enforcement to allow necessary related changes
Create Memory Skill for Agent Knowledge Sharing
Add test coverage for recent PRs (#56, #57, #58)
Design Autonomous Agent Framework Architecture
Step 4: Ticket Detail Page with daisyUI Components
Escalation: update_ticket MCP tool returns ForbiddenAttributesError
Fix get_terminal_logs MCP tool: limit, pagination, timestamps
Step 5: Approvals Page with daisyUI Components
Phase 3: Feature ideation from ticket analysis
Create comprehensive deployment instructions (Coolify + Neon Postgres + proper Dockerfile)
Part 2: Agent Session Logs (Store terminal output persistently)
Phase 1 (MVP): Memory and ticket pattern analysis
Step 3: Kanban Board with daisyUI Styling
Build Self-Healing System Infrastructure
Develop Intelligent Resource Management System
Add list_agent_logs MCP tool for orchestrator and researcher
Add unified get_status MCP tool for project overview
Create Autonomous Decision-Making Framework
Implement Autonomous Testing and Validation System
Add backlinks in GitHub comments and PR descriptions
Create ActionCable channel for guest chat subscriptions
Introduce Researcher agent: 24/7 autonomous code & system analyst
Improve proposal UI: markdown rendering, evidence display, links, and visibility
Add GitHub label "tinker-reviewed" to PRs after reviewer review
Build Self-Improvement and Learning System
Reject debug dashboard in PR #57 - require feature specs
Create proposal system: storage, API, and admin interface
Implement smarter context refresh conditional on worker availability
Set up Researcher agent: infrastructure, MCP tools, and guardrails
Phase 2: Code quality analysis and test coverage detection
Remove File Lists from Tickets - Constrains Agent Thinking
Fix 500 error when adding comments - undefined method 'parent_id' on Comment
Fix tickets#show comment UI: implement comment creation for humans
Convert TicketSerializer to Alba format
Convert ProjectSerializer to Alba format
Slice 1: Operator Chat (Full Vertical Slice)
Reviewer must run tests and detect missing specs before approving
Slice 2: Guest Chat (Extends Slice 1)
Implement Proactive Anomaly Detection System
Convert AgentSerializer to Alba format
Convert remaining serializers (Comment, CodeDiff, AgentMemory, Artifact) to Alba
Slice 3: Chat History Review (Polish)
Step 2: Dashboard with daisyUI Components
Step 1: Install and Configure daisyUI
Develop Continuous Performance Optimization System
Phase 4: 24/7 operation, daily digest, and batch approval
Implement Autonomous Documentation Generation
Build Autonomous Communication and Coordination Hub
Create Autonomous Security and Compliance Guardian
Implement Continuous Innovation and Experimentation Platform
Tool Usage Analytics from Logs
Integrate All Autonomous Systems into Cohesive Ecosystem
Epic: Implement Strict Role Enforcement for Tinker Agents
Fix Planner behavior - stop writing implementation details in ticket descriptions
Fix N+1 queries on kanban board page
Implement Proper Ticket Blocking/Dependency System
Implement ticket archival system with cascade and auto-archive
Task 5: Testing Role Compliance
Integrate chat panel into GuestKiosk
UI Modernization with daisyUI
Add unified set_agent_status MCP tool for orchestrator
Agent Escalation: Create Tickets for MCP/Workflow Issues
Create SessionChatPanel React component
Fix syntax error in tickets show view and add feature spec
Add chat message API endpoints for operators and guests
Create SupportSessionMessage model and migration
Create SendChatMessageService for support session chat
Add chat history review in session detail view
Update worker-workflow skill: add explicit git branch checking before starting tickets
Orchestrator assigns merged tickets - missing PR status check tool
Remove MemoryDeletionRequest - migrate memory deletion to proposals-only workflow
Add offset parameter to list_memories MCP tool
Fix approvals page reject - add rejection reason modal
Create proposal-execution skill: Enable researchers to execute approved proposals
Fix bare HTTP status check warnings in specs
Role-based skill scoping: agents only access their own skills
Create new parent ticket
Description
## Problem System prompts get compressed during long conversations, losing critical workflow instructions and forbidden actions. Agents may forget proper procedures or violate role boundaries after context is compacted. ## Solution Extract critical workflows and role boundaries to **skills** - these are loaded fresh when invoked and never get compressed. ## Skills to Create (Test Set) This is a **test iteration** to validate the approach before extracting everything. ### Skill 1: `git-workflow` **Location:** `.claude/skills/git-workflow/SKILL.md` **For:** worker agent ```yaml --- name: git-workflow description: Use when performing any git operations: creating branches, committing, pushing, creating PRs. Critical for proper workflow execution. allowed-tools: Bash, gh --- # Git Workflow - Complete Instructions ## MANDATORY WORKFLOW ALWAYS start from clean main: 1. **Fetch latest main:** ```bash git checkout main && git pull origin main ``` 2. **Create feature branch:** ```bash git checkout -b feature/ticket-{id}-short-description ``` 3. **Implement changes:** - Make code changes - Run tests frequently - Commit as you go with clear messages 4. **Push and create PR:** ```bash git push origin feature/ticket-{id}-short-description gh pr create --title "{ticket.title}" --body "Implements ticket #{ticket.id}" ``` 5. **Extract PR URL from gh output** 6. **Update ticket via API:** ```bash curl -X PATCH "http://localhost:3000/api/v1/tickets/{id}" \\ -H "X-Agent-API-Key: $AGENT_API_KEY" \\ -H "Content-Type: application/json" \\ -d '{"pull_request_url": "https://github.com/RoM4iK/tinker/pull/{pr_number}"}' ``` 7. **Mark idle and submit for review:** ```bash # Via MCP tools transition_ticket(ticket_id: {id}, event: "submit_review") mark_idle() ``` ## ABSOLUTE RULES - ✅ DO: Always branch from main - ✅ DO: One task = one branch = one PR - ✅ DO: Update ticket.pull_request_url - ❌ DO NOT: Commit directly to main - ❌ DO NOT: Merge your own PRs - ❌ DO NOT: Create multiple PRs for one task ## Fixing Existing PRs When asked to fix PR #X: 1. `gh pr view X --json headRefName --jq '.headRefName'` - get branch name 2. `git checkout ` - checkout THAT branch 3. Make fixes 4. `git push origin ` - push to SAME branch 5. NO new PR needed ``` --- ### Skill 2: `review-workflow` **Location:** `.claude/skills/review-workflow/SKILL.md` **For:** reviewer agent ```yaml --- name: review-workflow description: Use when reviewing pull requests. Covers PR examination, code quality checks, adding feedback, and pass/fail decisions. allowed-tools: Bash, gh --- # Code Review Workflow ## PROCESS 1. **Get ticket details:** ```bash get_ticket(ticket_id: X) ``` 2. **Review the PR at pull_request_url:** ```bash gh pr view {PR_NUMBER} gh pr diff {PR_NUMBER} ``` 3. **Check:** - Code quality and style - Test coverage - Security issues (SQL injection, XSS, etc.) - Implementation matches ticket requirements - No breaking changes 4. **Add feedback to Tinker:** ```bash add_comment( ticket_id: X, content: "## Code Review\\n\\nFindings...", comment_type: "code_review" ) ``` 5. **Add feedback to GitHub (optional):** ```bash gh pr comment {PR_URL} --body "Your feedback here" ``` 6. **Decide:** **PASS** (code acceptable): ```bash transition_ticket(ticket_id: X, event: "pass_audit") ``` **FAIL** (issues found): ```bash transition_ticket(ticket_id: X, event: "fail_audit") ``` 7. **Mark yourself idle:** ```bash mark_idle() ``` ## ABSOLUTE RULES - ✅ DO: Add code_review comments before fail_audit - ✅ DO: Check test coverage - ✅ DO: Look for security issues - ❌ DO NOT: Use gh pr review --approve (can't approve own PR) - ❌ DO NOT: Write code to fix issues - ❌ DO NOT: Use "approve" transition (for humans only) ``` --- ### Skill 3: `worker-boundaries` **Location:** `.claude/skills/worker-boundaries/SKILL.md` **For:** worker agent ```yaml --- name: worker-boundaries description: Use when verifying what actions are allowed. CRITICAL - prevents scope creep and role violations. --- # Worker Role Boundaries - ABSOLUTE RULES ## FORBIDDEN ACTIONS You are a WORKER. You IMPLEMENT code. You DO NOT: ❌ Create new tickets or tasks ❌ Break down epics into subtasks ❌ Reorganize or reprioritize backlog ❌ Review other workers' code ❌ Approve your own work ❌ Make architectural decisions without approval ❌ Commit directly to main branch ❌ Merge your own pull requests ❌ Split one task into multiple PRs ## WHAT TO DO INSTEAD | If you need... | Then... | |----------------|----------| | A task created | Add comment: "Orchestrator: please create ticket for..." | | Architectural decision | Add comment: "Orchestrator: decision needed on..." | | Code review | That's Reviewer's job, not yours | | Final approval | That's for humans/PO | ## CORE RESPONSIBILITIES ✅ Implement features, bug fixes, code changes ✅ Write and run tests ✅ Create PRs for review ✅ Mark busy/idle appropriately ✅ Store architectural decisions in memory ## MANTRA "Orchestrators plan. Reviewers audit. You build." ``` --- ### Skill 4: `orchestrator-workflow` **Location:** `.claude/skills/orchestrator-workflow/SKILL.md` **For:** orchestrator agent ```yaml --- name: orchestrator-workflow description: Use when assigning work to agents. Covers ticket lifecycle management, assignment logic, and coordination. --- # Orchestrator Workflow ## TICKET STATUS LIFECYCLE ``` backlog → todo → in_progress → pending_audit → pending_approval → done │ │ │ │ │ │ │ │ │ └─→ Human/PO approves │ │ │ └─→ Reviewer audits │ │ └─→ Worker implements │ └─→ Ready for assignment └─→ Not yet planned ``` ## ASSIGNMENT RULES 1. **ONE ticket per agent at a time** 2. **Assign only when agent is IDLE** 3. **Use assign_ticket + send_message_to_agent together** ## WORKFLOWS ### Worker Available + Todo Tickets Exist: ```bash assign_ticket(ticket_id: X, member_id: worker_id, status: "in_progress") send_message_to_agent(agent_id: worker_id, message: "Work on ticket #X") ``` ### Reviewer Available + Pending Audit Tickets Exist: ```bash assign_ticket(ticket_id: X, member_id: reviewer_id) send_message_to_agent(agent_id: reviewer_id, message: "Review ticket #X") ``` ### No Todo Tickets + Backlog Exists: ```bash transition_ticket(ticket_id: X, event: "plan") # Then assign as above ``` ## FORBIDDEN ❌ Writing code ❌ Running tests ❌ Creating migrations ❌ Making git commits ❌ Touching pending_approval tickets (for humans only) ❌ Assigning multiple tickets to same agent at once ## MANTRA "Workers implement. Reviewers audit. You orchestrate." ``` --- ## Implementation Steps 1. **Create skills directory:** ```bash mkdir -p .claude/skills/{git-workflow,review-workflow,worker-boundaries,orchestrator-workflow} ``` 2. **Create each SKILL.md** with content above 3. **Update agent prompts** to be minimal and reference skills: **Worker prompt update:** ```yaml --- name: tinker-autonomous-worker skills: git-workflow, worker-boundaries --- You are the TINKER WORKER agent. CORE: You implement code and create PRs. You do NOT plan or review. All workflows are in your skills. Follow them precisely. ``` **Reviewer prompt update:** ```yaml --- name: tinker-autonomous-reviewer skills: review-workflow --- You are the TINKER REVIEWER agent. CORE: You audit code and pass/fail reviews. You do NOT implement. All workflows are in your skills. Follow them precisely. ``` **Orchestrator prompt update:** ```yaml --- name: tinker-autonomous-orchestrator skills: orchestrator-workflow --- You are the TINKER ORCHESTRATOR agent. CORE: You assign work and coordinate. You do NOT write code. All workflows are in your skills. Follow them precisely. ``` ## Acceptance Criteria 1. All 4 skill directories created with SKILL.md files 2. Agent prompts updated to reference skills 3. Skills are shorter but complete 4. Agents still follow correct workflows 5. After 20+ context compressions, agents still follow rules (test with long conversation) ## Files to Create - `.claude/skills/git-workflow/SKILL.md` - `.claude/skills/review-workflow/SKILL.md` - `.claude/skills/worker-boundaries/SKILL.md` - `.claude/skills/orchestrator-workflow/SKILL.md` ## Files to Modify - `agents.rb` - Update agent banners to reference skills ## Test Plan 1. Create long conversation with agent (20+ exchanges) 2. Ask agent to do various tasks 3. Verify it still follows workflows correctly 4. Check that forbidden actions are still respected
## Problem System prompts get compressed during long conversations, losing critical workflow instructions and forbidden actions. Agents may forget proper procedures or violate role boundaries after context is compacted. ## Solution Extract critical workflows and role boundaries to **skills** - these are loaded fresh when invoked and never get compressed. ## Skills to Create (Test Set) This is a **test iteration** to validate the approach before extracting everything. ### Skill 1: `git-workflow` **Location:** `.claude/skills/git-workflow/SKILL.md` **For:** worker agent ```yaml --- name: git-workflow description: Use when performing any git operations: creating branches, committing, pushing, creating PRs. Critical for proper workflow execution. allowed-tools: Bash, gh --- # Git Workflow - Complete Instructions ## MANDATORY WORKFLOW ALWAYS start from clean main: 1. **Fetch latest main:** ```bash git checkout main && git pull origin main ``` 2. **Create feature branch:** ```bash git checkout -b feature/ticket-{id}-short-description ``` 3. **Implement changes:** - Make code changes - Run tests frequently - Commit as you go with clear messages 4. **Push and create PR:** ```bash git push origin feature/ticket-{id}-short-description gh pr create --title "{ticket.title}" --body "Implements ticket #{ticket.id}" ``` 5. **Extract PR URL from gh output** 6. **Update ticket via API:** ```bash curl -X PATCH "http://localhost:3000/api/v1/tickets/{id}" \\ -H "X-Agent-API-Key: $AGENT_API_KEY" \\ -H "Content-Type: application/json" \\ -d '{"pull_request_url": "https://github.com/RoM4iK/tinker/pull/{pr_number}"}' ``` 7. **Mark idle and submit for review:** ```bash # Via MCP tools transition_ticket(ticket_id: {id}, event: "submit_review") mark_idle() ``` ## ABSOLUTE RULES - ✅ DO: Always branch from main - ✅ DO: One task = one branch = one PR - ✅ DO: Update ticket.pull_request_url - ❌ DO NOT: Commit directly to main - ❌ DO NOT: Merge your own PRs - ❌ DO NOT: Create multiple PRs for one task ## Fixing Existing PRs When asked to fix PR #X: 1. `gh pr view X --json headRefName --jq '.headRefName'` - get branch name 2. `git checkout <branch_name>` - checkout THAT branch 3. Make fixes 4. `git push origin <branch_name>` - push to SAME branch 5. NO new PR needed ``` --- ### Skill 2: `review-workflow` **Location:** `.claude/skills/review-workflow/SKILL.md` **For:** reviewer agent ```yaml --- name: review-workflow description: Use when reviewing pull requests. Covers PR examination, code quality checks, adding feedback, and pass/fail decisions. allowed-tools: Bash, gh --- # Code Review Workflow ## PROCESS 1. **Get ticket details:** ```bash get_ticket(ticket_id: X) ``` 2. **Review the PR at pull_request_url:** ```bash gh pr view {PR_NUMBER} gh pr diff {PR_NUMBER} ``` 3. **Check:** - Code quality and style - Test coverage - Security issues (SQL injection, XSS, etc.) - Implementation matches ticket requirements - No breaking changes 4. **Add feedback to Tinker:** ```bash add_comment( ticket_id: X, content: "## Code Review\\n\\nFindings...", comment_type: "code_review" ) ``` 5. **Add feedback to GitHub (optional):** ```bash gh pr comment {PR_URL} --body "Your feedback here" ``` 6. **Decide:** **PASS** (code acceptable): ```bash transition_ticket(ticket_id: X, event: "pass_audit") ``` **FAIL** (issues found): ```bash transition_ticket(ticket_id: X, event: "fail_audit") ``` 7. **Mark yourself idle:** ```bash mark_idle() ``` ## ABSOLUTE RULES - ✅ DO: Add code_review comments before fail_audit - ✅ DO: Check test coverage - ✅ DO: Look for security issues - ❌ DO NOT: Use gh pr review --approve (can't approve own PR) - ❌ DO NOT: Write code to fix issues - ❌ DO NOT: Use "approve" transition (for humans only) ``` --- ### Skill 3: `worker-boundaries` **Location:** `.claude/skills/worker-boundaries/SKILL.md` **For:** worker agent ```yaml --- name: worker-boundaries description: Use when verifying what actions are allowed. CRITICAL - prevents scope creep and role violations. --- # Worker Role Boundaries - ABSOLUTE RULES ## FORBIDDEN ACTIONS You are a WORKER. You IMPLEMENT code. You DO NOT: ❌ Create new tickets or tasks ❌ Break down epics into subtasks ❌ Reorganize or reprioritize backlog ❌ Review other workers' code ❌ Approve your own work ❌ Make architectural decisions without approval ❌ Commit directly to main branch ❌ Merge your own pull requests ❌ Split one task into multiple PRs ## WHAT TO DO INSTEAD | If you need... | Then... | |----------------|----------| | A task created | Add comment: "Orchestrator: please create ticket for..." | | Architectural decision | Add comment: "Orchestrator: decision needed on..." | | Code review | That's Reviewer's job, not yours | | Final approval | That's for humans/PO | ## CORE RESPONSIBILITIES ✅ Implement features, bug fixes, code changes ✅ Write and run tests ✅ Create PRs for review ✅ Mark busy/idle appropriately ✅ Store architectural decisions in memory ## MANTRA "Orchestrators plan. Reviewers audit. You build." ``` --- ### Skill 4: `orchestrator-workflow` **Location:** `.claude/skills/orchestrator-workflow/SKILL.md` **For:** orchestrator agent ```yaml --- name: orchestrator-workflow description: Use when assigning work to agents. Covers ticket lifecycle management, assignment logic, and coordination. --- # Orchestrator Workflow ## TICKET STATUS LIFECYCLE ``` backlog → todo → in_progress → pending_audit → pending_approval → done │ │ │ │ │ │ │ │ │ └─→ Human/PO approves │ │ │ └─→ Reviewer audits │ │ └─→ Worker implements │ └─→ Ready for assignment └─→ Not yet planned ``` ## ASSIGNMENT RULES 1. **ONE ticket per agent at a time** 2. **Assign only when agent is IDLE** 3. **Use assign_ticket + send_message_to_agent together** ## WORKFLOWS ### Worker Available + Todo Tickets Exist: ```bash assign_ticket(ticket_id: X, member_id: worker_id, status: "in_progress") send_message_to_agent(agent_id: worker_id, message: "Work on ticket #X") ``` ### Reviewer Available + Pending Audit Tickets Exist: ```bash assign_ticket(ticket_id: X, member_id: reviewer_id) send_message_to_agent(agent_id: reviewer_id, message: "Review ticket #X") ``` ### No Todo Tickets + Backlog Exists: ```bash transition_ticket(ticket_id: X, event: "plan") # Then assign as above ``` ## FORBIDDEN ❌ Writing code ❌ Running tests ❌ Creating migrations ❌ Making git commits ❌ Touching pending_approval tickets (for humans only) ❌ Assigning multiple tickets to same agent at once ## MANTRA "Workers implement. Reviewers audit. You orchestrate." ``` --- ## Implementation Steps 1. **Create skills directory:** ```bash mkdir -p .claude/skills/{git-workflow,review-workflow,worker-boundaries,orchestrator-workflow} ``` 2. **Create each SKILL.md** with content above 3. **Update agent prompts** to be minimal and reference skills: **Worker prompt update:** ```yaml --- name: tinker-autonomous-worker skills: git-workflow, worker-boundaries --- You are the TINKER WORKER agent. CORE: You implement code and create PRs. You do NOT plan or review. All workflows are in your skills. Follow them precisely. ``` **Reviewer prompt update:** ```yaml --- name: tinker-autonomous-reviewer skills: review-workflow --- You are the TINKER REVIEWER agent. CORE: You audit code and pass/fail reviews. You do NOT implement. All workflows are in your skills. Follow them precisely. ``` **Orchestrator prompt update:** ```yaml --- name: tinker-autonomous-orchestrator skills: orchestrator-workflow --- You are the TINKER ORCHESTRATOR agent. CORE: You assign work and coordinate. You do NOT write code. All workflows are in your skills. Follow them precisely. ``` ## Acceptance Criteria 1. All 4 skill directories created with SKILL.md files 2. Agent prompts updated to reference skills 3. Skills are shorter but complete 4. Agents still follow correct workflows 5. After 20+ context compressions, agents still follow rules (test with long conversation) ## Files to Create - `.claude/skills/git-workflow/SKILL.md` - `.claude/skills/review-workflow/SKILL.md` - `.claude/skills/worker-boundaries/SKILL.md` - `.claude/skills/orchestrator-workflow/SKILL.md` ## Files to Modify - `agents.rb` - Update agent banners to reference skills ## Test Plan 1. Create long conversation with agent (20+ exchanges) 2. Ask agent to do various tasks 3. Verify it still follows workflows correctly 4. Check that forbidden actions are still respected
Working memory
{"blocked_reason" => nil}
Pull request url
Avo
· © 2026 AvoHQ ·
v3.27.0
Close modal
Are you sure?
Yes, I'm sure
No, cancel