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.
npx agentmods add skills/griddynamics/rosetta/init-workspace-contextnpx skills add griddynamics/rosetta --skill init-workspace-contextgit clone --depth 1 https://github.com/griddynamics/rosettaWhat 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.
| Model | Per session | Once 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 |
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.
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 perbootstrap_rosetta_filesexist), plugin (LLM context already contains "RUNNING AS A PLUGIN") gain.jsonis the single source of truth for SDLC tooling; it wins in conflicts with other files </core_concepts>
<gain_json_generation>
- Auto-detect fields from workspace. Non-obvious:
versions.rosetta— read from Rosetta plugin path in current LLM context, e.g. "2.0.43";versionsis for GAIN suite tools only (rosetta, specflow, etc.), not the project - Ask user for anything unresolved in a single batch. All fields optional. Prioritize critical fields first. Leave placeholders for skipped fields
- If
gain.jsonalready exists: read it, ask only about gaps and placeholders; never overwrite confirmed values - 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]"
}
}
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.
- 2d ago First seen · 105 lines · 10 tokens per session scan A b6338c7bdd82
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.
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.
macos-test-triage
Triage macOS tests across Xcode and SwiftPM. Use when narrowing failures, explaining assertions or crashes, or separating setup from regressions.
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.
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.
macos-swiftpm
Build, run, and test SwiftPM macOS packages and executables. Use when the repo is package-first or has no Xcode project.
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…