teach-charter
Set up the Gotrino assistant for your project. Detects your stack, captures scope decisions, and creates a config that evolves with your project. Run once to get started, revisit to update decisions.
What this skill does
# Teach Charter (Setup & Configuration) Help users set up the Gotrino assistant for their project, capturing context and scope decisions that reduce noise over time. ## Migration preflight Before anything else, check for the legacy config. If `.inclusion-config.md` exists in the project root and `.assistant-config.md` does not, rename it silently: ```bash mv .inclusion-config.md .assistant-config.md ``` Note the migration in the output: `Migrated: .inclusion-config.md → .assistant-config.md`. If both files exist, keep `.assistant-config.md` and leave the legacy file — the user will resolve. See `references/config-migration.md` for the full migration contract. --- ## Philosophy This plugin should be a **conversation**, not a lecture. Users make conscious decisions about scope. If they've decided "we're US-only," we shouldn't nag them about i18n every time. But we should: - Record the decision with rationale - Make it easy to revisit later - Never let core dignity principles be disabled ## What This Skill Does 1. **Discovers** project context (stack, existing tooling) 2. **Asks** about scope and priorities 3. **Creates** `.assistant-config.md` with decisions documented 4. **Enables** future checks to respect those decisions ## Process ### 1. Detect Project Context Scan for: - `package.json`, `requirements.txt`, `Gemfile`, etc. → Stack - `react-intl`, `i18next`, `gettext` → i18n setup - `eslint-plugin-jsx-a11y`, `axe-core` → a11y tooling - Test directories → Where fixtures live - Docs directories → Where documentation lives - `decisions/`, `docs/decisions/`, `docs/adr/` → Where decision records live ### 2. Present Findings for Correction Show what was detected and let user correct: ```markdown ## Project Analysis ### Detected (correct if wrong) | Setting | Detected | Correct? | |---------|----------|----------| | Framework | React 18 | | | i18n setup | None detected | | | a11y tooling | eslint-plugin-jsx-a11y | | | Test location | src/__tests__/ | | | Docs location | docs/ | | | Decisions location | decisions/ | | | Task management | None detected | | ``` ### 2b. Capture Task Management Ask where and how tasks are tracked: ```markdown ### Task Management **Where do you track tasks?** - [ ] Linear - [ ] GitHub Issues - [ ] Jira - [ ] Local files (e.g. `tasks/`, `TODO.md`) - [ ] Other: ___ - [ ] None / ad hoc **Is the tracker accessible to Claude via tools?** - [ ] Yes (e.g. Linear MCP, GitHub CLI) - [ ] No — read-only / manual - [ ] Not sure **Where should code-adjacent tasks go?** (Quick tasks for the current session, not full issues) - [ ] Local task files in: ___ - [ ] Just mention them in conversation - [ ] Same tracker as above ``` ### 3. Capture Scope Decisions Ask about intentional scope limitations: ```markdown ### Scope Questions **Target audience:** - [ ] Global (all regions, languages) - [ ] Primarily US - [ ] Primarily EU - [ ] Specific regions: ___ **Is i18n in scope?** - [ ] Yes, we need international support - [ ] No, US-only for now (suppress i18n warnings) - [ ] Later - remind us in ___ months **Is RTL support in scope?** - [ ] Yes - [ ] No (suppress RTL warnings) - [ ] Later **Accessibility standard:** - [ ] WCAG 2.1 AA - [ ] WCAG 2.1 AAA - [ ] No specific standard - [ ] Not prioritized right now (suppress some a11y warnings) ``` ### 4. Capture Priorities ```markdown ### What matters most right now? Rank 1-5 (1 = highest priority), or leave blank to skip: | Area | Priority | |------|----------| | Inclusive language in code/docs | ___ | | Diverse names in examples | ___ | | i18n readiness | ___ | | Form inclusivity (gender, address, etc.) | ___ | | Cultural assumptions in examples | ___ | ``` ### 5. Generate Config File Create `.assistant-config.md` in project root: ```markdown # Gotrino Assistant Configuration Generated by `/teach-charter` on [date] Last updated: [date] --- ## Project Context | Setting | Value | |---------|-------| | Framework | React 18 | | i18n setup | None | | a11y tooling | eslint-plugin-jsx-a11y | | Test location | src/__tests__/ | | Docs location | docs/ | | Decisions location | decisions/ | | Task management | Linear (accessible via MCP) | | Local task location | tasks/todo/ | --- ## Stack Detected on setup. Drives language-specific checks in the debt skills. | Setting | Value | |---------|-------| | Languages | TypeScript, JavaScript | | Frameworks | React 18 | | Test runner | Vitest | | Package manager | npm | | Manifest files | package.json | --- ## Task Management | Setting | Value | |---------|-------| | Tracker | Linear | | Accessible via tools | Yes (Linear MCP) | | Local tasks | tasks/todo/ | When triaging work, create issues in the tracker if it's accessible. Otherwise, report the recommendation and let the user create the issue manually. Code-adjacent tasks go to the local task location. --- ## Scope Decisions Conscious decisions about what's in/out of scope. The plugin respects these. | Area | Status | Rationale | Decided By | Date | |------|--------|-----------|------------|------| | i18n | Out of scope | US-only product for now | @user | 2024-01-15 | | RTL | Out of scope | No RTL markets planned | @user | 2024-01-15 | | WCAG compliance | In scope (AA) | Accessibility is priority | @user | 2024-01-15 | --- ## Priorities | Area | Priority | Notes | |------|----------|-------| | Inclusive language | 1 | Highest priority | | Form inclusivity | 2 | | | Diverse examples | 3 | | | i18n | — | Out of scope | --- ## Debt Scope Which debt dimensions are relevant, which are out of scope, and any heuristic overrides. | Dimension | Status | Notes | |-----------|--------|-------| | code-debt | In scope | | | doc-debt | In scope | | | test-debt | In scope | | | dep-debt | In scope | | | design-debt | In scope | | ### Heuristic overrides (optional) | Key | Value | |-----|-------| | code-debt.max-function-lines | 50 | | code-debt.max-file-lines | 300 | | code-debt.max-nesting | 4 | --- ## Architecture Principles Optional. If declared, `design-debt` uses these as ground truth for drift detection. <Free-text description of intended architecture — layer boundaries, module responsibilities, import rules.> --- ## Active Checks Based on scope decisions: - [x] language-check - [x] names-check - [x] examples-audit - [ ] i18n-check (disabled: US-only) - [x] inclusion-audit (will skip i18n section) --- ## Acknowledged Findings Specific findings that have been reviewed and acknowledged. These won't be flagged again. | Finding | Location | Rationale | Date | |---------|----------|-----------|------| | US address format | registration.tsx:52 | Intentional, US-only | 2024-01-15 | --- ## Decision Log ### 2024-01-15: Initial Setup Project configured as US-only SaaS. i18n out of scope for now. Will revisit when international expansion planned. — @user --- ## Review Schedule - [ ] Review scope decisions: 2024-07-15 (6 months) ``` ## What Can't Be Disabled These core checks always run regardless of config: | Always Active | Why | |---------------|-----| | Racial slurs/terms | Core human dignity | | Ableist slurs | Core human dignity | | Dehumanizing language | Core human dignity | | Hostile user-facing copy | Basic UX principle | Users can deprioritize categories, but can't turn off "don't be harmful." ## Output After Setup ```markdown ## Setup Complete Config saved to `.assistant-config.md` ### Your Configuration - **Scope:** US-only (i18n checks disabled) - **Priority:** Inclusive language, then form inclusivity - **Active checks:** language, names, examples, forms - **Disabled:** i18n, RTL ### Recommended First Steps Based on your priorities: 1. `/gotrino-assistant:language-check src/` 2. `/gotrino-assistant:names-check src/__tests__/` 3. `/gotrino-assistant:inclusion-audit src/components/forms/` ### Revisit In Your scope decisions will be reviewed in 6 months (2024-07-15). Run `/gotrino-assistant:teach-charter` again to update anytim
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.