DEV Community

Cover image for Beyond Coding: Your Accountability Buddy with Claude Code Skill
Ooi Yee Fei
Ooi Yee Fei

Posted on

Beyond Coding: Your Accountability Buddy with Claude Code Skill

After months of demanding work and endless context-switching recently, it got me thinking: out of the 1001 personal learning topics, build ideas, and reading lists I've been wanting to tackle over the past 7-8 months - what have I actually achieved? How am I progressing? Have I drifted? Are those still the priorities I remember? What even are they anymore?

I realized I'd lost track. And time keeps slipping by.

So I wondered: for someone who's not the most organized person - someone who tends to be random and follows what they want to do impromptu - how can I have a better, systematic way to handle and track all this? Something that gives me insights when I need them, lets me reflect on where I'm heading, and tells me if I'm still on track. But most importantly, keeps the flexibility and openness I need to explore new things as they come.

My first thought: not another task tracker. Not the 999th document or note tool or app that I've tried and given up on (or forgotten about) within a week. How can I make this more fun? Something that suits my way of thinking - how I actually feel motivated?
Challenge. That was my first thought. But how do I build it? I need help. Since I'm a big fan of Claude Code day-to-day, is there something I can do with it differently?

So I decided to give it a try. I had no idea what would work - only time would tell. If this system makes me remember it and stick with it for more than a week, it works. I started brainstorming and designing with Claude. One thing on my long list was exploring how Claude Code skills could be used in different scenarios. No apps. No tools. Just a Claude Code skill - simple enough that I can "inject" it into my beloved Claude Code to help me with this.

After letting the brainstorming juice flow, I ended up with this skill: GitHub

What it does: every day I check in, log progress, track ideas, and try to maintain momentum. But my original workflow was locked into a specific folder structure and only worked for "building" type challenges.

What if someone wanted to track a fitness challenge? A reading goal? A meditation habit?

I decided to build a Claude Code skill that could track any type of challenge. After discussing with friends, there seems to be a working pattern that's open, flexible, and adaptable enough regardless of challenge type - fitness, learning, habits. We all have some aspect of our life we hope to improve. It seems to fit just right with what Claude Code skills can do.


How It Ended Up

My previous /daily-checkin workflow worked great for my 30-day AI/ML challenge. It had:

  • challenge-log.md for tracking progress
  • daily-context.md for setting up each session
  • ideas-backlog.md for things to try - whenever my random brain pops up with an idea, I just throw it in the backlog. Or if I'm lazy, I tell Claude in scattered-brain chatting style and it logs it in a structured way for me.
  • preferences.md for my stack and tools

But it was hardcoded for tech challenges. Questions like "what did you ship?" and "tech stack used?" are useless if you're tracking a workout routine or trying to read 12 books this year.

I wanted something that:

  1. Works for any challenge type (learning, building, fitness, creative, habits)
  2. Asks the right questions based on what you're tracking
  3. Keeps the same useful file structure but adapts the content
  4. Detects connections across different challenges (compound learning)

The Approach

Instead of building separate trackers for each domain, I realized the file structure could stay universal - only the content needs to adapt.

Think of it like this: A preferences file is useful whether you're tracking code or workouts. For code, it stores your stack and tools. For fitness, it stores your equipment and workout types. For food, maybe cuisine and diet type. Same purpose, different content.

This led to the "type-adaptive" design:

  • Same files for everyone (preferences.md, backlog.md, today.md, etc.)
  • Different sections filled in based on challenge type
  • Guided creation flow that asks type-specific questions

How It Works

Challenge Types

The skill supports 6 types:

Type Best For Check-in Questions
Learning Courses, books, skills "Any aha moments?", "Progress on milestones?"
Building Projects, shipping "What did you ship?", "Any blockers?"
Fitness Workouts, health "What exercises?", "How did your body feel?"
Creative Art, writing, music "What did you create?", "Any inspiration?"
Habit Routines, consistency "Did you complete it?", "How did it feel?"
Custom Anything else You define the questions

Type-Adaptive Preferences

When you create a new challenge (just say "start a new streak challenge"), it asks type-specific questions and pre-fills your preferences.md. For example:

For a Learning challenge:

## Topics & Resources
- **Learning:** Rust programming
- **Resources:** Rustlings, The Rust Book
- **Tools:** VS Code, cargo

## Learning Style
- **Approach:** hands-on with reading
- **Practice:** exercises after each chapter
Enter fullscreen mode Exit fullscreen mode

For a Fitness challenge:

## Workout Style & Equipment
- **Focus:** strength training
- **Equipment:** home gym - dumbbells, pull-up bar
- **Workout types:** push/pull/legs split

## Location & Schedule
- **Where:** home gym
- **Best days:** weekdays morning
- **Rest days:** Wednesday, Sunday
Enter fullscreen mode Exit fullscreen mode

Same file structure. Different content. Works for any domain.

Cross-Challenge Insights

This is where it gets interesting. If you're running multiple challenges, the skill detects connections - Claude handles the semantic relationship:

Compound Learning Detected

Your "Learn Rust" challenge (Session 12) where you learned async/await
directly enabled your "Build CLI Tools" challenge (Session 3) where
you built a concurrent file processor.
Enter fullscreen mode Exit fullscreen mode

Or even cross-domain (this is experimental - don't take my word for it happening 100% as expected):

Your morning workout (Fitness) correlates with higher productivity
in your coding sessions (Building). Sessions after workouts show
30% more completed items.
Enter fullscreen mode Exit fullscreen mode

I don't know if this insight detection will be accurate enough in practice, but the structure is there to try it. This skill itself is meant for experiment and learning for all of us, right? :D

Installation (2 Easy Steps)

Prerequisite: Claude Code installed.

Get from: GitHub

# Add the marketplace
/plugin marketplace add ooiyeefei/ccc

# Install the skills collection
/plugin install ccc-skills@ccc
Enter fullscreen mode Exit fullscreen mode

How to Use

You have two options for triggering the streak tracker:

Option 1: Slash Commands (Recommended)

Use slash commands for reliable, deterministic triggering - they always work:

/streak              # Check in to active challenge
/streak-new          # Create a new challenge (guided)
/streak-list         # List all challenges
/streak-switch NAME  # Switch active challenge
/streak-stats        # View progress and achievements
/streak-insights     # Cross-challenge insights
Enter fullscreen mode Exit fullscreen mode

Option 2: Natural Language (Alternative)

You can also ask Claude Code naturally - it will invoke the skill when relevant:

"Start a new streak challenge"
"Check in to my challenge"
"Show my stats"
Enter fullscreen mode Exit fullscreen mode

Why two options? Slash commands are deterministic - they always trigger. Natural language relies on Claude detecting your intent, which can be inconsistent. For daily routines like check-ins, slash commands are more reliable.

Create Your First Challenge

/streak-new
Enter fullscreen mode Exit fullscreen mode

The skill walks you through:

  1. Pick a type (Learning, Building, Fitness, Creative, Habit, Custom)
  2. Set your goal and cadence (daily, every 2 days, weekly)
  3. Answer type-specific questions
  4. Files are auto-generated with your answers pre-filled

Daily Check-in

/streak
Enter fullscreen mode Exit fullscreen mode

You get:

  • Status (on track, due, overdue)
  • Type-specific questions
  • Auto-logged to your progress file
  • Insights generated after each check-in

Commands Reference

Command What It Does
/streak Check in to active challenge
/streak-new Create a new challenge (guided)
/streak-list List all challenges with status
/streak-switch NAME Switch active challenge
/streak-stats Progress, streaks, achievements
/streak-insights Cross-challenge connections

Example 1: Learning Challenge - "Read 12 Books This Year"

Goal: Finish one book per month, track key takeaways.

Setup: Run /streak-new and Claude guides you through:

→ Type: Learning
→ Name: read-12-books
→ Goal: Finish 12 books this year
→ Cadence: Weekly
→ Resources: Kindle, local library
→ Milestones: 3 books, 6 books, 9 books, 12 books
Enter fullscreen mode Exit fullscreen mode

Weekly check-in asks:

  • What did you read this week?
  • Any aha moments or key learnings?
  • Progress on milestones?

Your preferences.md includes:

  • Reading preferences (physical vs kindle vs audiobook)
  • Typical reading time
  • Genres you're focusing on

Example 2: Fitness Challenge - "Morning Workout Habit"

Goal: Build consistent strength training habit, 5 days a week.

Setup: Run /streak-new and Claude guides you through:

→ Type: Fitness
→ Name: morning-workout
→ Goal: Build consistent strength training habit
→ Cadence: Daily (rest days built into routine)
→ Equipment: Home gym - dumbbells, pull-up bar, resistance bands
→ Workout types: Push/pull/legs split
→ Constraints: Recovering from knee injury - avoid heavy squats
Enter fullscreen mode Exit fullscreen mode

Daily check-in asks:

  • What workout/exercises did you do?
  • How did your body feel?
  • Any PRs or progress?

Your preferences.md includes:

  • Equipment available
  • Workout split
  • Rest days
  • Constraints/injuries to track

What I Learned After Using It for 2 Weeks

Follow your mood sometimes. Yes, we all want control, focus, and "productivity" as much as possible. But sometimes, listening to your body and subconscious mind helps. If I don't feel like doing the top priority that day, I just explore whatever else I'm in the mood for. The effectiveness and experience are so much better when you're in the mood and get into "flow."

It doesn't have to be perfect all the time. The idea is bite-sized. Even a small baby step helps - we can always continue from there. Logging helps because it brings back context and recaps what's been done previously, very quickly. Claude even surprises me with suggestions sometimes. It detects progress on certain topics and suggests next steps I'd logged before, after asking how much time I have that day.

Type-specific questions matter. Asking "what did you ship?" to someone tracking meditation is useless. Asking "how did it feel?" makes sense. The guided creation flow captures domain context upfront.

The results so far? Two weeks in: 10+ micro-apps and builds shipped, 5+ new technical concepts outside my comfort zone. Topics that had been sitting on my "someday" list for months. Bite-sized daily progress adds up fast.


Try It Out

Got something you've been meaning to improve on and track? Give it a shot:

# Install (one-time setup)
/plugin marketplace add ooiyeefei/ccc
/plugin install ccc-skills@ccc

# Create your first challenge
/streak-new

# Daily check-in
/streak
Enter fullscreen mode Exit fullscreen mode

Let me know what works and what breaks. I'm particularly curious if the type-adaptive preferences make sense for domains I haven't tested (fitness, creative, habit).


Links:

Top comments (0)