Documentation Agent banner
cchew cchew

Documentation Agent

Communication community

Description

Converts Slack threads into structured Confluence KB articles via a one-click Slack shortcut and Claude API

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Documentation Agent

Converts Slack incident threads and Q&A chains into structured Confluence KB articles via a one-click Slack shortcut.

![Generated KB article](presentation/screenshots/kb-1.png)

Localhost flow

Slack shortcut → ngrok → FastAPI → Claude API (structured extraction) → Confluence page + Slack Block Kit response

![Localhost component flow](presentation/diagrams/component-flow.svg)

AWS flow

Slack shortcut → API Gateway → Rust Lambda (HMAC + SQS) → Python worker Lambda → Claude API → DynamoDB + Confluence + Slack response

![AWS component flow](presentation/diagrams/component-flow-aws.svg)


Version history

Version Description
v0.3.1 Detect existing KB duplicates and preserve user edits (localhost only). Gated by UPDATE_NOT_DUPLICATE=true.
v0.2.2 AWS deployment: Rust API Lambda + Python worker Lambda + SQS + DynamoDB + CDK IaC
v0.1.0 Localhost deployment: FastAPI + ngrok + Claude API (tool use) + Confluence REST API

Requirements

  • Python 3.12+
  • ngrok (for local development — exposes FastAPI to Slack webhooks)
  • Slack workspace with admin access
  • Confluence free tier (personal workspace)
  • Anthropic API key
  • (AWS deployment only) AWS account, Rust toolchain, cargo-lambda, AWS CDK CLI

Setup

1. Python environment

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[test]"

2. Environment variables

cp .env.example .env

Fill in all values in `.env`. See [Slack app setup](#slack-app-setup) and [Confluence setup](#confluence-setup) below for where to find each credential.

3. Slack app setup

Create a new Slack app at [api.slack.com/apps](https://api.slack.com/apps).

**OAuth scopes** (Bot Token Scopes under OAuth & Permissions):

Scope Purpose
channels:manage Create demo channels
channels:read List channels
channels:join Join channels to post
chat:write Post me