Skip to content
Closed
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
9ac4557
fix: pin feature-ideation.yml reusable workflow to SHA
github-actions[bot] Apr 18, 2026
2a4af48
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] Apr 21, 2026
c3dacf2
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] Apr 25, 2026
99722bd
retrigger: bump workflows to run checks
claude Apr 28, 2026
24154c7
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 3, 2026
6c22877
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 4, 2026
d019541
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 4, 2026
282b368
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 4, 2026
e3629ff
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 4, 2026
d2f6575
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 4, 2026
183cc23
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 5, 2026
bf3b07c
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 10, 2026
ba6feeb
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 11, 2026
75f77b8
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 11, 2026
6c2029e
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 11, 2026
f49c2a7
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 12, 2026
c5f85c1
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 13, 2026
654da6d
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 15, 2026
1c6b7d9
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 16, 2026
48ae80c
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 18, 2026
62ff8f4
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 18, 2026
bda63ec
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 19, 2026
e150b5a
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 19, 2026
3b2b404
Merge branch 'main' into claude/issue-88-20260418-1841
github-actions[bot] May 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 30 additions & 10 deletions .github/workflows/feature-ideation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,22 @@
# 2. Replace the `project_context` value with a 3-5 sentence description
# of your project, its target users, and the competitive landscape Mary
# should research. This is the only required customisation.
# 3. (Optional) Adjust the schedule cron if Friday morning UTC doesn't suit.
# 4. Ensure GitHub Discussions is enabled with an "Ideas" category.
# 5. Confirm the org-level secret CLAUDE_CODE_OAUTH_TOKEN is accessible.
# 3. (Optional) Copy standards/feature-ideation-sources.md from
# petry-projects/.github to .github/feature-ideation-sources.md in your
# repo and trim/extend it for your project. Mary uses YOUR copy — not the
# central template — so each repo controls its own source list.
# Pass `sources_file: path/to/your-list.md` to the reusable workflow if
# you prefer a different location.
# 4. (Optional) Adjust the schedule cron if Friday morning UTC doesn't suit.
# 5. Ensure GitHub Discussions is enabled with an "Ideas" category.
# 6. Confirm the org-level secret CLAUDE_CODE_OAUTH_TOKEN is accessible.
#
# Standard: https://github.com/petry-projects/.github/blob/main/standards/ci-standards.md#8-feature-ideation-feature-ideationyml--bmad-method-repos
name: Feature Research & Ideation (BMAD Analyst)

on:
schedule:
- cron: '0 7 * * 5' # Friday 07:00 UTC (3 AM EDT / 2 AM EST)
- cron: '0 7 * * 5' # Friday 07:00 UTC (3 AM EDT / 2 AM EST)
workflow_dispatch:
inputs:
focus_area:
Expand All @@ -53,6 +59,11 @@ on:
- quick
- standard
- deep
dry_run:
description: 'Skip Discussion mutations and log them to a JSONL artifact instead. Use this on a fork to smoke-test before going live.'
required: false
default: false
type: boolean

permissions: {}

Expand All @@ -64,18 +75,20 @@ jobs:
ideate:
# Permissions cascade from the calling job to the reusable workflow.
# The reusable workflow's two jobs (gather-signals + analyze) need:
# - contents: read (checkout, file reads)
# - issues: read (signal collection)
# - pull-requests: read (signal collection)
# - discussions: write (CRITICAL — create/update Discussion threads)
# - id-token: write (claude-code-action OIDC for GitHub App token)
# - contents: read (checkout, file reads)
# - issues: read (signal collection)
# - pull-requests: read (signal collection)
# - discussions: write (CRITICAL — create/update Discussion threads)
# - id-token: write (claude-code-action OIDC for GitHub App token)
# - actions: read (feed checkpoint — last successful run query)
permissions:
contents: read
issues: read
pull-requests: read
discussions: write
id-token: write
uses: petry-projects/.github/.github/workflows/feature-ideation-reusable.yml@v1
actions: read
uses: petry-projects/.github/.github/workflows/feature-ideation-reusable.yml@ae9709f4466dec60a5733c9e7487f69dcd004e05 # v1
with:
# === CUSTOMISE THIS PER REPO — the only required edit ===
# Replace this paragraph with a 3-5 sentence description of your project,
Expand All @@ -85,7 +98,14 @@ jobs:
TODO: Replace this with a description of the project and its market.
Example: "ProjectX is a [type of product] for [target user]. Competitors
include A, B, C. Key emerging trends in this space: X, Y, Z."
# === OPTIONAL: repo-local reputable source list ===
# Copy standards/feature-ideation-sources.md from petry-projects/.github
# to .github/feature-ideation-sources.md and customise it. The reusable
# workflow defaults to that path, so you only need to uncomment and change
# sources_file below if you store the list somewhere else.
# sources_file: 'docs/feature-ideation-sources.md'
focus_area: ${{ inputs.focus_area || '' }}
research_depth: ${{ inputs.research_depth || 'standard' }}
dry_run: ${{ inputs.dry_run || false }}
secrets:
CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}