agentleFS
LetermeFlorentLetermeFlorent/claude-skills/progress-board/SKILL.md

progress-board

Skill0 starsChanged 9 days agoMITView on GitHub

Use when a run reports its percentage (the drive-project skill, a long task, several agents at once), when the user asks to see progress on the local page or the board, when http://127.0.0.1:8790 does not answer, or when curl to it fails with "connection refused" or exit code 7.

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Never send a time, a date or a query string: the server takes its own clock when the request arrives.

    line 31
  2. Very specific:

    Never post to the board's settings routes (/_cfg, /_del/..., /_clear): the user runs them from the page.

    line 36

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Reporting progress to the local board

A local page, http://127.0.0.1:8790, draws one line per project: its percentage over time, the last point marked by the project's icon and name, a card per project below. An agent reports with one short GET request and nothing else. The server stamps the time itself, keeps the history on disk and pushes each change to every open page.

<board> below is ${CLAUDE_CONFIG_DIR:-$HOME/.claude}/claude-skills/progress-board.

Report

curl -s "http://127.0.0.1:8790/<project>/<percent>/<step>"

The answer is ok. In PowerShell call curl.exe, never curl (an alias of Invoke-WebRequest there).

PartRule
<project>The project folder's name, the same for the whole run (site-shop, mod-minecraft). Letters, digits, hyphens.
<percent>A whole number from 0 to 100.
<step>Optional on every report, 0 and 100 included; one to three words joined by hyphens (tests, write-docs). Never a space, a slash or a sentence.
  1. Send 0 when the work starts, then the new percentage after each finished step, then 100 once when the run is done. One request per change, never a loop and never a request just to say nothing changed.
  2. Never send a time, a date or a query string: the server takes its own clock when the request arrives.
  3. A percentage may go down when work turns out larger than planned; send the real value.
  4. Several agents on one project send under the same <project> only when one of them owns the percentage (the drive-project lead). Otherwise each agent reports its own project name.
  5. The answer stays out of the chat. Reporting never adds a word to what the user reads.
  6. Never post to the board's settings routes (/_cfg, /_del/..., /_clear): the user runs them from the page.

When the page does not answer

curl fails (exit code 7, "connection refused", "Failed to connect"), or the user says the page is unavailable:

python -I "<board>/server.py" start

It answers http://127.0.0.1:8790 started or ... already running, then send the report again, once. It is safe to run any time: it never starts a second server. When it still fails, go on with the work without the board and mention it in the final answer only; the board is never a reason to stop a run.

What the user sees and controls

The page follows the system theme and has a settings window (time shown on the width, delay before a finished project leaves, delay before a project with no news leaves, theme, removing projects). Those are the user's: an agent never changes them. Defaults: a finished project leaves after 1 hour, a project with no report for 3 days leaves too. A project reporting again after that comes back with its old icon and color on a new line.

The installer (tools/install.py) sets the server to start at every login and starts it at once; --uninstall removes the start at login. The data lives in <board>/.state.json.

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.