Skip to content

Instantly share code, notes, and snippets.

@zecka
Created September 30, 2026 05:56
Show Gist options
  • Select an option

  • Save zecka/db3fb3c494bbd3d0debfb8f4d2a335fc to your computer and use it in GitHub Desktop.

Select an option

Save zecka/db3fb3c494bbd3d0debfb8f4d2a335fc to your computer and use it in GitHub Desktop.
Claude vs Copilot Workflow

Claude Workflow vs Copilot Workflow

Ce document montre le même workflow implémenté dans :

  • Claude Code (workflow JS exécutable)
  • GitHub Copilot (workflow Markdown déclaratif)

Le workflow est volontairement simple :

  1. Vérifier la connectivité Kubernetes
  2. Découvrir le namespace cible
  3. Déployer l'application
  4. Valider le déploiement
  5. Arrêter le workflow en cas d'échec

Version Claude Code

Workflow

phase('Connectivity')

const connectivity = await agent(
  'Verify kubectl connectivity',
  {
    schema: {
      type: 'object',
      properties: {
        connected: { type: 'boolean' }
      }
    }
  }
)

if (!connectivity.connected) {
  return { status: 'failed' }
}

phase('Discovery')

const discovery = await agent(
  'Find deployment namespace',
  {
    schema: {
      type: 'object',
      properties: {
        namespace: { type: 'string' }
      }
    }
  }
)

phase('Deploy')

const deployment = await agent(
  `Deploy application into ${discovery.namespace}`,
  {
    schema: {
      type: 'object',
      properties: {
        success: { type: 'boolean' }
      }
    }
  }
)

if (!deployment.success) {
  return { status: 'failed' }
}

phase('Validation')

const validation = await agent(
  `Validate deployment in ${discovery.namespace}`,
  {
    schema: {
      type: 'object',
      properties: {
        valid: { type: 'boolean' }
      }
    }
  }
)

return {
  status: validation.valid ? 'success' : 'failed'
}

Caractéristiques

  • Workflow exécutable
  • Variables partagées entre phases
  • Conditions programmatiques (if)
  • Arrêt explicite du workflow (return)
  • Sorties structurées via JSON Schema

Version Copilot

workflow.md

# Kubernetes Deployment Workflow

## Stage 1 - Connectivity

Delegate to: connectivity-agent

Expected output:

{
  "connected": true
}

Gate:

- connected must be true
- otherwise stop workflow

---

## Stage 2 - Discovery

Delegate to: discovery-agent

Expected output:

{
  "namespace": "demo"
}

---

## Stage 3 - Deploy

Delegate to: deploy-agent

Inputs:

{
  "namespace": "{{namespace}}"
}

Expected output:

{
  "success": true
}

Gate:

- success must be true
- otherwise stop workflow

---

## Stage 4 - Validation

Delegate to: validation-agent

Inputs:

{
  "namespace": "{{namespace}}"
}

Expected output:

{
  "valid": true
}

---

## Final Result

Workflow succeeds if:

{
  "valid": true
}

Agents Copilot

connectivity-agent.md

# Connectivity Agent

Check:

- kubectl version
- kubectl cluster-info

Return:

{
  "connected": true
}

discovery-agent.md

# Discovery Agent

Determine deployment namespace.

Return:

{
  "namespace": "demo"
}

deploy-agent.md

# Deploy Agent

Deploy the application into the provided namespace.

Input:

{
  "namespace": ""
}

Output:

{
  "success": true
}

validation-agent.md

# Validation Agent

Verify:

- Deployment exists
- Pods are running

Return:

{
  "valid": true
}

Concept Mapping

Claude Code Copilot
Workflow JS workflow.md
phase() Stage
agent() Delegate to Agent
Variable JS Structured Output
if (...) Gate
return Stop Workflow
Knowledge files Skills
MCP MCP
Sub-agents Custom Agents

Architecture Portable

Pour une compatibilité maximale entre Claude, Copilot et Codex, il est préférable d'adopter une structure indépendante du moteur :

migration/
│
├── workflow/
│   └── workflow.md
│
├── agents/
│   ├── connectivity.md
│   ├── discovery.md
│   ├── deployment.md
│   └── validation.md
│
└── skills/
    ├── kubernetes/
    ├── deployment-rules/
    └── troubleshooting/

Répartition recommandée

Workflow
└── orchestration uniquement

Agents
└── responsabilités métier

Skills
└── connaissances métier

Objectif :

  • Workflow ≈ 5 à 10 % du contenu
  • Agents ≈ 20 à 30 % du contenu
  • Skills ≈ 60 à 80 % du contenu

Ainsi, le même ensemble de connaissances peut être réutilisé par :

  • Claude Code
  • GitHub Copilot
  • Codex
  • tout autre agent compatible MCP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment