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 ch
- 0
- Installs
- —
- Rating
- —
- Success rate
- 3
- Files scanned
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 d2b881bb1100c58c… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
SKILL.md
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.
- If the app declares
Workflow
- Read
manifest.ymlormanifest.yaml.- Identify modules, resources, functions, resolver bindings, triggers, web triggers, remotes, permissions, runtime, and memory settings.
- Verify referenced handlers/resources exist.
- Read
package.json.- Check Forge package fit, scripts, runtime assumptions, direct dependencies, and obvious unused/missing packages.
- 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.
- Backend/resolvers:
- Inspect tests and project docs when present.
- Note missing tests only when behavior risk justifies it.
- 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
ignoreSelfwhere 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 guideresolver— backend/resolver wiring and runtime behaviorfrontend— UI Kit / Custom UI invoke and bridge patternsdependencies—package.json/ runtime package fittests— missing or inadequate verificationgeneral— 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 exampleconnector). Do not re-label those findings asmanifestjust because evidence lives inmanifest.yml.
Location rules (do not path-only):
- Always cite precise
path:lineorpath: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.
Files
3- README.md
6612fa2d782.4 KB - SKILL.md
c8309425858.2 KB - modules/connector-review.md
bc79ac16782.9 KB
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from atlassian/forge-skills6
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, env
Guides building and deploying Atlassian Forge Teamwork Graph connector apps that ingest external data into Atlassian's Teamwork Graph, making it searchable in Rovo Search and surfaced in Rovo Chat. Use when the user wants to build a Forge connector, ingest external data into Atlassian, connect a thi
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 poll
Diagnoses and fixes issues in Atlassian Forge apps. Use this skill whenever a Forge app has errors, crashes, shows blank UI, fails to deploy, doesn't appear after installation, has permission issues, or produces unexpected output. Trigger on any mention of forge logs, forge deploy errors, resolver e
Guide a first-time Forge builder through deploying a stock Rovo Agent, then turning it into Forge Guru, a documentation companion. Use for Forge onboarding, a first Forge or Rovo app, or resuming this tutorial. Route unrelated existing-app changes, debugging, reviews, and connector work to the speci
Performs a white-box security review of Atlassian Forge apps using structured, Forge-specific security rules and evidence-driven reporting. Use when the user asks for a Forge security review, security audit, vuln assessment, pentest-style code review, authz review, tenant isolation analysis, web tri
Related methodology skillsscan passed
Break a tRPC backend into multiple services with custom routing links that split on the first path segment (op.path.split('.')) to route to different backend service URLs. Define a faux gateway router that merges service routers for the AppRouter type without running them in the same process. Share
Delegation mode for open-code-review (OCR). Instead of OCR calling an LLM endpoint, this skill instructs the host agent to perform the code review itself, using OCR only for deterministic engineering: file selection and rule resolution. Use when the host agent should drive the review with its own LL
Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.
Quality review of a change: is the logic right, is it safe, does it hold under real load, is risky code tested, is it fast enough, and is every line needed. Reads the connected code, not only the diff. Each finding is explained in plain English. Use for "review this", "code review", "review the last
Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging. Use when the task is to find, screen, synthesize, and cite a body of academic or technical literature.