Skip to content
Back to skills

Documents

ASecurity

- **ステータス:** 採用 - **決定日:** 2026-08-20 - **関連:** BILL-218、PR #106

  • 50 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
developmentapi

Works with

  • api

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add iwasa-kosui/tanteki --skill documents --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Documents?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Documents
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/iwasa-kosui-documents-9db2a672/badge)](https://www.skillsdirectory.com/skills/iwasa-kosui-documents-9db2a672)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# ADR-XXX: 請求書PDF生成を非同期キュー処理にする

- **ステータス:** 採用
- **決定日:** 2026-08-20
- **関連:** BILL-218、PR #106

## コンテキスト

請求書PDFの生成には最大45秒かかる。同期的に生成するとAPI接続が長時間維持され、接続が切断される可能性がある。そのため、生成完了までAPIリクエストを待機させる方式は安定しない。

## 決定

請求書PDFの生成はキューを利用した非同期処理として実装する。APIはPDFそのものを返さず、生成依頼を受け付けたことを示す受付IDを返す。利用者または呼び出し元は、その受付IDを使って生成状況や完成したPDFを確認する。

## 却下した選択肢

### 同期生成

同期生成では、生成完了まで最大45秒かかり、処理中に接続が切れる可能性があるため採用しない。

## 結果

### 利点

- API接続の長時間維持を避けられる。
- PDF生成処理をキューで分離でき、APIの応答性を保ちやすい。
- 一時的な負荷増加に対して、処理をキューに蓄積できる。

### 欠点・留意点

- 非同期処理のため、利用者はPDFが完成するまで待つ必要がある。
- 生成状況の確認方法と、完成後のPDF取得方法が必要になる。
- 生成失敗時の通知・再処理方針が必要になる。
- 再試行の上限は、この決定時点では未決定である。実装時に別途決定し、設定値と運用方針を文書化する。

## 追加検討事項

- 受付IDの状態モデル(受付済み、処理中、完了、失敗など)
- ポーリングまたは通知による完成確認方式
- PDFの保持期間と再取得可否
- 冪等性の扱い
- 再試行回数、間隔、対象エラー、最終失敗時の扱い

## 参考

原資料の作業メモには、関連作業として **BILL-218**、**PR #106**、進捗 **70%** と記載されている。進捗は作業メモ時点の情報であり、本ADRの採否を示すものではない。

Files in this skill

  • adr-boundary.1.with_skill.md1.4 KB
  • adr-boundary.1.without_skill.md2.1 KB
  • adr-boundary.2.with_skill.md1.2 KB
  • adr-boundary.2.without_skill.md3 KB
  • canonical-reference.1.with_skill.md290 B
  • canonical-reference.1.without_skill.md321 B
  • canonical-reference.2.with_skill.md306 B
  • canonical-reference.2.without_skill.md289 B
  • comparison-rfc.1.with_skill.md1.3 KB
  • comparison-rfc.1.without_skill.md1.4 KB
  • comparison-rfc.2.with_skill.md1.3 KB
  • comparison-rfc.2.without_skill.md1.6 KB
  • design-tradeoff.1.with_skill.md3.9 KB
  • design-tradeoff.1.without_skill.md9.9 KB
  • design-tradeoff.2.with_skill.md3.9 KB
  • design-tradeoff.2.without_skill.md6.3 KB
  • incident-record.1.with_skill.md517 B
  • incident-record.1.without_skill.md535 B
  • incident-record.2.with_skill.md557 B
  • incident-record.2.without_skill.md500 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.