権限を設定できるように

This commit is contained in:
nrslib 2026-01-26 16:39:57 +09:00
parent c1fccaaf37
commit 90cac7e25e
15 changed files with 501 additions and 18 deletions

View File

@ -26,6 +26,9 @@ initial_step: first-step # Optional, defaults to first step
steps: steps:
- name: step-name - name: step-name
agent: coder # Built-in agent or path to .md file agent: coder # Built-in agent or path to .md file
allowed_tools: # Optional tool allowlist for this step
- Read
- Grep
instruction_template: | instruction_template: |
Your instructions here with {variables} Your instructions here with {variables}
transitions: transitions:
@ -80,6 +83,15 @@ max_iterations: 5
steps: steps:
- name: implement - name: implement
agent: coder agent: coder
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
{task} {task}
transitions: transitions:
@ -98,6 +110,15 @@ max_iterations: 10
steps: steps:
- name: implement - name: implement
agent: coder agent: coder
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
{task} {task}
transitions: transitions:
@ -108,6 +129,12 @@ steps:
- name: review - name: review
agent: architect agent: architect
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
Review the implementation for: Review the implementation for:
- Code quality - Code quality
@ -126,6 +153,12 @@ steps:
steps: steps:
- name: analyze - name: analyze
agent: architect agent: architect
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
Analyze this request and create a plan: {task} Analyze this request and create a plan: {task}
transitions: transitions:
@ -135,6 +168,15 @@ steps:
- name: implement - name: implement
agent: coder agent: coder
pass_previous_response: true # Enable {previous_response} pass_previous_response: true # Enable {previous_response}
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
Implement based on this analysis: Implement based on this analysis:
{previous_response} {previous_response}

View File

@ -11,6 +11,13 @@ initial_step: plan
steps: steps:
- name: plan - name: plan
agent: ~/.takt/agents/default/planner.md agent: ~/.takt/agents/default/planner.md
allowed_tools:
- Read
- Glob
- Grep
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -72,6 +79,15 @@ steps:
- name: implement - name: implement
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -135,6 +151,12 @@ steps:
- name: review - name: review
agent: ~/.takt/agents/default/architect.md agent: ~/.takt/agents/default/architect.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -199,6 +221,15 @@ steps:
- name: improve - name: improve
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -234,6 +265,12 @@ steps:
- name: ai_review - name: ai_review
agent: ~/.takt/agents/default/ai-reviewer.md agent: ~/.takt/agents/default/ai-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -298,6 +335,15 @@ steps:
- name: ai_fix - name: ai_fix
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -331,6 +377,12 @@ steps:
- name: security_review - name: security_review
agent: ~/.takt/agents/default/security.md agent: ~/.takt/agents/default/security.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -398,6 +450,15 @@ steps:
- name: security_fix - name: security_fix
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -427,6 +488,15 @@ steps:
- name: fix - name: fix
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -457,6 +527,13 @@ steps:
- name: supervise - name: supervise
agent: ~/.takt/agents/default/supervisor.md agent: ~/.takt/agents/default/supervisor.md
allowed_tools:
- Read
- Glob
- Grep
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}

View File

@ -23,6 +23,13 @@ steps:
# =========================================== # ===========================================
- name: plan - name: plan
agent: ~/.takt/agents/default/planner.md agent: ~/.takt/agents/default/planner.md
allowed_tools:
- Read
- Glob
- Grep
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -87,6 +94,15 @@ steps:
# =========================================== # ===========================================
- name: implement - name: implement
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -153,6 +169,12 @@ steps:
# =========================================== # ===========================================
- name: cqrs_es_review - name: cqrs_es_review
agent: ~/.takt/agents/expert-review/cqrs-es-reviewer.md agent: ~/.takt/agents/expert-review/cqrs-es-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -221,6 +243,15 @@ steps:
- name: fix_cqrs_es - name: fix_cqrs_es
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -259,6 +290,12 @@ steps:
# =========================================== # ===========================================
- name: frontend_review - name: frontend_review
agent: ~/.takt/agents/expert-review/frontend-reviewer.md agent: ~/.takt/agents/expert-review/frontend-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -327,6 +364,15 @@ steps:
- name: fix_frontend - name: fix_frontend
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -365,6 +411,12 @@ steps:
# =========================================== # ===========================================
- name: ai_review - name: ai_review
agent: ~/.takt/agents/default/ai-reviewer.md agent: ~/.takt/agents/default/ai-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -429,6 +481,15 @@ steps:
- name: ai_fix - name: ai_fix
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -465,6 +526,12 @@ steps:
# =========================================== # ===========================================
- name: security_review - name: security_review
agent: ~/.takt/agents/expert-review/security-reviewer.md agent: ~/.takt/agents/expert-review/security-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -530,6 +597,15 @@ steps:
- name: fix_security - name: fix_security
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -577,6 +653,12 @@ steps:
# =========================================== # ===========================================
- name: qa_review - name: qa_review
agent: ~/.takt/agents/expert-review/qa-reviewer.md agent: ~/.takt/agents/expert-review/qa-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -642,6 +724,15 @@ steps:
- name: fix_qa - name: fix_qa
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -693,6 +784,12 @@ steps:
# =========================================== # ===========================================
- name: supervise - name: supervise
agent: ~/.takt/agents/expert-review/supervisor.md agent: ~/.takt/agents/expert-review/supervisor.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -800,6 +897,15 @@ steps:
- name: fix_supervisor - name: fix_supervisor
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}

View File

@ -10,6 +10,12 @@ max_iterations: 5
steps: steps:
- name: melchior - name: melchior
agent: ~/.takt/agents/magi/melchior.md agent: ~/.takt/agents/magi/melchior.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
# MAGI System Initiated # MAGI System Initiated
@ -30,6 +36,12 @@ steps:
- name: balthasar - name: balthasar
agent: ~/.takt/agents/magi/balthasar.md agent: ~/.takt/agents/magi/balthasar.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
# MAGI System Continuing # MAGI System Continuing
@ -55,6 +67,12 @@ steps:
- name: casper - name: casper
agent: ~/.takt/agents/magi/casper.md agent: ~/.takt/agents/magi/casper.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
# MAGI System Final Deliberation # MAGI System Final Deliberation

View File

@ -14,6 +14,12 @@ max_iterations: 10
steps: steps:
- name: plan - name: plan
agent: ~/.takt/agents/research/planner.md agent: ~/.takt/agents/research/planner.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Status ## Workflow Status
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -46,6 +52,12 @@ steps:
- name: dig - name: dig
agent: ~/.takt/agents/research/digger.md agent: ~/.takt/agents/research/digger.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Status ## Workflow Status
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -83,6 +95,12 @@ steps:
- name: supervise - name: supervise
agent: ~/.takt/agents/research/supervisor.md agent: ~/.takt/agents/research/supervisor.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Status ## Workflow Status
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}

View File

@ -11,6 +11,13 @@ initial_step: plan
steps: steps:
- name: plan - name: plan
agent: ~/.takt/agents/default/planner.md agent: ~/.takt/agents/default/planner.md
allowed_tools:
- Read
- Glob
- Grep
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -72,6 +79,15 @@ steps:
- name: implement - name: implement
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -135,6 +151,12 @@ steps:
- name: review - name: review
agent: ~/.takt/agents/default/architect.md agent: ~/.takt/agents/default/architect.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -199,6 +221,15 @@ steps:
- name: improve - name: improve
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -234,6 +265,12 @@ steps:
- name: ai_review - name: ai_review
agent: ~/.takt/agents/default/ai-reviewer.md agent: ~/.takt/agents/default/ai-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -298,6 +335,15 @@ steps:
- name: ai_fix - name: ai_fix
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -331,6 +377,12 @@ steps:
- name: security_review - name: security_review
agent: ~/.takt/agents/default/security.md agent: ~/.takt/agents/default/security.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -398,6 +450,15 @@ steps:
- name: security_fix - name: security_fix
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -427,6 +488,15 @@ steps:
- name: fix - name: fix
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -457,6 +527,13 @@ steps:
- name: supervise - name: supervise
agent: ~/.takt/agents/default/supervisor.md agent: ~/.takt/agents/default/supervisor.md
allowed_tools:
- Read
- Glob
- Grep
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}

View File

@ -23,6 +23,13 @@ steps:
# =========================================== # ===========================================
- name: plan - name: plan
agent: ~/.takt/agents/default/planner.md agent: ~/.takt/agents/default/planner.md
allowed_tools:
- Read
- Glob
- Grep
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -87,6 +94,15 @@ steps:
# =========================================== # ===========================================
- name: implement - name: implement
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -153,6 +169,12 @@ steps:
# =========================================== # ===========================================
- name: cqrs_es_review - name: cqrs_es_review
agent: ~/.takt/agents/expert-review/cqrs-es-reviewer.md agent: ~/.takt/agents/expert-review/cqrs-es-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -221,6 +243,15 @@ steps:
- name: fix_cqrs_es - name: fix_cqrs_es
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -259,6 +290,12 @@ steps:
# =========================================== # ===========================================
- name: frontend_review - name: frontend_review
agent: ~/.takt/agents/expert-review/frontend-reviewer.md agent: ~/.takt/agents/expert-review/frontend-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -327,6 +364,15 @@ steps:
- name: fix_frontend - name: fix_frontend
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -365,6 +411,12 @@ steps:
# =========================================== # ===========================================
- name: ai_review - name: ai_review
agent: ~/.takt/agents/default/ai-reviewer.md agent: ~/.takt/agents/default/ai-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -429,6 +481,15 @@ steps:
- name: ai_fix - name: ai_fix
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -465,6 +526,12 @@ steps:
# =========================================== # ===========================================
- name: security_review - name: security_review
agent: ~/.takt/agents/expert-review/security-reviewer.md agent: ~/.takt/agents/expert-review/security-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -530,6 +597,15 @@ steps:
- name: fix_security - name: fix_security
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -577,6 +653,12 @@ steps:
# =========================================== # ===========================================
- name: qa_review - name: qa_review
agent: ~/.takt/agents/expert-review/qa-reviewer.md agent: ~/.takt/agents/expert-review/qa-reviewer.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -642,6 +724,15 @@ steps:
- name: fix_qa - name: fix_qa
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -693,6 +784,12 @@ steps:
# =========================================== # ===========================================
- name: supervise - name: supervise
agent: ~/.takt/agents/expert-review/supervisor.md agent: ~/.takt/agents/expert-review/supervisor.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}
@ -800,6 +897,15 @@ steps:
- name: fix_supervisor - name: fix_supervisor
agent: ~/.takt/agents/default/coder.md agent: ~/.takt/agents/default/coder.md
allowed_tools:
- Read
- Glob
- Grep
- Edit
- Write
- Bash
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## Workflow Context ## Workflow Context
- Iteration: {iteration}/{max_iterations} - Iteration: {iteration}/{max_iterations}

View File

@ -10,6 +10,12 @@ max_iterations: 5
steps: steps:
- name: melchior - name: melchior
agent: ~/.takt/agents/magi/melchior.md agent: ~/.takt/agents/magi/melchior.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
# MAGI System 起動 # MAGI System 起動
@ -30,6 +36,12 @@ steps:
- name: balthasar - name: balthasar
agent: ~/.takt/agents/magi/balthasar.md agent: ~/.takt/agents/magi/balthasar.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
# MAGI System 継続 # MAGI System 継続
@ -55,6 +67,12 @@ steps:
- name: casper - name: casper
agent: ~/.takt/agents/magi/casper.md agent: ~/.takt/agents/magi/casper.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
# MAGI System 最終審議 # MAGI System 最終審議

View File

@ -14,6 +14,12 @@ max_iterations: 10
steps: steps:
- name: plan - name: plan
agent: ~/.takt/agents/research/planner.md agent: ~/.takt/agents/research/planner.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## ワークフロー状況 ## ワークフロー状況
- イテレーション: {iteration}/{max_iterations} - イテレーション: {iteration}/{max_iterations}
@ -46,6 +52,12 @@ steps:
- name: dig - name: dig
agent: ~/.takt/agents/research/digger.md agent: ~/.takt/agents/research/digger.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## ワークフロー状況 ## ワークフロー状況
- イテレーション: {iteration}/{max_iterations} - イテレーション: {iteration}/{max_iterations}
@ -83,6 +95,12 @@ steps:
- name: supervise - name: supervise
agent: ~/.takt/agents/research/supervisor.md agent: ~/.takt/agents/research/supervisor.md
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: | instruction_template: |
## ワークフロー状況 ## ワークフロー状況
- イテレーション: {iteration}/{max_iterations} - イテレーション: {iteration}/{max_iterations}

View File

@ -64,6 +64,7 @@ describe('WorkflowConfigRawSchema', () => {
{ {
name: 'step1', name: 'step1',
agent: 'coder', agent: 'coder',
allowed_tools: ['Read', 'Grep'],
instruction: '{task}', instruction: '{task}',
transitions: [ transitions: [
{ condition: 'done', next_step: 'COMPLETE' }, { condition: 'done', next_step: 'COMPLETE' },
@ -75,6 +76,7 @@ describe('WorkflowConfigRawSchema', () => {
const result = WorkflowConfigRawSchema.parse(config); const result = WorkflowConfigRawSchema.parse(config);
expect(result.name).toBe('test-workflow'); expect(result.name).toBe('test-workflow');
expect(result.steps).toHaveLength(1); expect(result.steps).toHaveLength(1);
expect(result.steps[0]?.allowed_tools).toEqual(['Read', 'Grep']);
expect(result.max_iterations).toBe(10); expect(result.max_iterations).toBe(10);
}); });

View File

@ -29,6 +29,8 @@ export interface RunAgentOptions {
provider?: 'claude' | 'codex'; provider?: 'claude' | 'codex';
/** Resolved path to agent prompt file */ /** Resolved path to agent prompt file */
agentPath?: string; agentPath?: string;
/** Allowed tools for this agent run */
allowedTools?: string[];
onStream?: StreamCallback; onStream?: StreamCallback;
onPermissionRequest?: PermissionHandler; onPermissionRequest?: PermissionHandler;
onAskUserQuestion?: AskUserQuestionHandler; onAskUserQuestion?: AskUserQuestionHandler;
@ -36,14 +38,6 @@ export interface RunAgentOptions {
bypassPermissions?: boolean; bypassPermissions?: boolean;
} }
/** Default tools for each built-in agent type */
const DEFAULT_AGENT_TOOLS: Record<string, string[]> = {
coder: ['Read', 'Glob', 'Grep', 'Edit', 'Write', 'Bash', 'WebSearch', 'WebFetch'],
architect: ['Read', 'Glob', 'Grep', 'WebSearch', 'WebFetch'],
supervisor: ['Read', 'Glob', 'Grep', 'Bash', 'WebSearch', 'WebFetch'],
planner: ['Read', 'Glob', 'Grep', 'Bash', 'WebSearch', 'WebFetch'],
};
type AgentProvider = 'claude' | 'codex'; type AgentProvider = 'claude' | 'codex';
function resolveProvider(cwd: string, options?: RunAgentOptions, agentConfig?: CustomAgentConfig): AgentProvider { function resolveProvider(cwd: string, options?: RunAgentOptions, agentConfig?: CustomAgentConfig): AgentProvider {
@ -89,12 +83,14 @@ export async function runCustomAgent(
task: string, task: string,
options: RunAgentOptions options: RunAgentOptions
): Promise<AgentResponse> { ): Promise<AgentResponse> {
const allowedTools = options.allowedTools ?? agentConfig.allowedTools;
// If agent references a Claude Code agent // If agent references a Claude Code agent
if (agentConfig.claudeAgent) { if (agentConfig.claudeAgent) {
const callOptions: ClaudeCallOptions = { const callOptions: ClaudeCallOptions = {
cwd: options.cwd, cwd: options.cwd,
sessionId: options.sessionId, sessionId: options.sessionId,
allowedTools: agentConfig.allowedTools, allowedTools,
model: options.model || agentConfig.model, model: options.model || agentConfig.model,
onStream: options.onStream, onStream: options.onStream,
onPermissionRequest: options.onPermissionRequest, onPermissionRequest: options.onPermissionRequest,
@ -109,7 +105,7 @@ export async function runCustomAgent(
const callOptions: ClaudeCallOptions = { const callOptions: ClaudeCallOptions = {
cwd: options.cwd, cwd: options.cwd,
sessionId: options.sessionId, sessionId: options.sessionId,
allowedTools: agentConfig.allowedTools, allowedTools,
model: options.model || agentConfig.model, model: options.model || agentConfig.model,
onStream: options.onStream, onStream: options.onStream,
onPermissionRequest: options.onPermissionRequest, onPermissionRequest: options.onPermissionRequest,
@ -121,7 +117,7 @@ export async function runCustomAgent(
// Custom agent with prompt // Custom agent with prompt
const systemPrompt = loadAgentPrompt(agentConfig); const systemPrompt = loadAgentPrompt(agentConfig);
const tools = agentConfig.allowedTools || ['Read', 'Glob', 'Grep', 'WebSearch', 'WebFetch']; const tools = allowedTools;
const provider = resolveProvider(options.cwd, options, agentConfig); const provider = resolveProvider(options.cwd, options, agentConfig);
if (provider === 'codex') { if (provider === 'codex') {
const callOptions: CodexCallOptions = { const callOptions: CodexCallOptions = {
@ -134,12 +130,12 @@ export async function runCustomAgent(
return callCodexCustom(agentConfig.name, task, systemPrompt, callOptions); return callCodexCustom(agentConfig.name, task, systemPrompt, callOptions);
} }
const callOptions: ClaudeCallOptions = { const callOptions: ClaudeCallOptions = {
cwd: options.cwd, cwd: options.cwd,
sessionId: options.sessionId, sessionId: options.sessionId,
allowedTools: tools, allowedTools: tools,
model: options.model || agentConfig.model, model: options.model || agentConfig.model,
statusPatterns: agentConfig.statusPatterns, statusPatterns: agentConfig.statusPatterns,
onStream: options.onStream, onStream: options.onStream,
onPermissionRequest: options.onPermissionRequest, onPermissionRequest: options.onPermissionRequest,
onAskUserQuestion: options.onAskUserQuestion, onAskUserQuestion: options.onAskUserQuestion,
@ -198,7 +194,7 @@ export async function runAgent(
throw new Error(`Agent file not found: ${options.agentPath}`); throw new Error(`Agent file not found: ${options.agentPath}`);
} }
const systemPrompt = loadAgentPromptFromPath(options.agentPath); const systemPrompt = loadAgentPromptFromPath(options.agentPath);
const tools = DEFAULT_AGENT_TOOLS[agentName] || ['Read', 'Glob', 'Grep', 'WebSearch', 'WebFetch']; const tools = options.allowedTools;
const provider = resolveProvider(options.cwd, options); const provider = resolveProvider(options.cwd, options);
if (provider === 'codex') { if (provider === 'codex') {

View File

@ -66,6 +66,7 @@ function normalizeWorkflowConfig(raw: unknown, workflowDir: string): WorkflowCon
agent: step.agent, agent: step.agent,
agentDisplayName: step.agent_name || extractAgentDisplayName(step.agent), agentDisplayName: step.agent_name || extractAgentDisplayName(step.agent),
agentPath: resolveAgentPathForWorkflow(step.agent, workflowDir), agentPath: resolveAgentPathForWorkflow(step.agent, workflowDir),
allowedTools: step.allowed_tools,
provider: step.provider, provider: step.provider,
instructionTemplate: step.instruction_template || step.instruction || '{task}', instructionTemplate: step.instruction_template || step.instruction || '{task}',
transitions: step.transitions.map((t) => ({ transitions: step.transitions.map((t) => ({

View File

@ -59,6 +59,7 @@ export const WorkflowStepRawSchema = z.object({
agent: z.string().min(1), agent: z.string().min(1),
/** Display name for the agent (shown in output). Falls back to agent basename if not specified */ /** Display name for the agent (shown in output). Falls back to agent basename if not specified */
agent_name: z.string().optional(), agent_name: z.string().optional(),
allowed_tools: z.array(z.string()).optional(),
provider: z.enum(['claude', 'codex']).optional(), provider: z.enum(['claude', 'codex']).optional(),
instruction: z.string().optional(), instruction: z.string().optional(),
instruction_template: z.string().optional(), instruction_template: z.string().optional(),

View File

@ -60,6 +60,8 @@ export interface WorkflowStep {
agent: string; agent: string;
/** Display name for the agent (shown in output). Falls back to agent basename if not specified */ /** Display name for the agent (shown in output). Falls back to agent basename if not specified */
agentDisplayName: string; agentDisplayName: string;
/** Allowed tools for this step (optional, passed to agent execution) */
allowedTools?: string[];
/** Resolved absolute path to agent prompt file (set by loader) */ /** Resolved absolute path to agent prompt file (set by loader) */
agentPath?: string; agentPath?: string;
/** Provider override for this step */ /** Provider override for this step */

View File

@ -147,6 +147,7 @@ export class WorkflowEngine extends EventEmitter {
cwd: this.cwd, cwd: this.cwd,
sessionId, sessionId,
agentPath: step.agentPath, agentPath: step.agentPath,
allowedTools: step.allowedTools,
provider: step.provider, provider: step.provider,
onStream: this.options.onStream, onStream: this.options.onStream,
onPermissionRequest: this.options.onPermissionRequest, onPermissionRequest: this.options.onPermissionRequest,