agentleFS
fmindfmind/dot/.agents/skills/dot-development/SKILL.md

dot-development

Skill13 starsChanged 4 days agoMITView on GitHub

Develop fmind/dot CLI commands, session parsers, storage, configuration, and installation.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Find the owner: follow the source/test map below and read the current implementation before selecting a change boundary.

    line 19
  2. Distinctive:

    Define the observable change: keep the cli-contracts surface and Fish completions unless the task changes them.

    line 20
  3. Very specific:

    Select proof: run relevant existing tests with uv run --frozen --project dot pytest -q dot/tests/<test_file>.py.

    line 22
  4. Distinctive:

    Qualify the candidate: run affected static checks and reuse the focused test results above.

    line 23
  5. Very specific:

    Verify the right executable: use uv run --frozen --project dot dot <command> for checkout behavior.

    line 24

≈ “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

Develop Dot

Change the Python CLI while retaining its observable command, archive, and installation contracts. dot-cli owns operating the installed tool; python-stack and cli-contracts own generic implementation and interface design.

Workflow

  1. Find the owner: follow the source/test map below and read the current implementation before selecting a change boundary.
  2. Define the observable change: keep the cli-contracts surface and Fish completions unless the task changes them. Exercise configuration errors through the public CLI; repair commands must remain usable when ordinary config loading fails.
  3. Implement through existing boundaries: reuse State, Runner, and run_parallel for configuration, streams, external commands, and concurrent subprocess probes. Use temporary homes and fake runners in tests so a CLI regression cannot authenticate, publish, prune real data, or modify the workstation.
  4. Select proof: run relevant existing tests with uv run --frozen --project dot pytest -q dot/tests/<test_file>.py; add behavioral cases for changed outcomes and realistic failures. Read session compatibility before changing parser output, replacement rules, or stored formats.
  5. Qualify the candidate: run affected static checks and reuse the focused test results above; project AGENTS.md owns the full-gate boundary and formatter isolation.
  6. Verify the right executable: use uv run --frozen --project dot dot <command> for checkout behavior. When installation is in scope, mise run deploy reinstalls it with uv tool install, constrained to dot/uv.lock; verify dot --version and the changed installed command separately. mise run doctor is workstation health, not repository qualification.

Source and test map

Modules live in dot/src/fmind_dot/ and tests in dot/tests/; a module's tests are test_<module>.py unless listed here, and rg -l <symbol> dot/tests finds the rest.

  • cli.py, command_group.py, and state.py: test_cli.py; exercise configuration errors through the public CLI.
  • auth.py and workstation.py: test_workstation.py with synthetic provider probes. Never run real login/setup/prune as a validation gate.
  • secrets.py: test_secrets.py (it rejects a personal UV_PUBLISH_TOKEN; packages use Trusted Publishing). Keep fixtures synthetic and never print credential values.
  • hooks.py: test_agent_hooks.py.
  • system.py (dot completion): test_system.py. COMPLETION_SOURCES lists the tools; only completions.path is configurable. An entry selects a native generator (binary and args) or a mise package with a bundled <tool>.fish (package); entries with neither run <tool> completion fish. Missing executables and inactive mise shims are skipped. Tools without a working generator need another source: agy keeps a chezmoi-managed script in dot_config/fish/completions/, and acli has none (1.3.39 removed acli completion). The Atuin cache omits its AI ? binding.
  • agent.py (dot agent commands): test_agent_workflows.py, test_usage.py, and test_session_query.py.
  • archive/: parsers.py → test_agent_parsers.py, store.py → test_session_store.py, query.py → test_session_query.py, sync.py → test_agent_workflows.py, statistics.py → test_daily_workflows.py; test_archive_transaction.py covers replacement and usage retention, test_usage_periods.py covers deduplication, model changes, date boundaries, and legacy recapture.

Documentation

  • Project tasks and package configuration own the actual gate and dependency graph.
  • Releases: fmind/dot · changelog
  • Companion skills: chezmoi (managed configuration), dot-release (release lifecycle).

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.