Forge App Review

作者 atlassian4f04ae028794無授權條款25 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫2 天前更新

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.

AI 產生的概覽

審查 Atlassian Forge 應用程式的發佈前就緒狀態,並產出依優先順序排列的發現報告。

功能
此技能會引導對 Atlassian Forge 應用程式進行輕量級的發佈前審查,涵蓋資訊清單與模組接線、架構、執行階段與相依性狀況、測試、部署就緒度,以及明顯的安全性、成本或可靠性訊號。它會讀取 manifest.yml、package.json、原始碼檔案與測試,然後回傳一份精簡的 Markdown 報告,內含摘要與依嚴重程度排序的發現表格,並附上檔案與行號證據。它也會將深入的安全性、成本或除錯問題轉交給專門技能,而非自行處理。
適用情境
當有人要求對 Forge 應用程式進行一般審查、部署前或發佈就緒檢查、資訊清單審查,或廣泛的品質檢查時使用。它不適用於深入的安全性稽核、成本最佳化,或診斷已知故障的應用程式。
執行需求
不隨附指令碼,僅為指示文件。它需要存取應用程式檔案,包括 manifest.yml 或 manifest.yaml、package.json、原始碼檔案與測試;當宣告 Forge Connectors 或 Teamwork Graph 模組時,也可能載入隨附的模組審查指南 modules/connector-review.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.

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

來源與署名

來源:atlassian/forge-skills位於skills/forge-app-review提交4f04ae0

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架