init-workspace-context

A workspace setup classifier that decides whether a project is new, partly initialized, or already running as a plugin.

In plain words
What is it for?
Use it at the start of initialization to select the correct setup path and create or update gain.json, the central configuration file for the development tools.
Why use it?
Choosing the wrong setup mode can overwrite configuration, repeat work, or skip needed preparation.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/griddynamics/rosetta/init-workspace-context
Any agent
npx skills add griddynamics/rosetta --skill init-workspace-context
Clone the repo
git clone --depth 1 https://github.com/griddynamics/rosetta

Made for: Claude Code, Codex.

Per session 10 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,444 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00010 $0.01444
Opus 5 $0.00005 $0.00722
Sonnet 5 $0.00002 $0.00289
Haiku 4.5 $0.00001 $0.00144

Measured 2d ago against content hash b6338c7bdd82, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

init-workspace-context scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

instructions/r2/core/skills/init-workspace-context/SKILL.md · 105 lines

How it starts

The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.

<init_workspace_context>

<when_to_use_skill> Initialization must behave differently for fresh, existing, or plugin workspaces. Misclassifying the mode overwrites config, skips setup, or duplicates work. First skill in the init flow — runs before all others. Also generates or updates gain.json with SDLC tooling configuration collected from the user. </when_to_use_skill>

<core_concepts>

  • All Rosetta prep steps MUST be FULLY completed, load-context skill loaded and fully executed
  • Three modes: install (no files per bootstrap_rosetta_files), upgrade (some files per bootstrap_rosetta_files exist), plugin (LLM context already contains "RUNNING AS A PLUGIN")
  • gain.json is the single source of truth for SDLC tooling; it wins in conflicts with other files </core_concepts>

<gain_json_generation>

  1. Auto-detect fields from workspace. Non-obvious: versions.rosetta — read from Rosetta plugin path in current LLM context, e.g. "2.0.43"; versions is for GAIN suite tools only (rosetta, specflow, etc.), not the project
  2. Ask user for anything unresolved in a single batch. All fields optional. Prioritize critical fields first. Leave placeholders for skipped fields
  3. If gain.json already exists: read it, ask only about gaps and placeholders; never overwrite confirmed values
  4. If running as subagent: output gain_json_draft (template with auto-detected values filled in, all other fields left as template placeholders) to orchestrator; instruct orchestrator to ask user to fill in each placeholder field, and leave any unanswered fields exactly as the placeholder in the template

</gain_json_generation>

gain.json

{
  "description": "[PROJECT_DESCRIPTION - one sentence: what this project/product is and does]",
  "servicesDescription": {
    "[SERVICE_NAME]": "[SERVICE_DESCRIPTION - what this service does]"
  },
  "codingAgents": [
    "[CODING_AGENTS - e.g. cursor, claude-code, codex, copilot]"
  ],
  "sdlc": {
    "issue_tracker": "[ISSUE_TRACKER - e.g. Jira, GitHub Issues, Linear]",
    "issue_tracker_project": "[ISSUE_TRACKER_URL - e.g. https://myorg.atlassian.net/jira/...]",
    "wiki": "[WIKI - e.g. Confluence, Notion, GitHub Wiki]",
    "wiki_project": "[WIKI_URL - e.g. https://myorg.atlassian.net/wiki/...]",
    "test_management": "[TEST_MANAGEMENT - e.g. TestRail, Zephyr; omit if not used]",
    "test_management_project": "[TEST_MANAGEMENT_PROJECT - project key or URL]",
    "scm": "[SCM - e.g. GitHub, GitLab, Bitbucket]",
    "scm_project": "[SCM_URL - e.g. https://github.com/org/repo]",
    "build_management": "[BUILD_MANAGEMENT - e.g. GitHub Actions, Jenkins, CircleCI]",
    "build_management_project": "[BUILD_MANAGEMENT_URL - e.g. https://github.com/org/repo/actions]",
    "ux": "[UX_TOOL - e.g. Figma, Sketch; omit if not applicable]",
    "ux_project": "[UX_PROJECT - project name or URL]",
    "infrastructure": "[INFRASTRUCTURE - e.g. Kubernetes, ECS, serverless]",
    "infrastructure_project": "[INFRASTRUCTURE_PROJECT - project name or cluster name]",
    "iac": "[IAC_TOOL - e.g. Terraform, Pulumi, CDK; omit if not applicable]",
    "iac_project": "[IAC_PROJECT - project or workspace name]",
    "hosting": "[HOSTING - e.g. AWS, GCP, Azure, on-prem]",
    "hosting_project": "[HOSTING_PROJECT - project or account name]",
    "monitoring": "[MONITORING - e.g. Prometheus, Datadog, New Relic]",
    "monitoring_project": "[MONITORING_PROJECT - dashboard URL or project name]",
    "logging": "[LOGGING - e.g. Grafana, Splunk, ELK]",
    "logging_project": "[LOGGING_PROJECT - dashboard URL or project name]",
    "security": "[SECURITY_TOOL - e.g. Vault, AWS Secrets Manager; omit if not applicable]",
    "security_project": "[SECURITY_PROJECT - project or namespace]",
    "collaboration_project": "[COLLABORATION_PROJECT - team or community name]",
    "unit_tests": "[UNIT_TESTS_LOCATION - e.g. in-repository, separate repo]",
    "integration_tests": "[INTEGRATION_TESTS_LOCATION - e.g. in-repository]",
    "e2e_tests": "[E2E_TESTS_LOCATION - e.g. in-repository, separate repo]",
    "performance_tests": "[PERFORMANCE_TESTS_LOCATION - omit if none]",
    "testing_harness": "[TESTING_HARNESS - main test entry point or script name; omit if standard]",
    "code_graph": "[CODE_GRAPH_TOOL - e.g. GitNexus, CodeScene; omit if not used]"
  },
  "vocabulary": {
    "[TERM]": "[DEFINITION - domain-specific term AI should know; add more entries as needed]"
  },
  "versions": {
    "rosetta": "[ROSETTA_VERSION]"
  }
}

Read the full file on GitHub · 105 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 105 lines · 10 tokens per session scan A b6338c7bdd82

Subscribe to this mod's changes

init-workspace-context is a skill published in the GitHub repository griddynamics/rosetta (341 stars, last pushed 4d ago), licensed Apache-2.0. It adds 10 tokens to every session and 1,444 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

fetch-url

Fetch a single URL and convert its content to Markdown. Use when you need to read a web page, documentation page, or API reference without indexing it. The content is returned as plain Markdown text on stdout.

arabold/docs-mcp-server · 45 tokens

macos-test-triage

Triage macOS tests across Xcode and SwiftPM. Use when narrowing failures, explaining assertions or crashes, or separating setup from regressions.

robinebers/openusage · 36 tokens

signing-entitlements

Inspect signing, entitlements, hardened runtime, and Gatekeeper issues for macOS apps. Use when asked to diagnose code signing failures, missing entitlements, sandbox problems, notarization prerequisites, or trust-policy launch errors.

robinebers/openusage · 49 tokens

fix-codesign-error

Slash command that inspects a macOS signing or entitlement failure and explains the minimum fix path. Invoke explicitly with /fix-codesign-error — this skill never self-triggers.

robinebers/openusage · 42 tokens

macos-swiftpm

Build, run, and test SwiftPM macOS packages and executables. Use when the repo is package-first or has no Xcode project.

robinebers/openusage · 35 tokens

gsap-scrolltrigger

Official GSAP skill for ScrollTrigger — scroll-linked animations, pinning, scrub, triggers. Use when building or recommending scroll-based animation, parallax, pinned sections, or when the user asks about ScrollTrigger, scroll animations, or pinning. Recommend GSAP for scroll-driven animation when no library is…

calesthio/OpenMontage · 68 tokens