agentleFS
ewebdzineewebdzine/claude-code-time-tracker/skills/launch/SKILL.md

launch

Skill0 starsChanged 4 months agoMITView on GitHub

Start the Claude Code Time Tracker dashboard locally and open it in the browser. Boots the Next.js dev server in the background against your ~/.claude logs, waits for it to be ready, prints the URL (http://localhost:3000), and opens it. Run when the user types /time-tracker:launch, or says "open the time tracker", "launch the dashboard", "show me my Claude Code hours", "start the time tracker". If it isn't installed yet, run /time-tracker:setup first.

66 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use add-policy, tool-rename-deprecation and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • OpenCortexIDESkill

    add-policy

    Use when adding, modifying, or reviewing VS Code configuration policies. Covers the full policy lifecycle from registration to export to platform-specific artifacts. Run on ANY change that adds a `policy:` field to a configuration property.

    Also in 4 projects that use this

  • gitpod-ioSkill

    tool-rename-deprecation

    Ensure renamed built-in tool references preserve backward compatibility. Use when renaming a toolReferenceName, tool set referenceName, or any tool identifier. Run on ANY change to tool registration code. Covers legacyToolReferenceFullNames for tools and legacyFullNames for tool sets.

    Also in 4 projects that use this

  • CesarjoquinSkill

    competitors

    When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'battle card,' or 'competitor teardown.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For sales-specific competitor docs, see sales-enablement.

    Also in 12 projects that use this

  • CesarjoquinSkill

    paywalls

    When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use when the user mentions "paywall," "upgrade screen," "upgrade modal," "upsell," "feature gate," "convert free to paid," "freemium conversion," "trial expiration screen," "limit reached screen," "plan upgrade prompt," "in-app pricing," "free users won't upgrade," "trial to paid conversion," or "how do I get users to pay." Use this for any in-product moment where you're asking users to upgrade. Distinct from public pricing pages (see cro) — this focuses on in-product upgrade moments where the user has already experienced value. For pricing decisions, see pricing.

    Also in 9 projects that use this

  • riggyzSkill

    attribution

    Attribution rules for issues, pull requests, work items, reviews, and comments created or edited by the agent in GitHub, Linear, Azure DevOps, or similar collaboration systems. Use when creating, commenting on, reviewing, or modifying external tracker content.

    Also in 6 projects that use this

  • coreyhaines31Skill

    conversion-tracking

    Set up, audit, verify, or fix website conversion tracking. Use when the conversion is a form submission, booked meeting, chat, phone call, signup, or purchase; when conversions must reach Google Ads, Meta, GA4, LinkedIn, TikTok, or Microsoft Ads; when the work involves GTM tags and dataLayer events, pixels, the Conversions API (CAPI), Enhanced Conversions, server-side tagging, or gclid and fbclid capture; or when the user reports conversion problems like "conversions stopped", "double counting", "spend but no conversions", "GA4 and Google Ads don't match", or an Unverified or Inactive status. Covers lead gen and ecommerce. Always fire on confirmed success, never the submit click; verify a test conversion arrives; diagnose before changing anything; offer free and native paths alongside paid ones and disclose partner tools. For tracking plans and UTMs, see analytics. For attribution models, see attribution. For campaigns and bidding, see ads. For CRM lead-stage design, see revops.

    Also in 3 projects that use this

  • +4 more from Cesarjoquin

The file

We split this skill into the rules it gives an agent

6 rules. 0 are common, 0 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 60 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Start the local dashboard and open it in the browser.

    line 8
  2. Very specific:

    If $APP_DIR/node_modules/next is missing, tell the user to run /time-tracker:setup first and stop.

    line 18
  3. Very specific:

    Already running?: If $APP_DIR/.dev-server.pid exists and that PID is alive, don't start a second server - just re-open the URL (step 5) and …

    line 21
  4. Very specific:

    If it never becomes ready, show the tail of .dev-server.log so the user sees the error.

    line 44
  5. Very specific:

    No data / demo data?: If the dashboard shows the built-in demo, the app didn't find local transcripts.

    line 62
  6. Very specific:

    Port in use: If 3000 is busy, Next uses the next free port - always trust the URL printed in .dev-server.log, not a hard-coded 3000.

    line 65

“Common” is measured: kept by at least 6 in 10 of the 60 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Launch - open the dashboard

Start the local dashboard and open it in the browser. It serves at http://localhost:3000, reads the transcripts in ~/.claude, and keeps running in the background until the user runs /time-tracker:stop (or closes the terminal/machine).

The app lives in ~/.claude-time-tracker (set up by /time-tracker:setup). If that folder or its node_modules is missing, run /time-tracker:setup first, then come back here.

How to run

  1. Locate the install. APP_DIR="${CCTI_APP_DIR:-$HOME/.claude-time-tracker}".
    • If $APP_DIR/node_modules/next is missing, tell the user to run /time-tracker:setup first and stop.
  2. Already running? If $APP_DIR/.dev-server.pid exists and that PID is alive, don't start a second server - just re-open the URL (step 5) and report it's already up. Read the port from $APP_DIR/.dev-server.log if present (Next prints Local: http://localhost:PORT).
  3. Start the server in the background and log to a file so we can read the port and detect readiness. Use nohup so it survives this tool call:
    cd "$APP_DIR"
    nohup npm run dev > .dev-server.log 2>&1 &
    echo $! > .dev-server.pid
    • To read logs from a different location, prefix with CLAUDE_DIR=/path/to/.claude.
  4. Wait for ready. Poll .dev-server.log (up to ~30s) for the line containing Local: / Ready and capture the URL (default http://localhost:3000; Next auto-bumps to 3001+ if 3000 is taken, so read the actual port from the log rather than assuming):
    for i in $(seq 1 30); do
      grep -qE "Ready|Local:" "$APP_DIR/.dev-server.log" && break
      sleep 1
    done
    grep -oE "http://localhost:[0-9]+" "$APP_DIR/.dev-server.log" | head -1
    • If it never becomes ready, show the tail of .dev-server.log so the user sees the error.
  5. Open the browser at the detected URL. Pick the opener for the platform; try in order and don't fail the whole skill if none work - just print the URL clearly:
    • macOS: open "$URL"
    • Linux (native): xdg-open "$URL"
    • WSL: explorer.exe "$URL" (or wslview "$URL" if installed)
    • Windows (Git Bash): start "" "$URL"
  6. Report. Tell the user:
    • The dashboard is live at $URL (opened in the browser).
    • It's reading their local ~/.claude logs; data refreshes when they reload the page.
    • It runs in the background - stop it anytime with /time-tracker:stop.

Notes

  • First paint may take a few seconds while Next compiles the route - that's normal on the first load after launch.
  • No data / demo data? If the dashboard shows the built-in demo, the app didn't find local transcripts. Confirm ~/.claude/projects exists, or relaunch with CLAUDE_DIR pointing at the right folder.
  • Port in use. If 3000 is busy, Next uses the next free port - always trust the URL printed in .dev-server.log, not a hard-coded 3000.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.