bug-ops/claude-plugins/stack
Claude Code and agent skill by bug-ops/claude-plugins
- community
Checking that the SKILL.md file is still in the repository.
Language profile loader for dev-agents. Detects the project's language stack (Rust, TypeScript/JavaScript, Luau/Lua, or several) and points each agent to its binding language rules: toolchain commands plus role-specific idioms, anti-patterns, and checklists. Every dev-agents agent loads it at startup; it is not meant to be invoked by users.
Install
npx vskill@latest install bug-ops/claude-plugins/stackSKILL.md
Stack Profile
Agents in this plugin carry process only. The language rules you apply — commands, idioms, anti-patterns, checklists — live in this skill's references. They are binding: treat them as part of your system prompt.
References directory: ${CLAUDE_SKILL_DIR}/references/ Plugin root (for knowledge skills a profile names): ${CLAUDE_PLUGIN_ROOT}
1. Detect the stack
- If your task prompt contains a
Stack:line (e.g.Stack: rust,Stack: rust,typescript,Stack: luau), use it as given. Orchestrators always pass it. - Otherwise detect from the repository root with Glob (not recursive into
node_modules/,target/, orPackages/):
| Marker | Profile | |
|---|---|---|
Cargo.toml | rust | |
tsconfig.json, or package.json listing typescript in any dependency block | typescript | |
package.json without TypeScript | typescript, JavaScript mode — skip type-check-only steps | |
default.project.json or another *.project.json (Rojo), wally.toml, a pesde.toml targeting roblox, or a rokit.toml/aftman.toml/foreman.toml that pins rojo | luau, Roblox mode | |
.luaurc, a pesde.toml targeting lune or luau, or .lune/ scripts — without Roblox markers | luau, standalone Luau mode | |
*.rockspec, .luarc.json, .busted, or .lua sources without any Luau marker | luau, Lua mode — skip type-check-only steps |
- Monorepos: also check one level down (
*/Cargo.toml,*/package.json,packages/*/package.json,*/default.project.json,*/wally.toml) when the root has no marker. - Files in your task scope (the diff under review, the files you are told to change) add their profile even when the root marker belongs to another language:
.rs→rust;.ts,.tsx,.mts,.cts,.js,.jsx,.mjs,.cjs→typescript;.luau,.lua→luau(mode from the markers above). Use the nearest manifest above those files for toolchain commands. - Several profiles match → polyglot. Load every matching profile and apply each one only to the files of its language.
- Nothing matches → continue with the generic process from your agent prompt. Never invent toolchain commands; say
Stack: none detectedin your handoff.
2. Read the references
For every detected profile, Read both files BEFORE the first source read or edit:
${CLAUDE_SKILL_DIR}/references/<profile>/toolchain.md— manifest, check/lint/format/test/doc/audit commands, version policy, extra knowledge skills.${CLAUDE_SKILL_DIR}/references/<profile>/<role-file>— from the table below.
| Agent / skill | Role file | |
|---|---|---|
| architect | architect.md | |
| developer | developer.md | |
| testing-engineer | testing.md | |
| performance-engineer | performance.md | |
| security-maintenance | security.md | |
| code-reviewer | reviewer.md | |
| cicd-devops | cicd.md | |
| debugger | debugger.md | |
| critic | critic.md | |
| live-tester | live-tester.md | |
| researcher | researcher.md | |
| arch-analyst | arch-inspect.md | |
| security-analyst | security-audit.md | |
| release skill | release.md | |
| init-project skill | init.md |
Available profiles: rust, typescript, luau. A profile that has no file for your role still has toolchain.md — read it.
- Load the profile's knowledge skills NOW, in the same startup step — not later, not "when needed":
| Profile | Knowledge skills | Roles that load them | |
|---|---|---|---|
rust | rust-modern-apis | architect, developer, code-reviewer, arch-analyst | |
typescript | — | — | |
luau | — | — |
Call Skill(skill: "dev-agents:<name>"); without the Skill tool, Read ${CLAUDE_PLUGIN_ROOT}/skills/<name>/SKILL.md instead.
Startup gate — do not read or edit project source until all three hold for every detected profile: toolchain.md read, role file read, knowledge skills for your role loaded.
3. Project rules win
Project-level instructions override profile defaults: CLAUDE.md, .claude/rules/*.md, the project's own CI workflow, and scripts in the manifest (justfile, Makefile, package.json scripts). When the project defines a CI-matching command, run that instead of the profile default.
4. Record what you loaded
Start the ## Context section of your handoff (or your final report when you write no handoff) with one line:
List each profile, the reference files you read, and the knowledge skills you loaded. Downstream agents and the lead use it to verify that language rules were applied.
5. Memory hygiene
When you write agent memory, prefix each entry with the profile it applies to: [rust], [typescript], [luau], or [any]. Ignore remembered entries tagged for a profile that is not in the current stack.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingdev-agents/skills/stack/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/bug-ops/claude-plugins/stack)