Title: feat: support single-skill repos with root-level SKILL.md (npx skills init default layout) · Issue #243 · EntityProcess/allagents · GitHub
Open Graph Title: feat: support single-skill repos with root-level SKILL.md (npx skills init default layout) · Issue #243 · EntityProcess/allagents
X Title: feat: support single-skill repos with root-level SKILL.md (npx skills init default layout) · Issue #243 · EntityProcess/allagents
Description: Problem npx skills init my-skill creates a repo where SKILL.md lives at the root of the repository. Example layout: my-skill-repo/ SKILL.md ← single skill at root README.md Running allagents plugin install github:org/my-skill-repo then a...
Open Graph Description: Problem npx skills init my-skill creates a repo where SKILL.md lives at the root of the repository. Example layout: my-skill-repo/ SKILL.md ← single skill at root README.md Running allagents plugin...
X Description: Problem npx skills init my-skill creates a repo where SKILL.md lives at the root of the repository. Example layout: my-skill-repo/ SKILL.md ← single skill at root README.md Running allagents plugin...
Opengraph URL: https://github.com/EntityProcess/allagents/issues/243
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"feat: support single-skill repos with root-level SKILL.md (npx skills init default layout)","articleBody":"## Problem\n\n`npx skills init my-skill` creates a repo where `SKILL.md` lives at the **root** of the repository. Example layout:\n\n```\nmy-skill-repo/\n SKILL.md ← single skill at root\n README.md\n```\n\nRunning `allagents plugin install github:org/my-skill-repo` then `allagents skills list` shows **no skills** for this repo.\n\n## Current support\n\nPR #234 added support for **multi-skill flat repos** — repos with subdirectories each containing a `SKILL.md`:\n\n```\ndakota/\n brainstorming/SKILL.md\n debugging/SKILL.md\n ...\n```\n\nBut **root-level single-skill repos** (the default output of `npx skills init`) are **not** handled. The code in `skills.ts` and `transform.ts` only looks one level deep for `SKILL.md` inside subdirectories, not at the plugin root itself.\n\n## Expected behavior\n\nWhen a plugin repo has `SKILL.md` at the root (and no `skills/` subdirectory and no subdirectories with `SKILL.md`), treat the entire repo as a single skill. The skill name should be derived from the `SKILL.md` frontmatter `name` field, falling back to the repo/directory name.\n\n## Implementation notes\n\nIn `skills.ts` `getAllSkillsFromPlugins()` and `transform.ts` skill sync logic, after checking:\n1. `skills/` subdirectory → standard layout\n2. Subdirectories with `SKILL.md` → multi-skill flat layout (#234)\n\nAdd:\n3. Root `SKILL.md` exists → single-skill layout: treat `pluginPath` itself as the skill directory\n\nThe skill name can be read from the frontmatter `name` field of the root `SKILL.md`, with the directory name as fallback.\n\n## Verification\n\n```bash\n# Create a minimal root-level SKILL.md repo\nmkdir /tmp/single-skill-repo\necho '---\\nname: my-skill\\ndescription: test\\n---\\n# My skill' \u003e /tmp/single-skill-repo/SKILL.md\n\n# Install and list\nallagents plugin install /tmp/single-skill-repo\nallagents skills list\n# Expected: shows \"my-skill\" from the installed plugin\n```\n\n## Related\n\n- #232 / #234 — added flat multi-skill repo support\n- `npx skills init` always creates root-level SKILL.md repos","author":{"url":"https://github.com/christso","@type":"Person","name":"christso"},"datePublished":"2026-03-14T02:21:57.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/243/allagents/issues/243"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:4b9da6fa-a053-ebb9-278e-f77986c07f09 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B294:2E9611:A30E72:E9E276:6A4E4540 |
| html-safe-nonce | 555efe4dd2d374b78e400f18a089d9d4baf9824013f57aa07112f3d6fc8dd5f8 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMjk0OjJFOTYxMTpBMzBFNzI6RTlFMjc2OjZBNEU0NTQwIiwidmlzaXRvcl9pZCI6IjI0NDIyOTk2ODM5NzM3NzY3MDQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | bae1421136350cb4d23d85f916b73998b2d226051ca0f605387fd321fc9c7a15 |
| hovercard-subject-tag | issue:4074361567 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/EntityProcess/allagents/243/issue_layout |
| twitter:image | https://opengraph.githubassets.com/b2e77f9b5267d063c973c8f19a2e835425ac8ffd217e7e80dfa025142faee1de/EntityProcess/allagents/issues/243 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/b2e77f9b5267d063c973c8f19a2e835425ac8ffd217e7e80dfa025142faee1de/EntityProcess/allagents/issues/243 |
| og:image:alt | Problem npx skills init my-skill creates a repo where SKILL.md lives at the root of the repository. Example layout: my-skill-repo/ SKILL.md ← single skill at root README.md Running allagents plugin... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | christso |
| hostname | github.com |
| expected-hostname | github.com |
| None | 030096ee0db095447bfe77409d33bfac127ca7128299c58deef27c52eaa1b1f0 |
| turbo-cache-control | no-preview |
| go-import | github.com/EntityProcess/allagents git https://github.com/EntityProcess/allagents.git |
| octolytics-dimension-user_id | 8837957 |
| octolytics-dimension-user_login | EntityProcess |
| octolytics-dimension-repository_id | 1139437609 |
| octolytics-dimension-repository_nwo | EntityProcess/allagents |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1139437609 |
| octolytics-dimension-repository_network_root_nwo | EntityProcess/allagents |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 9fabff9b8b127e686a3ec86f91422e818056ca2c |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width