Skip to content

Add agentic-campaign-designer custom agent, interactive CLI mode, and remove obsolete issue-based workflow#11793

Merged
mnkiefer merged 12 commits intomainfrom
copilot/add-spec-generation-command
Jan 26, 2026
Merged

Add agentic-campaign-designer custom agent, interactive CLI mode, and remove obsolete issue-based workflow#11793
mnkiefer merged 12 commits intomainfrom
copilot/add-spec-generation-command

Conversation

Copy link
Contributor

Copilot AI commented Jan 25, 2026

Agentic Campaign Designer Custom Agent + Interactive CLI

Agentic campaign specs can now be created through either an interactive custom agent (Copilot Chat) or an interactive CLI command, replacing the obsolete issue-based workflow.

Changes

  • Added .github/agents/agentic-campaign-designer.agent.md

    • Interactive assistant for guided agentic campaign creation through GitHub Copilot Chat
    • AI-powered suggestions and exploratory design process
    • Rich guidance and best practices
  • Added interactive CLI mode: gh aw campaign new --interactive

    • Terminal-native interactive wizard using charmbracelet/huh
    • Works without Copilot license/setup
    • Guided prompts for comprehensive campaign creation
    • Early workflow discovery option (scan additional repos/orgs for worker workflows)
    • Supports project board creation during setup
    • Implementation in pkg/campaign/interactive.go with full test coverage
  • Removed obsolete agentic-campaign-generator workflow

    • Deleted workflow files, generator code, and related functions
    • Updated help text and tests

Latest Update (commit pending)

  • Fixed lint issues: Converted if-else chains to switch statements per staticcheck QF1003

Usage

Option 1: Interactive CLI Wizard

gh aw campaign new --interactive

Guided wizard with early workflow discovery:

  1. Campaign ID
  2. Objective
  3. Workflow discovery (optional, early) ← scan repos/orgs
  4. Repository scope
  5. Workflow selection
  6. Owners
  7. Risk level
  8. Project creation

Option 2: Custom Agent (Copilot Chat)

@agentic-campaign-designer I want to create a security campaign

Option 3: Quick CLI (existing)

gh aw campaign new my-campaign

Validation

  • ✅ All tests pass (pkg/campaign, pkg/cli)
  • ✅ Build succeeds
  • ✅ Lint passes (staticcheck issues fixed)
  • ✅ Code formatted successfully

Provides flexible campaign creation options for different user preferences.

Original prompt

Already have cli command to generate campaign project. What about generating spec from a simple prompt (goal) as we did with the issue? If we can also replace this by a command option or similar, we can remove the create campaign from issue logic.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 3 commits January 25, 2026 19:30
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
…goal

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
@mnkiefer
Copy link
Contributor

@copilot Instead of a cli option, this should probably be a custom agent like agentic-workflows.agent.md, except for campaigns.

Copilot AI changed the title [WIP] Add command option for generating specs from prompts Add --goal flag to campaign new for spec generation from prompt Jan 25, 2026
Copilot AI requested a review from mnkiefer January 25, 2026 19:39
Copy link
Contributor Author

Copilot AI commented Jan 25, 2026

@copilot Instead of a cli option, this should probably be a custom agent like agentic-workflows.agent.md, except for campaigns.

I understand - you're suggesting a custom agent like .github/agents/campaign-designer.agent.md that would work with Copilot to interactively help users create campaigns, rather than just a simple CLI flag that populates a template.

This makes sense as it would provide a richer, more guided experience similar to the agentic-workflows agent. Should I:

  1. Revert the --goal flag changes and create a new custom agent file instead?
  2. Or keep the simple --goal flag for quick CLI usage and also add the custom agent for more interactive creation?

The custom agent would be able to:

  • Ask clarifying questions about the campaign
  • Suggest relevant workflows and repositories
  • Generate KPIs based on the objective
  • Create the project board automatically
  • Provide a more comprehensive spec than the CLI flag alone

Let me know which approach you prefer!

@mnkiefer
Copy link
Contributor

@copilot Revert the --goal flag changes and create a new custom agent file instead.

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 25, 2026

@copilot Revert the --goal flag changes and create a new custom agent file instead.

Done! Reverted the --goal flag and created a custom agent instead.

Changes in commit 2c27857:

Removed --goal flag from campaign new command
Reverted all related code changes (command.go, loader.go, create_test.go)
Created .github/agents/campaign-designer.agent.md

The campaign designer agent provides an interactive, guided experience for creating campaigns through Copilot Chat. Users can now say:

@campaign-designer I want to create a security campaign

The agent will guide them through defining objectives, discovering workflows, configuring scope, and generating comprehensive campaign specs - much richer than a simple CLI flag could provide.

Copilot AI changed the title Add --goal flag to campaign new for spec generation from prompt Add campaign-designer custom agent for interactive campaign creation Jan 25, 2026
@mnkiefer
Copy link
Contributor

@copilot Be consistent with the base, it should be agentic campaign, bot just campaign.

…tency

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 25, 2026

@copilot Be consistent with the base, it should be agentic campaign, bot just campaign.

Fixed in commit 6d645bd:

✅ Renamed campaign-designer.agent.mdagentic-campaign-designer.agent.md
✅ Updated all references to use "agentic campaign" terminology throughout
✅ Now consistent with existing files like generate-agentic-campaign.md, orchestrate-agentic-campaign.md, etc.

The agent now consistently refers to "agentic campaigns" in the description, headers, and throughout the content while preserving correct file extensions (.campaign.md, .campaign.g.md, .campaign.lock.yml).

Copilot AI changed the title Add campaign-designer custom agent for interactive campaign creation Add agentic-campaign-designer custom agent for interactive agentic campaign creation Jan 25, 2026
Copilot AI requested a review from mnkiefer January 25, 2026 20:37
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 25, 2026

@copilot This makes the old camapign generator logic (triggered from issue) redundant, so please remove it.

Done in commit cd8cb90! Removed all old campaign generator logic:

✅ Deleted workflow files: agentic-campaign-generator.md, agentic-campaign-generator.lock.yml
✅ Deleted generator code: pkg/campaign/generator.go
✅ Removed functions from pkg/cli/init.go:

  • addCampaignGeneratorWorkflow()
  • createCampaignLabel()
  • renderCampaignGeneratorMarkdown()
  • getCurrentRepositoryForInit()
    ✅ Updated help text in init_command.go to reference the new agent
    ✅ Removed obsolete tests from init_test.go and compile_purge_campaign_lock_test.go

The agentic-campaign-designer custom agent now fully replaces the issue-triggered workflow.

Copilot AI changed the title Add agentic-campaign-designer custom agent for interactive agentic campaign creation Add agentic-campaign-designer custom agent and remove obsolete issue-based workflow Jan 25, 2026
Copilot AI requested a review from mnkiefer January 25, 2026 21:13
@mnkiefer
Copy link
Contributor

@copilot Could we benefit from having an interactive CLI command to create a campaign?

Copy link
Contributor Author

Copilot AI commented Jan 26, 2026

@copilot Could we benefit from having an interactive CLI command to create a campaign?

Yes, an interactive CLI command could provide value alongside the custom agent. It would offer:

Benefits:

  • Works without Copilot license/setup
  • Scriptable for automation
  • Faster for users who know exactly what they want
  • Terminal-native experience (no IDE/Copilot Chat required)

Potential approach:

gh aw campaign new --interactive
# or
gh aw campaign create

Could use charmbracelet/huh (already in deps) for interactive prompts:

  • Campaign ID
  • Objective/goal
  • Repository scope (current/multiple/org-wide)
  • Workflow discovery (scan local + suggest from agentics)
  • Owner/stakeholders
  • Risk level

The agent would remain for:

  • Users wanting AI-powered suggestions
  • More exploratory/conversational design process
  • Rich guidance and best practices

Would you like me to implement an interactive CLI command?

Copilot AI requested a review from mnkiefer January 26, 2026 06:15
@mnkiefer
Copy link
Contributor

@copilot Yes, implement: gh aw campaign new --interactive. Ask about Workflow discovery early (optional) so one may expand the possible worker workflows to scan for/reuse in the campaign.

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 26, 2026

@copilot Yes, implement: gh aw campaign new --interactive. Ask about Workflow discovery early (optional) so one may expand the possible worker workflows to scan for/reuse in the campaign.

Implemented in commit 55e4716!

✅ Added gh aw campaign new --interactive with guided wizard
Early workflow discovery prompt (optional) - asks early in the flow to scan additional repos/orgs
✅ Comprehensive prompts for: ID, objective, discovery, scope, workflows, owners, risk level, project creation
✅ Uses charmbracelet/huh for terminal-native interactive experience
✅ Works without Copilot license
✅ Generates complete campaign specs with all configured parameters

Flow:

  1. Campaign ID
  2. Objective
  3. Workflow discovery (optional, early) ← scan repos/orgs
  4. Repository scope
  5. Workflow selection (informed by discovery)
  6. Owners
  7. Risk level
  8. Project creation

The early discovery step allows expanding the pool of possible worker workflows before selecting which ones to use in the campaign.

… remove obsolete issue-based workflow

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copilot AI changed the title Add agentic-campaign-designer custom agent and remove obsolete issue-based workflow Add agentic-campaign-designer custom agent, interactive CLI mode, and remove obsolete issue-based workflow Jan 26, 2026
Copilot AI requested a review from mnkiefer January 26, 2026 06:33
@mnkiefer
Copy link
Contributor

@copilot Fix lint tests

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 26, 2026

@copilot Fix lint tests

Fixed in commit 6c335d0:

✅ Converted if-else chains to switch statements (staticcheck QF1003)
✅ Applied to both workflow discovery and repository scope prompts
✅ All tests pass
✅ Lint passes with 0 issues

@mnkiefer mnkiefer merged commit 58168bf into main Jan 26, 2026
84 checks passed
@mnkiefer mnkiefer deleted the copilot/add-spec-generation-command branch January 26, 2026 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants