agentsclimarketplace

Jira align brief intake

Skill eugenelim/agent-ready-repo/packs/atlassian/.apm/skills/jira-align-brief-intake

The complete AI operating model for software teams — from first idea to production. Three peer-supervised loops (discovery → build → release) over a catalogue of curated packs: skills, subagents, and hooks, each installed in one line. It's npm for your coding agent. Any agent, any stack — Claude Code, Codex, Cursor, Copilot, Gemini, Kiro.

Install
npx -y skills add eugenelim/agent-ready-repo --skill jira-align-brief-intake

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use this skill when the user points at a Jira Align Feature and asks you to turn it into a product brief or shippable specs — "intake Feature 1234", "turn JA feature 789 into specs", "pull this Jira Align feature into a brief". The skill fetches the Feature and its child stories/tasks/defects via the `jira-align` skill, maps them onto a Shape B product brief (Feature title/description → Outcome, children → `US-n` user stories tagged with their Jira Align IDs, Feature ID → `Epic:` provenance pointer), writes it to `docs/product/briefs/<slug>.md`, and hands off to `receive-brief` to elicit gaps, decompose, and build. 1-way intake only — never writes back to Jira Align. Use the field mapping in `references/field-mapping.md` (customize for your org before first use). Do NOT use for defects (use `jira-defect-flow` for Jira defects) or for individual Jira issues (use `jira-brief-intake` for Jira epics).

SKILL.md

9.9 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it

Skill: jira-align-brief-intake

This is choreography, not invention. It composes two things that already exist:

  • jira-align skill (sibling in this pack) — all Jira Align reads. You never write a raw Jira Align REST call here and never invoke a write verb.
  • receive-brief skill (shipped by the host repo; resolved by name through the harness) — owns Elicit (fill missing Outcome/Scope conversationally), Decompose (cut into shippable slices), and Execute (chain new-specwork-loop). This skill does not reimplement elicitation; it hands off the assembled brief and steps back.

If you find yourself writing a Jira Align REST call or interrogating the user for missing Outcome/Scope fields, stop — the right place is one of the two above.

One-time setup: customise the field mapping

Before first use on a new Jira Align instance, open references/field-mapping.md and fill in:

  1. Workflow state vocabulary — your instance's state names in the "Customize for your org" table. Standard names (Planned, In Progress, Completed) are pre-filled; replace or extend them.
  2. PI naming pattern — the cadence label format your org uses (e.g., PI 2026-Q1, PI 24).

This is a one-time step per instance. The brief this skill produces will be wrong in the State context sentence if the state names don't match.

Cross-skill invocation — name, not path

This skill names sibling skills (jira-align) and host skills (receive-brief) by their name: field, never by path. Install locations vary by IDE and scope. The contract: when this skill says "via the jira-align skill: get features <ID> …", the agent uses its native skill-dispatch mechanism to invoke the skill registered under that name with those arguments.

Install guidance for the named dependencies lives in manifest.json under deps.skills — that's a where to get them hint, not a runtime path.

Prerequisites

Before Stage 1, confirm:

  1. The jira-align skill is installed and reachable. Invoke it: jira-align: check. Exit 0 → proceed. Exit 2 → tell the user to run credential-setup themselves (interactive — they run it, not you) and stop. jira-align is a hard dependency; there is no degraded path without it.
  2. The receive-brief skill is installed (from agent-ready-repo or wherever the consumer keeps it). If not, note the absence — do not stop. The core-absent branch in Stage 4 handles this gracefully.

Lifecycle

Stage 1 — Intake

Fetch the Feature with all fields needed to populate the brief, via the jira-align skill:

jira-align: get features <ID> --expand ownerUser,milestones

Check for the three intake requirements of a Feature:

RequirementWhere it lives in Jira Align
Title (what this feature delivers)title field
Description or scope notesdescription and/or notes fields
Owner / program contextownerUser (expanded), programID

When any requirement is missing or empty, note the gap — don't stop. receive-brief elicits what's missing in Stage 4.

Stage 2 — Enumerate children

Fetch the Feature's child items by resource type:

jira-align: list stories --filter "featureID eq <ID>"
jira-align: list tasks --filter "featureID eq <ID>"
jira-align: list defects --filter "featureID eq <ID>"

Collect whichever resource types return results. A Feature with no children is valid but thin — ask the user before proceeding (see Boundaries: Ask first).

For each child item, record:

  • Resource type: stories, tasks, or defects
  • id
  • title (the story text)

Stage 3 — Map fields to brief

Using references/field-mapping.md as your guide, map the fetched data onto the Shape B brief template.

Heading and provenance:

# Brief: <Feature title>

- **Slug:** `<kebab-case-slug>` (derive from the Feature title)
- **Received:** <today's date>
- **Owner:** <owner from ownerUser, or ask>
- **Status:** Draft
- **Epic:** <JIRAALIGN_BASE_URL>/features/<ID>

Outcome (load-bearing — do not leave empty):

Combine description and notes into one paragraph. When both are present, lead with the description and append notes as context. When only one is present, use it. When neither is present, write [Outcome not provided — receive-brief will elicit] as a placeholder; do not invent.

Then append a one-line state context sentence using the mapping in references/field-mapping.md's state vocabulary table:

*(Current state: <state value> — <Brief handling from your org's mapping>)*

Example: *(Current state: In Progress — active delivery)*. When state is absent from the Feature response, omit the line.

Scope / In scope:

When acceptanceCriteria is present on the Feature, use it as the In scope prose. Otherwise leave the heading with an empty placeholder; receive-brief elicits it.

User stories (Shape B):

Map each child to a US-n story line. The format is pinned:

- **US-n.** (stories/<id>) <story text>

Substitute tasks/ or defects/ for the resource type. For <story text>:

  • Reshape the child's title into the As a … / I want … / so that … grammar when the title itself contains a role and benefit (e.g. "As a PM, track sprint velocity…"). Do not invent a role that isn't in the title.
  • Carry the title verbatim when a role/benefit cannot be inferred — do not invent. receive-brief refines during Elicit.

The US-n index is sequential across all resource types, ordered by: stories first, then tasks, then defects.

Program Increment context (optional):

When milestones expands to a PI record, add a one-line note in the brief's ## Context section (add the heading if absent):

> **Program Increment:** <PI name from milestones> — carry forward as
> appetite signal; confirm with `receive-brief`.

Stage 4 — Write brief and hand off

Write the assembled brief to docs/product/briefs/<slug>.md. If the file already exists, ask the user whether to merge or replace before writing.

Core-present path (receive-brief installed):

Hand off to receive-brief by name:

receive-brief: docs/product/briefs/<slug>.md

receive-brief elicits missing fields (Outcome gaps, Scope, Success metrics, Appetite), runs DoR, decomposes, and chains into new-specwork-loop. Your role ends at the hand-off.

Core-absent path (receive-brief not installed):

When receive-brief is unavailable, inline the following instruction and act on it directly:

Core-absent brief — act on this directly:

The brief at docs/product/briefs/<slug>.md is assembled from Jira Align data. Proceed as follows:

  1. Elicit missing fields. Ask the user to fill in any empty headings in the brief (Outcome gaps, Success metrics, Scope, Appetite).
  2. Decompose. For each US-n story that warrants its own spec, open docs/specs/<feature-slug>/spec.md and ask the user to confirm the decomposition before proceeding.
  3. Execute. For each confirmed spec, invoke new-spec by name (if installed), then work-loop. If neither is installed, tell the user which packs to install and stop.

Don't

  • Don't read ~/.agentbundle/credentials.env from the skill body.
  • Don't write a raw Jira Align REST call — use the jira-align skill.
  • Don't invoke create, update, delete, or raw with a mutating method on the jira-align skill. Intake is read-only.
  • Don't re-run credential-setup for the user or pipe the token into it.
  • Don't reimplement receive-brief's elicitation — hand off and step back.
  • Don't invent Outcome, Scope, or story text the Jira Align source doesn't support. Surface the gap; let receive-brief elicit it.
  • Don't reference this skill, jira-align, or receive-brief by path — always by name.
  • Don't claim portability across all Jira Align instances without asking the adopter to customise references/field-mapping.md first.

Edge cases

  • Feature not found (404): the jira-align CLI exits 3 and prints the server message. Surface it to the user and stop — do not guess or substitute.
  • Credentials missing / expired (exit 2): tell the user to re-run credential-setup and regenerate their API token on the Jira Align Profile page.
  • Feature with no children: confirm with the user before assembling a brief from title + description alone — a Feature with no stories is unusual and may indicate the wrong ID or incomplete Jira Align data.
  • Custom fields: Jira Align instances expose org-specific fields in responses. When a field named in references/field-mapping.md's "Customize for your org" section is present in the Feature response, use it. When it is absent, skip it and note the gap in the brief.
  • Large child sets (> 100): the jira-align CLI paginates transparently up to --limit. For features with many children, consider scoping the intake to a representative subset and noting the total count in the brief; confirm with the user.

What ships with it: 3 files

9.3 KB alongside SKILL.md

evals/

references/

Keep looking

Skills are one crate of 327,069. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.