ogt-docs-create-taskCreate and manage task documents in the docs/todo/ workflow. Use when creating new tasks, updating task status, or moving tasks between workflow stages. Provides complete task lifecycle management with verification.
Install via ClawdBot CLI:
clawdbot install EduardoU24/ogt-docs-create-taskComplete guide for creating and managing tasks in the docs-first workflow.
Tasks are the unit of work in the docs-first system. Each task is a folder that moves through workflow stages, accumulating documentation and signals as it progresses.
flowchart LR
subgraph stages ["Task Lifecycle"]
P[pending] --> IP[in_progress]
IP --> R[review]
R --> D[done]
IP --> B[blocked]
B --> IP
R --> REJ[rejected]
REJ --> P
D --> IMP[implemented]
end
style P fill:#fef3c7
style IP fill:#dbeafe
style R fill:#e0e7ff
style B fill:#fee2e2
style REJ fill:#fecaca
style D fill:#d1fae5
style IMP fill:#a7f3d0
docs/todo/
โโโ pending/ # Tasks not yet started
โ โโโ {task_slug}/
โ โโโ task.md # Primary task definition
โ โโโ context.md # Background information (optional)
โ โโโ .version # Schema version
โ โโโ .priority # Priority level (content: critical|high|medium|low)
โ
โโโ in_progress/ # Tasks being actively worked on
โ โโโ {task_slug}/
โ โโโ task.md
โ โโโ progress.md # Work log and updates
โ โโโ .version
โ โโโ .priority
โ โโโ .assigned_to_{agent} # Who's working on it
โ โโโ .started_at # Timestamp when started
โ
โโโ review/ # Tasks awaiting review
โ โโโ {task_slug}/
โ โโโ task.md
โ โโโ progress.md
โ โโโ implementation.md # What was done
โ โโโ .version
โ โโโ .ready_for_review # Empty signal
โ โโโ .pr_link # PR URL if applicable
โ โโโ .review_requested_at
โ
โโโ blocked/ # Tasks that cannot proceed
โ โโโ {task_slug}/
โ โโโ task.md
โ โโโ progress.md
โ โโโ .version
โ โโโ .blocked # Empty signal
โ โโโ .blocked_reason # Why blocked (content)
โ โโโ .blocked_at # When blocked
โ โโโ .depends_on # What it's waiting for
โ
โโโ done/ # Completed and verified tasks
โ โโโ {task_slug}/
โ โโโ task.md
โ โโโ progress.md
โ โโโ implementation.md
โ โโโ verification.md # How it was verified
โ โโโ .version
โ โโโ .verified # Empty signal - REQUIRED
โ โโโ .completed_at # Completion timestamp
โ โโโ .verified_by_{agent} # Who verified
โ
โโโ rejected/ # Tasks that were declined
โ โโโ {task_slug}/
โ โโโ task.md
โ โโโ .version
โ โโโ .rejected # Empty signal
โ โโโ .rejected_reason # Why rejected (content)
โ โโโ .rejected_at # When rejected
โ
โโโ implemented/ # Done tasks that are deployed/released
โโโ {task_slug}/
โโโ task.md
โโโ implementation.md
โโโ verification.md
โโโ .version
โโโ .verified
โโโ .completed_at
โโโ .implemented_at # When deployed
โโโ .release_version # Which release included it
Tasks that are defined but not yet started.
pending/
โโโ fuzzy_search/
โโโ task.md
โโโ context.md
โโโ .version
โโโ .priority
# Task: Fuzzy Search Implementation
## Summary
Replace substring search with fuzzy indexed search using MiniSearch.
## Objectives
- Install MiniSearch library
- Create SearchIndexService
- Refactor GlobalSearch component
- Add debounce to search input
## Acceptance Criteria
- [ ] Typing "fir" returns "Fireball", "Fire Elemental", etc.
- [ ] Results ranked by relevance
- [ ] Search responds within 16ms
- [ ] TypeScript compiles clean
## Dependencies
- None
## Estimated Effort
Medium (2-4 hours)
## References
- MiniSearch docs: https://lucaong.github.io/minisearch/
- Current search: front/components/features/GlobalSearch.tsx
# Context: Fuzzy Search
## Current State
GlobalSearch.tsx uses `String.toLowerCase().includes()` for matching.
No ranking, no debounce, no fuzzy matching.
## User Request
"Global search with ctrl+k, should be instant, indexed, fuzzy.
If I search fire just by typing fir I should get instantly a list."
## Technical Decision
MiniSearch chosen over:
- Fuse.js (heavier, slower on large datasets)
- Lunr (no fuzzy matching)
MiniSearch is 6KB gzipped, used by VitePress.
{ "schema": "1.0", "created": "2026-02-05T10:00:00Z" }
high
Tasks actively being worked on.
in_progress/
โโโ card_variants/
โโโ task.md
โโโ progress.md
โโโ .version
โโโ .priority
โโโ .assigned_to_claude
โโโ .started_at
# Task: Card Variant System Expansion
## Summary
Add Condensed, ListItemCondensed, and stub Quaternary/Penta card variants.
## Objectives
- Update UICardFrameType enum
- Create \*Condensed.tsx components
- Create \*ListItemCondensed.tsx components
- Stub Quaternary and Penta variants
- Update all \*CardMain.tsx orchestrators
## Acceptance Criteria
- [ ] Condensed renders 48-64px tile with art, border, icon badge
- [ ] ListItemCondensed renders 32px single-line row
- [ ] Quaternary/Penta exist as stubs
- [ ] All orchestrators route to new variants
- [ ] TypeScript compiles clean
## Dependencies
- None
## Estimated Effort
Large (4-8 hours)
# Progress: Card Variants
## 2026-02-05 10:30 - Started
- Read existing card components
- Identified 8 entity types needing variants
- Created implementation plan
## 2026-02-05 11:00 - UICardFrameType Updated
- Added Condensed, Penta, ListItem, ListItemCondensed to type
- File: front/data/app-generics.ts:82
## 2026-02-05 11:30 - CreatureCardCondensed Created
- Created front/components/compendium/CreatureCardCondensed.tsx
- 64x64 portrait, rarity border, type icon badge
- Tooltip on hover shows name
## Current Status
- [x] Type definition updated
- [x] CreatureCardCondensed
- [ ] ItemCardCondensed
- [ ] AbilityCardCondensed
- [ ] Remaining entity types
- [ ] ListItemCondensed variants
- [ ] Quaternary/Penta stubs
- [ ] Orchestrator updates
(empty file - presence indicates assignment)
2026-02-05T10:30:00Z
Tasks completed and awaiting review.
review/
โโโ spell_routes/
โโโ task.md
โโโ progress.md
โโโ implementation.md
โโโ .version
โโโ .ready_for_review
โโโ .pr_link
โโโ .review_requested_at
# Task: Wire SpellDetailView into Router
## Summary
SpellDetailView.tsx exists but is not routed. Wire it into the app router.
## Objectives
- Add route to APP_ROUTES
- Add Route element in App.tsx
- Verify component loads correctly
## Acceptance Criteria
- [ ] /spells/:slug route works
- [ ] SpellDetailView renders with spell data
- [ ] Navigation from spell cards works
- [ ] TypeScript compiles clean
# Progress: Spell Routes
## 2026-02-05 09:00 - Started
- Located SpellDetailView at front/app/(main)/compendium/SpellDetailView.tsx
- Reviewed existing route patterns
## 2026-02-05 09:15 - Implementation Complete
- Added spell_detail to APP_ROUTES in app-configs.ts
- Added Route element in App.tsx
- Tested with /spells/fireball - works
- TypeScript compiles clean
`
# Implementation: Spell Routes
## Files Changed
### front/data/app-configs.ts
Added route configuration:typescript
spell_detail: {
path: '/spells/:slug',
label: 'Spell Detail',
}
`
Added import and route:
import SpellDetailView from './(main)/compendium/SpellDetailView';
// ...
<Route path="/spells/:slug" element={<SpellDetailView />} />
#### .ready_for_review
(empty file)
#### .pr_link
https://github.com/org/repo/pull/123
#### .review_requested_at
2026-02-05T09:30:00Z
---
## Stage: blocked/
Tasks that cannot proceed due to dependencies or blockers.
### Example: blocked/auth_refactor/
blocked/
โโโ auth_refactor/
โโโ task.md
โโโ progress.md
โโโ .version
โโโ .blocked
โโโ .blocked_reason
โโโ .blocked_at
โโโ .depends_on
`
#### task.mdmarkdown
Refactor AuthService to support multiple OAuth providers.
`
#### progress.mdmarkdown
#### .blocked
(empty file)
#### .blocked_reason
Requires backend changes: Steam OAuth provider must be added to Strapi before frontend can implement Steam login flow. Backend task not yet created.
#### .blocked_at
2026-02-03T15:00:00Z
#### .depends_on
---
## Stage: done/
Completed tasks that have been **verified**.
### Example: done/ogt_cli_commands/
done/
โโโ ogt_cli_commands/
โโโ task.md
โโโ progress.md
โโโ implementation.md
โโโ verification.md
โโโ .version
โโโ .verified
โโโ .completed_at
โโโ .verified_by_claude
#### task.mdmarkdown
Create generic file/data validation CLI tools under ogt check.
#### verification.md`markdown
2026-01-30
$ ogt check --help
# โ
Shows subcommands: assets, slugs, indexed, data, from-list
$ ogt check assets --help
# โ
Shows usage and flags
$ ogt check slugs --help
# โ
Shows usage and flags
$ ogt check indexed --help
# โ
Shows usage and flags
$ ogt check data --help
# โ
Shows usage and flags
`
### Functional Testsbash
$ ogt check indexed creatures
$ ogt check slugs front/data/app-creatures -r
$ ogt check assets static/public/creatures portrait.png -r
### Exit Codesbash
$ ogt check indexed creatures && echo "pass"
$ ogt check indexed nonexistent || echo "fail"
## Verification Result
**PASS** - All acceptance criteria met
(empty file - REQUIRED for done/ status)
2026-01-30T14:00:00Z
(empty file)
Tasks that were declined and will not be implemented.
rejected/
โโโ legacy_api_compat/
โโโ task.md
โโโ .version
โโโ .rejected
โโโ .rejected_reason
โโโ .rejected_at`
# Task: Legacy API Compatibility Layer
## Summary
Create compatibility layer for v0 API endpoints.
## Objectives
- Map v0 endpoints to v1 services
- Maintain backward compatibility for 6 months
- Log deprecation warnings
## Acceptance Criteria
- [ ] All v0 endpoints work
- [ ] Deprecation headers sent
- [ ] Usage logging enabled`
(empty file)
Decision: Clean break over compatibility layer.
Rationale:
1. No external consumers of v0 API
2. Maintenance burden outweighs benefits
3. v0 endpoints have security issues
4. Better to document migration path
Alternative: Create migration guide instead.
See: docs/guides/v0_to_v1_migration/
2026-02-01T09:00:00Z
Tasks that are done AND deployed/released to production.
implemented/
โโโ creatures_index/
โโโ task.md
โโโ implementation.md
โโโ verification.md
โโโ .version
โโโ .verified
โโโ .completed_at
โโโ .implemented_at
โโโ .release_version
2026-02-02T10:00:00Z
v1.2.0
flowchart TD
A[User Request] --> B{Task Defined?}
B -->|No| C[Create task.md]
C --> D[Add context.md if needed]
D --> E[Set .priority]
E --> F[Add .version]
F --> G[Place in pending/]
B -->|Yes| H[Update existing task]
Steps:
docs/todo/pending/{task_slug}/task.md with Summary, Objectives, Acceptance Criteriacontext.md for background.priority with level (critical/high/medium/low).version with schema version# Move from pending to in_progress
mv docs/todo/pending/{task_slug} docs/todo/in_progress/
# Add assignment signal
touch docs/todo/in_progress/{task_slug}/.assigned_to_{agent}
# Add start timestamp
echo "$(date -Iseconds)" > docs/todo/in_progress/{task_slug}/.started_at
# Create progress log
touch docs/todo/in_progress/{task_slug}/progress.md
# Move to blocked
mv docs/todo/in_progress/{task_slug} docs/todo/blocked/
# Add blocked signals
touch docs/todo/blocked/{task_slug}/.blocked
echo "Reason here" > docs/todo/blocked/{task_slug}/.blocked_reason
echo "$(date -Iseconds)" > docs/todo/blocked/{task_slug}/.blocked_at
# Move to review
mv docs/todo/in_progress/{task_slug} docs/todo/review/
# Add review signals
touch docs/todo/review/{task_slug}/.ready_for_review
echo "$(date -Iseconds)" > docs/todo/review/{task_slug}/.review_requested_at
# Add implementation docs
# Create implementation.md documenting what was done
CRITICAL: Must verify before marking done!
# 1. Run ALL acceptance criteria checks
# 2. Document in verification.md
# 3. ONLY if all pass:
# Move to done
mv docs/todo/review/{task_slug} docs/todo/done/
# Add completion signals
touch docs/todo/done/{task_slug}/.verified # REQUIRED
echo "$(date -Iseconds)" > docs/todo/done/{task_slug}/.completed_at
touch docs/todo/done/{task_slug}/.verified_by_{agent}
# Move to rejected
mv docs/todo/review/{task_slug} docs/todo/rejected/
# Add rejection signals
touch docs/todo/rejected/{task_slug}/.rejected
echo "Reason here" > docs/todo/rejected/{task_slug}/.rejected_reason
echo "$(date -Iseconds)" > docs/todo/rejected/{task_slug}/.rejected_at
| Signal | Stage | Meaning |
| ------------------- | ------------------- | -------------------------------------- |
| .blocked | blocked/ | Task cannot proceed |
| .ready_for_review | review/ | Ready for review |
| .verified | done/, implemented/ | REQUIRED - Implementation verified |
| .rejected | rejected/ | Task declined |
| Signal | Stage | Meaning |
| ---------------------- | ------------ | ------------------- |
| .assigned_to_{agent} | in_progress/ | Who's working on it |
| .verified_by_{agent} | done/ | Who verified it |
| .approved_by_{name} | any | Who approved |
| Signal | Content | Example |
| ------------------ | ------------------- | ------------------------------------- |
| .version | JSON schema version | {"schema": "1.0", "created": "..."} |
| .priority | Priority level | high |
| .blocked_reason | Why blocked | Free text explanation |
| .rejected_reason | Why rejected | Free text explanation |
| .depends_on | Dependencies | List of dependencies |
| .pr_link | PR URL | https://github.com/... |
| .started_at | ISO timestamp | 2026-02-05T10:00:00Z |
| .completed_at | ISO timestamp | 2026-02-05T14:00:00Z |
| .blocked_at | ISO timestamp | 2026-02-05T12:00:00Z |
| .rejected_at | ISO timestamp | 2026-02-05T09:00:00Z |
| .implemented_at | ISO timestamp | 2026-02-05T16:00:00Z |
| .release_version | Version string | v1.2.0 |
# Task: {Title}
## Summary
One paragraph describing what needs to be done and why.
## Objectives
- Specific objective 1
- Specific objective 2
- Specific objective 3
## Acceptance Criteria
- [ ] Verifiable criterion 1
- [ ] Verifiable criterion 2
- [ ] Verifiable criterion 3
- [ ] TypeScript compiles clean (if applicable)
## Dependencies
- {dependency} or "None"
## Estimated Effort
{Tiny|Small|Medium|Large|XLarge} ({time estimate})
## References
- Relevant link 1
- Relevant file path
- Related task
NEVER mark a task as done without verification.
## For each acceptance criterion:
1. IDENTIFY: What command/action proves this criterion?
2. RUN: Execute the verification
3. CAPTURE: Record the output
4. ASSESS: Does it pass?
## Required Verifications by Type:
### File Creation
- [ ] File exists: `test -f {path} && echo "EXISTS"`
- [ ] File is exported (if module): `grep "export" {index_file}`
### Dependency Installation
- [ ] In package.json: `grep "{package}" package.json`
- [ ] Can import: Create test file with import
### Route Addition
- [ ] In router: `grep "{route}" {router_file}`
- [ ] Navigable: Test in browser
### Pattern Removal
- [ ] Zero matches: `grep -r "{pattern}" {path} | wc -l` = 0
### Type Addition
- [ ] Type exists: `grep "type {Name}" {types_file}`
- [ ] Compiles: `tsc --noEmit` or equivalent
### General
- [ ] TypeScript compiles: Run type checker
- [ ] Tests pass: Run test suite
- [ ] No console errors: Check browser/runtime
| Mistake | Why It's Wrong | Correct Approach |
| --------------------------------- | --------------------------- | ----------------------------- |
| Moving to done/ without .verified | No proof of completion | Verify first, then move |
| Trusting task.md checkboxes | Checkboxes can be wrong | Run actual verification |
| Skipping implementation.md | No record of what changed | Document all changes |
| Empty verification.md | No proof of verification | Record actual test output |
| Multiple tasks in progress | Context switching waste | Finish one, then start next |
| Editing task.md in done/ | History should be immutable | Create follow-up task instead |
AI Usage Analysis
Analysis is being generatedโฆ refresh in a few seconds.
Edit PDFs with natural-language instructions using the nano-pdf CLI.
Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
Convert documents and files to Markdown using markitdown. Use when converting PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls), HTML, CSV, JSON, XML, images (with EXIF/OCR), audio (with transcription), ZIP archives, YouTube URLs, or EPubs to Markdown format for LLM processing or text analysis.
็จ MinerU API ่งฃๆ PDF/Word/PPT/ๅพ็ไธบ Markdown๏ผๆฏๆๅ ฌๅผใ่กจๆ ผใOCRใ้็จไบ่ฎบๆ่งฃๆใๆๆกฃๆๅใ
Generate hand-drawn style diagrams, flowcharts, and architecture diagrams as PNG images from Excalidraw JSON
The awesome PPT format generation tool provided by baidu.