fossil-scm/skills/fossil-usage/SKILL.md
This skill should be used when the user asks to "fossil commit", "fossil branch", "fossil merge", "fossil clone", "fossil sync", "fossil ticket", "fossil stash", "fossil timeline", mentions working with a Fossil repository, asks about Fossil vs Git differences, or needs help with Fossil SCM commands and workflows.
npx skillsauth add egravert/egravert-marketplace Fossil SCM UsageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Comprehensive guidance for managing projects with Fossil SCM from the command line, covering repository management, commits, branching, multi-user workflows, and the ticketing system.
Fossil is a distributed version control system combining source code management with an integrated wiki, ticketing system, and web interface—all in a single executable. Unlike Git, Fossil emphasizes simplicity, autosync by default, and feature-centric branching.
Key Concepts:
| Concept | Description |
|---------|-------------|
| Repository | SQLite database file (.fossil) containing all project history |
| Working checkout | Directory where files are edited, linked via fossil open |
| Artifact | Any versioned item (file, commit, ticket) identified by SHA hash |
| Autosync | Default behavior that automatically pushes/pulls on commit/update |
Understanding these differences prevents common mistakes:
fossil commit --branch name not git checkout -b.fossil SQLite filefossil commit file1 file2 for partial)fossil init myproject.fossil
mkdir myproject && cd myproject
fossil open ../myproject.fossil
fossil add .
fossil commit -m "Initial commit"
fossil clone https://example.com/repo project.fossil
mkdir work && cd work
fossil open ../project.fossil
# Start feature (creates branch during commit)
fossil commit --branch feature-login -m "Start login feature"
# Work on feature
fossil commit -m "Add login form"
fossil commit -m "Add validation"
# Merge back to trunk
fossil update trunk
fossil merge --integrate feature-login
fossil commit -m "Merged feature-login"
With autosync enabled (default), collaboration is automatic:
# Alice commits - automatically pushes
fossil commit -m "Alice's changes"
# Bob updates - automatically pulls Alice's changes
fossil update
# Move bad commit to "mistake" branch
fossil amend HEAD --branch mistake
fossil amend HEAD --close
fossil update trunk
# Undo last update/merge/revert
fossil undo
# Revert uncommitted changes
fossil revert
| Task | Command |
|------|---------|
| Create repo | fossil init repo.fossil |
| Clone repo | fossil clone URL repo.fossil |
| Open repo | fossil open repo.fossil |
| Check status | fossil status or fossil changes |
| Add files | fossil add file or fossil addremove |
| Commit | fossil commit -m "msg" |
| Update | fossil update |
| New branch | fossil commit --branch name |
| Switch branch | fossil update branchname |
| List branches | fossil branch list |
| Merge | fossil merge branchname |
| Cherry-pick | fossil merge --cherrypick HASH |
| View diff | fossil diff |
| View history | fossil timeline |
| File history | fossil finfo filename |
| Annotate/blame | fossil annotate filename |
| Stash changes | fossil stash save -m "msg" |
| Apply stash | fossil stash pop |
| Sync manually | fossil sync |
| Push only | fossil push |
| Pull only | fossil pull |
| Add ticket | fossil ticket add title "..." status "Open" |
| Update ticket | fossil ticket set UUID status "Closed" |
| Ticket history | fossil ticket history UUID |
| List tickets | fossil ticket show "All Tickets" |
| Web UI | fossil ui |
# Check current setting
fossil settings autosync
# Enable (default)
fossil settings autosync on
# Disable for manual control
fossil settings autosync off
# Pull only (no auto-push)
fossil settings autosync pullonly
fossil sync # Full sync (push + pull)
fossil push # Push only
fossil pull # Pull only
fossil sync --private # Include private branches
fossil remote # Show current remote
fossil remote add URL # Set default remote
fossil remote list # List all remotes
fossil stash save -m "WIP" # Save and revert working dir
fossil stash snapshot -m "msg" # Save but keep working dir
fossil stash list # List stashes
fossil stash show # Show most recent as diff
fossil stash pop # Apply and remove
fossil stash apply # Apply but keep
fossil stash drop 1 # Delete specific stash
# Add during commit
fossil commit --tag v1.0.0 -m "Release"
# Add to existing commit
fossil tag add v1.0.0 HASH
# List tags
fossil tag list
# Remove tag
fossil tag cancel v1.0.0 HASH
| Setting | Description |
|---------|-------------|
| autosync | Auto push/pull on commit/update |
| editor | Text editor for commit messages |
| ignore-glob | Patterns for files to ignore |
| binary-glob | Patterns for binary files |
| case-sensitive | Case sensitivity for filenames |
fossil settings # List all
fossil settings autosync off # Set local
fossil settings autosync off --global # Set global
fossil unset autosync # Revert to global
A Fossil working checkout contains either:
_FOSSIL_ file (Unix/Linux).fslckout file (Windows or when using --dotfiles)Check with: ls -la _FOSSIL_ .fslckout 2>/dev/null
fossil ui # Open local web UI in browser
fossil ui --port 9000 # Specific port
fossil server --port 8080 # External access
For comprehensive command documentation with all options and examples:
references/commands.md - Complete Fossil command reference including:
Consult references/commands.md for detailed syntax and options not covered in this quick reference.
Based on Fossil SCM version 2.27. Use fossil help COMMAND for authoritative documentation on the installed version.
development
Use this skill when working on Go projects, creating new Go services, adding features to Go applications, designing Go package structure, implementing repository patterns, structuring layered Go architectures, or discussing Go application design. Applies to any Go development following a pragmatic layered architecture with clean separation between domain, service, storage, and interface layers.
development
# Agentic Practices Installer Install agentic engineering practices into the current project's CLAUDE.md as permanent coding standards. ## Procedure Follow these steps exactly when this skill is invoked: ### Step 1: Identify available languages List the files in this skill's `references/` directory matching the pattern `agentic-*-practices.md`. Extract the language name from each filename (e.g., `agentic-go-practices.md` → "Go"). These are the supported languages. ### Step 2: Ask the user
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------