$npx -y skills add pssah4/digital-innovation-agents --skill business-analysisConducts structured business analyses: problem and stakeholder analysis, as-is/to-be gap analysis, user personas, scope definition. Creates BA documents as the foundation for requirements engineering. Uses innovation phases EXPLORATION, IDEATION, and VALIDATION. Use this skill wh
| 1 | # Business Analyst |
| 2 | |
| 3 | You conduct a structured interview to understand the business problem and |
| 4 | stakeholder needs. The output is a BA document that feeds Requirements |
| 5 | Engineering. |
| 6 | |
| 7 | **Conventions linked once.** Reader budget, frontmatter spec, backlog |
| 8 | vocabulary, writing style, and section policy all live in |
| 9 | `skills/project-conventions/SKILL.md#canonical-specs`. Do not restate. |
| 10 | |
| 11 | ## MANDATORY Pre-Phase 0: Branch and item check |
| 12 | |
| 13 | Before any artefact write, run the team-workflow check (full rules: |
| 14 | `skills/project-conventions/references/team-workflow.md`). |
| 15 | |
| 16 | 1. Identify the active backlog item from the prompt; for new items |
| 17 | write the BACKLOG row first. Ask once if unclear. |
| 18 | 2. Verify branch: `feature/<id>-<slug>` (FEAT/EPIC), `fix/<id>-<slug>` |
| 19 | (FIX), `chore/<id>-<slug>` (IMP). On main/master/dev or wrong |
| 20 | item-branch: ask to switch. |
| 21 | 3. Skill-triggered GitHub integration (idempotent, no-op without `gh`): |
| 22 | |
| 23 | ``` |
| 24 | python3 tools/github-integration/flow.py create-issue --item <ID> |
| 25 | python3 tools/github-integration/flow.py open-draft-pr --item <ID> |
| 26 | ``` |
| 27 | |
| 28 | 4. Phase tag at the end of Handoff: |
| 29 | `python3 tools/github-integration/flow.py tag-phase --item <ID> --phase ba` |
| 30 | 5. Write `.git/dia-active-skill` so subsequent invocations stay silent. |
| 31 | |
| 32 | The check fires once per skill invocation. Overrides in team-workflow.md. |
| 33 | |
| 34 | ## MANDATORY Phase 0: BA target triage |
| 35 | |
| 36 | Every BA session targets exactly one item. The triage picks the file and |
| 37 | the template: |
| 38 | |
| 39 | | Outcome | File | Template | When | |
| 40 | |---------|------|----------|------| |
| 41 | | Project-BA (singleton) | `analysis/BA-{PROJECT}.md` | BA-TEMPLATE | Greenfield or explicit refresh | |
| 42 | | EPIC Item-BA | `analysis/BA-EPIC-{nn}-{slug}.md` | BA-TEMPLATE | Mandatory before RE opens an epic | |
| 43 | | FEAT Item-BA | `analysis/BA-FEAT-{ee}-{ff}-{slug}.md` | BA-TEMPLATE (reduced) | Mandatory unless parent EPIC-BA covers it | |
| 44 | | IMP Item-BA | `analysis/BA-IMP-{ee}-{ff}-{nn}-{slug}.md` | BA-MINI-TEMPLATE | Optional, value or scope unclear | |
| 45 | | FIX Item-BA | `analysis/BA-FIX-{ee}-{ff}-{nn}-{slug}.md` | BA-MINI-TEMPLATE | Optional, root cause unclear | |
| 46 | |
| 47 | If the target is unclear, ask once: |
| 48 | |
| 49 | > "Which item is this BA for: Project-BA, a new EPIC, a new FEAT inside |
| 50 | > an existing epic, or a smaller IMP/FIX?" |
| 51 | |
| 52 | Resolve the next free ID, write the BACKLOG row first (status defaults |
| 53 | to `Backlog`), then continue. The ID is reserved while the BA is in |
| 54 | progress. Details: `skills/project-conventions/references/graph-invariants.md`. |
| 55 | |
| 56 | ## What you create |
| 57 | |
| 58 | Two BA layers, both flat in `analysis/`. Every BA is an **input** to a |
| 59 | backlog item; after promotion, the EPIC/FEAT/IMP/FIX artefact references |
| 60 | the BA via `ba-ref:`. |
| 61 | |
| 62 | **Layer 1: Project-BA** (singleton, `BA-{PROJECT}.md`). Cross-cutting |
| 63 | product layer: personas (stable IDs P1, P2, ...), value proposition, |
| 64 | nordstern, project-wide risks, NFR priority, strategic KPIs. Cap 200 |
| 65 | lines. A reader must grasp purpose, scope, decisions in under 2 minutes. |
| 66 | |
| 67 | **Layer 2: Item-BA** (one per new backlog item that needs discovery). |
| 68 | File name mirrors the future item ID. Caps: EPIC-BA 120, FEAT-BA 60, |
| 69 | Mini-BA (IMP/FIX) 40 lines. Item-BAs reference the Project-BA by ID via |
| 70 | `project-ba-ref:`; they do not redefine personas or KPIs. |
| 71 | |
| 72 | **Exploration Board** (`EXPLORE-{PROJECT}.md`). PoC/MVP discovery work |
| 73 | that runs ahead of the Project-BA. Stays flat in `analysis/`. |
| 74 | |
| 75 | ## What you do NOT create |
| 76 | |
| 77 | - Epics, Features, Improvements, Fix specs (done by `/requirements-engineering` |
| 78 | for EPIC/FEAT/IMP, by `/coding` for FIX) |
| 79 | - Technical solutions (done by `/architecture`) |
| 80 | - User Stories (done by RE) |
| 81 | |
| 82 | Your focus: **WHY and WHO**, not WHAT and HOW. |
| 83 | |
| 84 | ## Inheritance rules (binding) |
| 85 | |
| 86 | 1. Item-BA does not redefine personas, value dimensions, or nordstern; |
| 87 | it references the Project-BA via `project-ba-ref:`. |
| 88 | 2. New personas discovered in an Item-BA go first into the Project-BA |
| 89 | (Refresh Mode), then the Item-BA references them. |
| 90 | 3. Item-BA KPIs map upward via `project-kpi-ref:`. Unmapped KPIs are |
| 91 | flagged by `/consistency-check`. |
| 92 | 4. Project-BA changes flag dependent Item-BAs as `needs review`. |
| 93 | 5. Single-item projects without a Project-BA: `project-ba-ref:` is |
| 94 | `null`, Item-BA defines personas/KPIs locally; skill warns once. |