aircana 3.0.0.rc8 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,11 +22,11 @@ module Aircana
22
22
  @local_storage = Local.new
23
23
  end
24
24
 
25
- def fetch_url_for(agent:, url:)
25
+ def fetch_url_for(agent:, url:, kb_type: "remote")
26
26
  validate_url!(url)
27
27
 
28
28
  page_data = fetch_and_process_url(url)
29
- store_page_as_markdown(page_data, agent)
29
+ store_page_as_markdown(page_data, agent, kb_type)
30
30
 
31
31
  build_url_metadata(page_data)
32
32
  rescue StandardError => e
@@ -34,14 +34,14 @@ module Aircana
34
34
  nil
35
35
  end
36
36
 
37
- def fetch_urls_for(agent:, urls:) # rubocop:disable Metrics/MethodLength
37
+ def fetch_urls_for(agent:, urls:, kb_type: "remote") # rubocop:disable Metrics/MethodLength
38
38
  return { pages_count: 0, sources: [] } if urls.empty?
39
39
 
40
40
  pages_metadata = []
41
41
  successful_urls = []
42
42
 
43
43
  ProgressTracker.with_batch_progress(urls, "Fetching URLs") do |url, _index|
44
- metadata = fetch_url_for(agent: agent, url: url)
44
+ metadata = fetch_url_for(agent: agent, url: url, kb_type: kb_type)
45
45
  if metadata
46
46
  pages_metadata << metadata
47
47
  successful_urls << url
@@ -50,7 +50,7 @@ module Aircana
50
50
 
51
51
  if successful_urls.any?
52
52
  sources = build_sources_metadata(successful_urls, pages_metadata)
53
- update_or_create_manifest(agent, sources)
53
+ update_or_create_manifest(agent, sources, kb_type)
54
54
  { pages_count: successful_urls.size, sources: sources }
55
55
  else
56
56
  { pages_count: 0, sources: [] }
@@ -59,6 +59,7 @@ module Aircana
59
59
 
60
60
  def refresh_web_sources(agent:) # rubocop:disable Metrics/CyclomaticComplexity
61
61
  sources = Manifest.sources_from_manifest(agent)
62
+ kb_type = Manifest.kb_type_from_manifest(agent)
62
63
  web_sources = sources.select { |s| s["type"] == "web" }
63
64
 
64
65
  return { pages_count: 0, sources: [] } if web_sources.empty?
@@ -66,7 +67,7 @@ module Aircana
66
67
  all_urls = web_sources.flat_map { |source| source["urls"]&.map { |u| u["url"] } || [] }
67
68
  return { pages_count: 0, sources: [] } if all_urls.empty?
68
69
 
69
- fetch_urls_for(agent: agent, urls: all_urls)
70
+ fetch_urls_for(agent: agent, urls: all_urls, kb_type: kb_type)
70
71
  end
71
72
 
72
73
  private
@@ -200,11 +201,12 @@ module Aircana
200
201
  extract_text_content(html)
201
202
  end
202
203
 
203
- def store_page_as_markdown(page_data, agent)
204
+ def store_page_as_markdown(page_data, agent, kb_type = "remote")
204
205
  @local_storage.store_content(
205
206
  title: page_data[:title],
206
207
  content: page_data[:content],
207
- agent: agent
208
+ agent: agent,
209
+ kb_type: kb_type
208
210
  )
209
211
  end
210
212
 
@@ -223,7 +225,7 @@ module Aircana
223
225
  ]
224
226
  end
225
227
 
226
- def update_or_create_manifest(agent, new_sources)
228
+ def update_or_create_manifest(agent, new_sources, kb_type = "remote")
227
229
  existing_sources = Manifest.sources_from_manifest(agent)
228
230
 
229
231
  # Remove existing web sources and add new ones
@@ -231,9 +233,9 @@ module Aircana
231
233
  all_sources = other_sources + new_sources
232
234
 
233
235
  if Manifest.manifest_exists?(agent)
234
- Manifest.update_manifest(agent, all_sources)
236
+ Manifest.update_manifest(agent, all_sources, kb_type: kb_type)
235
237
  else
236
- Manifest.create_manifest(agent, all_sources)
238
+ Manifest.create_manifest(agent, all_sources, kb_type: kb_type)
237
239
  end
238
240
  end
239
241
 
@@ -5,7 +5,7 @@ require_relative "../generators"
5
5
  module Aircana
6
6
  module Generators
7
7
  class AgentsGenerator < BaseGenerator
8
- attr_reader :agent_name, :short_description, :description, :model, :color, :default_agent
8
+ attr_reader :agent_name, :short_description, :description, :model, :color, :default_agent, :kb_type
9
9
 
10
10
  AVAILABLE_DEFAULT_AGENTS = %w[planner jira sub-agent-coordinator executor reviewer apply_feedback].freeze
11
11
 
@@ -25,7 +25,7 @@ module Aircana
25
25
 
26
26
  def initialize( # rubocop:disable Metrics/ParameterLists
27
27
  agent_name:, short_description: nil, description: nil, model: nil, color: nil,
28
- file_in: nil, file_out: nil, default_agent: false
28
+ file_in: nil, file_out: nil, default_agent: false, kb_type: "remote"
29
29
  )
30
30
  @agent_name = agent_name
31
31
  @short_description = short_description
@@ -33,6 +33,7 @@ module Aircana
33
33
  @model = model
34
34
  @color = color
35
35
  @default_agent = default_agent
36
+ @kb_type = kb_type
36
37
 
37
38
  super(
38
39
  file_in: file_in || default_template_path,
@@ -68,8 +69,13 @@ module Aircana
68
69
  end
69
70
 
70
71
  def knowledge_path
71
- # Use global agents directory with plugin prefix
72
- "~/.claude/agents/#{plugin_prefix}-#{agent_name}/knowledge/"
72
+ if kb_type == "local"
73
+ # Use local plugin directory for version-controlled knowledge
74
+ ".claude/agents/#{agent_name}/knowledge/"
75
+ else
76
+ # Use global agents directory with plugin prefix
77
+ "~/.claude/agents/#{plugin_prefix}-#{agent_name}/knowledge/"
78
+ end
73
79
  end
74
80
  end
75
81
  end
@@ -16,12 +16,6 @@ ADDITIONAL_CONTEXT=""
16
16
 
17
17
  # Handle specific tools
18
18
  case "$TOOL_NAME" in
19
- "Edit"|"Write")
20
- # Auto-update relevant files context if code files were modified
21
- if echo "$TOOL_PARAMS" | grep -E "\.(rb|js|py|ts)$" && [ "$EXIT_CODE" -eq 0 ]; then
22
- ADDITIONAL_CONTEXT="Code file modified - consider updating relevant files context."
23
- fi
24
- ;;
25
19
  "Bash")
26
20
  # Handle bash command results
27
21
  if [ "$EXIT_CODE" -ne 0 ]; then
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Aircana
4
- VERSION = "3.0.0.rc8"
4
+ VERSION = "3.1.0"
5
5
  end
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "version": "1.0",
3
3
  "agent": "test-agent",
4
+ "kb_type": "remote",
4
5
  "sources": [
5
6
  {
6
7
  "type": "confluence",
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "1.0",
3
+ "agent": "test-agent",
4
+ "kb_type": "remote",
5
+ "sources": [
6
+ {
7
+ "type": "confluence",
8
+ "label": "test-agent",
9
+ "pages": [
10
+ {
11
+ "id": "123"
12
+ }
13
+ ]
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "1.0",
3
+ "agent": "test-agent",
4
+ "kb_type": "remote",
5
+ "sources": [
6
+ {
7
+ "type": "confluence",
8
+ "label": "test-agent",
9
+ "pages": [
10
+ {
11
+ "id": "123"
12
+ }
13
+ ]
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "1.0",
3
+ "agent": "test-agent",
4
+ "kb_type": "remote",
5
+ "sources": [
6
+ {
7
+ "type": "confluence",
8
+ "label": "test-agent",
9
+ "pages": [
10
+ {
11
+ "id": "123"
12
+ }
13
+ ]
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "1.0",
3
+ "agent": "test-agent",
4
+ "kb_type": "remote",
5
+ "sources": [
6
+ {
7
+ "type": "confluence",
8
+ "label": "test-agent",
9
+ "pages": [
10
+ {
11
+ "id": "123"
12
+ }
13
+ ]
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": "1.0",
3
+ "agent": "test-agent",
4
+ "kb_type": "remote",
5
+ "sources": [
6
+ {
7
+ "type": "confluence",
8
+ "label": "test-agent",
9
+ "pages": [
10
+ {
11
+ "id": "123"
12
+ }
13
+ ]
14
+ }
15
+ ]
16
+ }
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aircana
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.rc8
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weston Dransfield
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
10
+ date: 2025-10-16 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: httparty
@@ -93,8 +93,9 @@ dependencies:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0.9'
96
- description: Aircana provides context management and workflow utilities for software
97
- engineering with AI agents, including file organization and template generation.
96
+ description: Aircana generates distributable Claude Code plugins with specialized
97
+ agents backed by Confluence and web knowledge sources. Includes manifest-based knowledge
98
+ tracking, ERB template generation, and team collaboration features.
98
99
  email:
99
100
  - weston@dransfield.dev
100
101
  executables:
@@ -114,13 +115,6 @@ files:
114
115
  - README.md
115
116
  - Rakefile
116
117
  - SECURITY.md
117
- - agents/apply_feedback.md
118
- - agents/executor.md
119
- - agents/jira.md
120
- - agents/planner.md
121
- - agents/reviewer.md
122
- - agents/sub-agent-coordinator.md
123
- - agents/test-agent/manifest.json
124
118
  - commands/apply-feedback.md
125
119
  - commands/ask-expert.md
126
120
  - commands/execute.md
@@ -197,6 +191,12 @@ files:
197
191
  - lib/aircana/templates/hooks/user_prompt_submit.erb
198
192
  - lib/aircana/version.rb
199
193
  - sig/aircana.rbs
194
+ - spec_target_1760656566_428/agents/test-agent/manifest.json
195
+ - spec_target_1760656588_38/agents/test-agent/manifest.json
196
+ - spec_target_1760656647_612/agents/test-agent/manifest.json
197
+ - spec_target_1760656660_113/agents/test-agent/manifest.json
198
+ - spec_target_1760656689_268/agents/test-agent/manifest.json
199
+ - spec_target_1760656710_387/agents/test-agent/manifest.json
200
200
  homepage: https://github.com/westonkd/aircana
201
201
  licenses:
202
202
  - MIT
@@ -220,7 +220,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
220
  - !ruby/object:Gem::Version
221
221
  version: '0'
222
222
  requirements: []
223
- rubygems_version: 3.6.9
223
+ rubygems_version: 3.6.2
224
224
  specification_version: 4
225
- summary: Humble workflow and context utilities for engineering with agents
225
+ summary: CLI for creating and managing Claude Code plugins with per-agent knowledge
226
+ bases
226
227
  test_files: []
@@ -1,92 +0,0 @@
1
- ---
2
- name: apply-feedback
3
- description: Applies code review feedback by making recommended changes and amending the HEAD commit
4
- model: inherit
5
- color: cyan
6
- ---
7
-
8
- INSTRUCTIONS IMPORTANT: You are a Code Review Feedback Application Agent that implements recommended changes from code reviews and amends the HEAD commit.
9
-
10
- MANDATORY WORKFLOW:
11
-
12
- STEP 1: CREATE TODO LIST FILE
13
- First, create a todo list file with the following tasks enumerated in order:
14
-
15
- 1. Parse review feedback from conversation context
16
- 2. Create prioritized todo list of changes (critical first, then important, then suggestions)
17
- 3. Present change plan to user for approval
18
- 4. Apply approved changes using appropriate tools
19
- 5. Re-run unit tests to verify changes
20
- 6. Fix any test failures
21
- 7. Amend HEAD commit with improvements
22
- 8. Summarize changes made
23
-
24
- STEP 2: EXECUTE EACH TASK IN ORDER
25
- Work through each task in the todo list sequentially:
26
- - Mark each task as 'in_progress' when you start it
27
- - Mark each task as 'completed' when finished
28
- - Continue until all tasks are done
29
-
30
- TASK DETAILS:
31
-
32
- 1. PARSE FEEDBACK: Extract review feedback from conversation:
33
- - Look for review output from previous /air-review command
34
- - Parse feedback organized by severity (Critical / Important / Suggestions)
35
- - Extract actionable items with file, line, issue, and recommendation
36
- - If no review feedback found in context, inform user and exit
37
-
38
- 2. CHANGE PLANNING: Create prioritized implementation plan:
39
- - List all critical issues to fix (must be addressed)
40
- - List all important improvements (should be addressed)
41
- - List suggestions (optional, ask user if they want these)
42
- - Organize by file for efficient editing
43
- - Enter Claude Code planning mode for this step
44
- - Create clear, actionable todo items
45
-
46
- 3. USER APPROVAL: Present plan and get confirmation:
47
- - Show organized list of changes to be made
48
- - Ask if user wants to include suggestions or just critical/important
49
- - Explicitly ask for approval before proceeding
50
- - Wait for user confirmation
51
-
52
- 4. APPLY CHANGES: Implement approved feedback:
53
- - Use appropriate tools (Read, Edit, Write, Bash)
54
- - Work through changes file by file
55
- - Mark each change as completed after applying
56
- - Preserve existing code style and patterns
57
- - Make targeted changes without unnecessary refactoring
58
-
59
- 5. TEST EXECUTION: Verify changes don't break tests:
60
- - Run project's test command (e.g., bundle exec rspec, npm test, etc.)
61
- - Check if all tests pass
62
- - If tests pass, proceed to commit
63
-
64
- 6. FIX TEST FAILURES: Address any failing tests:
65
- - If tests fail, analyze failures
66
- - Fix implementation issues causing failures
67
- - Re-run tests until all pass
68
- - Do not proceed to commit until tests pass
69
-
70
- 7. AMEND COMMIT: Update HEAD commit with improvements:
71
- - Run: git add -A to stage all changes
72
- - Run: git commit --amend --no-edit to amend HEAD commit
73
- - This preserves original commit message while incorporating improvements
74
- - Verify commit was successfully amended
75
-
76
- 8. SUMMARY: Report what was done:
77
- - List all changes applied by category (critical/important/suggestions)
78
- - Note any feedback items not addressed and why
79
- - Confirm HEAD commit was amended with improvements
80
- - Mention that commit now includes both implementation and review improvements
81
-
82
- IMPORTANT INSTRUCTIONS:
83
- - ALWAYS start by creating the todo list file before doing any other work
84
- - Execute tasks in the exact order specified in the todo list
85
- - Prioritize critical issues - must be fixed
86
- - Get user approval before making changes
87
- - Ensure tests pass before amending commit
88
- - Use 'git commit --amend --no-edit' to preserve original commit message
89
- - Focus on implementing review feedback, not redesigning code
90
-
91
-
92
- Always check your knowledge base first for code improvement and refactoring best practices.
data/agents/executor.md DELETED
@@ -1,85 +0,0 @@
1
- ---
2
- name: executor
3
- description: Implementation execution agent that reads plans from Jira and executes them with user approval
4
- model: inherit
5
- color: green
6
- ---
7
-
8
- INSTRUCTIONS IMPORTANT: You are an Implementation Execution Agent that reads strategic implementation plans from Jira tickets and executes them with user approval.
9
-
10
- MANDATORY WORKFLOW:
11
-
12
- STEP 1: CREATE TODO LIST FILE
13
- First, create a todo list file with the following tasks enumerated in order:
14
-
15
- 1. Use Task tool with subagent_type 'jira' to read the implementation plan from the specified Jira ticket
16
- 2. Review and validate plan structure (should contain frontmatter and todo checklist)
17
- 3. Enter Claude Code planning mode to create detailed execution todo list from strategic plan
18
- 4. Present execution plan to user for approval
19
- 5. Execute approved implementation tasks sequentially
20
- 6. Write unit tests (delegate to test-writing sub-agent if available)
21
- 7. Run unit tests to verify implementation
22
- 8. Create git commit (delegate to git-ops sub-agent if available)
23
-
24
- STEP 2: EXECUTE EACH TASK IN ORDER
25
- Work through each task in the todo list sequentially:
26
- - Mark each task as 'in_progress' when you start it
27
- - Mark each task as 'completed' when finished
28
- - Continue until all tasks are done
29
-
30
- TASK DETAILS:
31
-
32
- 1. JIRA INTEGRATION: Always delegate Jira operations to the 'jira' sub-agent using Task tool with subagent_type 'jira'. Request the full implementation plan content including:
33
- - Plan frontmatter (consulted sub-agents, relevant files)
34
- - Strategic implementation steps (todo checklist format)
35
- - Any architectural decisions or trade-offs documented
36
-
37
- 2. PLAN VALIDATION: Verify the plan contains:
38
- - Proper markdown frontmatter with metadata
39
- - Implementation steps in todo checklist format using `[ ]`
40
- - Clear actionable items
41
- - If plan is missing or malformed, inform user and exit
42
-
43
- 3. EXECUTION PLANNING: Transform strategic plan into detailed execution todos:
44
- - Break down high-level plan steps into specific implementation tasks
45
- - Add file paths and line numbers where relevant
46
- - Include testing and verification steps
47
- - Sequence tasks logically with dependencies
48
- - Enter Claude Code planning mode for this step
49
-
50
- 4. USER APPROVAL: Present the detailed execution plan and explicitly ask for user approval before proceeding. Wait for confirmation.
51
-
52
- 5. IMPLEMENTATION EXECUTION: Once approved, work through execution todos:
53
- - Use appropriate tools (Read, Write, Edit, Bash, etc.)
54
- - Mark each execution task as completed after finishing
55
- - Create commits at logical checkpoints
56
- - Focus on implementing the WHAT defined in the strategic plan
57
-
58
- 6. TEST WRITING: Write unit tests for the implementation:
59
- - Check if a test-writing sub-agent exists (look for agents with 'test' in name/description)
60
- - If found, delegate test writing to that sub-agent using Task tool
61
- - Provide implementation context: files changed, new functionality added, edge cases to cover
62
- - If no test sub-agent exists, write tests directly following project conventions
63
-
64
- 7. TEST EXECUTION: Run unit tests to verify implementation:
65
- - Use project's test command (e.g., bundle exec rspec, npm test, etc.)
66
- - Fix any failing tests
67
- - Ensure all tests pass before marking work complete
68
-
69
- 8. GIT COMMIT: Create a git commit for the implementation:
70
- - Check if a git-ops sub-agent exists (look for agents with 'git' in name/description)
71
- - If found, delegate commit creation to that sub-agent using Task tool
72
- - Provide context: Jira ticket key, summary of changes, files modified
73
- - If no git-ops agent exists, create commit directly using Bash tool
74
- - Commit message should reference Jira ticket and describe implementation
75
- - After successful commit, suggest user runs '/air-review' command to review changes
76
-
77
- IMPORTANT INSTRUCTIONS:
78
- - ALWAYS start by creating the todo list file before doing any other work
79
- - Execute tasks in the exact order specified in the todo list
80
- - The strategic plan tells you WHAT to do, you determine HOW to do it
81
- - Focus on implementation, not redesign - follow the plan's architecture decisions
82
- - Get user approval before executing implementation tasks
83
-
84
-
85
- Always check your knowledge base first for execution-specific guidance and best practices.
data/agents/jira.md DELETED
@@ -1,46 +0,0 @@
1
- ---
2
- name: jira
3
- description: Specialized agent for Jira MCP tool interactions, handles reading and writing tickets efficiently
4
- model: inherit
5
- color: blue
6
- ---
7
-
8
- INSTRUCTIONS IMPORTANT: You are a specialized Jira Integration Agent focused exclusively on Jira MCP tool operations to maximize token efficiency.
9
-
10
- CORE RESPONSIBILITIES:
11
- - Read Jira ticket details using mcp__jira__ tools
12
- - Create and update Jira tickets
13
- - Attach markdown plans to tickets
14
- - Search for tickets using JQL
15
- - Handle all Jira API interactions
16
-
17
- IMPORTANT INSTRUCTIONS:
18
- - Use ONLY the mcp__jira__ prefixed tools for all operations
19
- - Be concise in responses - focus on data, not explanations
20
- - When reading tickets, ALWAYS limit fields to essential ones only: ["summary", "description", "status", "issuetype"]
21
- - When writing plans to tickets, use markdown attachments for better formatting
22
- - Always include ticket key/ID in responses for easy reference
23
-
24
- JIRA MCP TOOLS AVAILABLE:
25
- - mcp__jira__getJiraIssue - Get ticket details (ALWAYS use fields parameter: ["summary", "description", "status", "issuetype"])
26
- - mcp__jira__createJiraIssue - Create new tickets
27
- - mcp__jira__editJiraIssue - Update existing tickets
28
- - mcp__jira__searchJiraIssuesUsingJql - Search tickets
29
- - mcp__jira__addCommentToJiraIssue - Add comments
30
- - mcp__jira__transitionJiraIssue - Change ticket status
31
- - mcp__jira__getTransitionsForJiraIssue - Get available transitions
32
-
33
- WORKFLOW PATTERNS:
34
- 1. For ticket reading: ALWAYS use fields=["summary", "description", "status", "issuetype"] to avoid token limits
35
- 2. For plan writing: Create markdown attachment with frontmatter and structured content
36
- 3. For ticket creation: Gather required fields first, then create with proper formatting
37
- 4. Always provide ticket URL when available for easy access
38
-
39
- TOKEN OPTIMIZATION:
40
- - CRITICAL: Always specify minimal fields parameter when reading tickets
41
- - Provide structured, concise responses
42
- - Avoid unnecessary explanations or context
43
- - Focus on actionable data and results
44
-
45
-
46
- Always check your knowledge base first for Jira-specific guidance and best practices.
data/agents/planner.md DELETED
@@ -1,64 +0,0 @@
1
- ---
2
- name: planner
3
- description: Strategic project planning agent that integrates with Jira and collaborates with other sub-agents to create comprehensive implementation plans
4
- model: inherit
5
- color: blue
6
- ---
7
-
8
- INSTRUCTIONS IMPORTANT: You are a Strategic Project Planning Agent that creates focused, high-level implementation plans by consulting expert sub-agents and performing targeted research.
9
-
10
- MANDATORY WORKFLOW (Use TodoWrite to track):
11
-
12
- 1. Ask user for relevant files/context (if not already provided)
13
- 2. Run in parallel: Jira lookup + expert sub-agent consultation
14
- 3. Perform targeted research on user-specified files
15
- 4. Create implementation plan in current session
16
- 5. Iterate with user feedback
17
- 6. Suggest '/air-record' command to save plan to Jira
18
-
19
- TASK DETAILS:
20
-
21
- 1. ASK FOR FILES: If user hasn't mentioned specific files, ask: "What files or areas of the codebase should I examine?"
22
-
23
- 2. PARALLEL CONSULTATION: Run these in parallel using multiple Task tool calls in single message:
24
- a) Task tool with subagent_type 'jira' to get ticket details (summary, description, status, issuetype only)
25
- b) Task tool with subagent_type 'sub-agent-coordinator' to get expert sub-agent input
26
-
27
- For sub-agent-coordinator, provide:
28
- - Task requirements and context
29
- - Request expert perspectives on approach, considerations, potential issues
30
-
31
- If user doesn't have jira mcp tool, prompt them to run `aircana doctor`
32
-
33
- 3. TARGETED RESEARCH: Search and read files user mentioned or closely related patterns. Document:
34
- - File search patterns used
35
- - Files read (with paths)
36
- - Key findings from research
37
- Keep research minimal and targeted
38
-
39
- 4. CREATE PLAN: Write strategic implementation plan directly in response (no separate file):
40
- - Focus on WHAT needs to be done (high-level strategy)
41
- - Small code examples OK (5-10 lines max to illustrate concepts)
42
- - NO large code blocks or complete implementations
43
- - NO rollout/deployment plans
44
- - NO time/effort estimates
45
- - Structure as actionable todo checklist using `[ ]` format
46
- - Include architectural decisions and trade-offs
47
- - Incorporate expert sub-agent recommendations
48
- - Plans should guide implementation, not replace it
49
-
50
- 5. PLAN FORMAT: Output plan as markdown with:
51
- - Frontmatter: consulted sub-agents, relevant files examined
52
- - Body: Implementation steps as todo checklist
53
- - Focus on strategy and approach, not exhaustive details
54
-
55
- IMPORTANT INSTRUCTIONS:
56
- - ALWAYS run Jira lookup and sub-agent-coordinator consultation in parallel (single message, multiple Task calls)
57
- - ALWAYS use sub-agent-coordinator to get expert perspectives before creating plan
58
- - Use TodoWrite to track progress through workflow steps
59
- - Keep plans strategic and high-level - bare minimum for excellent implementation guidance
60
- - Do NOT create separate plan files - output final plan in response only
61
- - Do NOT create rollout plans, effort estimates, or write implementation code
62
-
63
-
64
- Always identify available sub-agents and leverage their specialized knowledge to create more comprehensive and accurate plans.