MCPInstall

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 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.

Installs
477
Last 24h
+20
Trending rank
#5762
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/atlassian/forge-skills --skill forge-app-review
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads forge-app-review automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

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.

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 checklist/module or review area, not merely the file type):

  • manifest — general Forge manifest wiring, scopes, egress, or module keys not covered by a module-specific guide
  • resolver — backend/resolver wiring and runtime behavior
  • frontend — UI Kit / Custom UI invoke and bridge patterns
  • dependencies — package.json / runtime package fit
  • tests — missing or inadequate verification
  • general — cross-cutting readiness hygiene not covered above
  • Module-specific labels — when a module review guide is loaded (under ./modules/), use the Source label that guide defines (for example connector). Do not re-label those findings as manifest just because evidence lives in manifest.yml.

Location rules (do not path-only):

  • Always cite precise path:line or path:start-end (multiple citations OK).
  • Include the contributing code excerpt in the Location cell — the exact lines that produced the signal, not just the filename.
  • Because Markdown table cells cannot nest ``` fences reliably, wrap the excerpt in HTML: <pre><code>...</code></pre>.
  • Keep excerpts tight (typically ≤15 lines). For absences (e.g. a missing required block), show the nearest enclosing stanza and note what is missing in Description.
# Forge App Review Results

## Summary
- Readiness: Ready | Needs changes | Blocked
- Highest-risk area: <manifest | resolver wiring | permissions | dependencies | tests | operational hygiene | module-specific>
- Files inspected: <short list>
- Specialist handoffs: <none | security | cost | debugger>

## Findings

| Severity | Source | Finding | Location | Description | Doc | Fix |
|----------|--------|---------|----------|-------------|---------|-----|
| Critical \| Warning \| Info | <source> | <short title> | `path:start-end`<br><pre><code>…excerpt…</code></pre> | <why this matters / observed pattern> | <DAC or checklist anchor title + URL> | <specific remediation> |

Sort rows Critical → Warning → Info. Omit the Doc column cell only when no public/doc anchor applies; keep the column.

## Clean Areas
- <important categories checked with no issues>

## Suggested Next Step
- <apply fixes | run specialist review | deploy/lint/test command>

If there are no findings, say the app looks ready from this general review and list any residual specialist reviews that were intentionally out of scope.

FAQ

What does the forge-app-review skill do?

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.

How do I install forge-app-review?

Run npx skills add https://github.com/atlassian/forge-skills --skill forge-app-review in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/forge-app-review/ (personal) or .claude/skills/forge-app-review/ (project).

Which AI agents can use forge-app-review?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is forge-app-review safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains forge-app-review?

It is published by atlassian in atlassian/forge-skills. It has 477 recorded installs.

More from atlassian/forge-skills

View all →

forge-app-builder

atlassian/forge-skills

Plan, build, scaffold, or safely extend Atlassian Forge apps using current official documentation. Use for fresh Forge apps, existing-app feature work, module and manifest changes, UI Kit or Custom UI implementation, backend functions and events, Atlassian or external APIs, storage, permissions, environment configuration, distribution-affecting implementation, validation, and explicitly authorized deployment or installation; route standalone debugging and specialist reviews to their dedicated skills.

Frontend & Design486 installs

forge-debugger

atlassian/forge-skills

Open the skill to read its SKILL.md instructions.

466 installs

forge-connector

atlassian/forge-skills

Open the skill to read its SKILL.md instructions.

391 installs

forge-security-review

atlassian/forge-skills

Open the skill to read its SKILL.md instructions.

forge-cost-optimizer

atlassian/forge-skills

Optimizes Atlassian Forge apps to reduce platform consumption and avoid unnecessary costs using Atlassian's "Optimise Forge platform costs" guidance. Use when the user asks to optimize Forge app costs, reduce Forge invocations, lower GB-seconds, reduce storage or log usage, tune memory, replace polling, improve scheduled triggers, reduce KVS writes, move work to the frontend, use bridge APIs, batch API calls, add caching, or evaluate Forge Remote trade-offs. By default, perform an audit first and offer to make the recommended changes after presenting the audit. Only modify files immediately when the user explicitly asks the agent to implement or apply optimizations.

Security356 installs

forge-onboarding

atlassian/forge-skills

Open the skill to read its SKILL.md instructions.

106 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.