the signals and their derived score are provisional and subject to change.
validate manually before sharing.
7c4231b83fd52d8b6b95e43bcc5227c947fae36a226a285f8ee1e7fd91c68a9060f340e626dd77feAuthored: 4 weeks ago (Thu, 20 Aug 2026 13:08:09 +0000)Match: Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>4ee620fc5543434635bd52e8cd0007676951efb9Authored: 1 month ago (Sun, 2 Aug 2026 19:41:01 +0000)Match: Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>b0a9f652e6633f31750ae84d51472f486539fd7bAuthored: 2 months ago (Thu, 25 Jun 2026 07:13:40 +0000)Match: noreply@anthropic.com8edae6bf186671047410a23f5e475196dbfe1f79Authored: 7 months ago (Tue, 3 Feb 2026 23:11:35 +0000)Match: noreply@anthropic.com8edae6bf186671047410a23f5e475196dbfe1f79Authored: 7 months ago (Tue, 3 Feb 2026 23:11:35 +0000)Match: https://claude.ai/code/session_01SkUc6SGKJJuPM9fJJsLuPxff26ecacffaba80700c8edb8699611ba391e33e3Authored: 8 months ago (Wed, 7 Jan 2026 22:18:24 +0000)Match: noreply@anthropic.comf08c851a9f2aee6cf7215109c53c52234fc2646eAuthored: 8 months ago (Wed, 7 Jan 2026 17:00:04 +0000)Match: noreply@anthropic.com575816fa618f9e28784477ff5d04c85cc05d83c8Authored: 8 months ago (Sun, 4 Jan 2026 12:56:51 +0000)Match: noreply@anthropic.coma04cd703eaf7144cad8e22389a34248b0dc0d35bAuthored: 8 months ago (Fri, 2 Jan 2026 14:19:10 +0000)Match: noreply@anthropic.com03d1efa787bd592e698e3861999a217ed22e6bebAuthored: 8 months ago (Thu, 1 Jan 2026 11:14:16 +0000)Match: noreply@anthropic.com88429fb76175d03ef19e68ccbb69a3d5dd81bc49Authored: 8 months ago (Wed, 31 Dec 2025 08:53:44 +0000)Match: noreply@anthropic.com40e6425bb30bd5fe1f83052891fdd9fa8900698bAuthored: 8 months ago (Wed, 31 Dec 2025 08:53:44 +0000)Match: noreply@anthropic.com8dbbcea232abc39411743536888847f49444426bAuthored: 8 months ago (Wed, 31 Dec 2025 08:53:43 +0000)Match: noreply@anthropic.comcb9dfe672db0a6e1425e2be0f6ebf903f49c0d0cAuthored: 8 months ago (Wed, 31 Dec 2025 08:53:43 +0000)Match: noreply@anthropic.com76ff16b8d709f465fdf6ce60beaaec5b4c1aa432Authored: 8 months ago (Wed, 31 Dec 2025 08:53:43 +0000)Match: noreply@anthropic.com89c935dc20d3cfeb1c44d02f95c430c0913d4df5Authored: 8 months ago (Wed, 31 Dec 2025 08:53:43 +0000)Match: noreply@anthropic.comfd930779914f01ee1348e50450f92497d9e33ec5Authored: 8 months ago (Tue, 30 Dec 2025 22:24:54 +0000)Match: noreply@anthropic.comcfea24d5e98450643bd5c5e0d5e35b180e74e3cbAuthored: 8 months ago (Tue, 30 Dec 2025 14:26:03 +0000)Match: noreply@anthropic.com56351ba767d4d20bf128d389817b0aac0835398eAuthored: 8 months ago (Mon, 29 Dec 2025 13:39:29 +0000)Match: noreply@anthropic.com223db3ccce020465b98d9d17e2625e8e212a9a4dAuthored: 8 months ago (Mon, 29 Dec 2025 13:06:57 +0000)Match: noreply@anthropic.com1b18c1cfc59e11fb5d8e8483a9c3a598f3e4a81eAuthored: 8 months ago (Mon, 29 Dec 2025 13:06:57 +0000)Match: noreply@anthropic.come194be97b2d80190c5397ce0823bd872ba702201Authored: 8 months ago (Mon, 29 Dec 2025 13:06:07 +0000)Match: noreply@anthropic.comc77208623b8653460a118d66b6eb094818b50f9eAuthored: 8 months ago (Sun, 28 Dec 2025 17:30:55 +0000)Match: noreply@anthropic.comaccb6b738e3cbdfc9e579ac415aa3f154ab6cda6Authored: 8 months ago (Sun, 28 Dec 2025 12:01:04 +0000)Match: noreply@anthropic.comcb699843d6c198385720ad3d4bcc01796eeb3640Authored: 8 months ago (Wed, 24 Dec 2025 16:52:57 +0000)Match: noreply@anthropic.com018b7e7748a038464318c86bb3cca1310b061f97Authored: 8 months ago (Wed, 24 Dec 2025 10:00:34 +0000)Match: noreply@anthropic.coma75952f17155ee72e7e68c0fb652a5a3e826a6faAuthored: 8 months ago (Tue, 23 Dec 2025 10:10:43 +0000)Match: noreply@anthropic.com6254e59e1757c8007d5dd80810316e13f5a3e96bAuthored: 9 months ago (Sun, 14 Dec 2025 21:34:16 +0000)Match: noreply@anthropic.com3f4644639879f63de8031e48f9c21f31a54fcf3bAuthored: 9 months ago (Sat, 13 Dec 2025 23:14:34 +0000)Match: noreply@anthropic.comaa8fcf5163ea46caea7348c12148de0f6ef7eeebAuthored: 9 months ago (Sat, 13 Dec 2025 20:27:17 +0000)Match: noreply@anthropic.com941e5f3e7289443b44f1b854258591d344fd4659Authored: 9 months ago (Sat, 13 Dec 2025 16:40:03 +0000)Match: noreply@anthropic.com300c21fca2a2aa85897537fec1d4b6ea599bc34fAuthored: 9 months ago (Sat, 13 Dec 2025 11:01:53 +0000)Match: noreply@anthropic.com4d56f4206859488c49075466838a113d284210d3Authored: 9 months ago (Sat, 13 Dec 2025 09:59:24 +0000)Match: noreply@anthropic.comcb7778e4144e1e92f75bf18f550fbb3077c41b80Authored: 9 months ago (Fri, 5 Dec 2025 22:45:26 +0000)Match: Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>1e6a37ea046846f222e6d3dfe35c2643cc26d623Authored: 9 months ago (Fri, 5 Dec 2025 22:45:26 +0000)Match: Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>3f262f99ef46f374439ba3e25f88745b38f66832Authored: 9 months ago (Mon, 1 Dec 2025 22:59:38 +0000)Match: noreply@anthropic.come6d7e41e61b60058f5cb4046e12afb7e48e952ebAuthored: 9 months ago (Sun, 23 Nov 2025 13:14:56 +0000)Match: noreply@anthropic.coma9a94921832d9a9134bb10b5f67c62c8be47aa09Authored: 9 months ago (Sun, 23 Nov 2025 13:14:56 +0000)Match: noreply@anthropic.comd90aeba0e9a8f33fb5e60511b821c1cd2d414f5fAuthored: 10 months ago (Wed, 22 Oct 2025 21:57:53 +0000)Match: noreply@anthropic.comd90aeba0e9a8f33fb5e60511b821c1cd2d414f5fAuthored: 10 months ago (Wed, 22 Oct 2025 21:57:53 +0000)Match: 🤖 Generated with [Claude Code](https://claude.com/claude-code)d90aeba0e9a8f33fb5e60511b821c1cd2d414f5fAuthored: 10 months ago (Wed, 22 Oct 2025 21:57:53 +0000)Match: Co-Authored-By: Claude <noreply@anthropic.com>1e14725d7c06ffe6d526feaf1c9eff48b0f82abdAuthored: 10 months ago (Wed, 22 Oct 2025 21:57:53 +0000)Match: noreply@anthropic.com1e14725d7c06ffe6d526feaf1c9eff48b0f82abdAuthored: 10 months ago (Wed, 22 Oct 2025 21:57:53 +0000)Match: Generated with [Claude Code](https://claude.com/claude-code)1e14725d7c06ffe6d526feaf1c9eff48b0f82abdAuthored: 10 months ago (Wed, 22 Oct 2025 21:57:53 +0000)Match: Co-Authored-By: Claude <noreply@anthropic.com>38dce89467e6d4bcbc5c02f3b3865c9656dee6d8Authored: 10 months ago (Wed, 22 Oct 2025 20:45:21 +0000)Match: noreply@anthropic.com38dce89467e6d4bcbc5c02f3b3865c9656dee6d8Authored: 10 months ago (Wed, 22 Oct 2025 20:45:21 +0000)Match: 🤖 Generated with [Claude Code](https://claude.com/claude-code)38dce89467e6d4bcbc5c02f3b3865c9656dee6d8Authored: 10 months ago (Wed, 22 Oct 2025 20:45:21 +0000)Match: Co-Authored-By: Claude <noreply@anthropic.com>cbdff29eb99a9fca3dc4a107bc532e28abfab919Authored: 10 months ago (Wed, 22 Oct 2025 19:36:17 +0000)Match: 🤖 Generated with [Claude Code](https://claude.com/claude-code)cbdff29eb99a9fca3dc4a107bc532e28abfab919Authored: 10 months ago (Wed, 22 Oct 2025 19:36:17 +0000)Match: Co-Authored-By: Claude <noreply@anthropic.com>7b17fc16267826bcee9a17fa559c1ef0a289b844Authored: 10 months ago (Wed, 22 Oct 2025 19:36:17 +0000)Match: noreply@anthropic.com7b17fc16267826bcee9a17fa559c1ef0a289b844Authored: 10 months ago (Wed, 22 Oct 2025 19:36:17 +0000)Match: 🤖 Generated with [Claude Code](https://claude.com/claude-code)7b17fc16267826bcee9a17fa559c1ef0a289b844Authored: 10 months ago (Wed, 22 Oct 2025 19:36:17 +0000)Match: Co-Authored-By: Claude <noreply@anthropic.com>37564554d34fb05a35a26db90fa1eaa7a69adf77Authored: 10 months ago (Wed, 22 Oct 2025 19:36:17 +0000)Match: noreply@anthropic.com37564554d34fb05a35a26db90fa1eaa7a69adf77Authored: 10 months ago (Wed, 22 Oct 2025 19:36:17 +0000)Match: 🤖 Generated with [Claude Code](https://claude.com/claude-code)37564554d34fb05a35a26db90fa1eaa7a69adf77Authored: 10 months ago (Wed, 22 Oct 2025 19:36:17 +0000)Match: Co-Authored-By: Claude <noreply@anthropic.com>.mcp.jsonTool: unspecified{
"mcpServers": {
"compose-hot-reload": {
"command": "./gradlew",
"args": [
"--no-daemon",
"--quiet",
"--console=plain",
":desktopApp:hotMcpServerJvm"
]
}
}
}
.ai/skills/update-play-listing/SKILL.mdTool: unspecified---
name: update-play-listing
description: Update Google Play listing files (title, short description, full description) from storecopy source assets. Use when the user wants to update Play Store listings for a specific language or all languages, sync store copy to listing files, or refresh Play Store translations.
---
# Update Play Listing
Sync Google Play listing files from the storecopy source of truth.
## Source Files
All source data lives in `assets/storecopy/`:
- `{lang}/store_listing.json` — co.ai/skills/render-store-screenshots/SKILL.mdTool: unspecified---
name: render-store-screenshots
description: Render FeedFlow store screenshots for one or more locales from repo copy, and verify every screen keeps its breathing room — top padding, gaps, and a full-size headline. Use when new translations land in assets/screenshotcopy, when screenshot copy changes, or when checking that a language still fits before a store upload.
---
# Render store screenshots
Generates the App Store / Play Store screenshots from the copy in this repo.
No design tool is involved .ai/skills/update-microsoft-store-listing/SKILL.mdTool: unspecified---
name: update-microsoft-store-listing
description: Read or change FeedFlow's Microsoft Store listing with pcenter — listing text, screenshots, locales, submissions and rollouts. Use when inspecting live Store copy, syncing listing text from assets/storecopy, replacing Store screenshots, adding or removing a Store listing language, or rescuing a stuck submission or package rollout.
---
# Update the Microsoft Store listing
The Store is driven by [`pcenter`](https://github.com/prof18/pcenter-cli), which.ai/skills/update-store-release-notes/SKILL.mdTool: unspecified---
name: update-store-release-notes
description: Update and localize FeedFlow release notes when the user provides platform-specific changelog copy. Use for Android Google Play, iOS App Store, macOS App Store, and Windows Microsoft Store release-note updates, including requests to translate notes for every configured store locale.
---
# Update FeedFlow Store Release Notes
Use the user-provided copy as the source of truth. Preserve platform-specific wording; do not force one platform's copy onto another.
.ai/skills/translation-release-audit/SKILL.mdTool: unspecified---
name: translation-release-audit
description: Audit FeedFlow localization, store listing, live App Store/Play Store listing state, and screenshot-copy changes. Use when checking whether new app translations were added or completed, whether store copy/localized listings changed, whether live store metadata is stale, or whether screenshots need to be regenerated or uploaded.
---
# Translation Release Audit
Run this audit when the user wants a release-readiness signal for translations, live store listings.ai/skills/run-maestro-release-tests/SKILL.mdTool: unspecified---
name: run-maestro-release-tests
description: Run the full FeedFlow Maestro release validation suite and produce HTML and Markdown pass/fail reports. Use when the user asks to run all Maestro tests, validate E2E coverage before release, check Android and iOS Maestro flows, or summarize failed FeedFlow E2E flows.
---
# Run Maestro Release Tests
Run FeedFlow's full local Maestro release gate across Android and iOS, then report what passed, what failed, and where the logs are.
## Workflow
1. Confirm the.ai/skills/store-changelog/SKILL.mdTool: unspecified---
name: store-changelog
description: Generate release notes for app stores (Android Play Store, iOS App Store, macOS App Store, Linux Flatpak). Use when the user asks for changelogs, release notes, or store descriptions based on git history.
---
# Store Changelog Generator
Generate release notes for App stores based on git history since a specified tag.
## Instructions
1. **Get the tag name**:
- If the user provides a tag name (e.g., `1.0.0` or `v1.0.0`), use it
- If not provided, automatically .ai/skills/sentry-note-crash-fix/SKILL.mdTool: unspecified---
name: sentry-note-crash-fix
description: Investigate and fix FeedFlow crashes from Sentry triage notes. Use when the user provides a local note path, note URL, Gmail-exported note, Sentry issue URL, Sentry issue ID, or event ID and asks Codex to check why a crash is happening, explain the root cause, propose or implement a fix, validate it, commit it, or close/resolve the Sentry issue.
---
# Sentry Note Crash Fix
## Workflow
1. Read the user-provided note or Sentry URL first.
- Extract `sentry_iss.codexTool: codex.github/copilot-instructions.mdTool: github-copilot../AGENTS.md.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.aiTool: laravel-boost.junieTool: junieAGENTS.mdTool: agents-md# AGENTS.md
## Project Overview
FeedFlow is a multi-platform RSS reader built with Kotlin Multiplatform, Compose Multiplatform and SwiftUI.
It targets Android, iOS, macOS, Windows, and Linux.
The app uses SwiftUI for iOS-specific UI components and Compose for all other platforms.
All the business logic is shared via Kotlin Multiplatform.
## Project Structure & Module Organization
### Module Structure
- **core/**: Core domain models and utilities shared across all platforms
- **shared/**: Main business le2e/maestro/AGENTS.mdTool: agents-md# AGENTS.md
## Maestro E2E
Follow `e2e/maestro/maestro-e2e-guide.md` when writing, changing, or running Maestro flows.
Keep `e2e/maestro/maestro-e2e-tests.md` updated when adding, removing, renaming, or materially reshaping a flow. If the physical YAML inventory changes, update `e2e/maestro/maestro-e2e-tests.html` too.
Use platform-specific flows under:
- `android/smoke/` or `android/regression/`
- `ios/smoke/` or `ios/regression/`
Smoke and regression flows must be deterministic: use debug seed deep CLAUDE.mdTool: claude-codeAGENTS.md.github/workflows/claude-code-review.ymlTool: claude-codename: Claude Code Review
on:
pull_request:
types: [review_requested]
# Optional: Only run on specific file changes
# paths:
# - "src/**/*.ts"
# - "src/**/*.tsx"
# - "src/**/*.js"
# - "src/**/*.jsx"
jobs:
claude-review:
# Only run if reviewer is 'claude'
if: contains(github.event.pull_request.requested_reviewers.*.login, 'claude')
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: wri.github/workflows/claude.ymlTool: claude-codename: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.r.claudeTool: claude-code.claudeTool: claude-codewebsite/.claudeTool: claude-codenone