Track Progress with Claude Code
This guide describes what a day looks like when you use Plenar with Claude Code. It is written as a sequence of real interactions — the kind of conversation you would have during a normal development day.
Start your day: “What should I work on?”
Open Claude Code and ask:
What are my tasks in Plenar?
Claude calls plenar_get_my_tasks and shows you something like:
Your tasks for Auth Service Rebuild:
In Progress:
- Implement OAuth flow (3d est, started March 24, due March 27)
To Do (sorted by priority):
- Add session storage (2d est, scheduled March 28-31)
- Write integration tests (2d est, scheduled April 1-2)
- Add rate limiting (1d est, scheduled April 3)
Blocked:
- Configure SSO provider (blocked by: "Waiting on SSO credentials")
Pick up where you left off, or start the next prioritized task.
Start a task: “Let me work on session storage”
When you are ready to begin a new task:
Start the session storage task in Plenar
Claude calls plenar_start_task and shows the preview:
Preview: "Add session storage" -> In Progress
- Effective start date: March 26 (today)
- Schedule impact: no downstream tasks affected
- Suggested branch: plenar/abc123-add-session-storage
- Claimed by swift-falcon
Apply this change?
Plenar automatically claims the task for your session. Your team can see who is working on what in the dashboard’s task detail panel — a “Claimed by” indicator shows the active agent and how long ago the claim was made.
Say yes. Claude applies the change, and you have a branch name ready to go:
git checkout -b plenar/abc123-add-session-storage
The branch name convention (plenar/<task-id>-<slug>) links your code to the plan automatically.
During development: update as you learn
Estimate changed
You start working and realize the task is more complex than expected:
Update the session storage estimate to 4 days — the caching
integration is more involved than we thought
Claude calls plenar_update_estimate and shows the impact:
Preview: "Add session storage" estimate 2d -> 4d
- "Write integration tests" pushed 2 days later (April 3-4)
- "Add rate limiting" pushed 2 days later (April 5)
- Goal "Auth Service Rebuild" ETA: April 5 -> April 7 (still on track)
Apply?
You see the ripple effect before it happens. If the goal would go off-track, you would know immediately and could adjust scope instead.
Hit a blocker
A dependency is not ready yet:
I'm blocked on the session storage task — the cache cluster
isn't ready. Waiting on the infrastructure team.
Claude calls plenar_report_blocker:
Blocker reported on "Add session storage":
Reason: Cache cluster not provisioned, waiting on infrastructure team
Status: Blocked
Alternative tasks you can work on:
- Write integration tests (2d, no blockers)
- Add rate limiting (1d, no blockers)
The schedule now reflects the blocker, and you have options for what to do next.
Link a PR
You created a pull request:
Link PR #42 to the session storage task
Claude calls plenar_link_artifact:
Linked PR https://github.com/org/repo/pull/42 to "Add session storage"
The artifact is now tracked against the task — useful for traceability and future reference.
Finish a task: “I’m done”
When the work is complete:
I finished the session storage task
Claude calls plenar_complete_task:
Preview: "Add session storage" -> Done
- Effective end date: March 28
- Schedule recomputed:
- "Write integration tests" can now start (March 31)
- Goal "Auth Service Rebuild" ETA: April 4 (on track)
Next suggested task: "Write integration tests" (2d, starts March 31)
Apply?
After applying, you know exactly what to work on next. The schedule has already accounted for your completion.
Add new scope: “We need one more thing”
You discover during implementation that you need additional work:
Add a task: "Implement cache invalidation for sessions", 2 days,
must-have, depends on the session storage task, assign to the
Auth milestone
Claude calls plenar_add_tasks:
Preview: New task "Implement cache invalidation for sessions"
- 2 days, must-have, depends on "Add session storage"
- Scheduled: April 2-3 (assigned to you)
- "Write integration tests" pushed to April 4-5
- Goal ETA: April 5 -> April 7 (still on track)
Apply?
You see exactly how the new scope affects the plan before committing.
Create a full plan from scratch
Starting a new project or goal? You can create the entire structure in one shot:
Create a plan for our billing integration:
Goal: Stripe Integration (P1, due May 30)
Milestone: Payment processing
- Implement checkout flow (5d, must-have)
- Add webhook handler (3d, must-have, depends on checkout)
- Handle refund logic (2d, must-have, depends on webhook)
Milestone: Subscription management
- Build plan selector (3d, must-have)
- Implement upgrade/downgrade (4d, must-have, depends on plan selector)
Goal: Billing Dashboard (P2, due June 15)
- Invoice history page (3d, nice-to-have)
- Usage charts (2d, nice-to-have)
Claude calls plenar_create_plan and shows a full schedule preview with dates, assignments, and goal ETAs.
Check schedule health: “Are we on track?”
At any point:
How's the schedule looking?
Claude calls plenar_get_schedule_status:
Auth Service Rebuild -- Schedule Status:
Overall: On Track
Goals:
Auth Service Rebuild (P1, due April 15): On Track
ETA: April 7 (8 days of buffer)
Warnings: none
Pending changes: 0
Estimate with data
Not sure how long something will take? Ask Claude to find comparable work:
Find me tasks similar to implementing a webhook handler
so I can calibrate my estimate
Claude calls plenar_get_exemplars:
Similar completed tasks:
- "Stripe webhook endpoint" -- estimated 3d, actual 4d
- "GitHub webhook handler" -- estimated 2d, actual 2d
- "Slack event listener" -- estimated 2d, actual 3d
Average: estimated 2.3d, actual 3d (1.3x calibration factor)
Suggestion: if you estimate 3d, budget for 4d.
The full lifecycle at a glance
Morning: "What should I work on?" -> see prioritized tasks
Start: "Start the auth task" -> status + branch name
Working: "Update estimate to 5 days" -> see schedule impact
Blocked: "I'm blocked on X" -> status + alternatives
PR created: "Link this PR" -> artifact tracked
Done: "I finished the task" -> next task suggested
New scope: "Add a task for Y" -> see schedule impact
Status check: "How's the schedule?" -> goal health + warnings
Every write operation goes through the change impact preview. You always see the impact before committing. The schedule stays accurate because keeping it current is part of your natural development flow — not a separate chore.