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-f6a113a5/badge)](https://www.skillsdirectory.com/skills/iwasa-kosui-documents-f6a113a5)

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: 請求書PDF生成を非同期キュー処理にする

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

## コンテキスト

請求書PDFの生成には最大45秒かかる場合がある。同期的に生成すると、処理中にAPI接続が切断される可能性があるため、利用者に安定して受付結果を返せない。

## 決定

請求書PDFの生成はキューに投入して非同期で処理する。APIはPDFそのものを待って返却せず、処理の受付IDを返す。

利用者は受付IDを使って処理状況および生成結果を確認し、PDFの完成後に取得する。

## 却下した選択肢

### 同期生成

同期的にPDFを生成してAPIレスポンスで返す方式は採用しない。最大45秒の処理時間により、API接続が切断される可能性があるためである。

## 影響

### 利点

- 長時間のPDF生成中もAPI接続を維持する必要がない。
- APIは受付IDを速やかに返せる。
- PDF生成処理をキューおよびワーカー側で管理できる。

### 欠点・利用者への影響

- PDFが完成するまで利用者は待つ必要がある。
- 利用者またはクライアントは、受付IDを保持して状況確認と結果取得を行う必要がある。
- 生成失敗時の状態や、再試行の扱いを利用者に伝える必要がある。

## 運用上の留意事項

- 受付IDと生成状態の対応を追跡できるようにする。
- 未完了、完了、失敗などの状態をクライアントが判別できるようにする。
- 生成完了後のPDF取得方法と、失敗時のエラー通知方法を維持する。
- キュー滞留やワーカー停止により、完成までの時間が延びる可能性を監視する。

## 未決事項

- 再試行回数の上限は未決定である。運用開始前、または実運用での失敗率・コスト・重複生成の影響を確認したうえで決定する。
- 受付IDの有効期限、状態確認の方式、PDFの保存期間は必要に応じて別途決定する。

## 進捗・出典メモ

原資料の作業メモには、BILL-218、PR #106、進捗70%と記録されている。進捗は本ADRの採否を示すものではなく、関連作業の進行状況を示すメモとして扱う。

Files in this skill

  • adr-boundary.1.with_skill.md1 KB
  • adr-boundary.1.without_skill.md2.6 KB
  • adr-boundary.2.with_skill.md884 B
  • adr-boundary.2.without_skill.md2.3 KB
  • canonical-reference.1.without_skill.md216 B
  • canonical-reference.2.with_skill.md188 B
  • canonical-reference.2.without_skill.md289 B
  • comparison-rfc.1.with_skill.md1.6 KB
  • comparison-rfc.2.with_skill.md1.4 KB
  • comparison-rfc.2.without_skill.md1.7 KB
  • design-tradeoff.1.with_skill.md4.1 KB
  • design-tradeoff.1.without_skill.md7.6 KB
  • design-tradeoff.2.with_skill.md3.6 KB
  • design-tradeoff.2.without_skill.md9.7 KB
  • incident-record.1.with_skill.md510 B
  • incident-record.1.without_skill.md517 B
  • incident-record.2.with_skill.md702 B
  • incident-record.2.without_skill.md751 B
  • no-document.1.without_skill.md329 B
  • no-document.2.with_skill.md341 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.