{"id":51186333,"url":"https://github.com/luabagg/agent-skills","last_synced_at":"2026-06-27T10:30:47.709Z","repository":{"id":362374530,"uuid":"1218570103","full_name":"luabagg/agent-skills","owner":"luabagg","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-26T22:10:56.000Z","size":122,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-27T00:29:29.755Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luabagg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-23T02:19:13.000Z","updated_at":"2026-06-26T22:11:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/luabagg/agent-skills","commit_stats":null,"previous_names":["luabagg/agent-skills"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/luabagg/agent-skills","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luabagg%2Fagent-skills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luabagg%2Fagent-skills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luabagg%2Fagent-skills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luabagg%2Fagent-skills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luabagg","download_url":"https://codeload.github.com/luabagg/agent-skills/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luabagg%2Fagent-skills/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34850575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-27T10:30:47.053Z","updated_at":"2026-06-27T10:30:47.703Z","avatar_url":"https://github.com/luabagg.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal Agent Skills\n\nPublic source of truth for my global agent instructions, personal skills, curated third-party skill references, and non-skill tool references.\n\n![Setup Script Execution](docs/setup-command.png)\n\nThis repo supports:\n\n- Claude Code\n- Codex\n- Copilot\n- OpenCode\n\n## Layout\n\n```text\n.\n|-- AGENTS.md                # Repo-scoped instructions for working in this repo\n|-- AGENTS.global.md         # Global agent instructions, distributed to ~/.codex, ~/.claude, etc.\n|-- CLAUDE.md -\u003e AGENTS.md   # Symlink so Claude loads repo-scoped rules in this repo\n|-- skills/                  # Personal skills authored here\n|-- curated-skills.json      # Installable skill sources plus reference-only plugin inventory\n|-- curated-tools.json       # Non-skill tools, CLIs, packages, and docs I use\n|-- harnesses/               # Opt-in harness-specific setup manifests\n|-- scripts/                 # Install helpers\n|-- package.json             # Small npm command surface\n`-- README.md\n```\n\n## Install\n\nInstall package dependencies from a local checkout:\n\n```bash\nnpm install\n```\n\nInstall global skills and instructions:\n\n```bash\nnpm run setup\n```\n\nDefault mode uses symlinks where the target tool supports normal files. Use copy mode when symlinks are not desirable:\n\n```bash\nnpm run setup:copy\n```\n\nWhat `npm run setup` does:\n\n- Installs personal skills from `skills/` for `claude-code`, `codex`, `github-copilot`, and `opencode` using `npx skills`.\n- Installs curated third-party skills from `curated-skills.json` `sources`.\n- Installs global `AGENTS.global.md` guidance for Claude, Codex, Copilot, and OpenCode.\n\n## Commands\n\n```bash\nnpm run skills:list              # list personal skills in this repo\nnpm run install:skills           # install only personal skills\nnpm run install:curated          # install only curated skills-cli sources\nnpm run install:curated:dry-run  # preview curated skill install commands\nnpm run install:agents           # install only global AGENTS.global.md guidance\nnpm run setup                    # full symlink setup\nnpm run setup:copy               # full copy setup\nnpm run setup:memory-palace      # persist the default memory-palace vault path\nnpm run setup:opencode           # opt-in OpenCode harness setup\nnpm run setup:opencode:dry-run   # preview OpenCode harness setup\nnpm run verify                   # non-destructive verification pass\n```\n\n## Personal Skills\n\nPersonal skills live in `skills/\u003cskill-name\u003e/SKILL.md`.\n\nCurrent personal skills:\n\n| Skill | Purpose |\n| --- | --- |\n| `branch-port` | Port a feature across heavily diverged branches without unsafe merges |\n| `memory-palace` | Ingest, query, and lint the personal Obsidian knowledge vault |\n| `thorough-pr-review` | Review PRs and branches for correctness, reliability, and merge-readiness |\n\nList local personal skills:\n\n```bash\nnpm run skills:list\n```\n\n### Memory Palace Vault Path\n\nConfigure the default vault path once so the `memory-palace` skill works from any current directory:\n\n```bash\nnpm run setup:memory-palace -- --vault /mnt/c/Users/\u003cyou\u003e/Documents/\u003cvault\u003e\n```\n\nIf you are running from WSL and your vault lives on Windows, paste the Windows path from Explorer:\n\n```bash\nnpm run setup:memory-palace -- --vault \"C:\\Users\\user-name\\Documents\\Obsidian Vaults\\obsidian-vault\"\n```\n\nThe setup script converts it to a WSL-accessible path before saving it.\n\nThe setting is saved at `~/.agents/memory-palace/config.json`:\n\n```json\n{\n  \"vaultPath\": \"/mnt/c/Users/\u003cyou\u003e/Documents/\u003cvault\u003e\",\n  \"configuredAt\": \"2026-06-15T00:00:00.000Z\",\n  \"sourceInput\": \"C:\\\\Users\\\\\u003cyou\u003e\\\\Documents\\\\\u003cvault\u003e\"\n}\n```\n\nResolution precedence inside the skill is:\n\n1. explicit vault path in the current user request\n2. `MEMORY_PALACE_VAULT`\n3. `~/.agents/memory-palace/config.json`\n4. current-directory detection as a fallback\n\nOn WSL, Windows paths like `C:\\Users\\...` are expected and are converted to `/mnt/c/Users/...` before validation and saving. The saved path must already be accessible from WSL.\n\n## Curated References\n\n`curated-skills.json` tracks two different inventories:\n\n- `sources` are third-party skill sources installable by `npx skills`. `npm run install:curated` only uses this list.\n- `pluginReferences` are plugin-style or harness-specific skill references. They are tracked for awareness only and are not installed by `npm run setup` or `npm run install:curated`.\n\nHarness-specific setup stays separate from the default setup flow unless explicitly added later.\n\n`curated-tools.json` tracks non-skill tools, CLIs, packages, and docs I use. It is a reference catalog only; it does not drive installation.\n\n## Harness-Specific Setup\n\nHarness-specific setup is opt-in and separate from `npm run setup`.\n\nOpenCode setup is tracked in `harnesses/opencode.json` and exposed through:\n\n```bash\nnpm run setup:opencode:dry-run\nnpm run setup:opencode\n```\n\nThe OpenCode setup script validates the manifest, prints manual installer commands for broad tools such as OMO / oh-my-openagent, and only mutates OpenCode config for explicitly selected plugin entries. It does not run third-party plugin installers automatically.\n\nUse `-- --enable-recommended` when you want recommended `opencode-plugin` entries added to OpenCode config:\n\n```bash\nnpm run setup:opencode:dry-run -- --enable-recommended\nnpm run setup:opencode -- --enable-recommended\n```\n\n## Global Instructions\n\n`AGENTS.global.md` is the source of truth for global agent behavior. `npm run install:agents` distributes it to:\n\n- Codex: `~/.codex/AGENTS.md`\n- Claude: `~/.claude/AGENTS.md` plus `~/.claude/CLAUDE.md` importing `@AGENTS.md`\n- Copilot: `~/.copilot/AGENTS.md` plus `~/.copilot/instructions/global-agent.instructions.md`\n- OpenCode: `~/.config/opencode/AGENTS.md` plus a global config `instructions` entry\n\nDefault mode symlinks those targets back to this repo. `npm run setup:copy` copies file contents instead.\n\n`AGENTS.md` is repo-scoped and only applies when working inside this repository. opencode and Codex pick it up natively via the project `AGENTS.md`; Claude picks it up via the repo-root `CLAUDE.md` symlink -\u003e `AGENTS.md`.\n\nAfter changing OpenCode config, restart OpenCode. Running sessions keep using already-loaded config.\n\n## Verify\n\nRun the non-destructive repo checks:\n\n```bash\nnpm run verify\n```\n\nOptional runtime checks:\n\n```bash\ncodex --ask-for-approval never \"Summarize current instructions.\"\n```\n\nFor OpenCode, inspect `~/.config/opencode/opencode.jsonc` and confirm the `instructions` array includes `~/.config/opencode/AGENTS.md`.\n\n## Safety\n\nThis repository is public. Do not add private dashboards, tokens, org IDs, internal URLs, API keys, or generated local memory context.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluabagg%2Fagent-skills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluabagg%2Fagent-skills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluabagg%2Fagent-skills/lists"}