Awesome-omni-skill persona-coordination
Use when coordinating multi-persona team workflows, planning artifact handoffs between personas, or resolving cross-persona conflicts.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/testing-security/persona-coordination" ~/.claude/skills/diegosouzapw-awesome-omni-skill-persona-coordination && rm -rf "$T"
skills/testing-security/persona-coordination/SKILL.mdPersona Coordination Patterns
Guide to orchestrating Arc's 8 expert personas for cohesive OpenSpec planning, Beads decomposition, and team execution.
Persona Roles Overview
| Persona | Role | OpenSpec Artifacts | Beads Type |
|---|---|---|---|
| System design lead | Architecture, service boundaries, API contracts | Service/integration Beads |
| UI/component design | Component hierarchy, data flow, performance budgets | Component/page Beads |
| Risk analysis, threat modeling | Threat models, security controls, compliance matrix | Security control Beads |
| Type system design | Type architecture, tsconfig, API types | Type definition Beads |
| Test strategy | Test pyramid, coverage targets, verification gates | Test Beads (execute first) |
| Root cause analysis, prevention | Root cause docs, regression prevention patterns | Regression test Beads |
| Evidence gathering, synthesis | Research briefs, evidence matrices, confidence levels | Research validation Beads |
| User insights, usability | Personas, journeys, heuristic evaluations | User-driven requirement Beads |
Coordination Pairs
1. Backend-Architect ↔ Security-Auditor
Flow: Architecture → Threat Modeling → Hardened Architecture
- Backend produces initial architecture (services, APIs, integration points)
- Security performs STRIDE/PASTA threat analysis on architecture
- Security identifies controls needed: auth flows, encryption, rate limiting, validation
- Backend incorporates security controls into final architecture design
- Output: OpenSpec architecture with integrated security requirements
Example Handoff:
Backend: "Design REST API for user service with OAuth 2.0" ↓ Security: "Threat model identifies: token leakage, CSRF on endpoints, injection risks" ↓ Backend: "Revise design: add token encryption, CSRF tokens, input validation layers" ↓ Joint OpenSpec: Architecture + threat model + control matrix
2. Frontend-Developer ↔ TypeScript-Pro ↔ TDD-Orchestrator
Flow: Component Design → Type Safety → Test Strategy
- Frontend defines component hierarchy, data flow, state strategy
- TypeScript designs type architecture (API types, component props, domain types)
- TDD designs test pyramid (unit tests for types, integration for components, E2E for flows)
- Frontend implements using types and test-first discipline
- Output: Typed, tested, performance-optimized components
Example Handoff:
Frontend: "Dashboard needs user profile widget + chart integration" ↓ TypeScript: "Define UserProfile interface, ChartData discriminated union, props types" ↓ TDD: "Test pyramid: unit tests for type validation, integration for widget props, E2E for chart rendering" ↓ Frontend: "Write tests → implement components with strict typing" ↓ Beads Output: - Type definition Bead (frontend: pending) - Component unit test Bead (frontend: blocked by types) - Chart integration test Bead (frontend: blocked by component) - Component implementation Bead (frontend: blocked by tests)
3. TDD-Orchestrator ↔ All Technical Personas
Flow: Testability as Cross-Cutting Concern
- TDD coordinates with each technical persona to ensure testability
- TDD + Backend: API contract tests, integration test strategy
- TDD + Frontend: Component/hook unit tests, accessibility tests
- TDD + TypeScript: Type assertion tests, type coverage
- TDD + Security: Security test vectors, penetration test gating
- Output: Comprehensive test matrix covering all concerns
Example Coordination:
TDD: "Establish test pyramid: 60% unit, 25% integration, 10% E2E, 5% security" ↓ Backend: "Provide integration test fixtures for API endpoints" ↓ Frontend: "Provide component test utilities and accessibility checklist" ↓ TypeScript: "Provide type assertion test templates" ↓ Security: "Provide OWASP test vectors and penetration test suite" ↓ TDD creates Beads: Test infrastructure → API tests → Component tests → Security tests → Implementation
4. Debugger ↔ All Personas (Reactive)
Flow: Root Cause → Prevention Pattern → Bead Enhancement
- Debugger invoked when test fails or issue emerges
- Debugger identifies root cause and architectural gap
- Debugger escalates to lead if issue requires design revision
- Debugger + TDD: Creates regression test Bead to prevent recurrence
- Output: Enhanced Beads with regression tests and prevention patterns
Example:
Test fails: "Component unmounts before async data loads" ↓ Debugger: "Root cause: missing loading state management, race condition in cleanup" ↓ Debugger + TDD: "Create regression test for race condition" ↓ Debugger + Frontend: "Add Suspense boundary and loading state to component Bead" ↓ New Bead created: "Add loading state tests" (unblocks component Bead)
5. Research-Synthesizer ↔ Backend/Frontend/UX Personas
Flow: Research Evidence → Design Decisions → Confidence Assessment
- Research provides evidence matrices backing architecture/UX decisions
- Backend: Research on API design patterns, resilience patterns, scale research
- Frontend: Research on performance patterns, accessibility standards, user interaction patterns
- UX: Research on user workflows, mental models, pain points
- Output: Evidence-backed OpenSpec with confidence levels
Example:
Backend: "Should we use REST or GraphQL for content API?" ↓ Research: "Review 15 sources on API paradigm trade-offs, summarize evidence matrix" ↓ Research Output: "GraphQL recommended for flexible queries (high confidence), REST better for caching strategies (high confidence), REST widely understood in team (medium confidence)" ↓ Backend + Research: "OpenSpec documents GraphQL decision with evidence and confidence"
6. UX-Researcher ↔ Frontend-Developer ↔ Security-Auditor
Flow: User Evidence → Design Constraints → Usability + Security
- UX provides personas, journey maps, insight statements from user research
- Frontend designs components and flows aligned to user insights
- Security ensures usability doesn't compromise security (e.g., password managers, biometric auth)
- Frontend validates design against heuristics
- Output: User-centered, secure component specs
Example:
UX: "Research shows 60% of users expect biometric login on mobile" ↓ Frontend: "Design biometric auth flow + fallback password" ↓ Security: "Biometric tokens require secure enclave, rate limiting on failures" ↓ Frontend: "Add security controls without blocking biometric UX" ↓ UX: "Heuristic evaluation validates design matches user expectations" ↓ Bead spec: Biometric auth with secure fallback + accessibility
OpenSpec Artifact Flow
/arc:core:plan (single unified plan) ↓ /arc:core:spec (persona contributions converge): ├─ Backend-Architect → proposal.md (architecture scope) ├─ TDD-Orchestrator → design.md (test strategy section) ├─ Security-Auditor → design.md (threat model, controls) ├─ TypeScript-Pro → design.md (type architecture) ├─ Frontend-Developer → design.md (component/UX architecture) ├─ UX-Researcher → design.md (user research, personas) ├─ Research-Synthesizer → design.md (evidence matrix) └─ All → tasks.md (phased, cross-persona tasks) + tests.md (unified test spec) + specs/*.md (capability specs with all concerns) ↓ /arc:core:beads (Beads decomposition respects coordination): ├─ Type definition Beads (TypeScript-Pro) ├─ Test Beads (TDD-Orchestrator, depends on types) ← P1 ├─ Security validation Beads (Security-Auditor, depends on tests) ├─ Component/API Beads (Frontend/Backend, depends on tests) ├─ Integration Beads (all personas, cross-file dependencies) └─ Verification Beads (all verify agents, post-execution) ↓ /arc:core:execute --mode team: Lead: Coordinates personas, enforces TDD ordering, resolves conflicts Workers (persona agents): Implement assigned Beads, hand off to next
Team Mode Assignment Strategies
Strategy 1: Pure Specialization (Recommended)
Assign each persona to its specialty area; let lead coordinate handoffs.
/arc:core:execute --mode team \ --assign persona-backend-architect:api-service \ --assign persona-frontend-developer:ui-components \ --assign persona-tdd-orchestrator:testing \ --assign persona-security-auditor:hardening \ --assign persona-typescript-pro:types
Lead responsibilities:
- Enforce TDD ordering (types → tests → implementation)
- Detect cross-persona dependencies (e.g., API type Bead blocks component Bead)
- Resolve conflicts (two personas modifying same file)
- Escalate untestable designs
Strategy 2: Layered Execution
Phases executed sequentially with tight persona coordination.
Phase 1 (Planning): All personas → OpenSpec artifacts Phase 2 (Types): TypeScript-Pro → type definition Beads Phase 3 (Tests): TDD-Orchestrator → test Beads (all concerns) Phase 4 (Security): Security-Auditor → security control Beads Phase 5 (Implementation): Backend/Frontend → impl Beads (TDD order) Phase 6 (Verification): Verify agents → compliance Beads
Strategy 3: Research-Driven (For High-Uncertainty Work)
Research personas lead early; technical personas follow with evidence-backed designs.
Phase 1: UX-Researcher + Research-Synthesizer → user evidence + decision matrix Phase 2: Backend/Frontend informed by Phase 1 → architecture + components Phase 3: Security + TDD ensure evidence-backed designs are secure + tested Phase 4: Execute with high confidence
Artifact Handoff Checklist
Backend-Architect → Security-Auditor
- Architecture diagram with all services, boundaries, integration points
- API contract definitions (endpoints, auth flows, error handling)
- Data flow diagram (what data moves where)
- Security provides: Threat model, control matrix, security test vectors
Frontend-Developer → TypeScript-Pro
- Component hierarchy and composition boundaries
- Data flow and state management strategy
- API integration points and contract expectations
- TypeScript provides: Prop types, API types, validation types
TypeScript-Pro → TDD-Orchestrator
- Type definitions and type architecture
- Type assertion test templates
- Type coverage targets
- TDD provides: Unit test pyramid, type coverage gates, test vector
TDD-Orchestrator → Implementers (Backend/Frontend)
- Test suite structure (unit/integration/E2E)
- Test fixtures and mock strategies
- Coverage targets and gating criteria
- Cross-persona test integration points
- Implementers provide: Tests → Implementation (red-green-refactor)
UX-Researcher → Frontend-Developer
- Personas with behavior and mental models
- Journey maps with emotional mapping
- Accessibility requirements (WCAG 2.1 AA minimum)
- Heuristic evaluation criteria
- Frontend provides: User-validated components
All Technical → Debugger (On Failure)
- Test failure with stack trace
- Reproduction steps
- Recent code changes
- Debugger provides: Root cause + prevention pattern Bead
Example: Full Workflow with Personas
Scenario: Building OAuth 2.0 Login System
Phase 1: Planning
User: "Design secure OAuth 2.0 login with biometric fallback" /arc:core:plan → plan.md with context
Phase 2: OpenSpec (Personas Converge)
Backend-Architect: - OAuth 2.0 flow architecture - Token refresh strategy - Service boundaries (auth service, user service) Security-Auditor: - STRIDE threat model: token leakage, CSRF, phishing - Controls: PKCE, secure token storage, rate limiting - Compliance: GDPR for data retention TypeScript-Pro: - OAuth types (AccessToken, RefreshToken) - Session type interface - API client typed for auth endpoints TDD-Orchestrator: - Unit tests: token validation, PKCE generation - Integration tests: OAuth flow end-to-end - Security tests: CSRF protection, token expiry - E2E tests: user login → protected resource UX-Researcher: - Research: Users expect 2FA, 45% use biometric - Persona: "Mobile user, privacy-conscious" - Journey: Launch app → see login → biometric prompt → logged in Frontend-Developer: - Biometric login button - Password fallback screen - Session timeout warning - Accessibility: keyboard navigation, screen reader /arc:core:spec → proposal.md (scope, decision) → design.md (architecture + threat model + types + test strategy + UX research) → tests.md (all tests across concerns) → tasks.md (phased tasks with persona assignments)
Phase 3: Beads
/arc:core:beads Epic: oauth2-biometric-login Bead 1 (TypeScript): Define OAuth types (INDEPENDENT) - Files: src/types/auth.ts - Verification: `tsc --noEmit` Bead 2 (TDD): Unit tests for token validation (DEPENDS ON: Bead 1) - Files: tests/auth.unit.test.ts - Verification: `npm test tests/auth.unit.test.ts` Bead 3 (Security): PKCE implementation test (DEPENDS ON: Bead 2) - Files: tests/oauth.security.test.ts - Verification: `npm test tests/oauth.security.test.ts` Bead 4 (Backend): OAuth token service (DEPENDS ON: Bead 1,2,3) - Files: src/services/oauth.ts - Verification: `npm test tests/auth.unit.test.ts && npm test tests/oauth.security.test.ts` Bead 5 (Frontend): Biometric login component (DEPENDS ON: Bead 1,4) - Files: src/components/BiometricLogin.tsx, tests/BiometricLogin.test.tsx - Verification: `npm test src/components/BiometricLogin.test.tsx && npx axe tests/BiometricLogin.html` Bead 6 (Security): Penetration test OAuth flow (DEPENDS ON: Bead 4,5) - Files: tests/oauth.pentest.ts - Verification: `npm test tests/oauth.pentest.ts`
Phase 4: Team Execution
/arc:core:execute --mode team \ --assign persona-typescript-pro:types \ --assign persona-tdd-orchestrator:testing \ --assign persona-security-auditor:hardening \ --assign persona-backend-architect:api-service \ --assign persona-frontend-developer:ui-components Lead coordinates: 1. TypeScript-Pro: Complete Bead 1 (types) → CLOSED 2. TDD-Orchestrator: Claim Bead 2 (unit tests), BLOCKED (depends on types) → Types complete, TDD starts Bead 2 → CLOSED 3. Security-Auditor: Claim Bead 3 (security tests), BLOCKED (depends on unit tests) → Unit tests complete, Security starts Bead 3 → CLOSED 4. Backend-Architect: Claim Bead 4 (OAuth service), BLOCKED (depends on all tests) → All tests complete, Backend starts Bead 4 → CLOSED 5. Frontend-Developer: Claim Bead 5 (biometric component), BLOCKED (depends on service) → Service complete, Frontend starts Bead 5 → CLOSED 6. Security-Auditor: Claim Bead 6 (pentest), BLOCKED (depends on component) → Component complete, Security starts Bead 6 → CLOSED All Beads closed → /arc:core:verify runs post-execution verification
Conflict Resolution
Shared File Conflict (Two Personas Need to Modify Same File)
Example: Backend and TypeScript both need to update
src/types/api.ts
Lead resolution:
- Identify which Bead must complete first (usually TypeScript types first)
- Serialize access: TypeScript Bead #1 executes and closes
- Backend Bead #2 waits in BLOCKED state
- Once TypeScript Bead closes, pull latest state before Backend starts
- Enforce: only one persona modifies at a time
Design Conflict (Persona Has Different Opinion on Architecture)
Example: Backend prefers REST, Frontend wants GraphQL for flexibility
Lead resolution:
- Escalate to lead (do not let personas argue)
- Lead requests trade-off analysis from each:
- Backend: REST caching benefits, learning curve, maturity
- Frontend: GraphQL query flexibility, bundle size, complexity
- Lead decides, updates OpenSpec with decision record
- Both personas implement decision (no override)
Untestable Requirement (TDD Finds Design Gap)
Example: TDD-Orchestrator flags: "How do we test biometric auth in CI/CD?"
Lead resolution:
- TDD escalates to lead with concern
- Lead + Frontend + TDD determine: mock biometric API vs. E2E with real API
- Update OpenSpec
with decisiontests.md - Create new type Bead (mock interface) if needed
- TDD resumes with updated test strategy
Anti-Patterns to Avoid
❌ Silent Downgrades
Don't let Security say "we'll skip encryption to ship faster" or TDD say "we'll test after." Escalate to lead.
❌ Persona Scope Creep
Backend shouldn't implement frontend logic; Frontend shouldn't design databases. Stick to specialty.
❌ Vague Handoffs
"Check the design doc" is not sufficient. Each Bead must be self-contained with all context.
❌ Skipping Coordination
Building component without type definitions; implementing without tests; releasing without security audit.
❌ Lead Implementing
Lead coordinates only, never implements. If no workers available, defer or pause.
Success Metrics
✅ All 8 personas contributed to OpenSpec
✅ Beads explicitly encode coordination (dependencies, labels)
✅ TDD ordering enforced (tests before impl, types before tests)
✅ Each Bead self-contained (no "see OpenSpec" references)
✅ All Beads passed verification before closing
✅ No silent downgrades (escalations documented)
✅ Cross-persona integration verified (types work in components, API types match backend)