Loading...
Loading...
Project documentation that stays alive. Read before starting work, update after finishing. Covers project setup, specs, architecture diagrams, and execution plans. Use when starting a project, writing a spec, checking existing docs, updating docs after changes, or when someone says "set up docs", "create a plan", "audit docs", or "init project".
npx skill4agent add uinaf/skills papyrus-maximusproject/
README.md ← humans: what is this, how to run it
AGENTS.md ← agents: project rules, stack, commands
CLAUDE.md ← symlink → AGENTS.md
docs/
ARCHITECTURE.md ← how the system works (diagrams > text)
*.md ← guides, references, anything useful
plans/ ← specs, execution plans, living docs| Section | Content |
|---|---|
| What | One paragraph — what does this do? |
| Getting Started | Clone, install, run. Copy-pasteable. |
| Usage | Key commands / API surface |
| Contributing | How to dev, test, deploy |
| Section | Content |
|---|---|
| Stack | Languages, frameworks, key deps |
| Commands | Build, test, lint, deploy — exact commands |
| Conventions | Naming, patterns, gotchas |
| Architecture | One sentence + "see docs/ARCHITECTURE.md" |
docs/## System Context
\```mermaid
graph LR
User --> App
App --> DB[(PostgreSQL)]
App --> Queue[Redis]
Worker --> Queue
Worker --> ExtAPI[External API]
\```
## Components
| Component | Responsibility | Talks to |
|-----------|---------------|----------|
| API | HTTP handlers, auth | DB, Queue |
| Worker | Background jobs | Queue, ExtAPI |
| CLI | Admin commands | DB |
## Key Flows
\```mermaid
sequenceDiagram
User->>API: POST /order
API->>DB: insert order
API->>Queue: enqueue process_order
Worker->>Queue: dequeue
Worker->>ExtAPI: submit
Worker->>DB: update status
\```process(order) → validate → enqueue → respondkebab-case-slug.mdkalshi-hardening-2026-02-23.mdloss-reduction-2026-02-23.md# [Feature Name]
## Goal
One sentence.
## Context
Why now? What's the current state? What's wrong with it?
## Design
\```mermaid
graph LR
...
\```
| Decision | Choice | Why |
|----------|--------|-----|
| Storage | SQLite | Single machine, no need for Postgres |
| Auth | API key | Internal tool, simplicity wins |
## Pseudocode
\```
on_request(order):
validate(order.fields)
enriched = fetch_market_data(order.ticker)
if enriched.price > order.limit: reject("above limit")
queue.push(enriched)
return accepted(order.id)
\```
## Tasks
- [x] Design approved
- [ ] Implement core handler
- [ ] Add validation
- [ ] Write tests
- [ ] Update ARCHITECTURE.md
## Open Questions
- How to handle partial fills? → decided: treat as separate orders| Principle | Instead of | Write |
|---|---|---|
| Show, don't describe | "The system uses a pub/sub pattern for async communication between services" | A mermaid diagram showing the flow |
| Tables over lists | A bullet list of 8 config options with descriptions | A table with columns: option, type, default, description |
| Pseudocode over real code | A 40-line Go function | |
| Capabilities over paths | "src/internal/worker/handler.go processes jobs" | "The worker processes background jobs from the queue" |
| Short sentences | "The system is designed to handle the processing of incoming orders by first validating them and then..." | "Orders are validated, then queued for processing." |
AGENTS.mddocs/ARCHITECTURE.mddocs/plans/*.mddocs/ARCHITECTURE.mddocs/plans/*.mdAGENTS.mddocs/docs/plans/docs/