agentleFS
DATA-AI-XYZDATA-AI-XYZ/Tandem/skills/install/SKILL.md

install

Skill0 starsChanged 6 months agoMITView on GitHub

Wire the Tandem PM kit into a project — materialize the full folder tree + seed files from the manifest, pin the folder layout, merge the pm:* scripts, guard-register hooks, and generate the Command Center dashboard. Use when the user asks to install Tandem, set up the PM kit, onboard a new repo, wire the kit, or invokes /tandem:install. Thin wrapper over the canonical install.js (pm:install) — the script does the deterministic work; this skill handles the conversational choices (layout, PROJECT-CONTEXT) and confirms the result.

22 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use release.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • MicrosoftSkill

    release

    Use ONLY when the user explicitly asks to cut/publish a Huabu desktop release or tag a version. Performs an outward action — bumps the version in apps/desktop/package.json, commits + annotated-tags vX.Y.Z, and pushes the branch + tag. That tag push auto-builds the macOS/Windows installers and publishes a GitHub Release. Provides `status`, `bump`, `tag-push`, and a one-command `run` (bump → tag-push).

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 18 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Keep deterministic logic in the script — the skill only orchestrates + confirms.

    line 60

“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Tandem: install (operator setup)

Wire the PM kit into the current project (or a --target) so a fresh repo gets the complete _00-Project-Management/ tree, seed files, wired pm:* scripts, and a working dashboard — in one command. This skill is the entry point; the deterministic work lives in the canonical install.js script (pm:install), so behaviour stays testable and identical whether invoked here or from the CLI.

Source of truth

_00-Project-Management/93-Scripts/install.js. It is idempotent and additive — re-running it never overwrites an existing definition or a user-owned file. See ADR-0072 (manifest schema + kit/user ownership boundary) and ADR-0054 (canonical entrypoint).

Where that script lives depends on where you are in the install. Before the install, the project has no _00-Project-Management/ at all — the only copy of the script is the one shipped inside the installed plugin, at ${CLAUDE_PLUGIN_ROOT}/_00-Project-Management/93-Scripts/install.js. After the install, the project has its own copy and the wired pm:install script reaches it. Both run the same file; the difference is only which copy is reachable.

What it does (delegated to install.js)

  1. Materialize the tree — create every folder declared in lib/pm-manifest.json and copy seed files under the kit/user ownership rule (kit-owned overwritten; user-owned written only when absent, so an operator's edits survive a re-install).
  2. Pin the layout — write .claude-pm-config.json (layout, kitVersion) and 90-Standards/pm-paths.json from the detected or chosen preset.
  3. Wire scripts + hooks — merge the pm:* scripts into the host package.json and guard-register the Claude Code hooks (only when absent — ADR-0055).
  4. Generate HTML — run the dashboard generator so the Command Center opens with the project's own name and working links.

How to run it

  • Fresh consumer — the first install, from the plugin cache. The project is empty of kit files, so run the copy the plugin ships: node "${CLAUDE_PLUGIN_ROOT}/_00-Project-Management/93-Scripts/install.js" --target . (drop --target when the shell's cwd is already the project root). This is the entry point a stranger who has only installed the plugin can reach.
  • Post-install variant — once the kit is wired. The project now owns a copy of the script and the merged pm:* scripts: npm run pm:install re-runs it (idempotent, additive).
  • Another project root: node _00-Project-Management/93-Scripts/install.js --target <dir>
  • Pin a layout instead of auto-detecting: --layout full|flattened
  • Preview without writing: --dry-run

Conversational steps this skill owns

  • Layout choice — if the project's layout is ambiguous, confirm full vs flattened with the operator before pinning it (default: auto-detect → full).
  • PROJECT-CONTEXT fill — 90-Standards/PROJECT-CONTEXT.md is seeded as a user-owned starting point; offer to fill in the project's stack quirks / gotchas so later skills have real context.
  • Confirm the result — after install, surface the generated dashboard path and recommend npm run pm:doctor to verify the wiring is healthy.

Non-negotiable rules

  • Adds no destructive behaviour beyond install.js. This skill never deletes or moves a user's work; it only orchestrates the script and confirms.
  • Keep deterministic logic in the script — the skill only orchestrates + confirms.

Next

Next: /tandem:session-start (orient), then begin planning with /tandem:draft-okrs. Pull kit improvements later with /tandem:update.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.