Skip to content

/forge-app-review

Performs a lightweight pre-release readiness review of Atlassian Forge apps across manifest/module wiring, architecture, runtime compatibility, dependency posture, tests, deploy readiness, and obvious security, cost, or reliability smells. Use when the user asks "review my Forge

From plugin
forge-skills
277 skills2 MCP

Claude Code

$ npx -y skills add atlassian/forge-skills --skill forge-app-review --agent claude-code

SKILL.md

forge-app-review.SKILL.md
name: forge-app-review
description: >
  Performs a lightweight pre-release readiness review of Atlassian Forge apps across manifest/module wiring,
  architecture, runtime compatibility, dependency posture, tests, deploy readiness, and obvious security,
  cost, or reliability smells. Use when the user asks "review my Forge app", "pre-deploy check",
  "is this app ready to ship", "review manifest", "general app review", "release readiness", or asks for a
  broad quality pass. Do not use for deep security audits/SAST/exploitability review, cost optimization,
  or diagnosing a known broken app; route those to forge-security-review, forge-cost-optimizer, or
  forge-debugger respectively.

Forge App Review

Run a general Forge release-readiness review. This skill is the front door for broad app review, not a replacement for specialist security, cost, or debugging skills.

Boundaries

Use this skill for:

  • Pre-deploy and release-readiness checks.
  • General architecture and maintainability review.
  • Manifest/module/resource/function wiring.
  • Runtime, dependency, package, and script sanity checks.
  • Basic tests/deploy readiness and operational hygiene.
  • Obvious security, cost, or reliability smells that should trigger a deeper specialist pass.

Use another skill instead when the user's primary intent is:

  • Deep security audit, SAST, authz, secrets, tenant isolation, exploitability, or CVSS reporting -> `forge-security-review`.
  • Cost optimization, invocations, GB-seconds, storage/log volume, trigger frequency, or memory tuning -> `forge-cost-optimizer`.
  • A known failure, error message, blank UI, failed deploy/install, broken resolver, missing app, or logs/tunnel diagnosis -> `forge-debugger`.

If a broad review finds a deep security/cost/debug concern, include it as a handoff recommendation rather than duplicating the specialist workflow.

Review Rules

  • Audit first. Do not modify app files unless the user explicitly asks to apply fixes.
  • Read the codebase before making claims.
  • Prefer concrete file/line evidence.
  • Keep findings focused on bugs, release blockers, meaningful risks, and missing validation.
  • Do not run full SAST or cost tooling from this skill. Recommend the specialist skill when warranted.
  • Do not report speculative security or cost observations as confirmed vulnerabilities or savings.

Module & Capability Routing

Detect modules declared in `manifest.yml` or package dependencies, and load specific review guides:

  • **Teamwork Graph / Forge Connectors:**
  • If the app declares `graph:connector`, `teamwork-graph-connector`, or imports `@forge/teamwork-graph`:
  • ๐Ÿ‘‰ **Follow and evaluate against [`./modules/connector-review.md`](./modules/connector-review.md)**.

---

Workflow

1. Read `manifest.yml` or `manifest.yaml`.

  • Identify modules, resources, functions, resolver bindings, triggers, web triggers, remotes, permissions, runtime, and memory settings.
  • Verify referenced handlers/resources exist.

2. Read `package.json`.

  • Check Forge package fit, scripts, runtime assumptions, direct dependencies, and obvious unused/missing packages.

3. Inspect source files.

  • Backend/resolvers: `resolver.define`, handler exports, product API calls, storage usage, external fetches, logging, error handling.
  • Frontend: UI Kit or Custom UI resource entry points, `invoke()` patterns, bridge usage, loading/error states.

4. Inspect tests and project docs when present.

  • Note missing tests only when behavior risk justifies it.

5. Produce a prioritized readiness report.

What To Check

Release Blockers

  • Manifest references a missing handler, resource path, or module key.
  • Resolver names called by the frontend do not match `resolver.define()` names.
  • Required scopes or egress permissions are missing for actual API/fetch usage.
  • Runtime, package versions, or module syntax likely fail `forge lint`, build, deploy, or install.
  • App has no clear way to exercise its primary user flow.

Architecture And Maintainability

  • Module type matches the intended UX surface.
  • Resolver boundaries are coherent and not overly monolithic for the app size.
  • Sensitive or privileged logic stays backend-side.
  • UI-only formatting/transforms are not unnecessarily forced through backend functions.
  • Error handling is sufficient for user-facing workflows.
  • Code organization matches existing project style.

Lightweight Security Signals

Only flag obvious signals and recommend `forge-security-review` for deep validation:

  • Broad/write/admin scopes without visible usage.
  • `api.asApp()` in user-triggered resolvers without obvious authorization checks.
  • Hardcoded credentials or token-like literals.
  • External fetches without manifest egress entries.
  • Web triggers without visible authentication strategy.
  • Full payload/request logging that may expose user, tenant, or secret data.

Lightweight Cost Signals

Only flag obvious signals and recommend `forge-cost-optimizer` for deep analysis:

  • Resolver invoked only to return static data or product context.
  • Multiple independent `invoke()` calls on page load.
  • Scheduled triggers that look like broad polling.
  • Product triggers without filters or `ignoreSelf` where applicable.
  • Full payload/API response logging in hot paths.
  • Storage writes on every invocation.

Lightweight Debuggability Signals

Only flag readiness gaps; use `forge-debugger` when there is an observed failure:

  • Missing loading/error states around async UI paths.
  • Logs are either too noisy or absent around important failures.
  • README or scripts do not explain how to lint/build/deploy/test.
  • App has no obvious local verification command besides `forge lint`.

Output Format

Return a concise Markdown report. **Findings must be a table** (not a numbered list). Include a **Source** column for every finding so the reader knows which review guide or area produced it.

**Source values** (use the most specific that applies โ€” Source is the

Read more
@atlassian
Ships withforge-skills

Atlassian Forge lets you build and deploy apps directly on the Atlassian platform - issue panels, Confluence macros, dashboard gadgets, and more.

Stars on GitHub

Momentum

stars in total
27
Star history of atlassian/forge-skills on GitHub, a chart by star-history.com

Other skills on forge-skills.

forge-app-builder
Auto-invoked

forge-app-builder

Plan, build, scaffold, or safely extend Atlassian Forge apps using current official documentation. Use for fresh Forge apps,โ€ฆ

forge-connector
Auto-invoked

forge-connector

Guides building and deploying Atlassian Forge Teamwork Graph connector apps that ingest external data into Atlassian's Teamworkโ€ฆ

forge-cost-optimizer
Auto-invoked

forge-cost-optimizer

Optimizes Atlassian Forge apps to reduce platform consumption and avoid unnecessary costs using Atlassian's "Optimise Forgeโ€ฆ

forge-debugger
Auto-invoked

forge-debugger

Diagnoses and fixes issues in Atlassian Forge apps. Use this skill whenever a Forge app has errors, crashes, shows blank UI,โ€ฆ

forge-onboarding
Auto-invoked

forge-onboarding

Guide a first-time Forge builder through building Forge Guru, a Rovo Agent that answers Forge questions. Use for Forgeโ€ฆ

forge-security-review
Auto-invoked

forge-security-review

Performs a white-box security review of Atlassian Forge apps using structured, Forge-specific security rules and evidence-drivenโ€ฆ

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, orโ€ฆ

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android โ€” semantic ARIA roles and labels,โ€ฆ

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commitsโ€ฆ

react2d252k
@facebook@facebookInstall Skill

Questions about forge-app-review.

Which coding agents can use forge-app-review?
forge-app-review installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.