This document provides guidance for AI agents interacting with this repository. The information is based on an analysis of the existing codebase, structure, and workflows.
To install or update Claude skills from the claude-skills repository:
Option 1: Run locally
bash .claude/install-skills.sh
Option 2: Trigger GitHub Actions
To add/remove skills: Edit the SKILLS array in .claude/install-skills.sh
This repository uses code maps (_MAP.md files) to provide navigable overviews of the codebase structure without requiring you to read every file.
_MAP.md first to understand the overall structure[bsky/](./bsky/_MAP.md)) to explore specific areasExample workflow:
1. Read _MAP.md (see 10 subdirectories)
2. Read bsky/_MAP.md (see bsky-core.js exports 16 functions)
3. Read bsky-quote.js (see it imports from bsky-core.js)
4. Now read the actual source files only if needed
IMPORTANT: When you modify code that affects exports or imports, you MUST regenerate the maps.
# Regenerate all maps (dependencies auto-install on first run)
python .claude/skills/mapping-codebases/scripts/codemap.py .
# Include updated maps in your commit
git add '*/_MAP.md'
Best practice: Regenerate maps just before committing code changes that affect module interfaces.
This is a Jekyll-based static site published to GitHub Pages.
.github/workflows/main.yml file.# Install the correct Ruby version (if not already installed)
# rbenv install 3.1.2 (or similar)
# rbenv local 3.1.2
# Install dependencies using Bundler
bundle install
bundle exec jekyll serve
The site should be available at http://127.0.0.1:4000/.
bundle exec jekyll build
_site/ directory. It is the same command used in the GitHub Actions workflow.bundle exec jekyll serve
npm testnpm run test:headednpm run test:uibundle exec jekyll serve and manually verifying that pages render correctly and tools are functional..github/workflows/main.yml workflow builds the site but does not run automated tests.hyphen-separated-names.html.hyphen-separated convention.my-new-tool.html, its documentation should be in my-new-tool_README.md.The repository is organized into thematic subdirectories containing standalone web tools and pages.
/: The root contains top-level pages, configuration files, and miscellaneous assets./_site/: This directory contains the generated static site after running bundle exec jekyll build. Do not edit files in this directory manually, as they will be overwritten./ai-tools/: A collection of web-based tools related to AI, such as log viewers and data processors./bsky/: Tools and utilities related to the BlueSky/AT Protocol social network.
bsky/_MAP.md for the current module structure and dependencies./fun-and-games/: Interactive pages, curiosities, and small games./web-utilities/: General-purpose web tools like formatters, converters, and bookmarklets./new-tools/). Add an index.html file inside it, modeled after /ai-tools/index.html, which uses the github-toc.js component to list the tools in that directory. After creating a new section also make sure to update this file (AGENTS.md) accordingly!/images/: Site-wide images and assets./scripts/: Shared JavaScript files or scripts used by multiple pages./styles/: CSS stylesheets._MAP.md files before making changes to understand code structurenpm test)_MAP.md files in commits when relevanttool-name.html + tool-name_README.md pattern when creating new tools._site/ directory directly, as it is a build artifact.sitemap.xml to the repository. It is generated during the build process.CONTRIBUTING.md file with explicit instructions.main branch. For significant changes, it is advisable to work on a separate branch and create a Pull Request.main branch, as defined in .github/workflows/main.yml.sitemap.xml file is generated automatically by the jekyll-sitemap plugin during the Jekyll build process. It is not stored in the repository but is available on the live site at https://austegard.com/sitemap.xml.